AI・機械学習
上級

Longformer(ロングフォーマー)

Allen AI(AI2)が2020年に発表した、ローカルアテンションとタスク依存のグローバルアテンションを組み合わせたスパースTransformerモデル。最大4,096トークンの入力を線形計算量O(n)で処理し、長文書分類・質問応答で高い精度を達成する。

0 回閲覧
0 いいね

Longformerとは

Longformerは、Allen Institute for AI(AI2)が2020年の論文「Longformer: The Long-Document Transformer」で発表した、長文書処理に特化したTransformerモデルである。標準的なTransformerのFull Attention(O(n²))をローカルアテンションとグローバルアテンションの組み合わせによりO(n)に削減し、最大4,096トークンの入力を効率的に処理する。

アテンション機構の設計

Longformerのアテンション機構は、2種類のパターンで構成される。

ローカルアテンション(Sliding Window Attention)

各トークンが左右w/2個ずつ(合計w個、デフォルトw=512)の隣接トークンに注意を向ける。多層Transformerでは、レイヤLを通過すると各トークンの受容野がL×w個に拡大する。12層モデルの場合、受容野は12×512=6,144トークンに到達し、入力長4,096トークンを十分にカバーできる。

グローバルアテンション(Task-Motivated Global Attention)

タスクに応じた特定の位置にグローバルアテンションを付与する。グローバルトークンは全トークンに双方向で注意を向け、情報のハブとして機能する。

タスクグローバルトークン位置理由
分類[CLS]トークン文書全体の表現を集約
質問応答質問トークン全体質問と文書の対応関係を捕捉
要約[CLS] + セクション先頭文書構造の把握
NERなし(ローカルのみ)局所的な文脈で十分

BigBirdとの最大の違いは、ランダムアテンションを使用しない点と、グローバルアテンションがタスク依存で設定される点である。

モデルバリアント

モデルベースパラメータ最大長ウィンドウ幅VRAM目安
longformer-base-4096RoBERTa-base149M4,096512約2.5GB
longformer-large-4096RoBERTa-large435M4,096512約6GB
longformer-base-4096-extra.pos.embd.onlyRoBERTa-base149M4,096512約2.5GB
led-base-16384BART-base162M16,3841,024約4GB
led-large-16384BART-large460M16,3841,024約8GB

LED(Longformer Encoder-Decoder)はBARTアーキテクチャにLongformerアテンションを適用したSeq2Seqモデルで、要約タスク向けに設計されている。入力側は最大16,384トークン。

実装の特徴

Longformerのカスタムアテンションは、TVM(Tensor Virtual Machine)でコンパイルされたCUDAカーネルとして実装されている。これによりGPU上での効率的な実行が可能だが、FlashAttentionに比べると実装の最適化度は劣る。

Hugging Face Transformersでの利用例:

from transformers import LongformerModel, LongformerTokenizer
model = LongformerModel.from_pretrained('allenai/longformer-base-4096')
tokenizer = LongformerTokenizer.from_pretrained('allenai/longformer-base-4096')

ベンチマーク性能

タスクLongformerRoBERTa (512)BigBird評価指標
IMDB95.795.395.2Accuracy
Hyperpartisan94.887.492.2F1
20News72.071.171.8Accuracy
TriviaQA77.874.179.3F1
WikiHop75.072.467.3Accuracy
arXiv要約45.5N/A46.6ROUGE-L

Longformerは分類タスクで特に強く、Hyperpartisan News DetectionではRoBERTa比+7.4ポイントの大幅改善を示している。

Longformer vs 現代のロングコンテキストモデル

2025-2026年のLLMは、Longformerの設計を発展させつつも異なるアプローチを採用している:

  • Mistral 7B/8x7B: Sliding Window Attention(w=4096)をFlashAttention上で実装。Longformerのローカルアテンション部分のみを高速に実行
  • GPT-4o: 推定Multi-Head Attention + 内部スパース最適化。128Kコンテキスト
  • Jamba: Mamba(SSM)+ Transformerアテンションのハイブリッド。Longformerとは異なるアプローチで長文処理を効率化
  • Gemini 2.5 Pro: Ring Attentionで1Mトークン対応。分散環境向けの別アプローチ

よくある質問(FAQ)

Q1: LongformerとLEDの使い分けは? A: Longformerはエンコーダのみのモデルで分類・質問応答向け。LED(Longformer Encoder-Decoder)はBARTベースのSeq2Seqモデルで要約・生成向け。テキスト分類や情報検索にはLongformer、長文要約にはLEDを選択する。

Q2: Longformerのウィンドウ幅は変更できるか? A: 可能だが再学習が必要。事前学習済みモデルのウィンドウ幅はw=512で固定されており、変更すると位置エンベディングとの整合性が崩れる。ファインチューニング時にウィンドウ幅を調整するアプローチが一般的。

Q3: 自作PCでLongformerを動かすには? A: longformer-base-4096はRTX 3060(12GB VRAM、約4万円)で十分動作する。led-large-16384はRTX 4060 Ti(16GB VRAM、約7万円)を推奨。推論のみならCPU(Core i5以上、32GB RAM)でも数秒以内に処理可能。

まとめ

  • Longformerはローカル(Sliding Window)+タスク依存グローバルアテンションでO(n)を実現
  • Allen AI発の長文書処理モデルで、分類・質問応答に強い
  • LEDバリアントで要約・生成タスクにも対応(最大16,384トークン入力)
  • 現代LLMのSliding Window Attentionの直接の祖先
  • RTX 3060以上で動作可能、Hugging Faceで簡単に利用開始可能