🙌

【LLM】Long Context + Short Instruction (LCSI) との格闘記:評価・データ・アーキテクチャの急所

に公開

(以下、日本語訳)
※ 現在、来日を目指して日本語を猛勉強中(N4レベル)です。
この記事は、私の英語の技術メモを Grok を使って日本語に翻訳・推敲したものです。
もし不自然な表現があれば、それはAIのせいです(haha)。
技術的な内容についてのディスカッションは大好きですので、英語でのコメントも大歓迎です!

はじめに:なぜ「長く読める」≠「仕事ができる」のか?

ここ最近、私は LCSI (Long Context Short Instruction) の最適化に没頭していました。
具体的には、数万字に及ぶ決算資料や法的文書、コードベースをLLMに投げ込み、たった一言「この契約書の矛盾点を挙げて」と指示するようなシナリオです。

このタスクにおける最大の壁は、「情報の埋没(Signal Drowning)」 でした。

以前は Context Window を128kや1Mに拡張すれば万事解決だと思っていましたが、実際はそう甘くありません。入力が10万トークンを超えると、わずか300トークン程度の Instruction(指示)は、大海の一滴のように埋もれてしまいます。
その結果、モデルは「注意力の希釈」を起こし、最悪の場合は幻覚(Hallucination)を引き起こします。これはVRAM容量の問題ではなく、「大量のノイズの中で、いかに指令(初志)を貫徹させるか」 というモデルの根源的な能力の問題です。

本記事では、この課題に対する評価、データ構築、アーキテクチャの観点からの実践的な知見(と失敗談)を共有します。


1. 評価の落とし穴:ハイスコアに騙されるな

評価フェーズでは多くの失敗をしました。以下の教訓は、血と汗の結晶です。

  • PPL (Perplexity) は参考程度に:
    PPLが低くても、それは「流暢に読めている」だけで「理解している」わけではありません。論理的推論(Reasoning)タスクでは全く役に立たないことが多々ありました。
  • "Needle In A Haystack (NIAH)" はもう古い:
    Llama 3やQwen 2.5のような現行モデルは、標準的な単一情報の検索(Single-needle)ではほぼ満点を取ります。これは「虚栄の繁栄」です。
  • 真のテストは "RULER" と "Multi-needle Retrieval":
    真に差が出るのは「すべての答えを見つけ出す」能力です。「文書内のリスクを全て列挙せよ」と問うた時、ダメなモデルは最初の1つを見つけて満足(Lazy Mode)しますが、優秀なモデルは長距離の文脈保持に耐え、10個のリスクを全て拾い上げます。現在はこれを主要な受け入れ基準にしています。
  • "Lost in the Middle" への警戒:
    重要な証拠がプロンプトの「中間(50%の位置)」にあると、精度が激減する現象です。特に契約書レビューのような法的シナリオでは致命的です。

2. データ戦略:合成データが鍵、だが短文も捨てるな

SFT(Supervised Fine-Tuning)のデータ構築戦略も、大きな転換を迫られました。

以前の誤解

「Long Contextなのだから、人間を使って数万字の長文Q&Aを作るべきだ」と考えていました。しかし、これはコストが高く、品質管理も困難でした。

現在の勝ちパターン

  1. 合成データ(Synthetic Data)が主役:
    GPT-4o等の強力なモデルを使い、短い指令から複雑な長文タスクを生成します。特に**「逆生成(Reverse Generation)」**アプローチ——中間にある特定のテキストセグメントに依存しないと回答できない問題を逆算して作る——が、Lost in the Middle対策に効きました。
  2. Short Dataを絶対に混ぜる(重要!):
    これは痛い教訓でした。長文データのみで微調整した結果、モデルが「馬鹿」になり、単純な数学や論理問題を解けなくなりました(Catastrophic Forgetting)。現在は、高品質な短文指令データを**40-50%**強制的に混ぜています。これによりIQ(ベース能力)を維持しつつ、長文耐性を獲得できました。
  3. データ配合:
    短文指令(ベースライン維持)+ 合成長文Q&A(攻略用)+ コードデータ(20%程度、長距離依存性の学習に最適)。

3. アーキテクチャとエンジニアリング:物理限界との戦い

インフラ・モデル構造レベルでの最適化です。

  • RoPEの調整 (ABF):
    標準のPosition Encodingでは100k+に対応しきれません。ABF (Adaptive Base Frequency) を導入し、回転角を動的に調整することで、長距離の位置認識能力が劇的に改善しました。
  • Ring Attentionは必須:
    1Mコンテキストを限られたGPUリソースで回すには、Ring Attentionによる分散推論が避けて通れません。VRAMの壁を突破するための必須技術です。
  • ハイブリッド構造 (Mamba) への注目:
    Full Attentionは精度最強ですが、推論コストが重すぎます。最近は「Mambaで大量の背景情報を処理し、Attentionで重要な指令を抓む」というハイブリッド構成に注目しています。コスパ的に次世代の主流になる予感があります。

4. 明日から使えるTipsと今後の展望

最後に、エンジニアリング現場ですぐ使えるアドバイスを2つ。

  1. プロンプトにおける「サンドイッチ法」:
    モデルには「首尾効果(Primacy/Recency Effect)」があります。ユーザーの指令をプロンプトの冒頭に置き、数万字のドキュメントが終わった末尾でもう一度「要するに何をすべきか」を繰り返す。このシンプルな工夫で、指令追従能力が体感10%以上向上しました。
  2. Chunked Prefill (分塊プリフィル):
    本番環境ではこの機能を必ずONにすべきです。これがないとTTFT(Time To First Token)が遅すぎて、ユーザー体験が壊滅します。

まとめ

LCSI(Long Context Short Instruction)の戦いは、単に「窓を大きくする」ことから、「窓の中身を精緻に制御する」フェーズに入りました。
次はRAGとLong Contextのより深い融合——単に読むだけでなく、専門家のように大量の資料を縦横無尽に参照するエージェント——を目指して検証を続けます。

Discussion