マガジンのカバー画像

LLM

336
運営しているクリエイター

#Bitnet

bitnet.cpp で Llama3-8B-1.58-100B-tokens を試す

bitnet.cpp で Llama3-8B-1.58-100B-tokens を試す

「bitnet.cpp」で「Llama3-8B-1.58-100B-tokens」試したのでまとめました。

1. bitnet.cpp「bitnet.cpp」は、Microsoftが開発した1bit LLM用の推論フレームワークです。主な特徴は、次のとおりです。

2. Llama3-8B-1.58-100B-tokens「Llama3-8B-1.58-100B-tokens」は、「Llama-

もっとみる
bitnet.cpp を試す

bitnet.cpp を試す

tl;drMicrosoft が 1-bit LLM 推論フレームワーク bitnet.cpp を公開したよ

llama.cpp をベースにした CPU 推論対応フレームワーク

8B パラメータの 1.58-bit 量子化モデルをシングル CPU で実行可能だよ

macOS 環境におけるセットアップと実行手順を書いたよ(uv で実行確認)

英語での推論は良さそうだけど、日本語出力はちょっと

もっとみる
BitTransformer界隈に激震!ついに使える乗算フリーLLMが登場!?

BitTransformer界隈に激震!ついに使える乗算フリーLLMが登場!?

今年の3月ごろに話題になって、それから僕も実験してみたけどさっぱり学習できないBitTransformerに変わり、新たにMutmulFreeTransformerというものが出てきたようだと、NOGUCHI, Shojiさんが教えてくれたので試してみた

ただ、2.7Bモデルが量子化なしで4090で推論できてるとしたらそれだけですごい(というかMutMulFree自体が一種の量子化なのだが)。

もっとみる
BitNetLLMの罠(学習に失敗した話)

BitNetLLMの罠(学習に失敗した話)

こないだ試した1bitllmが割と上手く行ってるようなのと、あまり日本語が下手なのでとりあえずファインチューニングでもするかと思ってやってみたらハマって数日無駄にしたという話。

BitNetは、よく知られているように推論と学習で動きを変えないといけない。

ところが1bitllmの実装では、そこいらへんが僕が前にやったBitLinearの実験で使ったコードとは微妙に違ったのでメモがてらご報告。

もっとみる
1BitLLMの実力を見る

1BitLLMの実力を見る

1BitLLMは本当に実現可能なのか?そして、実現されると予告されていることに意味はあるのか?

ようやく再現実装に成功した人が現れたので僕も試してみた。

ちなみに1Bit(1.58bit) LLMについての考察はこのページが面白いので一読をお勧めする。

肝心の1Bit LLMの実装はここで公開されている。

ただし、普通のHuggingFaceのお作法とはかなり違うので注意が必要。
まず、こ

もっとみる
BitNet&BitNet b158の実装④

BitNet&BitNet b158の実装④

はじめに前回、BitLinear b158の実装を行いました。前回までの内容は以下をご参照ください。

4. BitNet b158の検証BitNetの検証と同様、

BitLlamaでBitLinear158bを利用できる様に修正

事前学習ができるか(Lossが下がるか)確認

を行います。

4-1. BitLlamaの修正

modeling_bit_llama.pyにおいて、BitLin

もっとみる
BitNetにおけるSTE(Straight-Through Estimator)の実装

BitNetにおけるSTE(Straight-Through Estimator)の実装


はじめに現在、私は以下のような試みをしています。

BitNetとは

BitNetとはweightとactivationを量子化する手法の1つで、特にweightを{-1, 0, 1}の3値に量子化するBitNet b158はベースとしているLlama2の性能を上回ることを示し、注目を浴びました。
その実装の中で、量子化(つまりFloat16や32ではなくより離散的な値を扱う様にする処理)を行

もっとみる
BitNet&BitNet b158の実装③

BitNet&BitNet b158の実装③

はじめにBitNetおよびBitNet b158の実装を続けていこうと思います。
ボリュームが大きくなってきたため、記事を分けることとしました。前回までの内容は以下をご参照ください。
2日連続での投稿となるので前後関係をお気をつけください。

3. BitNet b158これまでに作成したBitLinearを修正していく形でBitNet b158用のBitLinear b158を作成していきます。

もっとみる
BitNet&BitNet b158の実装②

BitNet&BitNet b158の実装②

はじめに少し間が空いてしまいましたが、BitNetおよびBitNet b158の実装を続けていこうと思います。
ボリュームが大きくなってきたため、ページを分けることとしました。前回までの内容は以下をご参照ください。

2. BitNetの検証今回は、前回作ったBitNetの検証を進めていこうと思います。
検証内容としては、

BitLlamaの構築

事前学習ができるか(Lossが下がるか)確認

もっとみる
BitNetでMNISTを学習させて見えてきた性質

BitNetでMNISTを学習させて見えてきた性質

かれこれ一ヶ月弱くらいBitNetと格闘している。BitNetは、Microsoftが発明したと主張している1-Bit(1.58ビットとも言われる)量子化ニューラルネットワークのことだ。

僕はその辺に落ちてるコードを使って最初の最初はlossが2くらいまで下がったのだが、そもそもLLMはlossが1を切らないと実用性がない。

それ以降は6とか良くて5とかなのでたまたま最初に試したのがうまく行っ

もっとみる
BitNet&BitNet b158の実装①

BitNet&BitNet b158の実装①

はじめに先週発表された論文『The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits』は多くの人に衝撃を与えたと思います。
それまで量子化とは、有り体に言えば性能を犠牲にメモリ等のコストを抑える手法でした。しかし、BitNet b158(*)では量子化手法としては初めてオリジナルを超える性能を出す可能性を魅せてくれました。

もっとみる
大規模言語モデルの圧縮技術「BitNet」

大規模言語モデルの圧縮技術「BitNet」

最近公開されたMicrosoftの研究チームによる、大規模言語モデルの計算コストを削減する研究が、その革新的な手法で業界内外から大きな注目を集めています。この研究に興味を持ち、その背後にある技術やアプローチを深く掘り下げてみることにしました。

記事
Microsoftが1.58ビットの大規模言語モデルをリリース、行列計算を足し算にできて計算コスト激減へ
https://gigazine.net/

もっとみる