Differential Transformerとは?ノイズを打ち消す差分アテンションで長文理解を強くする技術

Differential Transformerは、2つのsoftmax注意マップの差分で不要な文脈ノイズを打ち消す新しいTransformerです。仕組み、通常のattentionとの違い、実験結果、RAGや長文処理への使い道を日本語で整理します。

参考文献

Differential Transformer

Tianzhu Ye, Li Dong, Yuqing Xia, Yutao Sun, Yi Zhu, Gao Huang, Furu Wei

論文を見る

今回の論文

今回取り上げるのは、Tianzhu Ye、Li Dong、Yuqing Xia、Yutao Sun、Yi Zhu、Gao Huang、Furu Wei による論文「Differential Transformer」です。arXiv では 2024年10月7日に公開され、ICLR 2025 では Oral として発表されています。研究分野は、LLM アーキテクチャ、attention 改良、長文文脈処理です。URL は https://arxiv.org/abs/2410.05258 です。

この論文を選んだ理由は、Transformer の中心である attention をそのまま速くする話ではなく、attention が拾ってしまうノイズ自体を減らす 発想だからです。長文 RAG、社内文書検索、複雑な入力を扱うエージェントでは、モデルが「関係ある情報に集中できるか」がそのまま品質になります。Differential Transformer は、その根本に手を入れています。

どんな技術か

Differential Transformer は、通常の self-attention を、2つの attention map の差を取る差分アテンション に置き換えた Transformer です。

通常の Transformer は、softmax で作った 1 枚の attention 分布を使って、どのトークンをどれだけ見るかを決めます。しかし長い文脈やノイズの多い入力では、関係ない位置にも小さな attention が広く乗りやすく、必要な情報が埋もれがちです。

Differential Transformer では、query と key を 2 系統に分け、それぞれから attention map を作ります。そして片方からもう片方を引くことで、共通して現れるノイズを打ち消し、重要な場所を相対的に強く残します。イメージとしては、ノイズキャンセリングヘッドホンのように、不要な信号を差分で減らす設計です。

つまりこの技術は、Transformer を別物に置き換えるというより、attention の見え方をより選択的にする 技術だと言えます。

課題

この技術が解決しようとしているのは、Transformer が長い入力や情報量の多い入力で、重要な箇所よりも周辺ノイズに注意を配ってしまう問題です。

何が難しいのかというと、LLM は文脈が長くなるほど「見るべき場所」が増える一方で、attention はすべての候補位置に重みを配ります。そのため、答えに直接関係するトークンが少数しかないと、関係ない文や例示や周辺説明にも注意が散りやすくなります。

既存の方法でも、RoPE 拡張、長文圧縮、retrieval、sparse attention などで対処できます。ただしそれらは、文脈長を伸ばしたり、見る範囲を絞ったり、外部検索で補ったりする手法です。attention 自体がノイズを拾いやすい という問題には、直接は触れていません。

なぜこの課題を解く必要があるのかというと、実際の AI システムでは「文脈が長いだけで賢くなる」とは限らないからです。RAG で大量の文書片を入れたとき、社内ナレッジから複数候補を詰め込んだとき、あるいは few-shot 例を長く並べたとき、モデルが本当に必要な断片を拾えないと、回答品質も安定性も落ちます。

特に次のような場面では問題が表面化しやすいです。

  • 長文 RAG で、答えの根拠が大量の補足文の中に埋もれる場面
  • エージェントが長い履歴やツール結果を抱えたまま次の行動を決める場面
  • many-shot in-context learning で、正解に効く例より順序や周辺パターンに引っ張られる場面
  • 量子化後に attention の外れ値が悪さをし、性能が落ちやすい場面

Differential Transformer は、こうした問題に対して、attention の重み付けそのものをよりノイズに強くする 方向で取り組んでいます。

用語解説

Self-Attention
各トークンが文脈内のどの位置を参照するかを決める仕組みです。この記事では、Differential Transformer がまさにこの部分を差分計算に置き換える点が重要です。
Attention Noise
答えに関係ないトークンへ割り当てられる余計な attention のことです。この論文は、Transformer の弱さを「表現力不足」ではなく「注意のノイズ混入」と捉えているのが特徴です。
Softmax Attention Map
query と key の類似度から作る重み分布です。通常は 1 枚だけ作りますが、Differential Transformer では 2 枚作って差分を取ることで、共通ノイズを減らします。
In-Context Learning
追加学習せず、プロンプト内の例だけでタスクを解かせる使い方です。長いプロンプト内でどの例を参照できるかが重要なので、attention の質がそのまま性能差につながります。
Activation Outlier
一部だけ極端に大きい活性値のことです。量子化時の誤差を悪化させやすく、論文では Differential Transformer が外れ値を減らす点も報告されています。

