DEV Community

Tutty
Tutty

Posted on

INTENT-BASED PROMPT CALIBRATION: ENHANCING PROMPT OPTIMIZATION WITH SYNTHETIC BOUNDARY CASES

選定理由&所感

プロンプト最適化で実用性が高そう。ICLR2024 Workshop、スタートアップでの研究開発。

Paper: https://openreview.net/forum?id=dFEyhtZXZt
Code: https://github.com/Eladlev/AutoPrompt
blog: https://qiita.com/setowatson/items/e5009f0417e8b59b6bc5

人間がやっているようなプロンプト最適化の「要件定義 → 間違いやすい例を取得→ 出力を見てズレを分析 → プロンプトを直す」を自動で回すしくみ。間違いやすさを自動評価するHard Example Miningは以前からあった(OHEMとか)。フィードバックの仕組みは勾配伝搬のような形ではなく自然言語のみのCVRFに近い

概要

【社会課題】
MLシステムの実運用では、ユーザーの要件に沿ってLLMの応答を改善したいケースが多い。しかし、プロンプト最適化には深いビジネスドメイン知識が必要とされる。

【技術課題】
ユーザーの要件によって良い出力の定義が異なるため、意図に合った出力の教師信号は少ない or 存在しないことがあり、特に識別境界付近のサンプル(Hard Example)は収集が難しい。又、従来の主流アプローチ(meta prompt)では高品質なベンチマークデータセットが必要であり、実務では使えない場合が多かった。

【提案】
meta promptの枠組みを拡張したIPC(Intent-Based Prompt Calibration)を提案した。IPCは識別境界に近い合成データセットを作成し、ユーザー意図に沿って合成データを評価した内容に基づき反復的にプロンプトの最適化を行う。

【効果】
IPCはユーザー意図に合うようにプロンプトを自動で調整することができ、プロンプトがモデルやタスクに依存してしまう課題をある程度解決することができた。評価では多様な生成系タスクにおいて既存手法を上回る効果を示した。

Intent-Based Prompt Caliblation

fig1

fig2

図1,2に示すようにIPCは次のステップを繰り返す:

  • タスクと現在のプロンプトに対して、多様かつ難易度の高い境界事例(boundary cases)を複数生成
  • 生成されたサンプルに対する現在のプロンプトの性能をスコア関数で評価し、エラー解析結果を提供
  • 過去のプロンプト履歴をもとに、スコアが高くなるような新たなプロンプトを提案

例えば分類タスクではスコア関数はAccuracy, エラー解析は混同行列と誤分類出力である。

生成タスクへの変換

生成タスクを扱う場合、最適化を2つの段階に分ける。なお、人手によるスコア付け(アノテーション)は第一段階でのみ必要である

第一段階:初期プロンプトとタスク説明をLLMで言い換え、複数の出力候補に対して、ユーザー意図への適合度に基づくランキング(順位付け)を行う。ランキングスコアは平均点付近に集中しやすく、高スコア帯ではバランスが崩れやすいため、上位2スコアの出力に基づく境界事例を生成する。

第二段階:元の生成プロンプトに対して、第一段階で得られたランキング用プロンプトをスコア関数として用いながら、評価と修正のステップを反復的に適用し、プロンプトを最適化する。

IPCにおけるmeta prompt

以下3つの処理から成る。

  • Sample Generator: 識別境界のサンプルを生成

ユーザーの意図(instruction)に基づき、意図に合致する・しない出力が得られやすい入力例(input prompts)をLLMで合成する。初期プロンプトを使って出力を生成し、それらの出力が意図に沿っているかどうかを後段で評価可能なデータセットを構築する。

  • Analyzer: プロンプトの評価

生成された出力と意図との一致度を判定し、出力が意図とズレている境界事例(boundary cases)を特定する。意図に基づく自動評価(例:混同行列や分類精度)を用い、どのような入力がプロンプトにとって困難かを分析。

  • Prompt Generator: プロンプト最適化

Analyzerで検出された境界事例・分析結果を利用して、プロンプトの改良案を生成する。LLMに過去数ステップのプロンプトとスコア履歴を入力し、全体傾向を踏まえた修正を提案させる。

実験

fig3

IPCの効果を2つの分類タスク、spoiler(ネタバレ検出)とPG(保護者ガイド分類)で検証している。比較対象は、Zero-shot、Few-shot、分類精度を直接最適化する手法、既存のプロンプト最適化手法(GCG)など。結果、IPCは他の手法よりも高い精度を安定して達成し、学習のばらつきも小さかった。Figure 3では、各手法の精度が学習ステップ数に応じてどのように変化するかを示しており、IPCが最も早く精度が向上し、かつ安定していることが視覚的に確認できる。少ないステップで効果的に意図に沿ったプロンプトが得られることが確認されており、特にあいまいな意図を含む分類問題で強みを示した。

fig4,5

合成データの分布を見ると実データより境界付近のデータを取得できており、クラス間不均衡が解消されていることがわかる。

アブレーションスタディ

tb3

analyzer コンポーネントが重要な役割を果たしているのがわかる。しかし、この結果は先行研究[Yang2023]とは矛盾するように見えるが、analyzerが単純な評価値の計算だけでなくエラー解析・原因までフィードバックしている点が今回の結果となったと言える。

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.