確立
8ビット:DeepSeek-V3(2024年)
巨大モデルで初めて8ビット学習が確かめられました。DeepSeek-V3の行列計算の大半はFP8で、細かな目盛り合わせを使って行われます。学習の誤差は16ビットの基準から0.25%未満の差に収まりました。これが学習費用の低さの理由の一つです。
深掘り · 第IV章
モデルの数はどれも、ある精度で保存されています。ミリ目盛りの定規か、センチ目盛りの定規かのようなものです。長いあいだ、モデルは数1つに16ビットか32ビットを使ってきました。ところが多くの場合、8ビット、4ビット、さらには2ビット未満でも足りることがわかってきました。
モデルの重みは数です。それを少ないビットで保存するのは、四捨五入に似ています。細部は少し失われますが、数1つあたりの場所が減り、速く読め、小さな回路で掛け算できます。
本当の得は、計算よりも移動にあります。本編のエネルギーの図が示すとおり、メモリから数を読むのは、それで計算するより数百倍も高くつきます。ビットを半分にすれば、その請求書も半分になります。
こつはブロックごとの目盛り合わせです。数を小さな束にまとめ、束ごとに共通の目盛りを持たせます。すると、それぞれの数は隣との関係で、わずかなビットで表せます。最も敏感な部分(最初と最後の層、足し合わせ)は高い精度のまま残します。
道は二つあります。学習後に圧縮する(手早いが、ごく低い精度では品質が落ちる)か、低い精度で最初から学習する(モデルが初めから丸めと付き合うことを覚える)かです。
出典: Horowitz, Computing's Energy Problem (ISSCC 2014)
図I — 同じモデル、少ないビット
10億個の重みを保存するのに必要なメモリ
値が三つなら、掛け算は消える:
+1数を足す0無視する−1数を引く
説明用の図です。考え方を示すもので、測定値ではありません。
確立
巨大モデルで初めて8ビット学習が確かめられました。DeepSeek-V3の行列計算の大半はFP8で、細かな目盛り合わせを使って行われます。学習の誤差は16ビットの基準から0.25%未満の差に収まりました。これが学習費用の低さの理由の一つです。
有望
NVIDIAは120億パラメータのモデルを10兆語で4ビット学習させました。公開されたこの種の学習では最長です。MMLU-Proでは8ビットの62.62%に対し62.58%。最新のチップでは、4ビットは8ビットより2〜3倍速く、メモリは半分です。層の約16%は高い精度のまま残し、コードはやや弱くなりました。
出典: NVIDIA, Pretraining Large Language Models with NVFP4 (2025)
有望
重みはどれも−1、0、+1のいずれかです。30億パラメータからは、同じデータで学習した16ビットのモデルに並び、しかも2.71倍速く、メモリは3.55分の1です。700億パラメータでは4.1倍速くなります。行列の積にかかる計算エネルギーの見積もりは71分の1です。
既存のモデルに近道はありません。三値の重みは最初から学習する必要があり、既存のモデルをここまで強く丸めると壊れてしまいます。ハードウェアが追いついていません。BitNetの利点がすべて現実になるのは、そのために設計されたチップの上だけです。弱い作業:コードや正確な計算が真っ先に影響を受けます。そして、モデルが多くのデータを見るほど、重みは細かな情報を抱えるようになり、丸める余地が小さくなります。
H6の三つ目の要因、重み1つあたりのビット数です。私たちの手帖との重なりは印象的です。三値のモデルは、つながりそれぞれの向き(賛成、反対、中立)だけを残します。まるで細部は重みに置くべきではないかのようです。これはまさに私たちの提案する分担です。大まかな原理はモデルに、正確な細部は外の記憶に。
同じ公開モデルを16、8、4ビットで用意し、三つの版にOrigoTechの記事について同じ質問をしたいと思います。私たちの予想では、推論より先に事実(日付、数字)が崩れます。そうなら、事実を重みの外に置く根拠になります。