AIの電力消費を95%削減するという新しいL-Mulアルゴリズム
(tomshardware.com)- AI処理の中核演算である**浮動小数点乗算(FPM)**を整数加算に置き換えることで、電力消費を最大95%削減できるというBitEnergy AIの主張が出ている
- **Linear-Complexity Multiplication(L-Mul)**は、より単純な演算でFPMに近い結果を出しながら、正確度と精度を維持する方式を目指す
- 電力効率改善の可能性は大きいが、Nvidia Blackwell GPUのような現在主流のハードウェアは、このアルゴリズムの実行を前提に設計されていない
- すでにAIハードウェアに数百万〜数十億ドルを投資している企業は、L-Mulの性能が確認されても、新システム導入の負担を避けにくい
- AIデータセンターの電力需要が電力網と気候目標を圧迫するなか、L-Mulは性能拡大と省エネルギーを同時に狙うアプローチと見なせる
FPMを整数加算に置き換えるL-Mul
- BitEnergy AIはAI推論技術を専門とする企業であり、AI処理におけるFPMを整数加算で置き換える方法を開発した
- 新方式の名称は**Linear-Complexity Multiplication(L-Mul)**である
- L-Mulは、より単純なアルゴリズムでFPMに近い結果を出し、FPMの高い正確度と精度を維持できると主張している
- TechXploreによると、この方式はAIシステムの電力消費を**最大95%**削減できる
導入を阻むハードウェア互換性
- L-Mulは新しい処理方式であるため、現在市場で普及しているハードウェアがそのまま処理できるようには設計されていない
- Nvidiaの次世代Blackwell GPUも、このアルゴリズムの実行を前提に設計されていない例として挙げられている
- BitEnergy AIのアルゴリズムがFPMと同等の性能を出せたとしても、実利用にはそれを実行できるシステムが必要になる
- すでにAIハードウェアに数百万〜数十億ドルを投資している企業にとって、新システムの必要性は大きな負担になり得る
- AIチップメーカーがこのアルゴリズムに合わせたASICを作れば、95%の電力削減可能性は大手テック企業の関心を集める可能性がある
AIの電力需要が生んだ圧力
- AI開発において電力は主要な制約として浮上している
- 昨年販売されたデータセンター向けGPUだけでも、1年間で100万世帯以上が使う電力を上回る電力を消費すると紹介されている
- GoogleはAIの電力需要により気候目標が後退し、2019年比で温室効果ガス排出量が48%増加した
- Googleの元CEOは、気候目標を引き下げ、より多くの発電を認めることで、高度なAIによって地球温暖化問題を解決する方向性を提案したことがある
電力効率改善が変え得るもの
- AI処理がより電力効率の高いものになれば、高度なAI技術を維持しながら環境負荷を減らせる
- エネルギー使用量が95%減少すれば、大規模データセンターが国家の電力網に与える負担も減る
- 電力網への負荷が下がれば、将来のAIインフラを迅速に拡張するために、より多くの発電所を建設する必要性も減り得る
性能拡大と効率のバランス
- 新しいAIチップは、世代ごとにより大きな演算性能を提供する点で注目されている
- しかし真の進歩は、プロセッサがより強力になると同時に、より効率的になるときに可能になる
- L-Mulが主張どおりに動作するなら、AI性能の拡大と電力効率の改善を同時に期待できる
1件のコメント
Hacker Newsの意見
https://arxiv.org/abs/2410.00907
論文の要旨によると、大規模ニューラルネットワークの演算の大半は浮動小数点テンソル乗算に使われており、L-Mulは浮動小数点乗算を整数加算で近似することで、8ビット浮動小数点より少ない計算資源でより高い精度を出すという
テンソル処理ハードウェアに適用すると、要素ごとの浮動小数点テンソル乗算エネルギーを最大95%、内積エネルギーを80%削減できると主張しており、3〜4ビット仮数のL-Mulはfloat8 e4m3/e5m2と同等かそれ以上で、Transformerのattentionにはほぼ損失なく適用可能だと評価している
かなり関心を集めそう
ここ https://news.ycombinator.com/item?id=41784591 もあるし、その前にもあった。この分野に詳しい人たちにとっては、もしかすると当然のアイデアなのかもしれない
直感的には、結局ブール値に近い判断を下すために浮動小数点を使うのは無駄に見えるが、微分可能なアルゴリズムを作るにはそうする必要があるのだと思っていた
非常に高速でありながら、浮動小数点乗算に近い精度を出していた。高速な乗算と並列性の両方を得るには、こうしたDSPブロックをTensor/GPUの一部として使う必要があるのかもしれない
かなり粗い近似だ。例えば 1.75 * 2.5 == 3 になるが、数値が0に近いほど良くなるようだ
llamafileのtinyBLASでAVX512向けに実装し、Llama-3.2-3B-Instruct.F16.ggufに適用してみたところ、出力が壊れた。正しく動かすには、この乗算近似を使うようにモデルを最初から学習・設計するか、特定の層や演算だけに使うようチューニングする必要がありそうだ
それでも速度は悪くなく、Threadripperではprefillが850トークン/秒から200トークン/秒に落ちたが、予測速度は34トークン/秒のままだった。誰かがこのアルゴリズムを使うLLM構造と重みをHugging Faceで公開すれば、特殊なハードウェアなしでもかなり速く動かせそうだ
論文基準では 1.75 == (1+0.75)*2^0、2.5 == (1+0.25)*2^1 なので、結果は (1+0.75+0.25+2^-4)*2^1 == 4.125 になる。正確な結果は4.375だ
並外れた主張には並外れた証拠が必要だ
可能かもしれないが、この分野では多くの集団の賢い人たちが長年懸命に取り組んできた。だから、同等性能でエネルギーコストを95%削減するという主張は並外れた部類に入る。もちろん、水が引けば分かるだろう
95%の改善は、具体的には乗算演算だけに関するものだ。推論はもともと計算よりメモリの比重が大きいので、実際の利得はずっと小さいはずだ
技術ジャーナリズム、事実上あらゆるジャーナリズムは、生き残るためにクリックと収益に注力しているため、grounded newsを期待するのは難しい
再学習とファインチューニングが多く必要で、すでに大規模並列ハードウェアがなければコストが高い。あるいは投資リスクの大きいASIC/FPGAを作る必要がある
ざっくり当ててみると、llama-2のような低解像度モデルならうまくいくかもしれない。llama-2は大きな問題なく量子化できるからだ。だがllama-3のような高解像度モデルは、大規模な再学習なしには簡単ではなさそうだ
https://github.com/microsoft/BitNet
低レベルの数学演算の効率を改善する人たちもいて、これはそうした仕事の成果に近い。こういうことを見つけ出すのはまったく簡単ではない
可能ではないとか嘘だと言っているわけではないが、実際の機械と実際のエネルギーを使って同等の性能が可能だという証拠が必要だ
「適切なチップがない」という弁明は少し不誠実だ。95%削減が本当に可能なら、賢いチップメーカーが計算してチップを作るはずだ。当たっていればその会社は大金を稼ぎ、そうでなければ作らないだろう
この分野、つまり近似計算をGPUとシリコンの両方で研究したことがある立場から見ると、消費電力の主張も精度の主張も完全にでたらめだ
論文は「L-Mulはfp8 e4m3乗算より正確だ」としながらも、MulとL-Mulの誤差分析と複雑度推定で「nearest even丸めを考慮しない」としている。基準アルゴリズムで精度を与えている部分を外して分析すれば、望む結果はいくらでも選び出せる
浮動小数点乗算はnearest evenで丸めると、元の値を無限精度で乗算したうえで正しく丸めた結果になり、IEEE 754も基本演算でこれを要求している。これを外すと、はるかに多くの量子化ノイズとバイアスノイズが生じる
エネルギーコストのかなりの部分は、DRAM/HBMのような外部メモリと配線の間のデータ移動、SRAM・フリップフロップのバッファリングに由来する。組み合わせ論理のコストは通常大きな問題ではなく、固定機能の行列乗算器が多いとそのコストは大きくなるものの、アクセラレータ全体の電力削減は多くても10〜20%程度である可能性が高い
また、H100のような環境で発生するリスケーリングや中間結果の高精度累算に関する詳細が見当たらない。この情報なしでは評価結果も信頼しにくい
プレプリントの元の議論: https://news.ycombinator.com/item?id=41784591
これは単に「log(x) + log(y) = log(xy)」を活用しているだけでは?
IEEE754の浮動小数点表現は、符号、仮数、指数を保存する。前の2つを無視すれば、どうせ量子化しているのだから、指数はfloatのlog()を保存する整数にすぎない
aとbがどちらもある程度小さければ、abは非常に小さいので無視できる。だから(1+a)(1+b)を1+a+bに置き換えるということ。両者は明らかに同じではないが、機械が推測するタスクではその差をあまり気にしないようだ
1週間ほど前にこれを投稿した:
https://news.ycombinator.com/item?id=41816598
こうした手法は、デジタル回路、FPGA、デジタル信号処理などで何十年も行われてきたものだ。浮動小数点はリソースと電力を多く使うため、専用の浮動小数点処理ハードウェアなしに浮動小数点を使うことは、どうしても必要でない限り何十年も避けられてきた
固定小数点を再発見しただけでも十分にもどかしかったのに、「ポーズをquaternionで表現するとすべてがうまくいく」といった反応は、この30年間ゲームエンジン開発者を爆発させてきた
生来の懐疑論者だからか、タイトルが「方法xがyをz%削減する」と言っているのに、本文ではある段階を最適化すれば「yを最大z%まで削減できるかもしれない」となっているのを見るたびに疑わしく思う
なぜ、いくつかの特殊なケースだけでも主張を証明する実際のベンチマークを公開しないのか不思議だ
「最大95%」も論文から出た言葉ではない。コスト削減は演算ごと・精度ごとに引用されており、最大97.3%まであり、最新の計算ハードウェアにおける数学演算のエネルギーコストを扱った既存研究に基づいている。エンドツーエンドのコスト削減は主張していない
第二に、実際に主張されているエネルギーコスト削減は、実験上の問いでもない。現代のハードウェアで各種演算間のエネルギーコスト差は他の研究ですでに確立されており、ここでの実験上の争点は、より低エネルギーの演算を可能にする数学的手法が、LLM推論において既存実装と出力品質の面で競争可能かどうかだった
「bitnet.cppの初回リリースは、CPU推論のサポートを目的としている。ARM CPUで1.37倍〜5.07倍の高速化を達成し、大きなモデルほど性能向上が大きい。エネルギー消費も55.4%〜70.0%削減し、全体の効率を高める。x86 CPUでは2.37倍〜6.17倍の高速化と71.9%〜82.2%のエネルギー削減を示している。またbitnet.cppは、単一CPU上で100B BitNet b1.58モデルを実行し、人間の読書速度に近い5〜7トークン/秒を達成できるため、ローカルデバイスでLLMを実行する可能性を大きく高める。詳細は近日提供予定」
https://en.wikipedia.org/wiki/Jevons_paradoxはこの場合にも当てはまるだろうか?
エネルギーコストは明らかに参入障壁を作り、コストが下がれば参入障壁も下がる。すると参加者が増え、需要も増える
アルゴリズムがエネルギー消費を変えるとは思わない
計算の面では、常に最大容量が必要になる。明日、新しいアルゴリズムで性能が4倍になれば、私たちは単に4倍多くの計算をするだけだ