技術の仕組み

Differential Transformer の核は、attention を 1 回計算して終えるのではなく、2 つの分布を作って差を取り、必要な情報だけを浮かび上がらせることです。

基本アイデア

通常の attention は、softmax(QK^T / sqrt(d)) で作った 1 つの分布をそのまま value に掛けます。Differential Transformer はここを、

softmax(Q1K1^T / sqrt(d)) - λ * softmax(Q2K2^T / sqrt(d))

という形に変えます。ここで λ は学習可能な係数です。直感的には、1 枚目が「見たい場所」、2 枚目が「差し引くための参照分布」として働きます。

この差分により、両方に共通して出やすい広がった注意や背景的な注意を減らし、相対的に重要な位置を目立たせます。論文はこれを differential denoising と捉えています。

モデル構造

全体のマクロ構造は大きく変わりません。デコーダ型 Transformer を前提に、各層は次の 2 つで構成されます。

  • differential attention
  • feed-forward network

さらに実装上は、LLaMA 系に近い改良として pre-RMSNorm と SwiGLU を採用しています。つまり、モデル全体をゼロから別設計にしたというより、Transformer の attention ブロックだけを差し替えた設計です。

Query と Key を2系統に分ける

Differential Transformer では、入力から query と key を作るときに、それぞれを Q1, Q2K1, K2 の 2 組へ分けます。value は 1 系統ですが、attention をかける前段で 2 枚のスコア行列を作ります。

この構成の意味は、通常の「1 回の比較」ではなく、「2 つの見方を持って差分で判定する」ことにあります。単純に head 数を増やしただけではなく、注意そのものに比較演算を持ち込んでいる点がポイントです。

λ の役割

2 枚目の attention map をどれだけ差し引くかは λ で決まります。論文では λ を単なる固定ハイパーパラメータではなく、学習可能な値として扱っています。さらに学習を安定させるために、λ を内部ベクトルから再パラメータ化し、λ_init を使って層ごとに初期値を与えます。

ここはかなり重要です。差分アテンションは、引き算が強すぎると必要情報まで消しうるため、どれだけノイズを消して、どれだけ信号を残すか のバランスが必要です。Differential Transformer は、この重み付けを学習で調整します。

マルチヘッド化と正規化

論文では multi-head differential attention を使いますが、通常の multi-head attention と同じく head ごとに別の投影行列を持ちます。一方で差分係数 λ は同一層の head 間で共有します。

また、差分アテンション後の各 head に対して独立に RMSNorm をかけ、さらに (1 - λ_init) を掛けて勾配の流れを通常 Transformer に近づけています。これは見た目以上に実務的で、論文でも既存 Transformer に近いハイパーパラメータで安定学習しやすいことを狙っています。

FlashAttention を再利用できる

差分アテンションというと、特別なカーネル実装が必要そうに見えますが、論文では FlashAttention を再利用できると説明しています。これは導入面で大きく、理論的におもしろいだけでなく、既存の高効率 attention 実装の上に載せやすい ことを意味します。

そのため、もし今後類似アーキテクチャが一般化するとしても、完全な研究用アイデアに留まらず、実運用系のモデル実装へ接続しやすい余地があります。

何が通常の Transformer と違うのか

通常の Transformer は、「各位置への重みを 1 枚の softmax で決める」設計です。Differential Transformer は、「2 枚の softmax を作って、その差でノイズを打ち消す」設計です。

この違いは、長文やノイズの多い文脈で効いてきます。通常の attention では弱いノイズが広く残りやすいのに対し、Differential Transformer は差分によって分布をより疎にしやすく、重要箇所へ集中的に注意を置きやすいと考えられます。

実験と結果

論文では、Differential Transformer を単なるアイデア紹介で終わらせず、言語モデリング、スケーリング、長文評価、検索、in-context learning、幻覚抑制、量子化耐性まで幅広く検証しています。

何を検証したのか

