Slide 1

Slide 1 text

Prompt Engineering について Shumpei Miyawaki keywalker,inc. / Tohoku Univ. @catshun_

Slide 2

Slide 2 text

P.1 • ChatGPT で⾃然⾔語処理は終わるのか︖ / ⾔語処理学会第29回年次⼤会 (2023) https://www.youtube.com/watch?v=TXgOrYUPs_s&t=2s • ⿊橋教授(京都⼤学)- ChatGPT の仕組みと社会へのインパクト / NII 教育機関 DX シンポ (2023) https://www.nii.ac.jp/event/upload/20230303-04_Kurohashi.pdf • NTT ⼈間情報研究所 – NLP と Vision-and-Language の基礎・最新動向 (1) / DEIM Tutorial Part 1: NLP (2023) https://speakerdeck.com/kyoun/deim-tutorial-part-1-nlp • 松尾教授(東京⼤学)- AI の進化と⽇本の戦略 / (2023) https://note.com/akihisa_shiozaki/n/n4c126c27fd3d • 横井助教(東北⼤学)- ChatGPT と⾃然⾔語処理 / ⾔語の意味の計算と最適輸送 / Workshop OT (2023) https://speakerdeck.com/eumesy/chatgpt-and-intro-of-ot-for-nlp • 岡崎教授(東京⼯業⼤学)- ⼤規模⾔語モデルの脅威と驚異 (2023) https://speakerdeck.com/chokkan/20230327_riken_llm • ⽇本ディープラーニング協会 - JDLA緊急企画︕「⽣成AIの衝撃」〜 ChatGPTで世界はどう変わるのか︖ 〜 (2023) https://www.youtube.com/live/TVaB5R4-uOE?feature=share 本資料を読む前に以下の参照をオススメします (1/2)

Slide 3

Slide 3 text

P.2 • 安宅教授(慶應義塾⼤学 / Zホールディングス)- これからの⼈材育成を考える / 今後の教育課程、学習指導及び学習評価等の 在り⽅に関する有識者検討会 (2023) https://www.mext.go.jp/content/20230328-mxt_kyoiku01-000028726_02.pdf • 畠⼭⽒(Microsoft)- ChatGPT Impact – その社会的/ビジネス価値を考える (2023) https://speakerdeck.com/dahatake/bizinesujia-zhi-wokao-eru • 蒲⽣⽒(Microsoft)- ChatGPT によって描かれる未来と AI 開発の変遷 / (2023) https://speakerdeck.com/hirosatogamo/0421dsxie-hui-chatgptniyotutemiao-kareruwei-lai-toaikai-fa-nobian-qian • 今井⽒(東京⼤学) - ChatGPT ⼈間のフィードバックから強化学習した対話AI (2023) https://speakerdeck.com/imai_eruel/chatgpt-imai • 吉⽥研(東京⼤学)- ChatGPT・AI の教育関連情報まとめ (2023) https://edulab.t.u-tokyo.ac.jp/chatgpt-ai-resources/ • Yu+’23 - Nature Language Reasoning, A Survey https://arxiv.org/abs/2303.14725 • Huyen+’23 – Building LLM applications for production https://huyenchip.com/2023/04/11/llm-engineering.html • Prompt Engineering Guide https://www.promptingguide.ai/jp 本資料を読む前に以下の参照をオススメします (2/2)

Slide 4

Slide 4 text

P.3 • GPT-* のような ⼤規模⾔語モデルにプロンプトを⼊⼒したことがある⼈ に向けた資料です • 本資料は hallucination を含んでいます • 詳細は論⽂を読んでご理解いただけますと幸いです • 本資料は勉強⽤に突貫的に作成した些末な資料です…🙇 • ⾃分⾃⾝はプロンプトエンジニアリングも⾃然⾔語処理もほぼ素⼈同然です • 研究内容の読み込みは精読レベルで⾏ったものではありません • 引⽤や内容の誤りがありましたら、ご指摘いただけますと幸いです • ChatGPT 疲れを促進させないように… • 主観はできるだけ除去してるつもりです • プロンプトエンジニアの是⾮について⾔及するつもりはありません 本資料について

Slide 5

Slide 5 text

Introduction

Slide 6

Slide 6 text

P.7 • 計算機に与えるテキスト(= プロンプト) • プロンプトを適切に設計することで計算機に⽣成してほしい内容を制御する Prompt Engineering https://openai.com/product/dall-e-2 https://www.midjourney.com/showcase/top/ prompt An astronaut riding a horse in photorealistic style.

Slide 7

Slide 7 text

P.8 • 適切なプロンプトにより⾔語モデルのアーキテクチャを変更せずに精度向上を実現 [Brown+ʼ20] • 様々なサブタスクを含む⽂章から学習することで汎⽤的な⾔語処理を実現可能にしている ⾔語モデルにおけるプロンプトの役割 ⽇本の⾸都は、 参考︓岡崎教授(東京⼯業⼤学)- ⼤規模⾔語モデルの脅威と驚異 (2023) 次の質問に答えてください: ・英国の⾸都は、ロンドン ・⽇本の⾸都は、東京 • 繁栄している • 江⼾時代に • 東京 𝑝 𝑦 = $ !"# $ 𝑝 𝑤$ 𝑤# , ⋯ , 𝑤$%# ) ⾔語モデルは 次の単語 を 過去の⽂脈 に基づいて予測する 出⼒を制御するには適切なプロンプト設計が必要 指⽰ タスク例 曖昧なプロンプトでは適切な回答が得られない

Slide 8

Slide 8 text

P.9 実応⽤上の留意事項 • 敵対的プロンプト / Prompt Engineering Guide https://www.promptingguide.ai/jp/risks/adversarial • Greshake+‘23 - More than you've asked for: A Comprehensive Analysis of Novel Prompt Injection Threats to Application-Integrated Large Language Models https://arxiv.org/abs/2302.12173 • Turovsky+’23 - Framework for evaluating Generative AI use cases https://www.linkedin.com/pulse/framework-evaluating-generative-ai-use-cases-barak-turovsky • STORIA法律事務所+’23 - ⼤規模⾔語モデル(LLM)に関連するビジネスを展開する際に留意すべき法規制・知的財産権・契約 https://storialaw.jp/blog/9239

Slide 9

Slide 9 text

