【Intel Arc A770】IPEX-LLMを使ってOllamaを実行した時のベンチマーク

はじめに

前回Ubuntu 22.04にIPEX-LLMをインストールしてOllamaを実行しました。
touch-sp.hatenablog.com
今回いろいろなモデルでベンチマークを取りました。

ベンチマーク測定方法

別のPC(Windows PC)のPythonからAPI連携してベンチマークを取りました。

Pythonスクリプト

urlは各自変更して下さい。

import requests
import json

def post_request():

    url = "http://192.168.10.12:11434/api/generate"
    
    data = {
        #"model": "phi3:latest",
        #"model": "phi3:14b-medium-4k-instruct-q4_K_M",
        "model": "codellama:13b-python-q6_K",
        "prompt": "how to make gui with 3 buttons in pyside6",
        "options": {
            "max_tokens": 500,
            "temperature": 0.5,
        }
    }

    response = requests.post(url, json=data)

    if response.status_code == 200:
        response_list = list(response.iter_lines())
        decoded_line = json.loads(response_list[-1].decode('utf-8'))
        eval_count = decoded_line.get("eval_count")
        eval_duration = decoded_line.get("eval_duration")

    return eval_count, eval_duration

if __name__ == "__main__":

    tokens_list = []
    time_list = []
    for _ in range(3):
        eval_count, eval_duration = post_request()
        tokens_list.append(eval_count)
        time_list.append(eval_duration)
    
    total_tokens = sum(tokens_list)
    total_time = sum(time_list)
    rate = (total_tokens / total_time) * 10**9

    print(f"tokens per second: {rate:.2f} tokens/second")

結果

CPU(Intel Core i7 11700)とGPU(Intel Arc A770)を比較しています。

phi3:3.8b (model size: 2.4GB)

CPU

tokens per second: 14.11 tokens/second

GPU

tokens per second: 52.11 tokens/second

phi3:14b-medium-4k-instruct-q4_K_M (model size: 8.6GB)

CPU

tokens per second: 4.21 tokens/second

GPU

tokens per second: 19.83 tokens/second

codellama:13b-python-q6_K (model size: 10GB)

CPU

tokens per second: 3.39 tokens/second

GPU

tokens per second: 25.70 tokens/second

aya:35b-23-q4_0 (model size: 20GB)

Intel Arc A770のVRAM 16GBを超えているモデルです。
「export OLLAMA_NUM_GPU=28」で実行しました。それ以上の数字を設定するとPCが固まりました。
CPUは測定していません。
GPU

tokens per second: 3.42 tokens/second




このエントリーをはてなブックマークに追加