技術
約2分で読めます
Attention SinksとResidual Sinksの統一的理解 ― LLMの「外れ値」は訓練安定化の仕組みだった
LLMを使っていると「なぜか文頭のトークンに注意が集中する」という現象を耳にすることがある。Attention sinksと呼ばれるこの挙動、ずっと謎だったのだが、最近の論文でその正体が明らかになった。
論文概要
この論文は、Transformerに現れる2つの「外れ値(outlier)」現象を統一的に説明している。
Attention Sinksとは
Transformerの注意機構で、特定のトークン(主に文頭)が異常に大きな注意重みを受け取る現象。
実際には、そのトークンの情報が重要というわけではない。にもかかわらず、多くのモデルで一貫してこの挙動が観察される。
Residual Sinksとは
Transformerの残差接続において、特定の次元で極端に大きな活性化値が持続する現象。
こちらも、その次元が特別な意味を持っているわけではないのに、なぜか大きな値が維持される。
統一的理解: Outlier駆動型の再スケーリング
論文の主張はシンプルだ。
両方の現象は「正規化処理と協調して、他の成分を再スケールする」という同じ役割を果たしている。
- Attention sinksは、softmaxと協調して他のトークンへの注意配分を調整
- Residual sinksは、RMSNormと協調して他の次元の値を調整
つまり、これらの外れ値は「ゴミ箱」ではなく、訓練を安定させるための暗黙的な調整機構だった。
実用的な成果
この理解に基づいて、論文では改善手法も提案している。
- 外れ値を学習可能なパラメータに吸収させる
- ゲート付き再スケーリングで明示的に制御
結果として:
- 平均2ポイントの性能向上
- 量子化時のロバスト性改善(INT8等で精度が落ちにくくなる)
使う側には関係ないが
正直なところ、この知見を「LLMを使う側」が直接活用する方法はほぼない。APIを叩くだけなら完全に無関係だし、ローカルで動かす場合も既存モデルをそのまま使うなら同じこと。
ただ、「なぜ量子化モデルで精度が落ちるのか」の理解には役立つ。外れ値が量子化で潰れると、この再スケーリング機構が壊れるわけだ。対処法は「より大きいモデルを使う」か「量子化ビット数を上げる」くらいしかないのだが。
LLMの中で何が起きているのか、その一端を垣間見れる論文として面白かった。