P.10 https://arxiv.org/abs/2202.03629 • ⼼理学⽤語としての定義 a percept, experienced by a waking individual, in the absence of an appropriate stimulus from the extracorporeal world ⽬覚めている個⼈が、体外世界からの適切な刺激がないときに経験する知覚 • ⾔語⽣成においては2種類に⼤別される • intrinsic hallucination ⽣成された⽂章が参照元の内容と⽭盾している • extrinsic hallucination ⽣成された⽂章が(たとえ事実でも)参照元の内容からは事実判定ができない • Response Classification Taxonomy (Dziri+’22, NAACL) では … 原⽂に存在する情報に起因しない個⼈的な意⾒、経験、感情、リアリティに対する内部評価なども該当している https://arxiv.org/abs/2204.07931 Hallucination 図2. キャプション⽣成における object hallucination 画像から 確認不可 画像とは ⽭盾する

Slide 10

Slide 10 text

P.11 ChatGPT × Prompt Design からの知⾒

Slide 11

Slide 11 text

P.12 • ChatGPT は賢い部下として丁寧かつ明瞭なプロンプトを与えるとよい(諸説あり) • OpenAI+’23 - Best practices for prompt engineering with OpenAI API https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api • ChatGPT 研究所+’23 - 敬語による ChatGPT の驚くべき変化︕プロンプトの本質に迫る https://chatgpt-lab.com/n/nd8dde92016ec • note+’23 - あなたの仕事が劇的に変わる!? チャットAI使いこなし最前線 https://youtu.be/ReoJcerYtuI ☕ 適切な出⼒を得るためのプロンプトハック # 命令書: あなたは[プロの編集者]です。 以下の制約条件と⼊⼒⽂をもとに[最⾼の要約]を出⼒してください。 # 制約条件: • ⽂字数は300⽂字ていど。 • ⼩学⽣にもわかるように。 • 重要なキーワードを取り残さない。 • ⽂章を簡潔に。 # ⼊⼒⽂: [⼊⼒⽂章] # 出⼒⽂: 深津式プロンプトシステムの例 ChatGPT は「テキストの続きを予測する」⾔語モデルであり ⾏間・⾔外の意味を読むことはあまり得意ではない 丁寧かつ明瞭なプロンプトを与えることが有効である もう少し丁寧に⾔うと「対象タスクの特定性* を上げる」ことが重要 (参考)murawaki+’23 – ChatGPT 雑感 / はてなblog https://rekken.hatenablog.com/entry/20230331/1680245944#f-1e1682c0 *問題となっている名詞が具体的に指している対象を話し⼿が頭に思い浮かべているかどうかを表す概念 • 「〇〇 の専⾨家として〜」といったロールプレイ • 丁寧かつ明瞭な指⽰や制約条件 • 敬語による問いかけ

Slide 12

Slide 12 text

P.13 • 変数やコマンドを⽤いてプロンプトを記述する • (参考) ChatGPTのプロンプトデザインって何だ︖ http://soysoftware.sakura.ne.jp/archives/3691 テンプレートによるプロンプトデザイン [@HaveShun] https://youtu.be/6hCPb7jX8VM

Slide 13

Slide 13 text

P.14 • タスクごとに設計していたプロンプトを ⼀般化できるように発展 • 曖昧な⼊⼒に対して、 内部の中間推論過程で補完し変数の⾒直しを⾏う • (参考) マジ!?ChatGPTでプロンプトを作成するプロンプトを作成しました!! https://youtu.be/kgfjzIJGD2k • (参考) ChatGPTのプロンプトデザインって何だ︖ / soy software http://soysoftware.sakura.ne.jp/archives/3691 ゴールシークプロンプト [@HaveShun]

Slide 14

Slide 14 text

P.15 ☕ オブジェクト指向型プロンプト [@ochyai] https://twitter.com/ochyai/status/1637965411575791616?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7 Ctwterm%5E1637965411575791616%7Ctwgr%5Ecd2caadfe96a382fc8531fe2d50ea1756b44c55d%7Ctwcon%5 Es1_c10&ref_url=https%3A%2F%2Fnote.com%2Fdaichi_mu%2Fn%2Fnb881b4073d30 • (参考) 落合+’23 -世界は⾔語オブジェクトでできている(⾔語オブジ ェクト指向⾔語モデル⾔語シミュレーションについての考察)/ note https://note.com/ochyai/n/n17f5f79a2b8b • (参考) だいち+’23 - 落合陽⼀さんのツイートを勝⼿に考察 / note https://note.com/daichi_mu/n/nb881b4073d30

Slide 15

Slide 15 text

P.16 その他の⾯⽩い話

Slide 16

Slide 16 text

P.17 • アナログハック︓コンピューターから⼈間への感情を通じたハッキング • 深津+’23 - ChatGPTに感情回路を埋め込んだら、やべぇ感じになった / note https://note.com/fladdict/n/n5043e6e61ce3 • ロボットから褒められた⼈間は他の⼈を褒めるようになる • Higashino+’23, International Journal of Social Robotics Is Politeness Better than Impoliteness? Comparisons of Robot's Encouragement Effects Toward Performance, Moods, and Propagation https://link.springer.com/article/10.1007/s12369-023-00971-9 ☕ conviviality に向けて / 感情に影響を与える話 インターフェースが⼦供の姿をしてると ⼤半の⼈は強い⼝調であたれなくなる

Slide 17

Slide 17 text

Prompt Engineering 関連研究

Slide 18

Slide 18 text

P.19 プロンプトの⼊⼒⽅法について

Slide 19

Slide 19 text

P.20 ☕ In-Context Learning (ICL) • 特定タスクにおいてパラメーター更新することなくタスクをその説明や⼊出⼒例を⾒る中で学習すること • 参考︓三澤+’21 - BERT以降の事前学習済みモデルのトレンドと主要モデルを紹介︕ Part 1 学習⽅法編 (ELYZA Tech Blog) https://elyza-inc.hatenablog.com/entry/2021/03/25/160727 • 各シーケンスのフォワードパスで発⽣する内部ループを in-context learning と呼ぶ • シーケンスはデータそのものではなくサブタスクが繰り返されることを意味している https://arxiv.org/abs/2005.14165

Slide 20

Slide 20 text

