ハクソク

世界を動かす技術を、日本語で。

アテンション残差

概要

  • **Attention Residuals (AttnRes)**は、Transformerの標準残差結合を置き換える新手法
  • 各層が過去の表現を入力依存のAttentionで集約することが可能
  • Block AttnResにより大規模モデルでも実用的なメモリ消費を実現
  • 全体的な性能向上と、特に多段推論・コード生成で顕著な改善
  • 学習安定性の向上や勾配分布の均一化も実現

Attention Residuals (AttnRes) 概要

  • AttnResは、Transformerの標準的な残差結合を入力依存のAttention機構で拡張する手法
  • 各層が過去すべての層の出力を重み付きで集約できる特徴
  • 従来の残差結合は全層出力を固定重みで加算するため、層が深くなるほど寄与が希薄化
  • PreNormにおける出力の発散問題や寄与の希薄化を緩和
  • 各層でsoftmax attentionにより、前層出力を選択的に集約
    • $\mathbf{h}l = \sum{i=0}^{l-1} \alpha_{i \to l} \cdot \mathbf{v}_i$
    • $\alpha_{i \to l}$は各層ごとに学習される疑似query $\mathbf{w}_l$ で計算

Block AttnRes

  • Full AttnResは全層にattentionを適用するが、**O(Ld)**のメモリコストが課題

  • Block AttnResは層をN個のブロックに分割し、各ブロック内は従来残差、ブロック間のみattentionを適用

  • 8ブロック程度でFull AttnResの大部分の恩恵を維持しつつ、実用的な計算コスト

  • PyTorch風の疑似コードで実装例を提示

    • block_attn_res関数でブロック表現間のattention集約を実装
    • forward関数で、各ブロック境界ごとに新ブロック開始・attention適用を制御

結果と評価

  • Scaling Laws:AttnResは全計算予算においてベースラインを安定して上回る
  • Block AttnResは、1.25倍の計算量で学習したベースラインと同等の損失
  • 下流タスク性能(Kimi Linear 48B / 3B, 1.4Tトークン)
    • MMLU:73.5 → 74.6
    • GPQA-Diamond:36.9 → 44.4(+7.5, 多段推論)
    • HumanEval:59.1 → 62.2(+3.1, コード生成)
    • C-Eval:79.6 → 82.5
    • 全カテゴリで一貫した性能向上を確認
  • 学習ダイナミクス
    • AttnResはPreNormの発散を抑制
    • 出力の大きさが層を通じて安定
    • 勾配ノルムも層ごとに均一化