主な検証ポイントは次の通りです。

  • 通常の Transformer より language modeling 性能が高いか
  • 同等性能に必要なパラメータ数や学習トークン数を減らせるか
  • 長文文脈や key information retrieval に強いか
  • in-context learning の精度と順序ロバスト性が上がるか
  • attention activation の外れ値が減り、量子化に有利か

どんなデータセットや評価指標を使ったのか

論文では、3B 規模モデルの下流評価として ARC-C、ARC-E、BoolQ、HellaSwag、OBQA、PIQA、WinoGrande などの LM Eval Harness 系ベンチマークを使っています。加えて、長文評価では book データ上の cumulative average negative log-likelihood、key information retrieval では needle-in-a-haystack 型の正答率、in-context learning では classification accuracy、量子化では HellaSwag 精度などを見ています。

つまり、単なる perplexity 比較ではなく、長文で必要情報を拾えるか、few-shot 例を使えるか、量子化しても壊れにくいか まで見ているのがこの論文の特徴です。

3B モデルでも既存 Transformer 系より強い

1T トークン学習の 3B モデル比較では、Diff-3B は平均 60.6 を記録し、比較対象の OpenLLaMA-3B-v2 の 57.5、StableLM-base-alpha-3B-v2 の 56.8 を上回っています。論文内の同条件比較でも、Transformer ベースの 3B モデルより広く優位です。

この結果が示すのは、差分アテンションが単なる長文専用のトリックではなく、基礎的な言語モデリング性能そのものにも効いている ということです。

同等性能に必要なモデル規模と学習量を圧縮

スケーリング実験では、Diff Transformer は通常 Transformer と同等の損失に達するために、必要なモデルサイズや学習トークン数を大きく減らせると報告されています。論文のフィット結果では、6.8B の Diff Transformer が 11B の Transformer に近い validation loss を示し、必要パラメータは約 62.2% でした。学習トークンでも、160B トークンの Diff Transformer が 251B トークン学習の Transformer に近い性能で、必要量は約 63.7% でした。

論文全体では「おおむね 65% 前後のサイズや学習量で同等性能に届く」と要約されています。これは、アテンションの質を上げることで、単純なスケール依存を少し崩せる ことを示しています。

長文文脈を伸ばしたときに効きやすい

長文評価では、64K まで長さを拡張した設定で、book データ上の cumulative average negative log-likelihood を比較しています。論文では、文脈が長くなるほど Diff Transformer のほうが長いコンテキストをより有効に活用できる傾向が示されています。

ここで重要なのは、「長さを入れられる」ことと「長さを使いこなせる」ことは違う、という点です。Differential Transformer は後者、つまり長い文脈から必要情報を拾う能力に寄与していると読めます。

Key Information Retrieval で大幅改善

needle-in-a-haystack 型の key information retrieval では、答えを長文の異なる深さに埋め込んで正答率を測っています。論文では、64K 文脈の 25% 深さに needle を置いた条件で、Diff Transformer が通常 Transformer より 76% の精度改善を示したと報告されています。

また attention score の分析では、答えスパンへの正規化 attention が Transformer の 0.03〜0.09 に対し Diff Transformer では 0.27〜0.40、逆にノイズ文脈への attention は Transformer の 0.49〜0.54 に対し Diff Transformer では 0.01〜0.02 でした。これはかなり象徴的で、論文の主張である「ノイズを打ち消して重要情報へ寄せる」が、そのまま数値で見えています。

In-Context Learning の精度と順序ロバスト性も向上

many-shot classification では、デモ例を増やして最大 64K トークン近くまで伸ばしたとき、4 つのデータセットで Diff Transformer が Transformer を上回っています。特に論文の図では、TREC で +4.3、SST-2 で +1.9、Banking-77 で +10.4、Clinic-150 で +5.2 の改善が示されています。

さらに順序ロバスト性の評価では、同じ例を並べ替えたときの精度ぶれが小さく、Transformer より安定していました。これは実務上かなり重要です。few-shot プロンプトは、内容だけでなく並び順でも結果がぶれがちですが、Differential Transformer は例の本質を拾いやすく、周辺配置に振られにくい ことを示しています。

外れ値が減り、量子化にも有利

論文では activation outlier も調べており、Diff Transformer のほうが attention logits や hidden states の上位値が小さく、外れ値が少ないと報告しています。その結果、attention logits を 16bit から 8bit、6bit、4bit へ落とした量子化実験でも、Diff Transformer のほうが性能劣化が緩やかでした。