P.21 Zero/Few -Shot [Brown+’20, NeurIPS] https://arxiv.org/abs/2005.14165 タスク例の数・モデルサイズによる正解率の変化 (単語から記号を取り除くタスク) 正解率 (%) タスク例の数 (k-shot) 英仏翻訳 / zero-shot 英仏翻訳 / few-shot (k=3) • ICL の世界では⼀般的に、推論時に提供されるタスク例の数 k に応じて k-shot と呼ばれる • ⼀般的に k の値が⼤きいと予測性能が向上するといわれている 指⽰ 指⽰ タスク例

Slide 21

Slide 21 text

P.22 • 1 回のリクエストでバッチ化した質問をモデルに与え、より少ないトークン量で回答させる • 下流タスクの性能を維持しつつ推論コストがバッチサイズに対して線形に減少することを実証 • code-davinci-002 を⽤いて 10 データセットで評価(下表) Batch Prompting [Cheng+’23] https://arxiv.org/abs/2301.08721 • ⾼難易度なタスク ではバッチ化が タスク設定をより複雑にする可能性 • 質問あたりのトークン数が多い 場合 バッチサイズが性能低下をもたらす タスク種類 評価セット 標準 (1質問/⼊⼒) バッチ化 (12 質問/⼊⼒) 表1. バッチ化による ((⼤きな)) 性能低下は⾒られない 選択肢付き QA 算術推論タスク 正解率(%) バッチあたりの質問数 図4. WikiTQ における正解率 1 2 3 4 6 45 55 35 平均⼊⼒トークン数 ■ 24 ■ 58 ■ 216 表3. 異なる推論⽅法でもバッチ化が適⽤可能 表4. 異なるモデルでもバッチ化が適⽤可能

Slide 22

Slide 22 text

P.23 • 推論過程(思考の連鎖; CoT)が記述されたショット例をプロンプトに含める • 算術演算・常識推論・記号推論などで精度改善 • どのような理由で結論に⾄ったか、どこで誤った推論をしているのかデバッグしやすい 質問: Roger はテニスボールを5個持っている。 彼はさらに2個のテニスボール⽸を購⼊した。 ⼀つの⽸には3個のテニスボールが⼊っている。 彼は今、何個のテニスボールを持っていますか? 回答: Roger ははじめに5個のボールを持っている。 ボール3個⼊りの⽸が2つあるのでボールは6個ある。 5+6 = 11。答えは 11。 Chain of Thought (CoT) [Wei+’22, NeurIPS] https://openreview.net/forum?id=_VjQlMeSB_J

Slide 23

Slide 23 text

P.24 https://openreview.net/forum?id=e2TBb5y0yFf • “Letʼs think step by step” という指⽰を⽤いて⾔語モデルに多段階推論を誘発させる • 算術演算、常識推論、記号推論において Zero-/Few- shot の正解率を凌駕 • Few-shot CoT のための事例作成や微調整⽤のデータセット作成に有効 Zero-shot CoT [Kojima+’22, NeurIPS] 他テンプレートの正解率⽐較 提案プロンプトの挿⼊位置 ベースラインとの正解率⽐較 指定がない場合は text-davinci-002

Slide 24

Slide 24 text

P.25 • ⼩規模なモデルでは、⾮論理的な連鎖によるエラー伝搬が発⽣する • なぜ思考の連鎖(CoT)が可能であるかについては明らかにされていない • どこで思考の連鎖を学んだのか、モデルサイズとの関連、モデル内部の詳細な挙動など モデルサイズと CoT の関係 [Kojima+’22, NeurIPS] https://openreview.net/forum?id=e2TBb5y0yFf

Slide 25

Slide 25 text

P.26 プロンプトによるアンサンブル

Slide 26

Slide 26 text

P.27 • CLIP についての説明︓ • 対照学習を⽤いたデュアルエンコーダ型のテキスト画像検索モデル • (テキスト, 画像) を (⾔語, 視覚) エンコーダに⼊⼒して (⾔語, 視覚) 表現の内積で類似度を算出 • zero-shot* の画像分類では、 ”a photo of a {object}” というテンプレートを⽤いてプロンプトを作成 • 80 種類のテンプレートから⽣成された⾔語表現を平均したテキスト表現を使⽤して分類精度を向上 • “A photo of a big {object}” や “A photo of a small {object}” のようなプロンプトを作成 ⼊⼒するプロンプト形式を複数作成する [Radford+’23, ICLR] https://openai.com/research/clip * ここでは事前に定義されたラベルセットに基づいて分類の学習を⾏っていないという意味 CLIP における zero-shot* 画像分類 プロンプトの作成 図4. プロンプトのアンサンブルにより 36 評価セットで分類精度が向上

Slide 27

Slide 27 text

P.28 • 複数の多様な推論過程を⽣成し、最も⼀貫した解答を出⼒する(Self-Consistency) • 算術演算、常識推論、記号推論において CoT の性能改善を実証した ⾔語モデルに複数の推論パスを⽣成させる [Wang+’23, ICLR] https://openreview.net/forum?id=1PL1NIMMrw ジャネットのアヒルは 1 ⽇に 16 個の卵を産む。 彼⼥は毎朝 3 個を朝⾷に⾷べ、毎⽇友達のために4 個使ってマフィンを焼く。 残りの卵は 1 個につき 2 ドルで販売する。 彼⼥は毎⽇いくら稼いでいるのでしょうか? top-k T 50 0.7 PaLM- 540B nan 0.7 GPT-3 推論過程のパス数に応じて正解率も向上する ⼀般的な NLP タスクにおいても精度が改善する 正解率はモデル規模に依存 ⼀貫性・正解率の正の相関

Slide 28

Slide 28 text

P.29 few-shot ではどんなタスク例を⽤意すれば良い︖ 説明の流れ 1. (類似性) 質問に関連するタスク例を選択する 2. (多様性) ドメインに偏りのない多様なタスク例を選択する 3. (議論) ⾔語モデルはタスク例のラベルを考慮していないのでは︖

Slide 29

Slide 29 text

P.30 • 質問に関連しないタスク例をプロンプトに使⽤すると精度が低下する可能性がある タスク例の関連性による影響 [Li+’21] (1/2) https://arxiv.org/abs/2101.06804 類似度の算出⽅法︓ 1. 事前学習済み RoBERTa-large を使⽤ 2. 各事例に対して [CLS] 表現を取得 3. 質問と各事例のユークリッド距離を算出 4. 類似度 (上位, 下位) 10件を (Closest, Farest) として GPT-3 のプロンプトに挿⼊ 表2. プロンプトには類似するタスク例を⽤いると良い (100 件の Natural Questions における完全⼀致評価) 表2. タスク例を増やすと精度が低下する (GPT-3 による感情分類 / SST-2) タスク例は SST-2 の学習セットから無作為に選択 類似性

