Intel MacでBonsai-8Bを動かす
環境
- Mac Pro 2013 OCLP Sequoia
- 古すぎてMetalが使えないのでOpenBLASとGGMLを使う。
手順
homebrew で必要なものを入れる
% brew install cmake pkg-config openblas uv
llama.cpp bonsai カスタム版を入れる
% git clone https://github.com/PrismML-Eng/llama.cpp
% cmake -B build \
-DGGML_BLAS=ON \
-DGGML_BLAS_VENDOR=OpenBLAS \
-DCMAKE_PREFIX_PATH="/usr/local/opt/openblas" \
-DBLAS_LIBRARIES="/usr/local/opt/openblas/lib/libopenblas.dylib" \
-DBLAS_INCLUDE_DIR="/usr/local/opt/openblas/include"
% cmake --build build --config Release --parallel $(sysctl -n hw.ncpu)
cd ..
bonsai のモデルをダウンロード
brewで入れたuvを使ってモデルをダウンロードする
% uvx hf download prism-ml/Bonsai-8B-gguf --local-dir ./models
cli で動かす
% ./llama.cpp/build/bin/llama-cli -m models/Bonsai-8B.gguf
チャットできるようになった。めっちゃ遅い。
Web UI / Web API を動かす
% ./llama.cpp/build/bin/llama-server \
-m ./models/Bonsai-8B.gguf \
-ngl 99 \
--host 0.0.0.0 \
--port 18080 \
--api-key local-bonsai \
--alias bonsai-8b
Web APIが動いているか確認する
http://localhost:18080/v1/models
こんな感じの応答があれば動いている
{"models":[{"name":"bonsai-8b","model":"bonsai-8b","modified_at":"","size":"","digest":"","type":"model","description":"","tags":[""],"capabilities":["completion"],"parameters":"","details":{"parent_model":"","format":"gguf","family":"","families":[""],"parameter_size":"","quantization_level":""}}],"object":"list","data":[{"id":"bonsai-8b","aliases":["bonsai-8b"],"tags":[],"object":"model","created":1775728104,"owned_by":"llamacpp","meta":{"vocab_type":2,"n_vocab":151669,"n_ctx_train":65536,"n_embd":4096,"n_params":8188548096,"size":1152704128}}]}
OpenClawも試してみたが、思考数が多いと全く反応がなくなる。使い物にならない。
結論
これだけ古いMacを動かすのは、電気代の無駄であり、まったくエコではない。
なにも得られるものはない。