LLMをWindowsローカルマシンで実行し、AMD RX6600Mを使う。(LM Studio, KoboldCpp-rocm)

はじめに

AMD RX6600M GPUを搭載したWindowsマシンで、テキスト生成用途にLLM実行環境を試したときのメモです。

LM Studio、Ollama、KoboldCpp-rocm、AnythingLLMの各ソフトウェアの使用感、GPU動作について紹介します。

結論として、この中ではLM StudioKoboldCpp-rocmAMD RX6600Mを利用して動きました。

モデルについて

LM Studio、KoboldCpp-rocmについては、GGUF形式にしたモデルを読み込みます。

huggingface.co

こちらからMeta-Llama-3-8B-Instruct-Q4_K_Mを読み込ませて使用したところ、一瞬PCが重く感じる場面もありましたが動作しました。

なお自分が触った範囲では、MetaのLlama 3が最も頭が良さそうな回答をしてくれました。(ただし通常の回答は英語)

使用感と利点・欠点

1. LM Studio

LM Studioは、モデルの検索から実行、対話までを一貫して行えるUIを持っています。サーバーとしてバックエンドで使用することも可能です。

これだけで実行に必要な全てが揃い、手間がかかりません。

AMDのBlogでも紹介されています: How to run a Large Language Model (LLM) on your AM... - AMD Community

利点

  • 単体で完結する
  • 一貫したUIで操作が簡単
  • 細かい設定の変更も可能

欠点

  • チャットUI使用時の細かいログが見当たらない
  • AMD RX6600MはOpenCLを使って動く

lmstudio.ai

2. Ollama

OllamaはCLIベースで動作するLLMローカル実行ソフトです。GUIは別途用意する必要があります。多くの実行環境に組み込まれたり、サーバーに使われているようです。

利点

  • モデルのダウンロードと実行が簡単
  • 使用実績が多い

欠点

  • GUIがないため、初心者には敷居が高い
  • AMD RX6600Mで動作しない(ROCmライブラリ未対応)

なお、バージョン0.2.23で動作します。

ollama.com

3. KoboldCpp-rocm

KoboldCpp-rocmは、紹介する中で唯一AMD RX6600Mを使って動きました。細かい設定が可能で、また特徴的な使い方があります。

KoboldCppのROCmライブラリ対応版です。

利点

  • AMD RX6600Mを利用可能
  • コンテキストやシナリオなどの多様な設定が可能

欠点

  • ドキュメントが少ない
  • UIや用語、動作を理解する必要がある
導入と設定

起動すると設定画面が出ます。

KoboldCppの設定画面

デフォルトから変更したのは以下の通りです。

  • Low VRAMにチェック
  • GPU Layersを32
  • Modelを選択

LowVRAMのチェックを外すと、回答中にAccess Violationで落ちることあります。Context Sizeを小さくすればある程度防げますが、こちらにチェックをしたほうが安定します。

速度は遅くなるようですが、そもそも初回の回答に数十秒(ContextとプロンプトToken数による)、それ以降も10 token/sくらいなので体感としてはあまりわかりませんでした。(それでもCPU動作より速い)

Launchボタンを押すと起動してブラウザーのウィンドウが開きます。

Kobold Liteの画面

Settingsを開き、FormatをInstruct Mode、 Instruct Tag PresetをLlama3 Chatにします。

Kobold LiteのSettings

Contextから毎プロンプトごとに送るMemoryを設定できます。

Kobold LiteのContext設定

あとはメッセージを送れば対話できます。

なお、MemoryやSessionの設定・用語を見るとわかるとおり、Koboldはキャラクターや世界観を保ったままストーリー生成やRPGのセッションを行う目的が強いようです。

Kobold LiteのSession

4. Anything LLM

Anything LLMは、アップした文書を参照させて対話することが特徴です。LM Studioと同様にシンプルなUIです。

バックエンドとしてOllama, LM Studio, KoboldCppやクラウド上のAPI接続など他のシステムが必要です。

AMDのBlogでも紹介されています: How to enable RAG (Retrieval Augmented Generation)... - AMD Community

利点

  • シンプルなUIで簡単にセットアップ可能
  • 文書参照機能
  • LM Studio, KoboldのAPIで動作するのでRX6600Mを利用できる

欠点

  • 細かなモデルごとのプロンプト調整などが難しい
  • UIは一貫しているが、細かい設定はなく長い回答が分割されたりする

useanything.com

まとめ

Windowsローカル環境でAMD RX6600Mを利用したいならLM StudioかKoboldCpp-ROCmを使う。

文書参照をしたいならAnything LLMを使う。

なおLM Studioが一番簡単ではありますがKoboldCppは多様な機能を持っているので、小説生成・シナリオ作成などの用途ではKoboldCppが適しているのではないかと思います。