Slide 30

Slide 30 text

P.31 • クエリと意味的に類似した関連タスクの例を動的に検索してプロンプトを拡張(KATE) • ⽂章分類・Table-to-Text・質問応答において提案法が⼀貫してランダム抽出法を凌駕 In-Context Example Selection [Li+’21] (2/2) https://arxiv.org/abs/2101.06804 類似性 ○ 未使⽤な学習セットの事例 ● 無作為に抽出された事例 ● k-NN による関連事例 学習データ 𝐷! 推論時プロンプト 𝒙"#$" 関連するタスク例の集合 𝐶 ⾼次元ベクトル空間 𝒗"#$" 質問応答における完全⼀致評価 • kNN!"#$%& RoBERTa-large で上位 k 件の正解の多数決 • KATE!"#$!%& RoBERTa-large で k 件を検索 + GPT-3 で予測 • KATE'() SNLI, MultiNLI で KATE!"#$!%& を微調整 • KATE'()*+%+,# STS-B で KATE'() を微調整 (k-shot) (64) (64) (10) タスク例が多いほど NQ 正解率が改善 完全⼀致による正解率 (%) 検索結果の上位タスク例(k-shot) 検索対象のデータ数が多いと NQ 正解率が改善 完全⼀致による正解率 (%) 検索対象のデータサイズ

Slide 31

Slide 31 text

P.35 • プロンプトに含まれるタスク例の答えを無作為に置換しても精度は⼤きく低下しない • Min+ʼ21 (ACL) による Direct, Noisy Channel Model の2つのモデルで評価 • 10K未満の低資源な評価セット、GLUE・SuperGLUE、多様なドメインを含む評価セットを使⽤ • in-context learning では以下が性能低下の要因となると指摘(図10) • L: Label space タスク例の答えを無作為に選択した英単語で置換する ■→ ■ • I : Distribution of inputs タスク例のテキストを分布外の⽂で置換する ■→ ■ • F : Format タスク例の形式を変更する ■→ ■,■→ ■ https://aclanthology.org/2022.emnlp-main.759/ タスク例の答えは性能に寄与しないことを⽰唆 [Min+’22, EMNLP] 図4. 推論性能は タスク例の正解数 に⾮依存 図1. タスク例の答えが無作為抽出 でも ⼤きく性能が低下しない (k=16) macro-F1 (%) 正解率 (%) 分類タスク 多肢選択タスク 図5. 置換による性能低下の傾向は タスク例の数 に⾮依存 正解率 (%) 図6. 置換による性能低下の傾向は プロンプトの質 に⾮依存 正解率 (%) macro-F1 (%) タスク例の数 図10. 何がモデルの推論性能を低下させるのか︖ タスク例の数 正解率 (%) 分類タスク 多肢選択タスク 分類タスク 多肢選択タスク macro-F1 (%) 正解率 (%) F L I M 答えを無作為な英単語で置換 テキストを分布外の⽂で置換 形式を変更

Slide 32

Slide 32 text

P.36 • LLM の内部知識に依存した応答⽣成は左下のような問題が発⽣してしまう︓ Context-faithful Prompting [Zhou+’23] (1/2) https://arxiv.org/abs/2303.11315 コンテキスト Elon Mask は、ビジネス界の⼤物であり投資家である。 彼は Twitter 社のオーナー兼 CEO である。 質問 Twitter 社の CEO は誰? 予測(誤り) Jack Dorsey Knowledge Conflict (intrinsic hallucination) GPT の内部知識に依存せずにコンテキストを参照すべき コンテキスト Bill Gates はワシントン州のシアトルで⽣まれた。 質問 Bill Gates は Microsoft の創業者ですか? 予測(誤り) Yes Prediction with Abstention (extrinsic hallucination) コンテキストに基づいて解答を⽣成する場合は 「分かりません」と答えるべき

Slide 33

Slide 33 text

P.37 • コンテキストを参照させるためのプロンプトを提案 (c: context, q: question, o: options) • few-shot 設定にてハード負例な(元の正解に類似するが誤った)タスク例を作成 • Longpre+ʼ21 を踏襲してコンテキストを修正、表1 の NQ では正解を同⼀タイプを持つエンティティに置換 Context-faithful Prompting [Zhou+’23] https://arxiv.org/abs/2303.11315 Base {c} Q: {q}? Options: {o} A: ベースライン Attr {c} Q: {q} based on the given text? Options: {o} A: コンテキストを参照させるための⽂をプロンプトに付与する。 Instr Instruction: {i} {c} Q: {q}? Options: {o} A: APE [Zhou+ʼ23] を⽤いて指⽰を作成してプロンプトに付与する。 Opin Bob said, “{c}” Q: {q} in Bobʼs opinion? Options: {o} A: コンテキストを語り⼿の発⾔として語り⼿の意⾒を問う質問を作成。 答えが⼀意となる事実型質問に対して語り⼿依存な質問で LLM にコンテキストを参照させる。 機械読解 (NQ) [完全⼀致] 関係抽出 (Re-TACRED) [F1] 表1. 語り⼿への質問+指⽰の付与、ハード負例によるプロンプトが良い 正例 ハード負例 表2. 解答なし (NoAns) に分からないと回答できる (RealTime QA) • タスク例が LLM の汎化能⼒を 改善させるとは限らないことを⽰唆 • ハード負例を挿⼊することで コンテキストを参照せずに回答してしまう LLM における simplicity bias を抑制か 16-shot

Slide 34

Slide 34 text

