Microsoft の 6 ページの論文が話題に: Ternary LLM、とてもクール!

Microsoft の 6 ページの論文が話題に: Ternary LLM、とてもクール!

これはマイクロソフトと中国科学院大学による新たな研究の結論です。

すべての LLM は 1.58 ビットになります。

具体的には、本研究で提案された手法はBitNet b1.58と呼ばれ、大規模言語モデルの「根源」にあるパラメータからスタートする手法と言えます。

16 ビット浮動小数点数(FP16 や BF16 など)形式の従来のストレージは、 3 進数、つまり{-1, 0, 1}に変換されます。

ここでの「1.58 ビット」は、各パラメータが 1.58 バイトのストレージ スペースを占有することを意味するのではなく、各パラメータが 1.58 ビットの情報で表すことができることを意味することに注意してください。

このような変換を行うと、行列内の計算には整数の加算のみが含まれるようになり、大規模なモデルでは、一定レベルの精度を維持しながら、必要なストレージスペースとコンピューティングリソースを大幅に削減できるようになります。

たとえば、3B モデル サイズの Llama と比較すると、BitNet b1.58 は 2.71 倍高速ですが、GPU メモリ使用量は元のほぼ 4 分の 1 になります。

モデルのサイズが大きくなると(たとえば 70B) 、速度の向上とメモリの節約はさらに顕著になります。

この破壊的なアプローチはネットユーザーの注目を集め、この論文はXでも大きな注目を集めました。

ネットユーザーはこの「ゲームチェンジャー」に驚嘆する一方で、Google の注目記事に載っていた古いジョークも披露した。

必要なのは 1 ビットだけです。

では、BitNet b1.58 はどのように実装されているのでしょうか?読み続けましょう。

すべてのパラメータを3進数に変換する

この研究は、実際には、以前に公開された論文に基づいて元のチームによって行われた最適化であり、元の BitNet に 0 値を追加したものです。

全体的に、BitNet b1.58 は依然として BitNet アーキテクチャ(Transformer)に基づいており、nn.Linear を BitLinear に置き換えています。

細部の最適化としては、まずは先ほど述べた「ゼロの追加」、つまり重みの量子化です

BitNet b1.58 モデルの重みは、3 進数値 {-1、0、1} に量子化されます。これは、バイナリ システムで各重みを表すために 1.58 ビットを使用することに相当します。この量子化方法により、モデルのメモリ フットプリントが削減され、計算プロセスが簡素化されます。

第二に、量子化関数の設計に関しては、重みを -1、0、または +1 の間に制限するために、研究者は absmean と呼ばれる量子化関数を採用しました。

この関数は、まず重み行列を平均絶対値でスケーリングし、次に各値を最も近い整数 (-1、0、+1) に丸めます。

次のステップは活性化量子化です

活性化値の量子化はBitNetと同じように実装されていますが、活性化値は非線形関数の前に[0、Qb]の範囲にスケーリングされません。代わりに、活性化値は[−Qb、Qb]の範囲にスケーリングされ、ゼロ点量子化が排除されます。

注目すべきは、BitNet b1.58 をオープンソース コミュニティと互換性のあるものにするために、研究チームが RMSNorm、SwigLU などの LLaMA モデルのコンポーネントを採用し、主流のオープンソース ソフトウェアに簡単に統合できるようにしたことです。

最後に、実験的なパフォーマンス比較では、チームはさまざまなサイズのモデルで BitNet b1.58 と FP16 LLaMA LLM を比較しました。

結果は、BitNet b1.58 が 3B モデル サイズでの複雑度においてフル精度 LLaMA LLM に匹敵し始め、同時にレイテンシ、メモリ使用量、およびスループットの大幅な改善を達成していることを示しています。

モデルのサイズが大きくなるほど、パフォーマンスの向上は顕著になります。

ネットユーザー:コンシューマーグレードのGPUで120Bの大規模モデルを実行可能

