1.7Bパラメータのモデルが約290MBまで縮み、WebGPUだけでブラウザ内で完結する。
サーバーへの通信ゼロで会話が返ってくる時代が、いよいよ現実になってきました。
数年前にこの話をしていたら、多くのエンジニアが「そんなん動くわけない」と一蹴していたはずです。
それが今、Chromeのタブを1枚開くだけで実際に動きます。
英語圏の技術コミュニティで話題になっているbonsai-webgpuを題材に、1bit LLM(1-bit LLM)がブラウザで動く仕組み、実際に試す手順、そして触ってみて見えてくる限界まで整理します。
1bit LLMがブラウザだけで動く Bonsai WebGPUの正体
bonsai-webgpuは、HuggingFace Spaceで公開されているデモです。
中身はPrismML製のBonsai 1.7Bという1bit量子化されたLLMで、モデルサイズは約290MB。
ページを開けば会話UIが立ち上がり、初回のモデルダウンロードのあとはブラウザ内だけで推論します。
面白いのは、これが「サーバーが裏で動いていて、その結果を返してるように見せかけている」わけではないことです。
モデルの重みも、実際の行列計算も、全部あなたのGPU上で動いている。
DevToolsのNetworkタブを見ても、モデルファイルのロード以降は通信が発生しません。
1bit LLMの一言定義だけ先にすると、モデルの重み(パラメータ)を通常の16bitや32bitではなく、1bit相当まで削って学習または保持するLLMのことです。
値が実質「-1と+1」だけで表現される。
普通に考えると精度が壊滅しそうですが、そこを工夫でカバーしているのが後述するBitNet系のアプローチです。
WebGPUと1bit量子化 ブラウザでLLMが動く仕組み
「なぜ今、ブラウザだけでLLMが動くようになったのか」を分解すると、WebGPUの普及と1bit量子化という2つの技術がちょうど重なった、というのが答えです。
WebGPUとは ブラウザからGPUを直接動かす標準API
WebGPUは、ブラウザからGPUの計算能力を直接使うための標準APIです。
もともとグラフィック用途だったWebGLの後継にあたりますが、汎用的な計算(コンピュートシェーダー)にも対応しているのがLLM推論との相性が良いポイントです。
2026年7月時点で、Chrome / Edge / Safari / Firefoxの最新版が標準対応しています。
数年前まではChrome限定のフラグ付き機能でしたが、今はごく普通のブラウザ機能になりました。
この「主要ブラウザで動く」という前提が揃ったことで、WebGPUを前提としたLLMデモが一気に増えています。
navigator.gpuがundefinedでなければ、そのブラウザで動く可能性が高い、という判定になります。
1bit量子化とは 重みを最初から1bitで学習する発想
「量子化」自体は前からある技術で、学習済みのLLMを後から圧縮する使い方が主流でした。
16bitのモデルを4bitに落として、精度をなるべく落とさずサイズを縮める、みたいな話ですね。
BitNet系のアプローチが変わっているのは、後から圧縮するのではなく、最初から1bit(値は-1と+1の2値)に制約して学習することです。
Microsoft Researchが2023年に提案し、翌年発表の発展版「BitNet b1.58」では1.58bit(値は-1・0・+1の3値、ternary)に拡張されています。
学習段階からこの制約に最適化してしまうので、一般的な後付け量子化より精度の落ちが少ないとされます。
Bonsaiは、この考え方を採用して実際に動くように仕上げたモデル群です。
ブラウザで動く1.7B版はその末端で、290MBというサイズで手元に落ちてくる。
Bonsai WebGPUをブラウザで動かす手順
面倒な準備はほぼありません。
順番だけ整理しておきます。
対応ブラウザとWebGPUの有効化を確認する
まずChromeならchrome://gpuをアドレスバーに入力してください。
表示されるページで「WebGPU」の項目が「Hardware accelerated」になっていればOKです。
Edgeも同じ確認方法で通ります。
Safariは最新版であれば標準で有効です。
Firefoxも最新版であれば通りますが、環境によって挙動が分かれるので、素直に動くのはChrome / Edge / Safariの最新版という感触です。
Bonsai WebGPUを開いてチャットを試す
対応ブラウザで先ほどのHuggingFace Spaceを開くと、初回だけモデルの重みをダウンロードします。
約290MBあるので、ネットワーク環境によっては1〜2分待ちます。
ダウンロードが終われば、あとは会話UIに文章を打ち込むだけです。
GPUの負荷が跳ね上がるのがタスクマネージャで見えるはずです。
この瞬間、モデルは間違いなくローカルで動いています。
出力が崩れたときに疑うポイント
複雑な質問を投げると出力が破綻することがあります。
同じ単語を延々と繰り返したり、文法が壊れたりする。
これは1.7Bという小さいモデルサイズと、1bitへの圧縮による表現力の制約が主因です。
切り分けの順番としては、次のあたりを疑うと早いです。
- 質問が複雑すぎないか。長文の推論を要求すると崩れやすい
- ブラウザのGPUドライバが古くないか
- 別タブでGPU重めの処理(動画再生、Figma等)が動いていないか
- 一度タブをリロードしてモデルを再ロードする
llama.cppでローカル動かした方が安定してた、という声も普通に出ます。
正直、私もそう感じました。
用途と割り切りが必要な段階、というのが率直な評価です。
1bit LLMをブラウザで動かす価値と限界
「精度で劣るなら、何が嬉しいの?」という話になります。
答えは1つで、データが自分のマシンから出ない、これに尽きます。
社外に出せない機密文書、個人情報を含むメモ、書きかけのアイデア。
こういうデータをLLMに触らせたいけど、クラウドAPI経由には出せない、という場面が実務で普通にあります。
ローカルにOllamaを入れる手もありますが、社員全員のマシンにインストール作業を求めるのは現実的でないケースもある。
「ブラウザで開くだけ」で済むなら、それはそれで強い選択肢です。
限界は正直に書いておきます。
長文の要約、コード生成、複雑な多段推論といった用途では、GPT-5やClaude Opus 4.8はもちろん、7B〜13B規模のローカルLLMにも品質で及びません。
1.7Bかつ1bitという時点で、汎用LLMの代替にはならない。
用途を割り切れば化けます。
定型的な短い会話、機密データの一次スクリーニング、社内ツールに「軽い自然言語UI」を差し込む、あたりが現実的な当てはめ先です。
ちなみに、この1.7B版と同じ時期に、Bonsaiシリーズには27B版がApache 2.0で追加公開されています。
数日単位で選択肢が広がっているのが今の1bit LLM界隈の温度感です。
WebGPUとBonsaiを自分のプロダクトで試すなら
自分のプロダクトに組み込む場合、Transformers.js経由でBonsaiのモデルをロードする形が現時点で一番素直です。
WebGPUバックエンドを指定すれば、上のSpaceと同じことが自作のUIでもできます。
判断軸として1つ持っておくといいのは、「そのプロダクトが扱うデータをクラウドAPIに送っても本当に問題ないか?」という問いです。
答えがYesならクラウドLLMの方が品質で圧倒的に有利です。
答えがNo、あるいは「顧客の同意を毎回取るのが手間」なら、WebGPU+1bit LLMは検討に値します。
数年前まで「ブラウザでLLMを動かす」は完全にネタでした。
それが今、実務の選択肢として真剣に検討できる段階に来ています。
この変化のスピードは、覚えておいて損はありません。




💬 コメント
ログイン か 会員登録 するとコメントできます