以下の記事を見てBonsai という1bit LLM に興味を持ちました.持ち運びマシンはあまり使っていないけどRAM 8GB あります.世代はIntel Core iの7世代目と少し古いけど遅くてもそこそこの速度で動くならいいかもと思い試してみました.
端末の主なスペックはざっくりこんな感じ.こうやって見ると古すぎるかもしれない…….
Panasonic CF-RZ6RFRVS Intel(R) Core(TM) i5-7Y57 CPU @ 1.20GHz Memory LPDDR3 4GiB x2 VGA Intel Corporation HD Graphics 615 Disk M.2 SATA 256 GB(used) OS Debian Trixie amd64
Bonsai の導入
導入は以下のREADME.md の通りに, setup.sh でvenv 環境を作って導入されました.
$ git clone https://github.com/PrismML-Eng/Bonsai-demo (1) $ cd Bonsai-demo $ BONSAI_MODEL=8B ./setup.sh (2)
リポジトリをclone
8B モデルで
setup.shを実行..venv以下に導入
Bonsai の実行
先ずはexample をそのまま叩いてみます.動きません.
$ BONSAI_MODEL=8B ./scripts/run_llama.sh -p "What is the capital of France?" [OK] Model: models/gguf/8B/Bonsai-8B.gguf [OK] Binary: /home/matoken/src/Bonsai-demo/bin/cuda/llama-cli [OK] Using -c 0 (auto-fit to available memory) [WARN] Auto-fit not supported, falling back to -c 8192
-c 8192 をつけても -c 4096 とかしても駄目です.
script 野中を見ると, 2>/dev/null となっていてSTDERR が出なくなっていそうです.
ということで呼ばれていそうな llama-cli を直に叩いてみるとエラーが出ました.
$ BONSAI_MODEL=8B bin/cuda/llama-cli bin/cuda/llama-cli: error while loading shared libraries: libcudart.so.12: cannot open shared object file: No such file or directory
libcudart.so.12 が見つからないと言われるので関連パッケージを導入してこれで動くようになりました.
$ apt-file search -x /libcudart.so.12$ libcudart12: /usr/lib/x86_64-linux-gnu/libcudart.so.12 $ sudo apt install libcudart12 nvidia-cuda-dev
2回目以降はこんな感じで実行
$ cd Bonsai-demo $ source .venv/bin/activate $ BONSAI_MODEL=8B ./scripts/run_llama.sh -p "What is the capital of France?"
しかし遅すぎます.8B モデルでこんな感じでちょっと辛い.
[ Prompt: 0.0 t/s | Generation: 0.0 t/s ]
Bonsai モデルダウンロード
他のモデルも試してみます.
$ BONSAI_MODEL=4B ./scripts/download_models.sh $ BONSAI_MODEL=1.7B ./scripts/download_models.sh
1.7B でもこんな感じでまだ遅いです.
[ Prompt: 0.1 t/s | Generation: 0.1 t/s ]
もう少し新しいマシンだとどうだろうと以下の端末でも少し試してみましたがやはり遅い.
CPU Intel Core i7-10510U RAM DDR4 8GiB *2
[ Prompt: 0.1 t/s | Generation: 0.1 t/s ]
[ Prompt: 0.4 t/s | Generation: 0.2 t/s ]
t/s では速度がわからないと思うので以下にcast をupload してみました.
大まかに
〜0:45 でモデル読み込み.
〜3:28 位から回答が帰って来はじめ,
〜8:40 くらいで回答完了.
生成AI での画像生成ならまだしもchat で壁打ちみたいな使い方には辛そうです.
と思ったらこんなニュースが.Llama.cpp 用の OpenVINO バックエンドが追加されたそうで,これを使うとiGPU でも速くなりそうです.
Note | OpenVINO は以前Stable Diffusion で試したことが. |

Reposts