論文まとめ:Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4
Posted On 2024-02-08
- 論文タイトル:Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4
- 著者:Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen
- 論文URL:https://arxiv.org/abs/2312.16171
- コード:https://github.com/VILA-Lab/ATLAS
目次
ざっくりいうと
- プロンプトエンジニアリングのためのTipsを原則として類型化
- ATLASというベンチマークを構築し、LLMの生成した、記述タスクのブースト、分類タスクの正確性を人間が評価
- ベンチマークを上昇させるための、プロンプトエンジニアリングの原則を提唱
背景
- LLMを特定のタスクのために直接ファインチューニングするのは多くの人にとっては非現実的。研究コミュニティはプロンプトの最適化に目を向けている
- プロンプトエンジニアリングはいろいろ行われているが、このための指針づくりは以前として多くの課題がある
- LLMのプロンプトの品質を向上させるための包括的な原則的指示を提示
- プロンプトの種類や定式化を行いたい
- 例:Few-shotを使う、丁寧語を使う、「ペナルティを受ける」などの言葉を使う
- 原理的な指示を精緻化
- プロンプトの種類や定式化を行いたい
- LLMのプロンプトの具体的な設計原理を詳述
- この原理が標準的なプロンプトよりも、高品質かつより簡潔で、複雑な応答を生成できることを実験的に示す
- 各原理に複数の質問を含む手動で設計したATLASベンチマーク
- 提案する原理を適用すると、平均57.7%と36.4%向上させられた
- モデルサイズの大きくするとより顕著な改善が見られた(LLaMA-2-7B → GPT-4)
関連研究
- CoT
- Ask-Me-Anythingプロンプト
- 複数の不完全なプロンプトを使用し、それらを集約してモデルの性能を向上させる。弱教師あり的なアプローチ
- Least-to-most prompting
- 複雑な問題をサブタスクに分解
- Directional Stimulus Prompting
- 「ヒントをベースに要約して」のようなタスクの方向性を提示してあげることで、ROUGEが上昇
原理化
手作業で作成された原則を一通り提示。中身はいわゆるプロンプトエンジニアリングの中でよく言われているハック。これをカテゴリ別に類型化
設計原則
- 冗長性と明瞭性
- 冗長や曖昧なプロンプトはモデルを混乱させる
- プロンプトは簡潔であるべきで、モデルを導くのに十分な仕様を提示しながら、不要な情報を避けるべき
- 文脈的関連性
- タスクの背景説明やドメインを理解するのに役立つ情報
- キーワード、ドメイン固有の用語、または状況説明が
- タスクのアラインメント
- 具体例:プロンプトを質問、コマンド、またはタスクの予想入出力形式に適合する穴埋め文として表現
- 具体例の提示
- いわゆるFew-shot Example
- バイアスを避ける
- デリケートなテーマでは中立的な言葉を使用する
- インクリメンタル・プロンプト
- 段階的にモデルを誘導する
- 初期出力とモデルの動作に基づいてプロンプトを洗練させる準備が整っている必要がある。
- さらに、プロンプトはモデルの性能と応答、そして人間のフィードバックと嗜好の繰り返しに基づいて調整可能であるべき
実験
- この研究がATLASというOSSで公開されている。これで実験
- https://github.com/VILA-Lab/ATLAS
- GPT-4に回答を生成させているっぽい
- 原則ごとに適用し、人間が評価
改善の指標
- ブースティング
- 普通に文章を出させる場合。回答品質が向上(詳細かつ正確に)記述されているほうが良い
- 正しさ
- GPTに評価される場合。正確なほどよい
原則13を適用した例(翻訳済み)。回答品質が向上(ブースティング)されている
結果
原則ごとの、「ブースティング」と「正しさ」の結果
- small-scale : 7Bモデル
- midium-scale : 13Bモデル
- large-sclae : 70Bモデル、GPT3/5/4モデル
ブースティング
特に改善した項目
- 100%以上(Large基準)
- 原則14:モデルに対して十分な情報が得られるまで質問することを許可する
- 例:これからは、私にいろいろな質問をしていただきたいのですが…)
- 原則26:具体的な指示を含める
- 例:提供された段落 [/title/text/essay/answer] に基づいて同じ言語を使用してください。
- 原則14:モデルに対して十分な情報が得られるまで質問することを許可する
- 80%以上
- 原則2:プロンプトに対象読者を組み込む
- 例:対象読者はその分野の専門家です
- 原則5:トピック、アイデア、または情報を明確にしたり、より深く理解する必要がある場合は、初心者や子供相手に説明させるように要求する
- 例:[特定のトピック]を簡単な言葉で説明、私が11歳であるかのように説明して、5歳児に何かを説明するような簡単な英語を使用して[エッセイ/テキスト/段落]を書きます
- 原則25:コンテンツを作成するためにモデルが従わなければならない要件の明確化
- 例:キーワード、規制、ヒント
- 原則2:プロンプトに対象読者を組み込む
- 60%以上
- 原則9:「Your task is」や「You MUST」といった表現を組み込む
- 原則15:特定のトピック、アイデア、または情報について問い合わせ、自分の理解をテストしたい場合
- [定理/トピック/ルール名] を教えてください。最後にテストを含めて、次のことを教えてください。事前に答えを提供しなくても、返信した後は私の答えは正解になります。
- 原則16:言語モデルにロールを与える
- 原則21:詳細なエッセイを書かせたい場合
- 例:「詳細な [エッセイ/テキストを書く]/paragraph] に必要な情報をすべて追加して、[トピック] について詳しく説明します。」
- 原則24:一貫性の保持。特定の単語、フレーズ、文を使用してテキストを開始または継続したい場合
- 例:冒頭 [歌詞/ストーリー/段落/エッセイ…]: [歌詞/単語/文を挿入] を提供します。与えられた言葉に基づいて完成させます。一貫した流れを保ちます。
所感:人間の暗黙知をプロンプトに書かせるのが結構効いている印象。ここらへんは画像生成モデルと一緒なのかもしれない
正しさ
- 60%以上
- 原則7:Few-shot Promptingを使う
- 原則19:CoTとFew-shotの組み合わせ
- 45%以上
- 原則2:プロンプトに対象読者を組み込む
- 例:対象読者はその分野の専門家です
- 原則3:インタラクティブな会話で、複雑なタスクを単純なプロンプトに分割する
- 原則5:トピック、アイデア、または情報を明確にしたり、より深く理解する必要がある場合は、初心者や子供相手に説明させるように要求する
- 例:[特定のトピック]を簡単な言葉で説明、私が11歳であるかのように説明して、5歳児に何かを説明するような簡単な英語を使用して[エッセイ/テキスト/段落]を書きます
- 原則12:「ステップバイステップで考えましょう」という(CoT)
- 原則26:具体的な指示を含める
- 例:提供された段落 [/title/text/essay/answer] に基づいて同じ言語を使用してください。
- 原則2:プロンプトに対象読者を組み込む
所感
- この論文考察が弱いが、ちゃんと見ていくと面白い
- 私の所感としては、「人間の暗黙知をLLMに対して言語化させてあげることが大事」そうな印象で、これをもう少し書き進めてほしかった
Shikoan's ML Blogの中の人が運営しているサークル「じゅ~しぃ~すくりぷと」の本のご案内
技術書コーナー
北海道の駅巡りコーナー