Ternary Bonsai モデルとは
最近話題の 1bit LLM です。
Qwen3 8B 相当が、なんと1.15GBメモリの使用で動いてしまいます。
Bonsaiについての参考記事:https://note.com/humble_bobcat51/n/n61ac9247ab6c
Ternary Bonsai: https://prismml.com/news/ternary-bonsai
そんなわけで、Ternary Bonsai を試したかったのですが
手頃に接続できるチャットインターフェースが手元にありませんでした。
StreamlitやPythonから接続するのもちょっとな......と思い
Nim言語で作ってしまいました。
まずは Ternary Bonsai モデル自体の実行はこれだけ!
$ pip3 install mlx_lm
# 実行コマンド。初回は 1.5GB のモデルダウンロードが走ります。
$ python3 -m mlx_lm server --model prism-ml/Ternary-Bonsai-8B-mlx-2bit --port 8082
nimchat とは
こちら実はNim言語日本コミュニティのリポジトリとして作成したものになります。
おなじくコミュニティ上で開発している Crown フレームワーク と
UIコンポーネントライブラリの Tiara を使用して開発しました。
nimchat の実行
Nimの実行環境があれば、リポジトリをCloneしてきて下記コマンドで実行できます。
Nimの実行環境については一番下に環境構築を書いておきますね!
# ライブラリインストール
$ nimble install
# 実行
$ crown dev
デフォルトは8000番ポートで起動します。
初回起動時には接続先設定のダイアログが表示されるため、
ここにBonsaiのサーバーURLを入力すると接続されます。
BonsaiのデフォルトURL: http://127.0.0.1:8002/
今回はモデル指定なしで大丈夫です。
これでローカルに立てた Bonsai モデルに気軽にチャットが可能になります!
もしよければ使ってみてください〜!
補足:Nim環境構築
Windowsの人
https://github.com/dom96/choosenim/releases
のGithubから最新のバージョンのものを選び、
Windows用の choosenim-0.8.4_windows_amd64.exe をダウンロードします。
choosenim-0.8.4_windows_amd64.exe を choosenim.exe にリネームします。
コマンドプロンプトやPowerShellからchoosenim.exeをコマンドとして使えるので、これを使って次のコマンドを実行して最新版のインストールをします。
choosenim.exe stable
Linux / Intel Macの人
次のコマンドを実行します。
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
or
wget -qO - https://nim-lang.org/choosenim/init.sh | sh
M1 Macの人
M1Macではchoosenimを使えないので、Homebrewからインストールします。
brew install nim

