Prompt Engineering手法の解説
プロンプトエンジニアリングとは、AIに対し特定の出力を促すための質問や指示を設計することです。しかし、複雑な作業に対する効果は限定的で、試行錯誤に時間がかかります。
============================================================
公式手法
1.明確な指示を書く
- 詳細を含める
- ペルソナを割り当てる
- 入力文の異なるパーツの間を明確に分ける
- タスクの完了に必要な手順を指定する
- 例を提示する
- 求める回答の長さを指定する
- 参考テキストの提供する
2.参考テキストを提供する
- リファレンステキストを使って回答するように指示する
- リファレンステキストからの引用を添えて解凍するように指示する
3.複雑なタスクをシンプルなサブタスクに分割する
- インテント分類を使ってユーザのクエリに関連性の高い指示を特定する
- 非常に長い会話を必要とする対話アプリケーションでは以前の対話を要約またはフィルタリングする
- 長い文書は断片的に要約してから再帰的に全体の要約を構築する
4.モデルに考える時間を与える
- 結論に飛びつく前モデル自身が解決策を見つけるように指示する
- インナーモノローグや一連のクエリを使ってモデルの推論プロセスを隠す
- 前のパスで何か見落としがなかったかモデルに尋ねる
5.外部のツールを使う
- embeddings ベースの検索を使って効率的な knowledge retrievel を行う
- code execution を使ってより精確な計算や外部 API 呼び出しをする
- モデルに特定の function へのアクセスを与える
6.システマティックに変更をテストする
- ゴールドスタンダードの答えを参考にモデルの出力を評価する
非公式手法(論文、参考文献など)
- Chain-of-Thought(COT):複数ステップのタスクを処理
- Zero-shot Learning:サンプルなしでの学習
- Few-shot Learning:少数のサンプルでの学習
- Many-shot Learning:多数のサンプルでの学習
- COT + Few-shot : COTとFew-shot Learningを組み合わせ
- Self-Taught Reasoner(STaR):モデル自身が生成した推論から学習することで、モデル自身を向上させることができる
============================================================
Fine-tuning手法の解説
ファインチューニングとは、事前学習を基にさらなる訓練し、特定のタスクのパフォーマンスを最適化します。しかし、大量のデータとコンピューティング・リソースが必要です。
============================================================
Retrieval-Augmented Generation(RAG)手法の解説
検索拡張生成とは、外部データベースから関連情報を取得(Retrieval)し、質問やプロンプトに対する回答を生成(Generation)する手法です。しかし、外部の知識ベースに依存するため、スピードと効率性に問題を生じる可能性がある。