はじめに
数日前にVulkanバックエンドでOllamaを動かしました。touch-sp.hateblo.jp
今回はSYCLバックエンドで動かしてみます。Vulkanとの速度比較もしました。
以前にも同じことをしましたが、最近はIPEX-LLMチームが「Ollama Portable」というのを公開してくれていて設定は非常に簡単です。
github.com
以前の記事はこちらです。
touch-sp.hatenablog.com
実行
cd PATH/TO/EXTRACTED/FOLDER ./start-ollama.sh
この後は別のターミナルを立ち上げるとollamaが使えます。
cd PATH/TO/EXTRACTED/FOLDER ./ollama run phi4
モデルの保存先は以下になっていました。
/home/$USER/.ollama/models
結果
phi4を実行したときの結果です。確かにGPUが使われています。
llm_load_tensors: offloading 40 repeating layers to GPU llm_load_tensors: offloading output layer to GPU llm_load_tensors: offloaded 41/41 layers to GPU
ベンチマーク
使用したPCはこちらです。プロセッサ Intel(R) Core(TM) i7-11700 実装 RAM 64.0 GB GPU Intel Arc A770 (VRAM 16GB)
こちらの記事と同じ方法でベンチマークを取ってみました。
touch-sp.hatenablog.com
SYCLバックエンド
tokens per second: 22.18 tokens/second
Vulkanバックエンド
tokens per second: 10.01 tokens/second
現在はVulkanよりはるかに速いです。
ただしOllamaのバージョンはv0.5.4です。