これは、将来的に推論コストを下げたい現場にとって見逃せません。アーキテクチャ改善が、単に精度だけでなく量子化耐性という実装面の扱いやすさにもつながる可能性があるからです。

何に使える?

Differential Transformer は、ただ新しい LLM を作る研究の話に見えて、実際には長文・検索・量子化といった実装課題にかなり近い位置にあります。

長文 RAG のベースモデル改善

長文 RAG では、文書を多く入れるほど正解率が上がるとは限りません。むしろノイズが増えて重要箇所を見失うことがあります。Differential Transformer のように attention noise を抑える設計は、検索で取ってきた複数チャンクから答えを組み立てる場面に向いています。

特に、再ランキングで取り切れず、やや広めに文脈を載せる設計では相性がよさそうです。これは論文の直接評価ではありませんが、key information retrieval の結果を見ると、根拠が埋もれやすい RAG に応用しやすいと考えられます。

長い履歴を持つ AI エージェント

エージェントは、会話履歴、ツール出力、メモリ、計画文などをまとめて抱えるため、コンテキストが汚れやすいです。Differential Transformer の発想は、そうした長い履歴の中で「次の行動判断に効く情報」に注意を寄せる方向に効きます。

特に、ツール結果が多くて本筋が埋もれる業務エージェントでは、文脈管理だけでなく、モデル側の注意機構をノイズに強くする 価値があります。

many-shot プロンプティングを多用する業務ツール

分類、抽出、問い合わせ振り分けのような業務ツールでは、プロンプト内に大量の例を入れて精度を上げることがあります。Differential Transformer は in-context learning の精度向上と順序ロバスト性を示しているため、例示ベースの運用と相性がよいです。

few-shot の並び順や記述の癖で結果がぶれるケースを減らせるなら、プロンプト設計の保守コストも下げやすくなります。

量子化前提の推論基盤

実務では、最終的に 8bit や 4bit 量子化を使いたい場面が多くあります。論文が示すように activation outlier が少ないなら、Differential Transformer 系の設計は量子化後の性能維持に有利な可能性があります。

これは今すぐ既製モデルへ差し込める話ではありませんが、将来の内製モデル設計で量子化しやすさまで見据える なら重要な示唆です。

開発や事業へのヒント

この論文から得られる一番大きなヒントは、長文対応を「コンテキスト長を増やす」「検索を足す」だけで考えないことです。モデルが文脈のどこを見るかの質 も、プロダクト品質に直結します。

文脈ノイズはアプリ層だけでは消し切れない

RAG やエージェントを作っていると、チャンク分割、再ランキング、圧縮、要約でノイズを減らそうとします。もちろん重要ですが、それでもモデル内部では広い attention が残ります。Differential Transformer は、アプリ層で取り切れないノイズ問題を、モデル層で扱う方向を示しています。

「より大きいモデル」以外の改善余地がある

精度が足りないと、ついモデルサイズや学習量を増やしたくなります。しかしこの論文では、attention の設計を変えることで、同等性能に必要なサイズや学習量を下げられる可能性を示しました。これは、プロダクト開発においても、設計改善でスケール依存を減らせる ことを意味します。

小規模チームでも活かせる考え方

すぐに Differential Transformer を自前学習するのは重いとしても、「重要情報とノイズを差分で見る」発想自体は活かせます。たとえば retrieval 結果を 2 系統で作って差分比較する、候補根拠と背景文を別経路で評価する、ツール結果を重要度ごとに分けて入力する、といった設計は小規模プロダクトでも試せます。

ここは論文そのものの実装ではありませんが、注意を増やすのでなく、不要な注意を減らす という考え方は、アプリ設計にも移しやすいです。

今後注目すべき方向性

今後は、長文 LLM の改善が「長さを持てるか」から「ノイズにどれだけ強いか」へ寄っていく可能性があります。これは推測を含みますが、RAG、agent、tool use のどれも、入力が増えるほど不要情報に引っ張られるためです。

その意味で Differential Transformer は、単なる attention 変種というより、高密度な文脈を扱う次世代 LLM の設計軸 として見ておく価値があります。

限界

Differential Transformer にも明確な注意点があります。

まず、この論文は有望ですが、標準 Transformer を完全に置き換えるほど実運用で一般化したとはまだ言えません。学習済みモデルの選択肢、推論ライブラリの成熟度、最適化ノウハウは、通常 Transformer 系のほうがまだ厚いです。