前述のように、この研究のユニークな方法論は、ネット上で大きな反響を巻き起こしました。

DeepLearning.scala の作者である Yang Bo 氏は、次のように述べています。

オリジナルの BitNet と比較すると、BitNet b1.58 の最大の特徴は、0 個のパラメータが許可されていることです。量子化関数を少し変更することで、0 パラメータの割合を制御できるのではないかと思います。ゼロパラメータの割合が大きい場合、重みはスパース形式で保存できるため、各パラメータの平均メモリ使用量は 1 ビット未満になります。これは重量レベルでの MoE に相当します。普通のMoEよりもエレガントだと思います。

同時に、彼はBitNetの欠点も指摘した。

BitNet の最大の欠点は、推論中のメモリ オーバーヘッドを削減できるものの、オプティマイザーの状態と勾配では依然として浮動小数点数が使用され、トレーニングでは依然として大量のメモリが消費されることです。 BitNet をトレーニング中にビデオメモリを節約するテクノロジと組み合わせることができれば、従来の半精度ネットワークと比較して、同じ計算能力とビデオメモリでより多くのパラメータをサポートできるようになり、大きな利点になると思います。

オプティマイザー状態のメモリ オーバーヘッドを節約する現在の方法はオフロードです。勾配のメモリ使用量を節約する方法としては、ReLoRA が考えられます。しかし、ReLoRA の論文実験では 10 億のパラメータを持つモデルのみが使用されており、数百億または数千億のパラメータを持つモデルに拡張できるかどうかを示す証拠はありません。

△画像出典:知乎、許可を得て引用

しかし、一部のネットユーザーは次のように分析している。

この論文が証明されれば、24GB のコンシューマーグレード GPU で 120B モデルを実行できるようになります。


それで、この新しいアプローチについてどう思いますか?

<<:  AI動画がまた爆発!写真+音が動画に、アリババがソラのヒロインに歌わせ、レオがラップ

>>:  陳丹奇チームの新しい研究: Llama-2 コンテキストが 128k に拡張され、メモリが 1/6 でスループットが 10 倍に

ブログ    
ブログ    

推薦する

人工知能がサイバーセキュリティに及ぼす3つの影響

人工知能 (AI) と機械学習 (ML) は、人々の働き方、話し方、ビジネスのやり方を根本的に変えて...

...

AWS でディープラーニングを使用するための 10 個の Linux コマンド

[[202723]] AWS 上で大規模なディープラーニング処理を実行することは、学習と開発を行うた...

サービスロボット市場の最前線に立つセキュリティは注目に値する

現在、サービスロボットは中国のロボットが他のロボットを追い抜く重要なチャンスとみなされており、あらゆ...

...

ビジネスインテリジェンスをビジネスに活用する 10 のメリット

[[434146]]ビジネス インテリジェンス テクノロジーが推進する市場において、人工知能は企業に...

WeChatグループに広告を投稿する人が常にいるのでしょうか? Pythonを使って自動ロボットを作成し、彼を排除する

[[341536]] WeChatグループ乾癬とは、WeChatグループ内の他のユーザーに恥ずかしげ...

...

テンセント AI ラボが初の自動モデル圧縮フレームワークのソースを公開: ディープラーニングをポケットに

テンセントAIラボ機械学習センターは本日、世界初の自動ディープラーニングモデル圧縮フレームワーク「P...

高度な脅威検出における人工知能技術の応用

高度な持続的脅威は、その多様な形態、持続性、対立、隠蔽を特徴とし、現在、大手企業が脅威監視において直...

Microsoft が機械学習モデルを簡単に作成できる Lobe デスクトップ アプリケーションをリリース

なお、Lobe はインターネット接続やログインを必要とせず、現在は機械学習モデルの出力のみ可能である...

話題の「人工知能」について、気になるNの質問にお答えします

人工知能は、かなり長い間人気を博してきました。多くの投資家、起業家、そしてあらゆる規模の企業が、この...

...