No Subspace to Track: Non-Identifiability and Optimizer State in Low-Rank Training
本論文は、GaLoreのようなメモリ効率の高いオプティマイザによって追跡可能であると想定されている低ランク勾配部分空間が、高い推定ノイズのために根本的に識別不可能であることを示し、性能の向上は部分空間の安定性からではなく、部分空間のリフレッシュを跨いでオプティマイザの状態を正しく輸送することに由来することを明らかにしている。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
本質的なアイデア:幽霊を追いかける
巨大なロボット(大規模言語モデル)に言葉を教えようとしている場面を想像してください。これを効率的に行うために、ロボットはGaLoreと呼ばれる特別なトリックを使います。
このトリックは次のような仕組みです。数分おきに、ロボットは直前に犯した「間違い」(勾配)を確認し、その間違いが発生している上位128個の方向を見つけ出そうとします。そして、それ以外のすべてを無視し、その128個の方向にのみ学習を進めます。ここでの前提は、これら128個の方向は「ゆっくりと動く川」のようなものであり、少しずつ漂いながらも、基本的には同じ場所に留まり続けるため、ロボットがそれらを「追跡(トラック)」できるというものです。
この論文の主要な発見は衝撃的です: その川はゆっくりと流れているのではありません。そもそも川ですらありません。それは、見るたびに形を完全に変えてしまう「滝」なのです。
著者たちは、約39個という極めて小さなコアを除いて、ロボットが選ぶ「上位128個の方向」は、本質的にはランダムなノイズであることを証明しました。もしロボットが今ある一連の方向を選び、その10秒後に別のセットを選んだとした場合、その2つのセットは(まるで2人の人が帽子から128個の数字をランダムに選んで、ほとんど一致しないのと同様に)ほぼ完全に異なるものになります。
では、なぜGaLoreは機能するのか?
あなたはこう疑問に思うかもしれません。「方向がランダムに変わり続けているなら、なぜロボットは学習できているのか?」
論文では、GaLoreが特定の経路を追跡しているからではなく、エネルギーを捉えているからだと説明しています。
- 比喩: バケツで雨を受け止めようとしている場面を想像してください。雨粒が正確にどこに落ちるかをすべて知る必要はありません。ただ、雨が降っているおおよその場所にバケツを構えておけばよいのです。
- 「上位128個の方向」が毎回完全に変わってしまうとしても、それらは間違いの総「エネルギー」(有用な情報)の約67〜73%を依然として捉えています。そのため、マップ(地図)を絶えず切り替えながらも、ロボットは学習を継続できるのです。
なぜ平均化は役に立たないのか
この「変化するマップ」の問題を解決するための自然なアイデアは、「過去10,000個のマップを見て、それらを平均することで安定した一つのマップを得よう」というものです。
著者らがこれをテストしたところ、うまくいかないことが判明しました。
- 比喩: 雨が単なるランダムなノイズではなく、特定の風や雲のパターン(信号)である場面を想像してください。時間をかけて雨を平均化しようとしても、雨が「どこにあるか」の明確な絵は得られず、ただぼやけた塊ができるだけです。
- ロボットの間違いに含まれる「ノイズ」は、単なる静止したノイズではありません。それは、平均化しようとしても非常にゆっくりと縮小していく複雑な信号なのです。どれほど平均化しても、安定した「上位128個」のリストを作ることはできません。なぜなら、そのリスト自体が安定した形で存在していないからです。
真の問題:ロボットの記憶
真の問題はマップではなく、ロボットの記憶にあります。
ロボットはAdamというオプティマイザ(最適化アルゴリズム)を使用しており、これには長期的な記憶(過去1,000ステップの間違いを覚えている)があります。
- 問題点: ロボットがマップを更新(リフレッシュ)するたびに(160ステップごと)、マップは90度回転します。しかし、ロボットの記憶は依然として「古いマップ」を指したままです。これは、ステアリングホイール(ハンドル)が突然90度回転したのに、手はまだ古い位置でハンドルを握っている状態で車を運転しているようなものです。ロボットは、もはや存在しないマップに基づいて操縦しようとしているのです。
論文で見出された解決策
著者らは、この「ステアリングホイール」問題を解決するために2つの方法をテストしました。
- 記憶を回転させる(トランスポート): 記憶を古い位置に置き去りにするのではなく、新しいマップに合わせて物理的に回転させるべきです。
- 結果: これは非常によく機能しました。これは、ハンドルが回転したことに気づき、すぐに自分の手を合わせて回転させた状態と同じです。
- 記憶を短縮する: ロボットの記憶は長すぎます(1,000ステップ前まで覚えている)。マップが160ステップごとに更新されることを考えると、1,000ステップ前を覚えていることは無意味です。なぜなら、それらの古いステップは全く別の世界のものであるからです。
- 結果: ロボットに(1,000ステップではなく)直近の100ステップだけを記憶させるように指示することで、古いマップに基づいて操縦しようとするのを防げます。これもまた、うまく機能しました。
ビルダーへの教訓
もしあなたがこれらの低ランク手法を利用したシステムを構築しているのであれば、論文からのアドバイスは以下の通りです。
- 部分空間(サブスペース)を追跡しようとしないでください。 それは幽霊です。変化が速すぎて追跡できません。
- 自身の「再現可能なランク(Reproducible Rank, )」を確認してください。 128というランクを信頼する前に、実際にいくつの方向が「本物」であるかを確認してください。論文では、約39だけが本物であり、残りはノイズであることが示されました。
- もし「真の数」よりも高いランクを使用する場合:
- 記憶を回転させる: オプティマイザの記憶が、新しいマップと共に移動するようにしてください。
- 記憶を短縮する: ロボットが遠すぎる過去まで記憶しないようにしてください。
- 平均化をやめる: マップを安定させるために平均化しようとして時間を無駄にしないでください。それはうまくいきません。
要約すると: 「低ランク部分空間」は、追いかけることができる安定した物体ではありません。それは急速に変化する雲のようなものです。これらのシステムを機能させるコツは、雲をより良く追跡することではなく、代わりに、絶え間ない変化に対処できるように記憶を調整することなのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。