Upgrade to Pro — share decks privately, control downloads, hide ads and more …

学習なし!遺伝的アルゴリズムと反省(?)でLLMを強化する話

Avatar for Hiroshechka Y Hiroshechka Y
October 12, 2025
280

 学習なし!遺伝的アルゴリズムと反省(?)でLLMを強化する話

Avatar for Hiroshechka Y

Hiroshechka Y

October 12, 2025
Tweet

Transcript

  1. 計算資源、足りてますか? LLMを使った研究やコンペではとにかく計算資源がたくさん必要。 • 7Bクラスモデル + QLoRA-SFT = VRAM 16GB~ •

    70Bクラスモデル + QLoRA-SFT = VRAM 48GB~ • 7Bクラスモデル + Full-SFT = VRAM 80GB~ • 7Bクラスモデル + Full-GRPO = VRAM 320GB~
  2. プロンプトの底力 • 商用LLMのシステムプロンプトのリーク集 • 各社とにかく長い ◦ anthropic claude-4.5-sonnet ~ 20000トークン

    ◦ openai gpt-5-thinking ~ 18000トークン • In-context learning: モデルの重みを更新することなく、プロンプトに含まれ るいくつかの例(few-shot)や指示を参考にして、新しいタスクをこなす能力
  3. GEPA: Genetic-Pareto Reflective Prompt Evolution • 論文: https://arxiv.org/pdf/2507.19457 • プロンプトの自動最適化手法

    • 反省(Reflection)を用いた遺伝的アルゴリズム(Ge)とパレート最適化(Pa)がポ イント • HotpotQA(マルチホップ質問)とIFBENCH(命令遵守)などのベンチマークで QLoRA-GRPOを超える性能と圧倒的に早い学習時間を達成
  4. パレートフロンティアの例 Grandmaster 握力 40kg BIG3 250kg Grandmaster 握力 30kg BIG3

    200kg Expert 握力 55kg BIG3 420kg Master 握力 50kg BIG3 360kg Contributor 握力 59kg BIG3 180kg Contributor 握力 30kg BIG3 120kg
  5. パレートフロンティアの例 Grandmaster 握力 40kg BIG3 250kg Grandmaster 握力 30kg BIG3

    200kg Expert 握力 55kg BIG3 420kg Master 握力 50kg BIG3 360kg Contributor 握力 59kg BIG3 180kg Contributor 握力 35kg BIG3 120kg Dominate
  6. 「反省」に基づいたプロンプト変異 • 変異対象プロンプト、メトリック、フィードバックコメントのセットを教師 LLMに提示し、プロンプトの改善案を作成させる(変異?) • フィードバックの例: “Your answer is incorrect.

    The correct answer is {correct_answer}. Here's the full step-by-step solution: {written_solution} Think about what takeaways you can learn from this solution to improve your future answers and approach to similar problems.”
  7. プロンプトの改善 … Decision rules and mappings: - 無症状: 1 only

    if explicitly stated (e.g., 「無症状」). Otherwise 0. - 微熱: - Set to 1 only if: - Text explicitly says 「微熱」, and there is no higher fever reported; or - The highest explicitly reported numeric temperature is within 37.0–37.4°C. - If any reported temperature ≥ 37.5°C is present, set 微熱 to 0 even if lower temperatures also appear. - Do NOT set 微熱=1 for temps <37.0 (e.g., 36.8). - 発熱: - Set to 1 if 「発熱」 is explicitly stated, or if the highest explicitly reported numeric temperature is ≥ 37.5°C. - Do NOT set based solely on temperatures 37.0–37.4 unless the text explicitly says 「発熱」. - 高熱: - Set to 1 if 「高熱」 is explicitly stated, or if any reported temperature is > 38.0°C, or phrasing like 「38℃台」 is used. - Note: exactly 38.0°C does NOT meet the “> 38.0” criterion unless text explicitly says 「高熱」. … General: - Treat explicit negatives (e.g., 「なし」, 「否定」, ⊖) as 0. - If an item is not mentioned, set binary=0, text="" and numeric=null as appropriate. - Remove units from numeric outputs (e.g., do not include "℃", "kg", "%", "bpm" in values). - Do not infer beyond the text; rely on explicit statements and the defined thresholds/rules above. 各項目に精密なルールを追加 全般的なルールの追加