Slide 1

Slide 1 text

sinchi0 2025/04/13 プロンプトエンジニアリングの手法、 Kaggleでの使われ方 まとめ

Slide 2

Slide 2 text

自己紹介 sinchir0 / 齋藤 慎一朗 - 請求書、契約書、ニュースをNLPでなんとかする仕事 - Kaggle Competitions Expert🥈4🥉4 - Kaggle Notebooks Expert 🥇2🥈6🥉7 - Kagger Running Club 所属 - 著者: Polarsとpandasで学ぶ データ処理アイデアレシピ55

Slide 3

Slide 3 text

もちろんFine-Tuningが必須なことも多い - Fine-Tuningは時間とリソースがかかるので、プロンプトエンジニアリングだけでな るべく性能を上げたい。 - その際の指針を知りたい。 背景

Slide 4

Slide 4 text

- プロンプトエンジニアリング手法 - 基本的なプロンプト - Zero Shot CoT[Kojima 2022] - Few-Shot CoT[Wei 2022] - Self-Consistency[Wang 2023] - Tree of Thoughts[Yao 2023] - Graph of Thoughts[Besta 2023] - Step-back prompting[Zheng 2024] - Self Discover[Zhou 2024] - Kaggleでどう使われるか? - 概要 - EEDI 1stでの使われ方 - AIMO1 1stでの使われ方 - AIMO2 8thでの使われ方 アジェンダ

Slide 5

Slide 5 text

プロンプトエンジニアリング手法

Slide 6

Slide 6 text

NeurIPSとICLRが多め 参考文献 名前 学会 URL [Wei2022] Few-Shot CoT NeurIPS 2022 Link [Kojima2022] Zero Shot CoT NeurIPS 2022 Link [Wang2023] Self-Consistency ICLR 2023 Link [Yao2023] Tree of Thoughts NeurIPS 2023 Link [Besta2023] Graph of Thoughts AAAI 2024 Link [Zheng2024] Step-back prompting ICLR 2024 Link [Zhou2024] Self Discover NeurIPS 2024 Link

Slide 7

Slide 7 text

- Zero Shot prompting - 質問や指示の仕方などなんでも OK - One Shot prompting, Few Shot prompting - 例をプロンプトに対して与える - Role prompting - モデルに特定の役割を与える - Contextual prompting - 背景情報を与える 基本的なプロンプト

Slide 8

Slide 8 text

- 中間の推論ステップも生成させ、推論能力を向上させる手法であるCoTを提案し た。 - 具体例をいくつか与える Few Shot CoT を提案した。 Few Shot CoT(Chain of Thought)[Wei 2022]

Slide 9

Slide 9 text

- Few Shot CoTに対し、Let’s think step by stepとプロンプトに付け足すだけで十分 に性能向上することを示した。 - 一方、具体例を用意する手間はあるが、Few-Shot CoTの方が性能は高い。 Zero Shot CoT[Kojima 2022]

Slide 10

Slide 10 text

- CoT において、正しい推論ステップでは、誤ったステップよりも最終的な答えの一致度が高いと 仮定できる。 - Self-Consistencyは、複数回推論し、最も一貫性 (Consistency)のある答えを選択する。 - 多数決、トークン生成確率の(平均 | 合計)や、トークン生成確率の正規化の有無が検証され、 シンプルな多数決の性能が最も高かった。 Self-Consistency[Wang 2023]

Slide 11

Slide 11 text

- Self-Consistencyでは、トークンが生成される左から右の順番のみが考慮される。 - 探索や戦略的な先読みが必要なタスクや、最初の決定が極めて重要な役割を果たすタスクで は、考慮が不十分な場合がある。 - ToT は、最終的な推論のための中間ステップを複数候補を生成し、その候補を評価すること で、最適な推論パスを探索する Tree of Thoughts(ToT)[Yao 2023] 複雑になってきた

Slide 12

Slide 12 text

- InputとLLMの思考をグラフ形式で扱う。 - ノード: 問題に対する(初期、中間、または最終的な)ソリューションを含んだ LLMの思考 - エッジ: 思考間の依存関係を示す有向エッジ Graph of Thoughts[Besta 2023]

