LLMを圧縮する技術についてソウル大学の研究者らが網羅的にまとめています。
枝刈り、量子化、その他(知識蒸留など)について、方法論や代表的なアルゴリズムなどが整理されています。
“A Comprehensive Survey of Compression Algorithms for Language Models”
以下は内容の抜粋です。
■そもそもなぜLLMを圧縮したいのか
– 大きなモデルは計算リソースや電力を必要とする
– リーズナブルにカスタマイズするニーズがある
– 今はコストだけでなく環境資源も心配されている
■枝刈りとは
– 使われないネットワークを取り除く
– 必要に応じて除去対象(重みやモジュール)を決める
– 代表的なアルゴリズムはSparseGPT
■量子化とは
– 重みや活性化関数を低ビットで表現する
(要するに効率化する)
– どの部分を量子化するかと方法を決める
※方法:均一量子化/混合精度量子化など
– 代表的なアルゴリズムはOPTQ
■その他の方法
– 知識蒸留:大モデルから小モデルに知識を移す
– 低ランク近似:重みを低ランク行列で近似する
– パラメータ共有:モデル内でパラメータを使い回す
一般に、圧縮するとモデルの挙動は変化するため、求める精度と効率のバランスをとって手法を選ぶことが大事だと述べられています。