サムネイル

Bonsai WebGPUで1bit LLMをブラウザだけで動かす

  • 0

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が動く仕組み

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.gpuundefinedでなければ、そのブラウザで動く可能性が高い、という判定になります。

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をブラウザで動かす手順

Bonsai WebGPUを動かす4ステップフロー

面倒な準備はほぼありません。

順番だけ整理しておきます。

対応ブラウザと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をブラウザで動かす価値と限界

1bit LLMをブラウザで動かす価値と限界の対比

「精度で劣るなら、何が嬉しいの?」という話になります。

答えは1つで、データが自分のマシンから出ない、これに尽きます。

社外に出せない機密文書、個人情報を含むメモ、書きかけのアイデア。

こういうデータをLLMに触らせたいけど、クラウドAPI経由には出せない、という場面が実務で普通にあります。

ローカルにOllamaを入れる手もありますが、社員全員のマシンにインストール作業を求めるのは現実的でないケースもある。

「ブラウザで開くだけ」で済むなら、それはそれで強い選択肢です。

限界は正直に書いておきます。

長文の要約、コード生成、複雑な多段推論といった用途では、GPT-5Claude 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を動かす」は完全にネタでした。

それが今、実務の選択肢として真剣に検討できる段階に来ています。

この変化のスピードは、覚えておいて損はありません。

会員登録して機能を使おう

この機能を利用するには、無料の会員登録が必要です。
お気に入りの記事を保存して、あとで読み返しましょう!