「ローカルLLMを動かしたいけど、GPUないし無理かなー。まじメモリ高すぎ」
ずっとそう思っていました。しかし、最近登場した1-bit Bonsai 8Bというモデルに出会って、状況が変わりました。24GB RAMのミニPC NiPoGi E3B(もちろんGPUなし)で、驚くほど快適にローカルLLMが動いたのです。
しかも、私がすでに使っているCloudflare Tunnelと組み合わせることで、外出先のスマホからも自宅ミニPCのLLMにアクセスできる環境が整いました。さらにTypingMindと統合すれば、ChatGPTライクなインターフェースでローカルLLMが使えます。
今回は、私が実際に試行錯誤した「1-bit Bonsaiのローカル環境構築〜Cloudflare Tunnel経由の外部アクセス〜TypingMind連携」までの一連の手順を紹介します。
1.なぜ1-bit Bonsaiなのか
ローカルLLMの選択肢はたくさんありますが、私がBonsaiを選んだ理由はシンプルです。
たった1.15GBで動く。
8Bパラメータのモデルにおいてもその他のモデルと遜色ない性能を維持しつつ、メモリ使用量が14分の1。さらに8倍高速、5倍省エネ。つまり、GPUがなくても現実的に動かせるんです。

2.私のPC環境
私がセールで購入したミニPCです。ちょっとでもメモリ多いほうが良いかなと、NiPoGiのミニpc E3Bを選びました。
| 項目 | スペック |
|---|---|
| CPU | AMD Ryzen 7 7735HS (8C/16T) |
| GPU | Radeon 680M(統合GPU、VRAMなし) |
| RAM | 24GB |
| SSD | 512GB |
| OS | Windows 11 Pro |

GPUがないので、もちろんCPUで動かします。
3.セットアップ手順
3-1. Gitのインストール
まず、Gitがインストールされていない必要があります。
https://git-scm.com/download/win からダウンロードしてインストール。
インストール後、PowerShellを再起動して
powershell
git --version が表示されるか確認。
3-2. リポジトリのクローン
powershellgit clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo
3-3. セットアップスクリプトの実行
Windowsの場合は PowerShell(setup.ps1)を使います。setup.shはUnix系なので動きません。
powershell.\setup.ps1
セットアップスクリプトは以下を自動で行います:
- Python環境のセットアップ
- HuggingFaceからモデルのダウンロード
- llama.cppバイナリのダウンロード(or ビルド)
3-4. CPU版バイナリのダウンロード
CPU版のllamaを直接ダウンロードしました。
powershellInvoke-WebRequest -Uri "https://github.com/PrismML-Eng/llama.cpp/releases/download/prism-b8846-d104cf1/llama-bin-win-cpu-x64.zip" -OutFile "cpu.zip"
Expand-Archive -Path "cpu.zip" -DestinationPath "bin\cpu" -Force
4.サーバーの起動
4-1. 最適化された起動コマンド
試行錯誤の末、私の環境に最適化された起動コマンドがこれです。
powershell.\bin\cpu\llama-server.exe -m models\gguf\8B\Bonsai-8B-Q1_0.gguf --host 0.0.0.0 --port 8080 -ngl 0 -t 8 --jinja -c 8192 --api-key my-bonsai-api
各オプションの意味:
| オプション | 設定値 | 理由 |
|---|---|---|
-m | モデルファイルのパス | Bonsai 8BのGGUFファイル |
--host | 0.0.0.0 | 全インターフェースでリッスン |
--port | 8080 | 8080が他のサービスで使用している場合は空いてるポートに変更 |
-ngl | 0 | GPUオフロードなし。Radeon 680MはVRAMが不足するためCPU駆動で安定 |
-t | 8 | 物理コア数に固定。ハイパースレッド16を全割り当てるとキャッシュの奪い合いが発生し逆に遅くなる |
--jinja | 有効 | チャットテンプレートエンジンを有効化。Function Callingやツール呼び出しのサポートに必要 |
-c | 8192 | コンテキスト長。2048だと会話履歴がすぐに切れるため8192に拡張 |
--api-key | my-bonsai-api | APIキー認証。外部からの不正アクセスを防止 |
💡 コンテキスト長の選び方
- 8,192(推奨):日常的なチャット、メモリ約2.5GB
- 16,384:コード生成・長い文書、メモリ約3.5GB
- 32,768:最大限、メモリ約5.9GB
起動成功すると、以下のような表示が出ます。
main: server is listening on http://0.0.0.0:8080
main: starting the main loop...
srv update_slots: all slots are idle
4-2. バックグラウンド起動
PowerShellを閉じるとサーバーが止まるので、バックグラウンドで起動します。
powershellStart-Process -FilePath "C:\Users\〇〇\Bonsai-demo\bin\cpu\llama-server.exe" -ArgumentList "-m C:\Users\〇〇\Bonsai-demo\models\gguf\8B\Bonsai-8B-Q1_0.gguf --host 0.0.0.0 --port 8080 -ngl 0 -t 8 --jinja -c 8192 --api-key my-bonsai-api" -WindowStyle Hidden
⚠️ フルパスを使う必要があります。相対パスだと「ファイルが見つかりません」エラーになります。
4-3. 動作確認
powershellInvoke-RestMethod -Uri "http://localhost:8080/v1/models"
モデル名が表示されれば成功です。ブラウザで http://localhost:8080 にアクセスすれば、Web UIでもチャットできます。
5.PC起動時に自動起動させる
毎回手動で起動するのは面倒なので、タスクスケジューラで自動起動にしました。
管理者PowerShellで実行
powershell$action = New-ScheduledTaskAction -Execute "C:\Users\〇〇\Bonsai-demo\bin\cpu\llama-server.exe" -Argument "-m C:\Users\〇〇\Bonsai-demo\models\gguf\8B\Bonsai-8B-Q1_0.gguf --host 0.0.0.0 --port 8080 -ngl 0 -t 8 --jinja -c 8192 --api-key my-bonsai-api" -WorkingDirectory "C:\Users\〇〇\Bonsai-demo"
$trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "Bonsai-LLM" -Action $action -Trigger $trigger -Description "Bonsai 8B LLM Server" -RunLevel Highest
これでPC起動時に自動でBonsai LLMサーバーが立ち上がります。
6.Cloudflare Tunnelで外部アクセス
6-1. cloudflaredのインストールとサービス化
Cloudflareダッシュボードの「Tunnel」タブにあるトンネルを作成
インストーラーのダウンロード:
表示されているリンク(cloudflared-windows-amd64.msi)をクリックしてファイルをダウンロードします。
インストール:
ダウンロードした .msi ファイルを実行し、画面の指示に従ってインストールを完了させます。
管理者権限でコマンドプロンプトを開く:
Windowsの検索バーに「cmd」と入力し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。
トンネルのインストールと実行:
コマンドプロンプト上で、画面に表示されている専用のインストールコマンドをコピーし、貼り付けて実行してください。
コマンド例:
cloudflared.exe service install <あなたのトークン>

