0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LLMでCPUオフロード時のパフォーマンス差を計測する

0
Posted at

1. はじめに

OllamaでLLMを動かす際、モデルのサイズによっては自動的にCPUオフロードされますが、個人的には著しくパフォーマンスが低下しているようには感じられませんでした。筆者が鈍いだけかもしれませんが、GPUだけで動かしたときと比べてどの程度の差があるか数値で比較してみることにします。
※ モデルのサイズがVRAM内に収まることは確認済です。

2. パフォーマンス比較手順

筆者の貧弱なPC環境でも動作する1bのgemma3を使用し、ollama runコマンドをverboseオプション付きで実行して、出力結果を比較することにします。

ollama run gemma3:1b --verbose "AIについて教えて"

LLMへの質問は、回答がある程度の文章量となるよう、以下の3種類を使用することにします。

  • 質問1: AIについて教えて
  • 質問2: 宇宙について教えて
  • 質問3: フランスについて教えて

PC環境は以下の通りです。Ivy Bridgeおじさん代表として頑張ります。

  • グラフィックボード: NVIDIA GeForce GT 1030 GDDR5 2GB
  • メモリ: 16GB
  • CPU: Core i7-3770
  • OS: Windows 11 Pro 24H2
  • Ollama: 0.32.13

3. 計測結果

3.1. 質問1

項目 CPUオフロード GPUのみ
total duration 35.6213227s 33.7988335s
load duration 784.0427ms 773.8901ms
prompt eval count 13 token(s) 13 token(s)
prompt eval duration 412.27ms 226.327ms
prompt eval rate 31.53 tokens/s 57.44 tokens/s
eval count 674 token(s) 754 token(s)
eval duration 34.401961s 32.761027s
eval rate 19.59 tokens/s 23.02 tokens/s

3.2. 質問2

項目 CPUオフロード GPUのみ
total duration 48.9528754s 51.0145176s
load duration 777.9191ms 786.2553ms
prompt eval count 13 token(s) 13 token(s)
prompt eval duration 452.681ms 238.992ms
prompt eval rate 28.72 tokens/s 54.40 tokens/s
eval count 896 token(s) 1158 token(s)
eval duration 47.695124s 49.959089s
eval rate 18.79 tokens/s 23.18 tokens/s

3.3. 質問3

項目 CPUオフロード GPUのみ
total duration 45.9193001s 42.7725076s
load duration 783.6216ms 787.6288ms
prompt eval count 13 token(s) 13 token(s)
prompt eval duration 337.687ms 214.219ms
prompt eval rate 38.50 tokens/s 60.69 tokens/s
eval count 876 token(s) 962 token(s)
eval duration 44.777592s 41.736391s
eval rate 19.56 tokens/s 23.05 tokens/s

4. まとめ

今回のケースではCPUオフロードの有無に関わらず、合計処理時間(total duration)は大差が無いように見受けられます。

ちなみに生成トークン数(eval count)が異なるためかもしれませんが、GPUのみでも合計処理時間が数秒遅くなるケースも発生しました(質問2)。

なお「prompt eval rate」における「tokens/s」の値はGPUのみの方が速かったため、LLMへの質問文が今回のケース(13トークン)よりも長くなると合計処理時間がどうなるか、追加検証する必要があるかもしれません。

「eval rate」における「tokens/s」の値はGPUのみの方が速かったため、LLMによる純粋な回答生成処理については一般論の通りGPUに任せると速いと言えそうです。

値の計測はしませんでしたが、CPUオフロード時はCPU使用率が上昇し、他のタスクに影響を与える場合もあるようでした。LLMと並行で実施するタスクがある場合には、CPUオフロードを抑止すべきか判断すると良いと思われます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?