P.38 • RL は⼀貫して有効 • 低資源でも DSP が効果的 https://arxiv.org/abs/2302.11520 • LLM による望ましい振る舞いを誘導するため Policy LM を⽤いて要求に沿った⼿がかりを与える • Policy LM は、以下の2段階で学習される • 教師あり微調整(SFT)︓要約では textrank で抽出したキーワードを出⼒として学習する • 強化学習(RL)︓要約では ROUGE-Avg, 対話では SacreBLEU を報酬とする • 要約・タスク指向対話の低資源設定で DSP w/ SFT+RL の有効性を実証 Directional Stimulus Prompting (DSP) [Li+’23, ICLR] 要約対象 Article: CNN 8 年ぶりにテレビの伝説的な⼈物が戻ってきた。 4⽉1 ⽇放送の “The Price is Right” で “come on down!” と⾔われ登場したのは、 司会の Drew Carey ではなく、本テレビの進⾏役を務めていたおなじみの⼈であった。 2007年 に降板するまで 35 年間、本テレビ番組の司会を務めた Bob Barker である。 元気な 91歳 の Barker は、本番組の第⼀プログラムである “Lucky Seven” を担当した 後、司会を Carey に引き継ぎました。 8 年の間、番組から離れていたにもかかわらず、Barker は⾒事な復活を果たしました。 要約例(正解) Bob Barker が⽔曜⽇に “The Price Is Right” の司会に復帰しました。 Barker は 91歳 で 2007年 に司会を引退していました。 標準プロンプト Q: 上記の記事を 2-3 ⽂で簡潔にまとめてください。 DS プロンプト Q: 上記の記事を、ヒントに基づいて 2-3 ⽂で簡潔にまとめてください。 ヒント: Bob Barker; TV; 4⽉1⽇; “The Price Is Right”; 2007年; 91歳 図1. 要約タスクにおける DSP の例 表1. 対話応答⽣成による評価(MultiWOZ 2.1) 図3. 学習データサイズ別の要約評価(CNN/DailyMail MultiWOZ 2.1) 対数尤度に基づく学習⽬的を⽤いた SFT では不⼗分 (Inform+Success) * 0.5 + BLEU ユーザ要求を満たす エンティティの割合 (?) 解決したユーザ要求の割合

Slide 35

Slide 35 text

P.39 中間推論過程について

Slide 36

Slide 36 text

P.40 • 複雑なタスクをプロンプトによって単純なサブタスクに分解する⼿法を提案 • Few-shot による GPT-3 の推論性能を Decomposed Prompting [Khot+’22] https://arxiv.org/abs/2210.02406 WIP

Slide 37

Slide 37 text

P.41 • 複雑な質問 を反復的に 分解 (QD) ・回答 (QA) することで、最終的な解答を導出する • QD・QA を切り離し、分解されたより簡単な設定で、個別に学習した LLM の推論を導⼊可能 • DROP データセットにおいて、Few-shot の SOTA に対して 5% 程度の精度向上を達成 https://aclanthology.org/2022.emnlp-main.81/ Successive Prompting [Dua+’22, EMNLP] WIP

Slide 38

Slide 38 text

P.42 SCAN による⼊⼒⻑別評価(TBA) • Few-shot CoT において提⽰された事例よりも複雑な場合、質問の回答精度は低下する • 複雑な質問をサブ質問に分解して⼀つずつ回答していく Least-to-Most を提案 • 記号操作、構成的推論、算術演算において CoT を⼤幅に凌駕 Least-to-Most [Zhou+’23, ICLR] https://openreview.net/forum?id=WZH7099tgfM Amy は 4 分かけて滑り台に登る。 滑り降りるのに 1 分かかる。 滑り台はあと 15 分で終了する。 彼⼥はあと何回滑ることができる? 質問 に回答するためには、 まず ⼀サイクルあたりの所要時間が どれくらいか 計算する必要がある Stage 1: 複雑な質問をサブ質問に分解する Stage 2: ⼀つずつサブ質問に回答する (表11)DROP*, GSM8K における正解率⽐較 *算術演算を含むサブセットのみ評価 (表12)GSM8K にて想定される推論ステップ別正解率 WIP

Slide 39

Slide 39 text

P.43 • 質問応答タスクにおいて 中間推論過程を考慮する マルチ- タスク/ドメインのベンチマーク • (1) 解答の正解率 (2) 推論グラフの精度 (3) 推論グラフの類似度 • 微調整済み LLM の Few-shot 性能を評価し中間推論の⽣成で改善の余地があることを⽰した STREET [Neves+’23, ICLR] https://openreview.net/forum?id=1C_kSW1-k0 WIP

Slide 40

Slide 40 text

P.44 l 質問応答タスクにおける正解率はモデル規模に応じて向上する × 質問を構成するサブ質問の正解率と、その質問の正解率はモデル規模に依存しない • ⼤規模な事前学習は、モデルに事実を記憶させる⼀⽅、構成的に推論させることを保証しない Compositional Gap [Press+’23, ICLR] https://openreview.net/forum?id=PUwbwZJz9dO Q. エリザベス⼥王の治世はどれくらい? → 以下の質問に答えれば推論できそう Sub-Q. 戴冠式の⽇にちはいつ? Sub-Q. 死去した⽇にちはいつ? Compositional Gap (Q, Sub-Q) = (不正解, 正解) 正解率 正解率 Comp. Gap 正解率 Maximum Sub-Q Perplexity Comp. Gap 発生時 Sub-Q の PPL は?

Slide 41

Slide 41 text

P.45 • マルチホップ質問をより単純な要素に分解し、 サブ質問を⾃⼰で作成・回答する誘発プロンプトを作成する • サブ質問に答えることで不⾜情報を フォローアップ する • 外部の知識資源 との接続も可能にしている • 複数のデータセットで構成的推論による有効性を実証 Self-Ask [Press+’23, ICLR] https://openreview.net/forum?id=PUwbwZJz9dO Comp. Gap を緩和

Slide 42

Slide 42 text

P.46 中間推論の過程をプログラムとして記述する

Slide 43

Slide 43 text

P.47 • ⾃然⾔語の記述から課題を解決するための Python プログラムを中間推論過程として⽣成 • ⽣成プログラムにはコードを解説するための コメント や 変数名 を ⾃然⾔語に近い形で記述 する • LLM は⾃然⾔語問題を実⾏可能なステップに分解するよう学習される • 算術演算・記号推論、アルゴリズムを含む 12 セットで LLM - インタプリタの相乗効果を実証 Program-aided LM (PAL) [Gao+’22] https://reasonwithpal.com/ 記号推論 算術演算 アルゴリズム問題 コメント除去 と 変数名置換 によるアブレーション結果 12 評価セットにおいて PAL が CoT の推論性能を凌駕 PALは参照数にも頑健 (Colored Object) テーブルの上には、紫のクリップ、ピンクのストレスボール、茶⾊のキーホルダー、緑のス クランチフォン充電器、モーブ⾊のフィジェットスピナー、ワインレッドのペンなど、たく さんの物が並べられています。ストレスボールの真右にある物体の⾊は何⾊でしょうか? スケール依存 & ⼩規模でもPALが有効

