はじめに
IPEX-LLMを使わずにSYCL backendでOllamaを実行することに成功しました。IPEX-LLMを使った時と速度比較してみました。ベンチマーク測定方法
前回同様に行いました。touch-sp.hatenablog.com
結果
phi3:3.8b (model size: 2.4GB)
with IPEX-LLMtokens per second: 52.11 tokens/second
with SYCL backend
tokens per second: 37.73 tokens/second
phi3:14b-medium-4k-instruct-q4_K_M (model size: 8.6GB)
with IPEX-LLMtokens per second: 19.83 tokens/second
with SYCL backend
tokens per second: 14.53 tokens/second
codellama:13b-python-q6_K (model size: 10GB)
with IPEX-LLMtokens per second: 25.70 tokens/second
with SYCL backend
tokens per second: 15.80 tokens/second
aya:35b-23-q4_0 (model size: 20GB)
with IPEX-LLMtokens per second: 3.42 tokens/second
with SYCL backend
tokens per second: 2.84 tokens/second
結論
IPEX-LLMを使った方が速い!!ただしSYCL backendで動かす方法はまだ開発段階です。
SYCL backendでOllamaを動かす方法
こちらの方法と同じように準備しました。touch-sp.hatenablog.com
異なる点だけ載せておきます。
最新のCMakeをインストール
Ollamaをソースからビルドする時に必要になります。こちらから「CMake-3.29.5.tar.gz」をダウンロードしました。
sudo apt install build-essential checkinstall zlib1g-dev libssl-dev tar -zxvf CMake-3.29.5.tar.gz cd CMake-3.29.5 sudo ./bootstrap sudo make sudo make install hash -r cmake --version
Ollamaをソースからビルド
まだ正式に公開されたものではないためソースからビルドする必要があります。git clone https://github.com/dhiltgen/ollama -b gpu_incremental_intel cd ollama go generate ./... go build .