1bit LLMのBonsaiをLinux amd64環境で試す

以下の記事を見て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)
  1. リポジトリをclone

  2. 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 モデルダウンロード

他のモデルも試してみます.

$ 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
8B
[ Prompt: 0.1 t/s | Generation: 0.1 t/s ]
1.7B
[ 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 でも速くなりそうです.

Reposts

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)