Allen AI(AI2)が2020年に発表した、ローカルアテンションとタスク依存のグローバルアテンションを組み合わせたスパースTransformerモデル。最大4,096トークンの入力を線形計算量O(n)で処理し、長文書分類・質問応答で高い精度を達成する。
PC構成ビルダーで最適なパーツを選択
Longformerは、Allen Institute for AI(AI2)が2020年の論文「Longformer: The Long-Document Transformer」で発表した、長文書処理に特化したTransformerモデルである。標準的なTransformerのFull Attention(O(n²))をローカルアテンションとグローバルアテンションの組み合わせによりO(n)に削減し、最大4,096トークンの入力を効率的に処理する。
Longformerのアテンション機構は、2種類のパターンで構成される。
各トークンが左右w/2個ずつ(合計w個、デフォルトw=512)の隣接トークンに注意を向ける。多層Transformerでは、レイヤLを通過すると各トークンの受容野がL×w個に拡大する。12層モデルの場合、受容野は12×512=6,144トークンに到達し、入力長4,096トークンを十分にカバーできる。
タスクに応じた特定の位置にグローバルアテンションを付与する。グローバルトークンは全トークンに双方向で注意を向け、情報のハブとして機能する。
| タスク | グローバルトークン位置 | 理由 |
|---|---|---|
| 分類 | [CLS]トークン | 文書全体の表現を集約 |
| 質問応答 | 質問トークン全体 | 質問と文書の対応関係を捕捉 |
| 要約 | [CLS] + セクション先頭 | 文書構造の把握 |
| NER | なし(ローカルのみ) | 局所的な文脈で十分 |
BigBirdとの最大の違いは、ランダムアテンションを使用しない点と、グローバルアテンションがタスク依存で設定される点である。
| モデル | ベース | パラメータ | 最大長 | ウィンドウ幅 | VRAM目安 |
|---|---|---|---|---|---|
| longformer-base-4096 | RoBERTa-base | 149M | 4,096 | 512 | 約2.5GB |
| longformer-large-4096 | RoBERTa-large | 435M | 4,096 | 512 | 約6GB |
| longformer-base-4096-extra.pos.embd.only | RoBERTa-base | 149M | 4,096 | 512 | 約2.5GB |
| led-base-16384 | BART-base | 162M | 16,384 | 1,024 | 約4GB |
| led-large-16384 | BART-large | 460M | 16,384 | 1,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')
| タスク | Longformer | RoBERTa (512) | BigBird | 評価指標 |
|---|---|---|---|---|
| IMDB | 95.7 | 95.3 | 95.2 | Accuracy |
| Hyperpartisan | 94.8 | 87.4 | 92.2 | F1 |
| 20News | 72.0 | 71.1 | 71.8 | Accuracy |
| TriviaQA | 77.8 | 74.1 | 79.3 | F1 |
| WikiHop | 75.0 | 72.4 |
Longformerは分類タスクで特に強く、Hyperpartisan News DetectionではRoBERTa比+7.4ポイントの大幅改善を示している。
2025-2026年のLLMは、Longformerの設計を発展させつつも異なるアプローチを採用している:
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)でも数秒以内に処理可能。
| 67.3 |
| Accuracy |
| arXiv要約 | 45.5 | N/A | 46.6 | ROUGE-L |