BitNet b1.58とは

BitNet b1.58とは、AIモデルの一つひとつのパラメータ(重み)をマイナス1・ゼロ・プラス1の3択だけで持たせた、極端に軽い大規模言語モデルの方式です。Microsoftの研究チームが2024年2月に公開した論文で提案されました。ふつうのモデルは各重みに16ビットの細かな小数を使いますが、これを3択に絞ることでメモリと消費電力を大きく減らせます。

なぜ軽くなるのか

AIの計算の大半は、膨大な数の重みを掛け合わせる作業です。重みが小数なら一回ごとに掛け算が必要ですが、値が−1・0・1しかなければ、掛け算は「足す・引く・何もしない」の3通りで済みます。これがメモリ使用量と電力を抑える鍵になります。論文では、応答の速さ・メモリ・処理量・消費電力のいずれでも有利だと報告されました。研究チームは、同じ大きさで通常の高精度モデルと言語予測の精度・課題の正答率の両面で同等だと主張しています。

ビジネスにとっての意味

では、この軽さは経営にどう効くのでしょうか。軽いモデルは、高価なGPUを並べたデータセンターに頼らず手元の端末や省電力の機器でAIを動かす道を開きます。電力コストや専用ハードの削減につながる可能性。AIの運用費を気にする立場には見逃せない流れかもしれません。ただしこれは2024年に示された研究段階の方式で、すぐにあらゆる製品へ置き換わるわけではない点には注意が要ります。「軽くしても賢さを保てるか」という長年の課題に一つの答えを示した。そこにこの方式の意味があります。

Topic「1ビット」なのに、なぜ数字は1.58なのか

名前のもとになった初代のBitNetは、重みを−1と+1の2値で表す純粋な1ビット方式でした。続くb1.58では、ここに「0(使わない)」を足して3値に拡張しています。3つの状態を区別するのに必要な情報量を計算するとlog2(3)≒1.58ビット。この少し半端な数字が、そのまま名前に入っているというわけです。

BitNet b1.58に関するよくある質問

BitNet b1.58は量子化とどう違いますか?
一般的な量子化は完成済みのモデルを後から圧縮しますが、BitNet b1.58は最初から3値前提で学習させる設計です。後付け圧縮にありがちな精度の目減りを避けやすいとされています。
既存のモデルをBitNet b1.58に変換できますか?
最初から低ビットで学習する設計のため、学習済みモデルを単純に変換する手法とは前提が異なります。新しく学習し直す形が基本です。

あわせて読みたい記事