明日のAI
JA

← ノートに戻る

深掘り · 第IV章

少ないビットで計算する

モデルの数はどれも、ある精度で保存されています。ミリ目盛りの定規か、センチ目盛りの定規かのようなものです。長いあいだ、モデルは数1つに16ビットか32ビットを使ってきました。ところが多くの場合、8ビット、4ビット、さらには2ビット未満でも足りることがわかってきました。

有望 更新日

I

考え方をひとことで

モデルの重みは数です。それを少ないビットで保存するのは、四捨五入に似ています。細部は少し失われますが、数1つあたりの場所が減り、速く読め、小さな回路で掛け算できます。

本当の得は、計算よりも移動にあります。本編のエネルギーの図が示すとおり、メモリから数を読むのは、それで計算するより数百倍も高くつきます。ビットを半分にすれば、その請求書も半分になります。

II

どう動くのか

こつはブロックごとの目盛り合わせです。数を小さな束にまとめ、束ごとに共通の目盛りを持たせます。すると、それぞれの数は隣との関係で、わずかなビットで表せます。最も敏感な部分(最初と最後の層、足し合わせ)は高い精度のまま残します。

道は二つあります。学習後に圧縮する(手早いが、ごく低い精度では品質が落ちる)か、低い精度で最初から学習する(モデルが初めから丸めと付き合うことを覚える)かです。

出典: Horowitz, Computing's Energy Problem (ISSCC 2014)

図I — 同じモデル、少ないビット

10億個の重みを保存するのに必要なメモリ

  1. 32 ビット4 GB
  2. 16 ビット2 GB
  3. 8 ビット1 GB
  4. 4 ビット0.5 GB
  5. 1.58 ビット≈ 0.2 GB

値が三つなら、掛け算は消える:

+1数を足す0無視する−1数を引く

説明用の図です。考え方を示すもので、測定値ではありません。

精度を半分にするたびに、読むべきメモリも半分になり、それを動かすエネルギーも半分になります。−1、0、+1だけなら、掛け算は足し算か引き算か、何もしないかのどれかになります。
III

三つの段を下りる

確立

8ビット:DeepSeek-V3(2024年)

巨大モデルで初めて8ビット学習が確かめられました。DeepSeek-V3の行列計算の大半はFP8で、細かな目盛り合わせを使って行われます。学習の誤差は16ビットの基準から0.25%未満の差に収まりました。これが学習費用の低さの理由の一つです。

出典: DeepSeek-AI, DeepSeek-V3 Technical Report (2024)

有望

4ビット:NVFP4(2025年)

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.58ビット:BitNet b1.58(2024年)

重みはどれも−1、0、+1のいずれかです。30億パラメータからは、同じデータで学習した16ビットのモデルに並び、しかも2.71倍速く、メモリは3.55分の1です。700億パラメータでは4.1倍速くなります。行列の積にかかる計算エネルギーの見積もりは71分の1です。

出典: Ma et al., The Era of 1-bit LLMs: BitNet b1.58 (2024)

IV

限界

既存のモデルに近道はありません。三値の重みは最初から学習する必要があり、既存のモデルをここまで強く丸めると壊れてしまいます。ハードウェアが追いついていません。BitNetの利点がすべて現実になるのは、そのために設計されたチップの上だけです。弱い作業:コードや正確な計算が真っ先に影響を受けます。そして、モデルが多くのデータを見るほど、重みは細かな情報を抱えるようになり、丸める余地が小さくなります。

VI

試してみたいこと

同じ公開モデルを16、8、4ビットで用意し、三つの版にOrigoTechの記事について同じ質問をしたいと思います。私たちの予想では、推論より先に事実(日付、数字)が崩れます。そうなら、事実を重みの外に置く根拠になります。

ページの先頭へ