FreeBSD一本槍おじさんもついにLLMをやってみる
以下、ubuntu デスクトップでちょこっと遊んでいたのをFreeBSDサーバに。
- ubuntuではかんたんに動いたので、行けるんではないかと錯覚する。(使ってるGPUは古すぎて実用性が低い)
- インストールはかんたんすぎるので拍子抜けしている。
- 手持ちのサーバでは、GPUはないが、40coreのがあるから、もしかしたらそんなのでも行けるのか・・・?
- 結論:入ったけど動かない( pkg ollamaは、GPUドライバ必須か?)
$ sudo pkg install misc/ollama
ubuntu 版と違うところ
- 入れただけでは、server は動かない = モデルとかコンテナ単位で管理してるので、そこから serve すれば CONSOLEに処理が・・・
- console それは ほぼ docker だった(
そもそも文化的に苦手なのはそれ)
(挿してないんで)GPU が必要なモデルは動かない
基本的にLLMをオンプレミスでやるんならサーバでもGPUのほうが良い。
aya-expanse ❌
Terminating due to uncaught exception 0x1feb8ac45780 of type vk::IncompatibleDriverError
time=2025-01-12T17:09:05.539+09:00 level=ERROR source=sched.go:451 msg="error loading llama server" error="llama runner process has terminated: error loading model: vk::createInstance: ErrorIncompatibleDriver"
phi3 を試す ❌
ollama run phi3
pulling manifest
pulling 633fc5be925f... 100% ▕████████████████▏ 2.2 GB
pulling fa8235e5b48f... 100% ▕████████████████▏ 1.1 KB
pulling 542b217f179c... 100% ▕████████████████▏ 148 B
pulling 8dde1baf1db0... 100% ▕████████████████▏ 78 B
pulling 23291dc44752... 100% ▕████████████████▏ 483 B
verifying sha256 digest
writing manifest
removing any unused layers
success
Error: llama runner process has terminated: error loading model: vk::createInstance: ErrorIncompatibleDriver
結論:GPU前提のモデルが普通なので、良く探す。またはサーバにGPUを積む。
gpuつかわんモデルを探す。
→ google様に伺う: https://ollama.com/steamdj/llama3.1-cpu-only
性能出るかわからんけど入れてみんとす。
Error: llama runner process has terminated: error loading model: vk::createInstance: ErrorIncompatibleDriver
- IncomatibleDriver というのが問題か?
→ FreeBSD-Jail でやっているので物理的なドライバが何もあたってない可能性・・ - ちなみに16Gメモリのサーバでやってみたところ:
Error: model requires more system memory (4.7 GiB) than is available (2.5 GiB)
メモリ足らないので門前払いされます。
物理サーバ直下でやってみる(これで駄目なら今回のテストは終わり)
- ドライバが駄目なのも変わらず
- ollama はそもそも物理ドライバの条件、CUDAありきに見受けられるので、後でllama-cpp をやってみる → https://qiita.com/strnh/items/088515ac98aa4872f2e6 ことにする。
まとめ
- ollamaは基本手軽だが、FreeBSDでは面倒くさいことになりそうなので、一般人は、ubuntuサーバでやろう。
- 実用を考えるなら 大枚を積んでGPUを買うか、クラウドに行けば幸せになれると思う。