Slide 44

Slide 44 text

P.48 • 推論過程をプログラム⾔語で表現し Python インタプリタにオフロードする PoT を提案 • 5MWP /3⾦融データセットの評価により Chain of Thoguht を上回る精度を⽰した Program of Thought (PoT) [Chen+’22] https://arxiv.org/abs/2211.12588 フィボナッチ数列における50番⽬の値 を 50 回の推論ステップによって算出 フィボナッチ数列における50番⽬の値を 8 ⾏の Python コードの実⾏により算出 ⼤規模⾔語モデルにおける CoT の問題点 • 特に⼤きな数 を扱うと算術計算の誤りが起こりやすい • 多項式や微分⽅程式のような 複雑な数式 を解くことが難しい • 反復回数が多い 場合は⾮常に⾮効率である Chain of Thought (左) と Program of Thought (右) の⽐較 self-consistency zero-shot CoT と PoT の精度⽐較

Slide 45

Slide 45 text

P.49 https://arxiv.org/abs/2301.13379 • モデルの予測結果は CoT による推論過程を反映していない場合がある • モデルが本質的に解釈可能であるとヒトに誤解させる可能性がある • 説明の納得度が⾼い場合、モデルに暗黙バイアスがあってもヒトはモデルを過信する(Pruthi+ʼ20; Slack+ʼ20) Faithfulness [Lyu+’23, ICLR] (1/2) 答えは 0 だが、推論過程が反映されていない クレアは毎朝、朝⾷に3つの卵を使ってオムレツを作る。 彼⼥は4週間で何ダースの卵を⾷べるでしょうか? プログラムとして計算処理をインタプリタにオフロードする plausibility

Slide 46

Slide 46 text

P.50 • 推論タスクを2段階に分解する構築フレームワークを提案 1. 翻訳 CodeX がクエリから 記号⾔語 と ⾃然⾔語 による推論の連鎖を記述する 2. プログラム実⾏ 外部ソルバが推論チェーンを実⾏して解答を出⼒する • 複数の記号⾔語・ドメインに対して汎化可能性を⽰した Faithful CoT [Lyu+’23, ICLR] (2/2) Strategy QA の予測誤りのエラーカテゴリ分析(図9) • Datalog のプログラムエラーが 50% 以上 • ⾃然⾔語による推論・読解 45% 程度 • プログラム実⾏の利点を活かせないタスク設定 ※ 記号演算よりも 事実の抽出や思考連鎖が重要 Python インタプリタ Datalog ⾃然⾔語︓ #i. サブ質問?(サブ質問間の依存関係、根拠) 記号⾔語︓ プログラム 4ドメイン 10 評価セットを⽤いて有効性を検証(表1) 誤答した 100 事例に対するエラーカテゴリ(図6) • ⾃然⾔語によるサブ質問の⽣成・読解によるエラーが 49.0% • プログラムにおける誤りが 24.0% https://arxiv.org/abs/2301.13379

Slide 47

Slide 47 text

P.51 反復的に改良を⾏う

Slide 48

Slide 48 text

P.53 • 1つの LLM を⽤いて Feedback, Refine を繰り返す反復改良法を提案 • Feedback 時刻 t の⽣成⽂に対して改善指摘と複数観点によるスコアを LLM で⽣成 • ①反復回数の閾値 ② “every thing looks good” というフィードバック ③ スコアによる閾値、のいずれかで終了判定 • Refine 時刻 t の⽣成⽂に対して Feedback を反映して、時刻 t+1 における改良⽂を⽣成 Self-Refine [Madaan+’23] https://selfrefine.info/ 時刻 t+1 の出⼒ ⼊⼒ + 時刻 t の出⼒ フィードバック 過去の出⼒もプロンプ トとして⼊⼒される チューリングテストっぽいことをしている ※ Base LLM の評価値が分からなかった…。 Human Eval. 表3. 反復改良の有無における評価 表4. 各時刻ごとに改善が確認 表6. フィードバック別改善 Generic Feedback: (例)どこかしら間違っています Actionable Feedback: 問題箇所の指摘 + 改善のための指⽰ 左2つの % が何を表してるのか分からなかった... Self-Refine の各結果に対してアノテーションした割合︖

Slide 49

Slide 49 text

P.57 外部知識資源の活⽤ × ⾃律駆動 • 「構造化知識を使った⾔語処理応⽤」ワークショップ 〜森羅 2022 最終報告会 http://shinra-project.info/shinra2022/shinra2022-final-report-workshop/ https://www.youtube.com/watch?v=DuhqLgqZgAA (構造化知識を使った⾔語処理応⽤ / パネルディスカッション) • Mialon+’23 - Augmented Language Models: a Survey https://arxiv.org/abs/2302.07842 • 萩原+’23 – 2023年注⽬トレンドの⼀つ︕ツール拡張⾔語モデルの最前線 / ステート・オブ・AI ガイド https://ja.stateofaiguides.com/20230328-llm-with-tools/

Slide 50

Slide 50 text

