tinyloraの論文は、ほんの少数のパラメータだけでモデルの挙動を変更できることを示しています。
https://arxiv.org/pdf/2602.04118
私はその論文を再現しようとして、qwen3.5向けにtinyloraの実装を作りましたが、ちゃんと動きます。これが意外で、考えるだけで気が遠くなります。たとえば、ランクを上げると最適化空間が大きくなりすぎて、正しく収束しませんでしたが、論文と同じ結果が得られました。
改善につながったのは、MLP層と注意(attention)層それぞれに、挙動調整用の独自の共有13パラメータを与えることでした。つまり、すべてのMLP層は13パラメータをまとめて持ち、すべてのattention層も13パラメータをまとめて持つため、合計26です。それは、グローバルなパラメータ数を単に全体的に増やすだけに比べると良く、また、論文のようにグローバルで13パラメータの数を固定するのとも比べて良い結果でした。
次は、各MLP層とattention層にそれぞれ独自のパラメータを最適化として与えてみたいです。各層に対しておそらく2〜6個くらいにして、より多くの層に共有されるパラメータ数が多い場合に比べてパラメータ数が少なくても、個々の層がよりうまくモデルを調整できるかどうかを見てみたい。モデルのグローバル最適化とローカル最適化を検証するためです。
また、私の仮説としては、これは事実を記憶する用途にはあまり適していないはずですが、挙動を変える点では良さそうです。lm-evalを使って下流タスクでテストしたところ、そう見えました。
これが示唆しうること
当初考えていたよりもはるかに少ないメモリでモデルを学習できる可能性があるかもしれませんが、それは挙動を変える場合に限られるでしょう。たとえば、deepseekの論文にある新しいエングラムのようなものを想像してください、
https://github.com/deepseek-ai/Engram
ただし、エングラムのルックアップの代わりに、loraアダプタで構成された挙動のためのルックアップテーブルを持てるのではないでしょうか。これはMoeよりもずっと大きく、より多様なものになり得て、さらに時間が経つにつれて更新も可能です。なぜなら、これらは非常に小さく、学習に必要なメモリがほとんどないからです。
[link] [comments]