論文・引用情報

  • arXivプレプリントarXiv:2603.15031
  • 公式実装リポジトリ:Attention Residuals (AttnRes)
  • 引用形式
    • @misc{chen2026attnres, title = {Attention Residuals}, author = {Kimi Team and Chen, Guangyu ...}, year = {2026}, archiveprefix = {arXiv}, eprint = {2603.15031}, primaryclass = {cs.CL}

まとめ

  • AttnResはTransformerの残差結合を根本的に拡張する新技術
  • 大規模化・深層化でも安定した学習と性能向上を実現
  • 実運用可能なBlock AttnResも提案し、幅広い応用が期待される

Hackerたちの意見

これ、LSTMの入力ゲートを思い出させるな。
これには二つのポイントがあると思う。1. トレーニングに必要な計算量が約20%減る。これによって、大企業が求めているますます大きくなるモデルサイズに対応できるだけじゃなくて、オートリサーチみたいなものが新しいモデルアーキテクチャをもっと早く試せるようになる。2. 推論のための帯域幅要件がめっちゃ低くなる。こういうアプローチなら、消費者向けのハードウェアでもかなり良く動くはず。従来のアプローチの1/6のメモリ帯域幅でより良い結果が得られるらしい。これが一般化できるなら、大きな改善だね。彼らは置き換え可能だと言ってるから、できそうだね。
> トレーニングに必要な計算量が約20%減る。これは違うよ。著者たちは、トレーニングに関しては、彼らの方法がAttnResに対して無視できるオーバーヘッドを追加し、メモリへの影響はないと主張しているけど、Block AttnResに関してはもっと複雑になる。大きなモデルのためにパイプライン処理を使う必要があるから、O(Ld)とO(Nd)の数値が出てくるんだよ(N ≪ L)。 > 推論のための帯域幅要件がめっちゃ低くなる。これも違う。論文はベンチマーク以外には推論とは関係ない。もし「計算の利点」に関するグラフを見ているなら、それはトレーニングの計算についてのことだよ。彼らは1.25倍の数値に到達するために補間を行っていて、基本的には「非AttnResアーキテクチャがトレーニングされた場合、AttnResと同じ損失に到達するためにはどれくらいの計算が必要か?」という質問に答えている(その答えは約20%多くの計算)。面白い主張だけど、いろんな奇妙で予期しない収束が起こる可能性があるから、あまり鵜呑みにしない方がいいよ。
> 推論のための帯域幅要件がめっちゃ低くなる。こういうアプローチなら、消費者向けのハードウェアでもかなり良く動くはず。従来のアプローチの1/6のメモリ帯域幅でより良い結果が得られるらしい。それが見出しになるべきだよ。でかい60ポイントの見出しだね。中にはリードを埋めるのが得意な博士号持ちもいるからね!
ScholarlyArticle: "Attention Residuals" (2026) https://arxiv.org/abs/2603.15031 : > 要約: PreNormを用いた残差接続は現代のLLMでは標準だけど、固定されたユニットウェイトで全ての層の出力を集約するんだ。この均一な集約は、深さに伴って制御されない隠れ状態の成長を引き起こし、各層の貢献を徐々に希薄化させる。私たちはAttention Residuals(AttnRes)を提案する。これはこの固定された集約を、前の層の出力に対するソフトマックス注意に置き換え、各層が学習された入力依存の重みで以前の表現を選択的に集約できるようにする。大規模モデルのトレーニングのために全ての前層出力に注意を払う際のメモリと通信のオーバーヘッドに対処するために、Block AttnResを導入し、層をブロックに分割し、ブロックレベルの表現に対して注意を払うことで、メモリフットプリントを削減しつつ、フルAttnResのほとんどの利点を保持する。 [...]
あー、これが1週間で2,000以上の(おそらく本物の)GitHubスターを獲得した理由がわかった!ありがとう、ちょっと懐疑的だったけど。
これが重要なポイントだよ。> フルAttnResは簡単だけど、スケールでO(Ld)のメモリが必要。Block AttnResは層をNブロックに分割し、各ブロック内で標準的な残差を使って集約し、ブロックレベルの表現に対してのみ注意を払う。約8ブロックで、フルAttnResの利点のほとんどを回復しつつ、わずかなオーバーヘッドで実用的な置き換えとして機能する。
驚くことに、最初の著者は高校生なんだって! https://nathanchen.me/public/About%20me.html
これから中国の若い天才たちがどっと出てくるよ(中国で育った)。統計的に見てもそうなる。残念ながら、インドについては同じことは言えない(インフラや食料安全保障が中国に遅れを取ってる)。
ずーっと昔、初めて手に入れた中国製のおもちゃを思い出す。それは木製の立方体パズルで、いろんな形のパーツが組み合わさって立方体になるやつだった。アメリカのハスブロやマテル、トンカなどが作ったおもちゃとは全然違った。当時、まるで古代ギリシャ人が作ったおもちゃを持っているような気分で、幾何学や解析、パターン認識を教えるパズルだった。すごく抽象的で、日常生活から離れた感じがして、別の世界に連れて行かれた。チェスのように、引き込まれる抽象性があった。でもチェスとは違って、対立ではなく、パーツ同士を関連付けてより大きな全体を作ることがテーマだった。だから、これが本当に不安にさせるんだ。中国が毎年、アメリカで雇用されているエンジニアの数よりも多くのエンジニアを輩出していることが問題なんじゃなくて、彼らが仕事を委任するのではなく、実際にやっていることなんだ。西洋の信条は誰かに仕事をさせること(パットンの言葉を借りれば、誰かに国のために死なせること)だけど、中国はロボットやAIに仕事をさせるつもりなんじゃないかって感じる。中国の工場には警備員が1人と犬が1匹しかいないっていうジョークを思い出す。警備員は犬に餌をやるためにいるんだ。
すごくクールだね!
なんでみんなの投稿が結果をうまくまとめられないのか不思議だな。頭の片隅に似たようなアイデアがあったけど、素人なりの説明をすると、標準的なアテンションは前の層の出力を次の層の入力に繋げるんだ。各層に残差接続を追加することで、層は更新ルールを学ぶ。ここには明らかな制限があって、最初の層だけが元の入力を見られて、以降の層は前の層の出力しか見れないんだ。アテンション残差を使うと、元の入力と前の層の出力のどちらを使うかを決める小さなアテンションオペレーターがあるってこと。
その通りだね。他のコメントを読んでて、なんで多くが別のことを話してるように見えるのか不思議だった。
[重複]https://news.ycombinator.com/item?id=47401111
いいアイデアだし、振り返ってみればかなり明白だね。でも、消失勾配に同じ効果があるって保証されてるのかな?もし、勾配が小さい層に重み1を置いたらどうなるんだろう?