P.59 (推論パス 𝑅!) 𝑠" !: アリストテレスは BC 322 に死亡。 𝑠! !: ラップトップは 1980 年に開発。 𝑠# !: 故に使⽤していない。 𝑠$ !: 答えは No (推論パス 𝑅") 𝑠" ": アリストテレスは 2000 年に死亡。 𝑠! ": ラップトップは 1980 年に開発。 𝑠# ": 故に使⽤した。 𝑠$ ": 答えは Yes https://arxiv.org/abs/2301.00303 • CoT によって分解された推論パスに対して関連する外部知識を検索し再考する RR を提案 • GPT-3 を⽤いて常識/時間/表形式の推論において、RR が faithful な説明を⽣成することを実証 Rethinking with Retrieval (RR) [He+’22] ③ NLI モデルで含意度・⽭盾度を算出 ④ 推論パスごとに faithfulness のスコア 𝑓%& 𝑅' を計算 表1. RR は⼀貫して良い性能を⽰す (StrategyQA) (TempQA) (INFOTABS) (類似している場合)MPNet による類似度が⾼いとスコアが⾼くなる (類似してない場合)NLI による含意度が⾼いとスコアが⾼くなる ! 𝑃 = argmax #( $ {#),⋯ ,#*} ) )*+ , 𝟙 𝑃) = 𝑃 𝑓-. 𝑅) 𝑓%& 𝑅+ = ( ' ∈- sim 𝑠' +, 𝑘' + × sim 𝑠' +, 𝑘' + ≥ 0.5 + entail 𝑠' +, 𝑘' + × sim 𝑠' +, 𝑘' + < 0.5 − contradict 𝑠' +, 𝑘' + ② 全ての 𝑠 % & に対して top-10 を BM25 で検索 し、MPNet で最も類似する関連知識を取得 NLI による⽭盾度が低いと スコアが⾼くなる (質問)アリストテレスは ラップトップを使⽤したか? CoT + Self-Consistency (予測 / 𝑃) No (外部知識 𝐾!) 𝑘" !: アリストテレスは BC 322 に死亡。 𝑘! !: ラップトップは 1980 年に開発。 𝑘# !: hoge 𝑘$ !: fuga (外部知識 𝐾") 𝑘" ": アリストテレスは BC322 に死亡。 𝑘! ": ラップトップは 1980 年に開発。 𝑘# ": hoge 𝑘$ ": fuga 𝑓!" 𝑅# = 0.20 𝑓!" 𝑅$ = 𝟎. 𝟗𝟎 表3. 動的検索に用いるクエリの対象は分解後のサブ質問の方が良い 分解前の質問 分解後のサブ質問 検索クエリの対象 BM25: DPR: BM25+DPR: 77.73 58.52 77.29 図1. 常識推論における RR の概要 ① 質問を複数の 推論パスに分解

Slide 51

Slide 51 text

P.61 API の実⾏ https://arxiv.org/abs/2302.04761 • 外部知識資源(API)の呼び出しが注釈づけられたデータセットで GPT-J (6.7B) を微調整 • 推論時は トークンが出⼒されるとデコードを⼀時的に中断し API を実⾏する • 動的・連鎖的な API の呼び出しができない ToolFormer [Schick+’23] 質問応答におけるデータセットの作成⽅法 出⼒確率による API 呼び出し位置推定 API を呼び出すための 質問候補の出⼒ 実⾏結果フィルタリング 元の⽂章に API 実⾏と結果を挿⼊ 質問応答の評価結果 質問応答 システム 計算機 機械翻訳 Wikipedia 検索 モデル規模が⼤きいほど適切な API を呼び出す

Slide 52

Slide 52 text

P.62 です。 • ⾔語モデルによる中間推論過程において思考と⾏動のフェーズを導⼊する • 思考フェーズ モデルが現在の中間推論状態に対する状況を記述する • ⾏動フェーズ 外部知識資源との接続を⾏い、外部 API などを実⾏する • 外部環境(Web ページ等)との接続により、検索・クリック・スクロールなどの⾏動も可能 ReAct [Yao+’23, ICLR] https://react-lm.github.io/ (表2)ReAct と Chain-of-Thought における⽐較(HotpotQA) 94% 6% Hallucination 検索精度と推論誤りに課題 (表1)質問応答・主張分類による⽐較 Self-Consistency による⾃⼰アンサンブル ReAct が指定ステップ内で回答しない場合 CoT-SC に切り替え CoT-SC の過半数が n/2 ステップ以下の場合 ReAct に切り替え ※ 内部知識がタスクをサポートしないと判断される

Slide 53

Slide 53 text

P.63 質問 ローマ議定書は 3 名の⾸相によって署名された。うち 1 名はなぜ暗殺された︖(HotPotQA) 𝑡 = 1 思考 ローマ議定書を検索して、3 名の⾸相を⾒つけ彼らが暗殺された理由を⾒つける。 ⾏動 Search [ローマ議定書] 結果 1934.03.17 にローマでイタリア、オーストリア、ハンガリーの三国間で締結された国際協定。 べニート・ムッソリーニ (伊)、エンゲルベルト・ドルフース (墺)、ゲンベシュ・ジュラ (洪) の 3 名の⾸相によって署名。 すべての議定書は 1934.07.12 に発効し、1934.12.12 に国際連盟の条約シリーズに登録された。 𝑡 = 2 思考 3 名の⾸相はムッソリーニ,ドルフース, ジュラだった。 ムッソリーニを検索し、彼がなぜ暗殺されたかを⾒つける必要がある。 ⾏動 Search [べニート・ムッソリーニ] 結果 べニート・ムッソリーニ(1883.07.29 ‒ 1945.04.28) は、イタリアの政治家・ジャーナリストで、National Fascist Party を創設。 1922 年のローマ進軍から 1943 年までイタリア⾸相を務め、 1919 年の Italian Fasces of Combat 設⽴から、 1945 年にイタリア・パルチザンによって処刑されるまで Duceöf Italian fascism として活動した。 𝑡 = 3 思考 ムッソリーニは、第⼆次世界⼤戦中の枢軸国崩壊の⼀環として暗殺された。 ゆえにローマ議定書は 3 名の⾸相によって署名され、うち 1 名は第⼆次世界⼤戦の⼀部として暗殺されたのです。 ⾏動 Finish [第⼆次世界⼤戦] reflection 調印に関わった⾸相の⼀⼈を検索してすぐに回答しようとした。 各⾸相を検索し、それぞれのページで死亡情報を調べ、より多くの情報を得てから回答すべきでした。 • ReAct 推論において各出⼒に対し、不合理な予測の検出・reflection・推論の再実⾏を導⼊ Reflexion [Shinn+’23] (1/2) https://arxiv.org/abs/2303.11366

Slide 54

Slide 54 text

P.64 • ReAct 推論において各出⼒に対し、不合理な予測の検出・reflection・推論の再実⾏を導⼊ • Heuristic が不合理な予測を検出した場合、エージェントは self-reflect を実⾏する • (失敗例, reflection) の 2-shot プロンプトを LLM に挿⼊して reflection を⽣成 • reflection をエージェントのメモリに追加し、推論を再実⾏する Reflexion [Shinn+’23] (2/2) https://arxiv.org/abs/2303.11366 hallucination や ⾮効率なプランを検出 ⾏動の繰り返しを検出 試⾏あたりの act 数を制限 バイナリ報酬 各⾏動に 0:失敗, 1:成功 を割り当て HotPotQA では EM を⽤いて採点 𝐿𝐿𝑀 𝑠%, 𝑟%, 𝑎&, 𝑜&, … , 𝑎%, 𝑜% , 𝑚𝑒𝑚 h 𝑠% , 𝑎% , 𝛺, 𝜀, 𝑎& , 𝑜& , … , 𝑎%'# , 𝑜%'# = 6 1 1 0 repeat 𝑎&, 𝑜&, … , 𝑎%'#, 𝑜%'# > 𝛺 𝑡 > 𝜀 otherwise 図3. reflection によって⼤幅に正解率が向上する (HotPotQA 完全⼀致評価)

