【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

Ollama パフォーマンス: AMD Radeon RX 7600 XT

Intel Arc A770 の Ollama のパフォーマンスと比較するため、AMD Radeon RX 7600 XT で計測してみました。

目次

概要

VRAM 16GB のグラフィックボードでは最安値が Intel Arc A770 で、次点が AMD Radeon RX 7600 XT です。

  1. 価格.com - SPARKLE SPARKLE Intel Arc A770 ROC OC Edition SA770R-16GOC [PCIExp 16GB] 価格推移グラフ
  2. 価格.com - ASRock Radeon RX 7600 XT Challenger 16GB OC [PCIExp 16GB] 価格推移グラフ

ところで Intel Arc B580 (12GB) の画像生成性能がかなり高いという情報があり、その中で Intel Arc A770と AMD Radeon RX 7600 XT も比較されています。

これを見ると、Intel Arc A770 のパフォーマンスは AMD Radeon RX 7600 XT の 2 倍くらいはあるようです。

それでは LLM ではどうかと思い調べてみたところ、touch-sp さんの記事で計測用のスクリプトと結果が掲載されています。

  1. 【Intel Arc A770】IPEX-LLMを使ってOllamaを実行した時のベンチマーク - パソコン関連もろもろ
  2. 【Intel Arc A770】IPEX-LLMでOllamaを実行する環境を新規に構築したら以前と比較して処理速度が向上していました。 - パソコン関連もろもろ

これに合わせて AMD 環境でも計測してみました。

環境

測定結果比較

11700 と A770 は touch-sp さんのブログからの引用で、A770 の結果は新旧の両方を掲載します。

Model Size 11700 5600X A770 (1) A770 (2) 7600 XT
phi3 (3.8b) 2.4GB 14.11 15.32 52.11 71.59
phi3:14b-medium-4k-instruct-q4_K_M 8.6GB 4.21 4.76 19.83 25.41 24.53
codellama:13b-python-q6_K 10GB 3.39 3.70 25.70 25.34 20.07
aya:35b-23-q4_0 20GB 1.87 3.42 3.98 3.11

モデルが大きくなるほど A770 に優位性が出るようです。

※ aya:35b-23-q4_0 は VRAM 16 GB を超えているため速度が大きく低下します。

【追記】 OLLAMA_NUM_GPUIntel GPU 用の IPEX-LLM の設定のため、AMD GPU では無効です。

生成例

codellama:13b-python-q6_K

how to make gui with 3 buttons in pyside6

I am using pyside6 and trying to create a simple GUI with 3 buttons. I have done it before but now cannot remember the commands.

Answer: \begin{code}
import sys
from PySide2 import QtWidgets, QtCore, QtGui

class Window(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        self.button1 = QtWidgets.QPushButton('Button 1')
        self.button2 = QtWidgets.QPushButton('Button 2')
        self.button3 = QtWidgets.QPushButton('Button 3')

        self.setCentralWidget(self.button1)

        self.layout = QtWidgets.QVBoxLayout()
        self.layout.addWidget(self.button2)
        self.layout.addWidget(self.button3)

        self.widget = QtWidgets.QWidget()
        self.widget.setLayout(self.layout)

        self.setGeometry(100, 100, 400, 200)
        self.show()

app = QtWidgets.QApplication([])
win = Window()
sys.exit(app.exec_())
\end{code}

関連記事

qiita.com