次に、差分アテンションは設計上 Q1/Q2K1/K2 を持ち、λ の学習や head ごとの正規化も含むため、attention ブロックがやや複雑になります。論文では計算量を揃える工夫をしていますが、実装の単純さという意味では標準 attention より重いです。

また、論文は強い結果を示していますが、対象は主に言語モデリングと長文処理です。すべてのドメイン、すべてのマルチモーダル設定、すべての既存事前学習レシピで同じ効果が出るとはまだ限りません。

さらに、既存の大規模な事前学習済み Transformer に対して、後付けで簡単に差分アテンションへ変換できるわけではありません。多くの場合は、最初からその設計で学習する必要があります。導入コストは低くありません。

実運用では、RAG やプロンプト改善だけで十分なケースもあります。そのため、Differential Transformer は「すべての長文問題の即効薬」ではなく、モデルアーキテクチャから改善したいときの強い候補 と考えるのが現実的です。

よくある質問

Q. Differential Transformer は普通の Transformer より常に高性能なのですか?

A. 論文では広い条件で優位ですが、常に絶対優位とまでは言えません。特に実運用では、学習データ、実装品質、推論カーネル、量子化方式などの影響も大きいです。ただし、長文やノイズの多い文脈では強みが出やすいと読めます。

Q. RAG を使っていれば Differential Transformer は不要ですか?

A. 不要とは言えません。RAG は関連文書を持ってくる仕組みですが、モデルがその中のどこを見るかは別問題です。Differential Transformer は、その後段で重要情報へ注意を寄せやすくする設計なので、RAG と競合するより補完関係にあります。

Q. 既存の LLaMA 系モデルに後付けできますか?

A. 簡単ではありません。attention 機構そのものが違うため、通常はアーキテクチャ段階から Differential Transformer として学習する必要があります。既存重みへ軽微なパッチで済む類の手法ではありません。

Q. 長文で強いなら、コンテキスト長拡張手法の代わりになりますか?

A. 代わりというより補完です。長さを持てるようにする手法と、長い文脈をうまく使う手法は別です。Differential Transformer は後者に効くので、長文拡張と組み合わせる価値があります。

Q. 開発現場で今すぐ活かせる学びはありますか?

A. あります。特に「関連情報を増やす」より「無関係な情報を減らす」ほうが効く場面が多い、という視点はすぐ活かせます。RAG の文脈整理、プロンプト設計、ツール出力の整形などでも同じ発想が使えます。

今日の学び

この論文は、Transformer が長文やノイズの多い文脈で、重要情報より irrelevant context に attention を配ってしまう課題を扱いました。そこに対して、2 つの softmax attention map の差分でノイズを打ち消す Differential Transformer という設計で解こうとしました。

得られるヒントは明確です。AI システムの性能は、文脈をどれだけ増やせるかだけでなく、その中から何を無視できるか に強く依存します。長文 RAG、AI エージェント、量子化前提の内製モデルを考えるなら、attention のノイズ耐性は今後かなり重要な論点です。

関連記事

推論最適化

Native Sparse Attentionとは?長文LLMを高速化しながら精度も落としにくい学習可能スパース注意

Native Sparse Attentionは、圧縮・選択・局所窓の3経路で長文コンテキストを効率よく扱うスパースattentionです。仕組み、従来法との違い、実験結果、RAGや長文エージェントへの使い道を日本語で整理します。

参照論文:Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention

LLM・基盤モデル

Dual Chunk Attentionとは?追加学習なしでLLMの長文処理を伸ばす長コンテキスト技術

Dual Chunk Attention(DCA)は、追加学習なしでLLMのコンテキスト長を大きく伸ばすための長文処理技術です。RoPEの限界をどう回避するのか、3種類のチャンク注意の仕組み、実験結果、RAGや長文QAへの使い道まで日本語で整理します。

参照論文:Training-Free Long-Context Scaling of Large Language Models

推論最適化

RAPIDとは?長文LLM推論をRAGとSpeculative Decodingで高速化する技術

RAPIDは、長文コンテキストLLMの推論をRAGベースのドラフト生成と推論時知識転移で高速化しつつ、応答品質まで引き上げる手法です。長文推論がなぜ遅いのか、どこでRAGが効くのか、実装の勘所まで技術的に解説します。

参照論文:RAPID: Long-Context Inference with Retrieval-Augmented Speculative Decoding