コンテキストウィンドウ
モデルが一度に見られるトークン数の上限。
何が制約しているのか#
| 要因 | 内容 |
|---|---|
| Attention の計算量 | |
| KV キャッシュ | に比例したメモリ |
| 位置埋め込み | 訓練長を超えると外挿が必要 |
| 訓練データ | 長い文書が相対的に少ない |
長くしても使い切れない#
Liu らは、長い文脈の中盤にある情報が見落とされやすいことを示した (lost in the middle)。
性能は文書中の位置に対して U 字型になる。 先頭と末尾の情報はよく使われるが、中盤が弱い。
「コンテキスト長 100 万トークン」は、 100 万トークンすべてを等しく活用できることを意味しない。
拡張の方法#
| 方法 | 内容 |
|---|---|
| 位置補間 | RoPE の周波数を調整して長さを伸ばす |
| 効率的な Attention | FlashAttention、疎な Attention |
| RAG | 必要な部分だけ取ってきて文脈に入れる |
長文脈と RAG は競合ではなく補完的。 文脈が長くても、関連する情報だけを入れた方が精度も速度も良いことが多い。
参考文献#
- Nelson F. Liu et al. Lost in the Middle: How Language Models Use Long Contexts. TACL 12, 2024. https://doi.org/10.1162/tacl_a_00638
- Tri Dao et al. FlashAttention. NeurIPS, 2022. https://arxiv.org/abs/2205.14135