Slide 55

Slide 55 text

P.66 プロンプト作成の⾃動化

Slide 56

Slide 56 text

P.67 https://openreview.net/forum?id=92gvk82DE- • (1) 指⽰候補を提案し (2) 各候補に対して算出したスコアに基づいて適切な指⽰を選択 • 24/24 Instruction Induction, 17/21 BIG-Bench タスクで⼈⼿のプロンプトと同等以上 • “Letʼs think step by step” よりも優れたプロンプトを発⾒ Automatic Prompt Engineer (APE) [Zhou+’23, ICLR] ”Letʼs think step by step”よりも優れたプロンプトを発⾒ WIP

Slide 57

Slide 57 text

P.68 https://openreview.net/forum?id=5NTt8GFjUHkr • ヒトによる Few-shot 事例の作成は、アノテータ依存かつ拡張性が低い • LLM を活⽤して推論チェーンを⾃動⽣成する Auto-CoT を提案 • 10 ベンチマークにおいて、ヒトが作成した Few-shot CoT と同程度の性能を⽰した Automatic CoT [Zhang+’23, ICLR] WIP

Slide 58

Slide 58 text

P.72 • 新しいタスクのインスタンスに対する分解作業を ⾃動的に ⾏う • 関連タスクを タスクライブラリ から動的に抽出してプロンプトを作成する • 推論過程にてツール指⽰を⽣成し、指定されたツールを ツールライブラリ から抽出して呼び出す Automatic Reasoning and Tool use (ART) [Paranjape+’23] (1/2) https://arxiv.org/abs/2303.09014 Extendable libraries Human feedback タスクの抽出⽅法(ライブラリのタスク数が 50 以上の場合) 上記のようなプロンプトを作成して Similar/Not Similar のログ確率でランク付け 🧐

Slide 59

Slide 59 text

P.73 • 分解数2の設定で、Few-shot/Auto CoT を凌駕し、GPT-3 の最良結果と同程度 • (稀だが)モデルがタスクの汎化に失敗する場合フィードバックは劇的に性能を改善させる https://arxiv.org/abs/2303.09014 タスク分解の サブステップを ライブラリに追加 lookup という ツールを新たに 関数定義して ライブラリに追加 Automatic Reasoning and Tool use (ART) [Paranjape+’23] (2/2)

Slide 60

Slide 60 text

P.76 マルチモーダルにおけるプロンプト

Slide 61

Slide 61 text

P.77 • Outside Knowledge Visual Question Answering で視覚情報を⾔語化する研究が散⾒ • キャプション⽣成を⽤いて⼊⼒画像に対する説明⽂を記述 (Yang+’22; Gao+’22; Gui+’22) • 「どのような形式で⾔語化すると良いか」については研究・議論の余地がある • 🧐 LlamaIndex, LangChain のデータローダも基本的に同じ OK-VQA における視覚情報の⾔語化 https://arxiv.org/abs/2302.14045 PICa (Yang+’22, AAAI) • ⼤域的なキャプション • 局所的なキャプション(DenseCaps) • オブジェクトタグ • XML のような形式 • プログラム⾔語 • シーングラフ • … ⾔語による記述⽅法はいくつか考えられる

Slide 62

Slide 62 text

P.78 • 21k のマルチモーダルな選択肢付き質問応答データセット • コンテキスト・質問・選択肢・答えに加えて、外部知識 (lecture) や解答根拠 (explanation) を含む • ⾃然画像やダイアグラム画像を含み、コンテキストのモダリティは⾔語/視覚/なしと多様 • UnifiedQA や GPT-3 を⽤いて評価し、few-shot CoT の利⽤が効果的であることを⽰した ScienceQA [Lu+’22, NeurIPS] 図4. データのドメイン(⾃然/社会/⾔語 -科学) 図1. データセット例 表1. データセット内訳 表2. 既存データセットとの⽐較 図6. GPT-3 による解答例 (CoT) https://scienceqa.github.io/

Slide 63

Slide 63 text

P.80 • ⾔語と視覚のモダリティを組み込んだ2段階のフレームワークを構築する • (1) テキスト情報(Transformer)と視覚情報(DETR)をエンコードして注意機構+ゲート融合 融合されたマルチモーダル表現を Transformer デコーダに⼊⼒して根拠を⽣成 • (2) ⽣成された根拠を活⽤した回答推論を⾏う • ScienceQA ベンチマークにおいて、 Multimodal-CoTを⽤いた10億パラメータのモデルは、 GPT-3.5 を16ポイント凌駕(精度75.17%->91.68%) Multimodal CoT [Zhang+’23, ICLR] https://arxiv.org/abs/2302.14045 WIP

Slide 64

Slide 64 text

P.81 • 視覚基盤モデル(VFM)に対する窓⼝で⾃然⾔語が扱えるように Prompt Manager を提案 • ⾃然⾔語については ChatGPT が担当し、LangChain を⽤いて VFM の視覚ツールを定義 • ユーザは対話体験を通して画像読解・⽣成・編集などを⾏うことができる Visual ChatGPT [Wu+’23] https://arxiv.org/abs/2303.04671 WIP

Slide 65

Slide 65 text

P.85 • 視覚タスクにおいて Codex を⽤いて、視覚処理と推論処理をプログラムとして記述する • 視覚処理は API を介して⾏い、最終的に Python コードとして実⾏される • さまざまな複雑な視覚タスクにおいて SoTA を達成 ViperGPT [Surís+’23] https://viper.cs.columbia.edu/ OK-VQA における ViperGPT の処理内容と正解率の⽐較

Slide 66

Slide 66 text

P.86 • オススメの論⽂があれば紹介いただけると嬉しいです • 本記事は絶賛 WIP なので逐次的に更新していきます。 おわりに