AI・機械学習
上級

LM-Infinite(エルエムインフィニット)

ACL 2024採択の長文コンテキスト対応手法。Λ字型(ラムダシェイプド)アテンション制約によりO(1)メモリで任意長シーケンスを処理。ファインチューニング不要。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
長文コンテキスト
アテンション
メモリ効率
推論最適化
ACL2024

LM-Infinite

LM-Infinite(Language Model with Infinite Context)は、LLMが学習時に見たコンテキスト長を推論時に大幅に超えても安定して動作するための手法で、2023年末に発表されACL 2024に採択された研究成果。既存モデルへのファインチューニングや重み変更なしに適用できる点が特徴。

コアアイデア:Λ字型アテンション

LM-Infiniteの核心は、アテンション計算を全トークン対全トークンから特定のパターンに制限する「Λ字型(Lambda-shaped)アテンション」マスクにある。

保持するトークン:

  1. Global tokens(グローバルトークン): シーケンス冒頭の固定数のトークン(デフォルト約50-200)

    • 入力の全体的なコンテキスト・指示・ドキュメントヘッダ等を含む
    • どのトークンからでも常にアテンション可能
  2. Local tokens(ローカルトークン): 現在位置から直前のウィンドウ内のトークン(デフォルト数百〜数千)

    • 直近の文脈・局所的な文法構造を処理
    • スライディングウィンドウとして動的に移動

削除するトークン: グローバル領域とローカルウィンドウの間の中間トークン(距離的に遠く、冒頭でもない部分)はアテンション計算から除外。

実装の概要

# LM-Infinite アテンションマスク生成
def lambda_shaped_mask(seq_len, global_n=100, local_n=2048):
    mask = torch.zeros(seq_len, seq_len, dtype=torch.bool)
    for i in range(seq_len):
        # グローバルトークン(冒頭)
        mask[i, :global_n] = True
        # ローカルウィンドウ(直近)
        start = max(global_n, i - local_n + 1)
        mask[i, start:i+1] = True
    return mask

なぜ冒頭トークンが重要か

LM-Infiniteの分析で明らかになった重要な発見として、LLMのアテンション機構は「アテンションシンク(Attention Sink)」と呼ばれる現象を示す。冒頭の数トークン(特に最初のトークン)は全アテンションヘッドにわたって異常に高いアテンション値を受け取る傾向があり、モデルの計算安定性に寄与していると考えられる。StreamingLLMも同様の発見を独立して報告している。

StreamingLLMとの違い

特性LM-InfiniteStreamingLLM
発表ACL 2024ICLR 2024
コンテキスト範囲全長対応(中間スキップ)ストリーム型(古い履歴破棄)
全コンテキスト保持不可(中間切り捨て)不可(ローリング)
テキスト圧縮なしなし

性能と評価

学習コンテキスト長をはるかに超えた入力でも、標準的なRoPEモデルが発散するような入力長でperplexityを安定して維持することが論文で示されている。ただし中間部分のトークンが捨てられるため、文書中盤の詳細情報を参照するタスクでは性能限界がある。

利用シナリオ

  • 長期チャット: 会話が長くなっても最初のシステムプロンプトと直近の発言を保持
  • ストリーミング文書処理: リアルタイムで届くドキュメントの要約・分類
  • コード補完: 大規模コードベースの読み込みと継続的なコーディング支援
  • ニュース解析: 継続的に更新されるニュースフィードのリアルタイム解析

LM-Infiniteは理論的に無制限のコンテキスト処理を可能にしつつ、O(1)メモリ(ローカルウィンドウサイズに対して定数)で動作する実践的かつ理論的に整備されたアプローチとして注目されている。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/7