米Microsoftの研究チームが発表した「BitNet」、通称「1bit LLM」と呼ばれる論文が波紋を呼んでいる。これまでのLLMとは違い、演算が軽くなるのに精度が上がり、そしてこれまで必須だと思われていたGPUが不要で、CPUでもLLMが動作することを示唆している。
──まず、1bit LLMについて教えてください
椎橋:ChatGPTに代表される生成AIは、LLM、つまり大規模言語モデルです。
何が大規模かというと、ニューラルネットがものすごく大きくてパラメータがたくさんあります。
でも大規模にすると、使うときに計算コストや時間がかかるようになり、消費エネルギーについても課題視されています。
またモデルをメモリに乗せて使うので、たくさんパラメーターがあると容量も大きくなってしまいます。
学習のときも、推論、つまり使うときもモデルが大きいと、計算量とメモリが大量に必要になります。
これに対して、モデルを圧縮する技術は昔からいろいろあります
モデル圧縮は大きく分けて3つの方法があります。
1つ目は枝刈りです。
2つ目は蒸留です。大きいモデルで学習して、そのモデルを使って学習データを生成して、小さいモデルで学習するんです。
3つ目が量子化です。これが1bit LLMに関係します。
量子化は、1個1個のパラメータをどういう数字で持っているかというところに注目します。普通は1つのパラメータは16bitとか32bitの情報量を持っているんですが、この桁数をぐっと丸めてしまうんです。
例えば、0.34567という値だったら、0.35と丸めるわけです
LLMの領域では、最近は32bitや16bitから、8bitや4bitといった低bit化がトレンドになってきていますが、それをさらに1bitまで減らしてしまおうというのが1bit LLMの考え方です。
1bit LLMでは、桁をとことん丸めて、-1か1の2値にしてしまおうという発想なんです。具体的には、ニューラルネットの中の重みパラメータの数値を、大胆に-1か1にしてします。これをBitNetと呼んでいます。
この仕組みをLLMに適用してみようというのが1bit LLMの基本的なアイデアです。この基本アイデアに対して今回の論文では1つ工夫があって、-1か1だけでなく、0も加えて、0、1、-1の3値を使っています。3通りというのは、2の1.58乗に相当するんですよ。だから実際は1.58bitになります。
──1bit LLMにすると何が変わるんですか?
ニューラルネットは計算を行列計算で行っているんですが、ノード間をつないでいるエッジの重みを3値にすると、積算ではなく和算になるんです。
そうなると、CPUとGPUの計算効率がそこまで変わらなくなる、GPUよりも最適な半導体の設計があり得るかもしれません。つまり、1bitまで減らすと積和演算が和算だけになって、計算の質が変わるんです。これによって、GPUがいらなくなるんじゃないか、といわれているんですよ。
──AIを動かすのにGPUがいらなくなる! どんな可能性が開けるんですか?
椎橋:今回の結果から、LLMの推論において、GPUではなく別の半導体の機構が最適になって、劇的に計算が軽く早くなる可能性が開けてくるんです。
──じゃあ、GPUはもういらなくなるんですか?
椎橋:いえ、そんなことはないですね。