Slide 13

Slide 13 text

- aggregateの例 Graph of Thoughts[Besta 2023]

Slide 14

Slide 14 text

- Abstraction(抽象化)と Reasoning(推論)を行う。 - Abstraction(抽象化)は、より高レベルの概念または原則に関する一般的な質問を するように促す。 - Reasoning(推論)は、Abstraction で得た結果に基づいて、推論する。 Step-back prompting[Zheng 2024]

Slide 15

Slide 15 text

- 人間は複雑な推論をするとき、過去の推論に関する知見から応用できそうなものを探し、それ を適用することで問題を解決している。 - 本手法はこれを模倣し、LLMが複雑な推論問題を解くために、そのタスクに固有の推論構造を プロンプトで自動的に発見する。 Self Discover[Zhou 2024]

Slide 16

Slide 16 text

- Stage1とStage2に分かれる。 - Stage1は、さらに3ステップに分かれる。 - SELECT: 39の推論モジュールのリストから問題解決に役立つ推論モジュールを選択 - ADAPT: 選択されたモジュールをタスクに適する形で言い換えて具体化 - IMPLEMENT: 適応されたモジュールを JSON形式の構造化されたデータとしてまとめる - Stage2は、Stage1の推論構造を利用しJSONの値を埋める。 Self Discover[Zhou 2024]

Slide 17

Slide 17 text

Kaggleでどう使われるか?

Slide 18

Slide 18 text

- LLM による思考プロセスも含めたデータセットを作成するために、 Claude 3.5 Sonnetに対してCoTを利用した。 (EEDI 1st) - 誤解がどのような思考の過程で起きるかの情報量を増やすために、CoT を利用し た。(EEDI 2nd) - プロンプトに対し、 Self-Consistency を拡張した ToT に近い方法を考案し、性 能を改善した。 (AIMO1 1st) - Self-Consistency が利用された Solution をベースにした。(AIMO1 3rd, 4th) - ChatGPT3.5 を用いて、QA dataset を作成する際のプロンプトに、Role prompting、Contextual prompting、Few Shot prompting が利用されている。 (LLM Science Exam 5th) - 時間制限を加味した ToT(AIMO2 8th) 概要 ソリューション全体の ほんの一部分だよ!

Slide 19

Slide 19 text

EEDIコンペの概要 - 生徒が、どのような誤解に基づいて数学の問題を誤答したかを正しく判断するコン ペ - Sep 13, 2024 ~ Dec 13, 2024 https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics

Slide 20

Slide 20 text

- Claude 3.5 Sonnetを用いてデータセットを生成する際に、CoTを行った。 - (i) 問題の説明、(ii) 正解、(iii) 不正解、(iv) 誤解、(v) 深く関連するいくつかの誤解 を提供し、学生が不正解を選択するに至った可能性のある思考プロセスを生成す るように促した。 EEDI 1stでの使われ方 https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/discussion/551688 プロンプトの一部

Slide 21

Slide 21 text

- 数学の問題をLLMに解かせるコンペ - AIMO1 - Apr 2, 2024 ~ Jun 28, 2024 - GPU Notebook <= 9 hours run-time - AIMO2 - October 18, 2024 ~ Apr 2, 2025 - GPU Notebook <= 5 hours run-time AIMOコンペの概要 https://www.kaggle.com/competitions/ai-mathematical-olympiad-prize https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2

Slide 22

Slide 22 text

- Self-Consistency with CoTとToTの中間。幅N、深さMでの推論。(bestはN=48, M=4) AIMO1 1stでの使われ方 https://www.kaggle.com/competitions/ai-mathematical-olympiad-prize/discussion/519303 M N

Slide 23

Slide 23 text

Self-Consistencyの 候補数は5が最適 だった。 AIMO2 8thでの使われ方(sinchir0の理解) https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/571356 Role Prompting ToTに近い。 ただし、時間制限の観点 から、推論ステップを 1~2 に指定している。

Slide 24

Slide 24 text

Fin.