BonsaiをWindowsでローカル実行:1-bitモデル、画像入力、MCPツール呼び出し

Bonsaiの1-bitモデルと三値モデルをWindowsで実行し、モデルサイズ、画像入力、MCPツールを設定しながら、メモリ、速度、品質のトレードオフを解説します。

Bonsai は、低ビットのネイティブ モデルのセットです。公式デモ リポジトリは 1.7B、4B、8B、27B のサイズを提供し、チャット、ビジョン、推論強度、OpenAI スタイルのツール呼び出し、MCP を統合します。

プロジェクトアドレス:

https://github.com/PrismML-Eng/Bonsai-demo

「1 ビット」とは、モデルの実行時にパラメーターの数を 8 で割るだけの単純な値であることを意味するものではありません。重みは非常に小さく圧縮できますが、推論には KV キャッシュ、ランタイム、コンテキスト、画像エンコーディングなどの追加メモリが必要です。モデルを選択するときは、ダウンロード ファイルのサイズだけでなく、マシン全体で利用可能なメモリを確認してください。

最初に 1 ビットまたは 3 値モデルを選択します

公式デモでは 2 つのモデル ファミリが提供されます。

家族 特長 適したシーン
1ビット盆栽 より小さい重量サイズ、約 1.125 ビット/重量 容量とモバイル デバイスの実験を優先する
三元盆栽 約 2 ビット、高品質、デモ用のデフォルト オプションにパッケージ化 デスクトップの毎日のチャット、ビジュアル、ツール呼び出し

初めて実行する場合は、デフォルトの Ternary-Bonsai を選択することをお勧めします。 「1 ビット」の方が目を引くからといって、より良い結果を得るためにこれをデフォルトにしないでください。

Windows インストール前の準備

以下を準備することをお勧めします。

  • 64 ビット Windows 11。
  • Git;
  • PowerShell;
  • 十分なメモリとディスク容量。
  • Hugging Face にアクセスできるネットワーク。
  • 27Bモデルにはハグフェイストークンが必要です。

スクリプトとモデルの利用可能状況はバージョンによって異なる場合があります。実行する前にウェアハウスの README を確認し、古いチュートリアルのモデル アドレスを永久に書き留めないでください。

プロジェクトのクローンを作成します

1
2
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo

最初に利用可能なスペースを確認します。

1
Get-PSDrive -PSProvider FileSystem

モデル、キャッシュ、バイナリ ファイルは数 GB から数十 GB を占有する場合があります。システムディスクの空き容量が不足している場合は、直接ダウンロードを開始しないでください。

モデルのサイズを選択してください

デフォルトでは 27B が使用されます。

1
$env:BONSAI_MODEL = "27B"

通常のコンピューターの場合は、4B または 8B から始めることをお勧めします。

1
$env:BONSAI_MODEL = "4B"

3 つの値のモデル ファミリを選択します。

1
$env:BONSAI_FAMILY = "ternary"

1 ビットをテストしたい場合:

1
$env:BONSAI_FAMILY = "1bit"

環境変数は現在の PowerShell セッションに対してのみ有効であり、ウィンドウを閉じた後にリセットする必要があります。

Hugging Face Tokenを設定する

選択したモデル リポジトリに認証が必要な場合:

1
$env:BONSAI_TOKEN = "hf_your_token_here"

実際のトークンを記事、スクリプト、Git リポジトリ、または端末のスクリーンショットに書き込まないでください。使用後にクリアできます。

1
Remove-Item Env:BONSAI_TOKEN

401 または 403 が表示された場合は、まず [Hugging Face] ページでモデル権限を受け入れていることを確認し、次にトークンに読み取り権限があるかどうかを確認します。

インストール スクリプトを実行する

Windows の公式プロセス:

1
2
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup.ps1

-Scope Process は、現在の PowerShell プロセスにのみ影響します。端末を閉じた後に元のポリシーを復元することは、システム実行ポリシーを永続的に下げるよりも信頼性が高くなります。

このスクリプトは、環境変数に基づいて依存関係をインストールし、モデルをダウンロードし、実行に必要なバイナリを準備します。ダウンロードが中断されたときに、ディレクトリ全体を繰り返し削除しないでください。まず、キャッシュとスクリプトのサポートがダウンロードを継続しているかどうかを確認します。

コマンドラインテスト

インストールが完了したら、プロンプトの単語を直接送信できます。

1
.\scripts\run_llama.ps1 -p "请用三句话解释什么是低比特大模型"

モデルがロードできることを確認したいだけの場合は、最初に短いヒント単語と短いコンテキストを使用します。コンテキストが長いと、KV キャッシュが大幅に増加し、最初に起動されたモデルが突然メモリ不足になる可能性があります。

Web チャット インターフェイスを開始します

公式デモでは、ローカルの llama サーバーを起動し、デフォルトでチャット、ビジュアル、およびツール呼び出しインターフェイスを提供できます。ウェアハウス内の現在の Windows スクリプトはバージョンに合わせて調整されている可能性があります。最初に確認できます。

1
Get-ChildItem .\scripts\*server*

起動後、通常は以下にアクセスします。

1
http://localhost:8080

