LLMにおける記憶の課題
大規模言語モデル(LLM)は、大量のデータから学習し、様々なタスクをこなします。しかし、人間と同じように「記憶」に関する課題を抱えています。その一つが「順向干渉(PI)」です。これは、以前に学習した情報が、新しく学習する情報の記憶や検索を妨げる現象です。特に、繰り返し上書きされるような情報の場合、古い情報が積み重なるほど、目的の情報を正確に引き出すのが難しくなります。
訓練後の量子化とは
LLMをスマートフォンなどの小さな機器で動かしたり、より高速に処理したりするために、「訓練後の量子化(PTQ)」という技術が広く使われています。これは、モデルの重み(学習によって得られた数値データ)を、より少ないデータの細かさで表現し直す方法です。例えば、FP16(半精度浮動小数点数)からINT8(8ビット整数)やINT4(4ビット整数)に変換します。これにより、モデルのサイズが小さくなり、計算に必要な電力も減らせます。しかし、このデータ処理の細かさの変更が、順向干渉のようなモデルの繊細な挙動にどう影響するかは、これまで十分に調べられていませんでした。
4ビット処理で顕著な記憶力低下
私たちは、bitsandbytesという一般的なツールを使い、3つの異なる構造を持つ指示応答モデル(Qwen2.5-7B-Instruct、Mistral-7B-Instruct-v0.3、Phi-3.5-mini-instruct)で実験を行いました。それぞれのモデルに対し、FP16、INT8、INT4という3つの異なるデータ処理の細かさを適用し、順向干渉の影響を評価しました。結果は明確でした。INT4、つまり4ビットのデータ処理を適用すると、全てのモデルで高い干渉下での情報検索の正確さが著しく低下したのです。例えば、Qwenモデルでは81.0%だった正確さが68.3%まで落ち込みました。INT8、つまり8ビットのデータ処理でも、3つのモデルのうち2つで、小さいながらも明確な悪影響が見られました。
干渉の原因と仕組み
この記憶力低下は、意味的に似た単語型の妨害要素がある場合に特に顕著でした。一方、数値のような意味的な類似性が低い情報では、このような悪影響は確認されませんでした。さらに詳しい分析では、INT4のデータ処理の場合、目的の情報とは異なる、以前に上書きされた「同じキーの誤侵入エラー」が増加していることが判明しました。これは、モデルが過去の情報を適切に区別できなくなっていることを示しています。また、この悪影響は、モデルの主要な部分であるトランスフォーマーの仕組みに起因しており、出力層だけが原因ではないことも分かりました。
応用における重要な示唆
今回の研究結果は、LLMを実用化する上で非常に重要な示唆を与えます。特に、長文の文脈を扱い、その内容が頻繁に更新されるようなアプリケーションでは、4ビットのデータ処理を安易に適用すべきではありません。たとえ、一般的な性能評価指標(ベンチマーク)では大きな差が見られなくても、モデルの「記憶力」という側面では深刻な問題が生じる可能性があります。開発者は、モデルの軽量化と性能維持のバランスを慎重に検討し、特定の利用シナリオにおける影響を詳細に評価する必要があります。私の見方では、この知見は、モデルの設計や展開方法を再考するきっかけとなるでしょう。
PR
文賢 →
量子化で精度が落ちるのは当然です。問題はどの機能がどう落ちるか。今回のように記憶力が落ちるなら、長文の扱いは再設計が必要です。安易な圧縮は失敗を招きます。