6-2. ルート追加
Cloudflareダッシュボード > Tunnels > llama.cpp > ルート > ルートを追加
| 項目 | 設定 |
|---|---|
| アプリケーション名 | bonsai-llm |
| ドメイン | ★★.gogogogogogogogogogogo5555555555.uk |
| サービスの種類 | HTTP |
| URL | localhost:8080 |

7.TypingMindと連携
最後に、TypingMind(ChatGPTライクなチャットUI)でローカルLLMを使えるように設定しました。TypigMindについての解説はこちら。
カスタムモデルの追加
TypingMind > モデル > カスタムモデルを追加
| 項目 | 設定 |
|---|---|
| モデル名 | Bonsai-8B |
| APIエンドポイント | https://★★.gogogogogogogogogogogo5555555555.uk/v1/chat/completions |
| モデルID | Bonsai-8B-Q1_0.gguf |
| APIキー | my-bonsai-api |
注意:プラグインとの相性
TypingMindの高度なプラグイン(Web検索、画像生成など)はFunction Callingを使いますが、Bonsai 8Bでは完全にサポートされていない場合があります。--jinjaオプションで改善されますが、完全ではありません。
私の使い分けは以下の通りです:
| 用途 | モデル |
|---|---|
| 日常チャット・ローカル処理 | Bonsai 8B(無料・プライベート) |
| プラグインが必要なタスク | Gemini(無料枠)/MIMO(有料) |
8.実行結果と所感
| 項目 | 結果 |
|---|---|
| モデルサイズ | 1.15GB |
| スレッド数 | 8(物理コア数に固定) |
| コンテキスト | 8,192トークン |
| 必要メモリ | 約2.5GB |
| レスポンス | CPUでも十分使える速度(15t/s) |
| 外部アクセス | ✅ Cloudflare Tunnel経由で動作 |
| TypingMind連携 | ✅ カスタムモデルとして認識 |
| 自動起動 | ✅ タスクスケジューラ + Windowsサービス |
正直な感想:「GPUなしでもローカルLLMは動くんだ」 と驚きました。1ビット量子化の精度は、日常的なチャットや簡潔なタスクなら問題なく使えます。
Cloudflare Tunnelと組み合わせることで、自宅のPCをAPIサーバーとして使い、スマホやタブレットからもアクセスできるのはかなり便利です。API費用もゼロですし、プライバシーも確保できます。

まとめ
1-bit Bonsaiは、GPUなしの環境でもローカルLLMを実用的に動かせる画期的なモデルです。Cloudflare TunnelとTypingMindを組み合わせることで、チャットUIから外部アクセスまで、手軽なプライベートAI環境が構築できました。