ポートにアクセスできない場合は、プロセスがまだ実行中かどうか、ファイアウォール プロンプトが拒否されているかどうか、8080 が他のプログラムによって占有されているかどうかを確認してください。

視覚能力の使い方

Bonsai デモは、写真、スクリーンショット、PDF の送信をサポートしています。実際に使用する場合は以下の点に注意してください。

  • 画像は追加のメモリを占有します。
  • 高解像度のスクリーンショットは、必ずしもより正確なテキスト認識につながるわけではありません。
  • PDF に多くのページがある場合は、最初に分割するか、関連するページのみを送信する必要があります。
  • プライベート文書はローカルで推測されますが、インターフェイス、ログ、および一時ファイルの保存場所を確認する必要があります。

最初に簡単なスクリーンショットを使用してテストできます。モデルにページ ボタンのリストを要求し、エラー メッセージを説明してから、目に見えないコンテンツが捏造されているかどうかを確認します。

ツール呼び出しと MCP

デモは OpenAI スタイル tool_calls をサポートしており、デモ インターフェイスで MCP サーバーに接続できます。モデルはツール呼び出しを行いますが、実際にツールを実行するのはホスト プログラムです。

ファイル、端末、またはブラウザ MCP にアクセスする前に、まず次のことを確認する必要があります。

  1. サーバーによってどのようなツールが公開されますか?
  2. 指定された作業ディレクトリに制限するかどうか。
  3. 危険なコマンドには手動による確認が必要かどうか。
  4. ツールの出力がチャット ログに書き込まれるかどうか。
  5. モデルが失敗した場合、モデルは繰り返し呼び出されますか?

低ビットモデルのサイズが小さいからといって、ツール呼び出しの判定が信頼できる必要があるわけではありません。ファイルの削除、シェルの実行、メッセージの送信、または外部システムの変更に関しては、承認と最小限の権限を保持する必要があります。

コンピューターはどのくらいの大きさのモデルを実行できますか?

以下は控えめな出発点としてのみ使用できます。実際の要件は、モデルの形式、コンテキストの長さ、実行中のバックエンド、およびビジュアル入力によって影響されます。

利用可能なメモリ 推奨される開始点
8GB 1.7B、短いコンテキスト、他の大きなプログラムを閉じる
16GB 4B、最初にテキストチャットをテストします
32GB 8B、コンテキストと視覚的入力を段階的に追加
64GB以上 27B を検討し、システムと KV キャッシュ領域を予約します。

たとえ 27B の重みがメモリに収まるとしても、速度はメモリ帯域幅と CPU 命令セットによって制限される可能性があります。ロードできるからといって、インタラクティブなエクスペリエンスがスムーズであるとは限りません。

## よくある質問

よくある問題

PowerShellでスクリプトを実行できない

現在のプロセスに対してのみリリース:

1
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

コンピュータ全体の永続実行ポリシーを直接変更しないでください。

モデル ダウンロード レポート 401 または 403

モデルに権限が必要かどうか、BONSAI_TOKEN が存在するかどうか、トークンに読み取り権限があるかどうかを確認します。

1
Test-Path Env:BONSAI_TOKEN

ロード時のメモリ不足

より小さいモデルに変更します。

1
2
$env:BONSAI_MODEL = "4B"
.\setup.ps1

また、コンテキストを短くし、ビジュアル入力やその他のメモリを消費するソフトウェアをオフにします。物理メモリを大幅に超えるモデルを「ハード実行」するために Windows ページ ファイルに依存しないでください。通常、速度は非常に悪くなります。

生成速度が非常に遅い

実際に使用されているバックエンド、CPU 命令セット、スレッド設定を確認してください。最初の実行には、モデルのロード、キャッシュ、またはカーネルの準備時間も含まれる場合があり、最初のラウンドのレイテンシーは、後続の生成速度とは別に考慮する必要があります。

MCP は接続できますが、ツール呼び出しが不安定です

最初に、パラメータが 1 つだけ、つまり単純な読み取り専用パラメータのみを備えたツールを使用してテストします。小さなモデルで誤ったパラメータが頻繁に入力される場合は、ツールの数を減らすか、明確な説明を追加するか、モデル ファミリとサイズを高品質のものに置き換える必要があります。

BonsaiとOllamaの選び方

Ollama はモデルの実行および管理ツールであり、Bonsai はモデルとそのデモ環境です。この 2 つは同じレイヤーの製品ではありません。

  • 複数の一般的なモデルを一元管理し、すぐにAPIを提供したい場合:Ollamaを優先。
  • 1 ビット/トリプル ウェイトを研究し、公式ビジュアルとツールチェーンをテストしたい場合: Bonsai デモを使用します。
  • Bonsai を既存のアプリケーションに組み込む場合: まず、現在の形式がランタイムによって直接ロードできるかどうかを確認します。
  • 「より小さいモデル ファイル」を見るだけでは解決策を決定するのに十分ではなく、品質、速度、コンテキスト、ツール呼び出しの信頼性も比較します。

最初に 4B Ternary-Bonsai を使用してテキスト、ビジュアル、読み取り専用 MCP ツールの閉ループを完了してから、27B をダウンロードするか 1 ビット ファミリに切り替えるかを決定することをお勧めします。