確率的丸めを用いた言語モデルの量子化を意識した学習

用には大きな課題が伴う。なぜなら、LLMのよう大規模言語モデル(LLMs)は、機械翻訳[1]、要な大規模なモデルでは、重み行列を保持するために約[2]、推論[3]、質問応答[4]など、幅広い自然言語膨大なメモリが必要になるからである。例えば、1B処理（NLP）タスクにおいて有望な解決策として注パラメータ規模のLLMの重みをFP32形式で保持す目されている。しかし、現在のLLMの規模がさらるには約4GBのメモリが必要だが、三値の重みをに拡大する中で、それらを学習するためには膨大な使用すればそのメモリ使用量を0.2GBまで削減できデータセットと大量の計算資源が必要になるというる。このようなメモリの制約はQATの実用性を大課題がある[5]。きく制限する要因となっている。量子化は、高精度のパラメータ行列を低精度形式これらの課題に対処するため、我々は、量子化さに変換する手法であり、リソース効率の高いLLMれた重みを直接利用するアプローチ（以後、DQTを実現するための効果的なアプローチとして注目さ(DirectQuantizedTraining)と呼ぶ）を試みる。これれている[6]。従来の量子化手法は、学習後量子化は、学習プロセス全体で低精度の重みのみを維持す(Post-TrainingQuantization,PTQ)と量子化を意識したる、修正されたQAT手法である。DQTは、バック学習(Quantization-AwareTraining,QAT)の2つに分類プロパゲーション中に量子化された低精度の重みをされる。PTQは、すでに事前学習されたLLMの重直接更新することで、STEへの依存を排除することみ行列のビット精度を削減する手法である[7,8]。ができる（図1(b)参照）。具体的には、私たちは確一方、QATはトレーニング中に量子化を組み込むこ率的丸め[14]を使用し、すべての重み行列を学習全―3435―.−0.238⋯0.429⋮⋱⋮0.056⋯−0.483高精度重み行列絶対平均量子化高精度重み行列を更新置き換え−1⋯1⋮⋱⋮0⋯−1三値重み行列を初期化確率的丸め置き換えቊ98%:−12%:0⋯ቊ95%:15%:0⋮⋱⋮ቊ97%:03%:−1⋯ቊ91%:−19%:0体を通じてnビット精度で固定する。この丸め技法は、値がその代表的な精度からどれだけ離れているかに基づいて、値を最も近い表現可能な精度に確率的に丸めるもので、バックプロパゲーション後も重み行列の低精度形式を保持し、低ビット重みのみを使用することによって生じる情報の損失を最小限に抑える。DQTを用いることで、モデルは各学習ステップで高精度の重み行列を量子化する必要がなくなり、理論的にQATプロセスが加速され、メモリ使用量が削減される。さらに、DQTの軽量なメモリ依存性は、計算資源が制約された場面においても量子化の適用が可能になる。DQTで学習したLLaMA構造のモデルの実験結果は、次のことを示している：(1)DQTで訓練されたモデルは、重み行列が三値に制約されていても学習が可能であること、(2)8ビットのDQTを使用することで、モデルはBitNetb1.58と競争力のある性能(損失が5%劣化)を達成できること、(3)DQTで訓練されたモデルは、推論時に三値の重みのみを使用し、BitNetと近い性能を発揮することが可能であること。私たちは、DQTが従来のQATが抱える計算上の課題に対処するための新たな視点を提供する可能性があると考えている。−0.238+0.002⋯0.429−0.005⋮⋱⋮0.056−0.003⋯−0.483+0.009(a)BitNetの学習プロセス(b)修正した学習プロセスロセスでSTEを使って更新される。下：私たちは低精度の重みを直接確率的丸めで更新し、各学習ステップで重み行列を量子化する必要がなくなり、重み行列を常に三値のままで保持している。入力−1⋯1⋮⋱⋮0⋯−1低精度重み行列損失STEで逆伝播入力損失STEに依存せず三値重みを更新−1+0.02⋯1−0.05⋮⋱⋮0−0.03⋯−1+0.09