AMD Radeon PRO W6800を使ってローカルLLM環境を構築する その2

LM Studioのアプリケーション画面におけるモデル一覧と詳細情報の表示

自作PCのパーツ更新を繰り返していると、手元にはCPUやマザーボードなどの余剰パーツが蓄積されていきます。 今回はこれらの余剰パーツを有効活用しつつ、Radeon PRO W6800の32GB VRAMを活用したローカルLLM専用サーバーを構築しました。

最新のGemma 4を快適に動作させるために必要なVRAMの余力と、宅内ネットワークのどこからでもAPI経由で推論機能を利用できる「常駐サーバー」としての運用手法について備忘録としてまとめます。

ローカルLLM専用計算機の構成

今回まとめたPCの構成は以下の通りです。
以前はパーツ更新時の余剰部品を組み合わせた予備機として運用していましたが、 現在はRadeon PRO W6800のポテンシャルを活かしつつ、ローカルLLM環境を構築する目的で運用しています。

項目 スペック
CPU AMD Ryzen 5 4500 (6C/12T)
マザーボード ASUS PRIME A520M-E
GPU AMD Radeon PRO W6800 (32GB VRAM)
メモリ DDR4-3200 32GB
ストレージ WD Black SN700 500GB (NVMe Gen3)
OS Ubuntu 24.04.4 LTS

用意したもの

Ryzen 5 4500

スペック

Ryzen 5 4500は、6コア12スレッドを持つZen 2アーキテクチャのプロセッサです。

www.amd.com

選定理由

ローカルLLMの推論処理ではGPUの演算能力とVRAM容量に依存します。
CPUはOSの安定稼働とGPUへのデータ転送を支える最低限の性能を満たす程度のスペックに抑えています。 余剰パーツとして手元にあったことから利用していますが、現在は入手が難しいため、同等の性能をもつ現行モデルで代替できると思います。

ASUS PRIME A520M-E

スペック

エントリー向けのAMD A520チップセットを搭載したMicro-ATXマザーボードです。 基本的な拡張性と安定性を備えており、コンパクトなケースにも収まりやすい設計です。

www.asus.com

選定理由と制約事項

このマザーボードを選んだ最大の理由は、低価格でありながら必要最低限の機能が備わっていたからです。
特に、PCIeスロットがGen 3までの対応となっている点は、最新のGPUを活用する上での制約となりますが、コストを抑えるための妥協点としています。 Ryzen 5 4500側もPCIe Gen 3に対応しているため、全体のバランスを考慮してこの組み合わせを選びました。

一方で、Radeon PRO W6800自体はPCIe Gen 4に対応していますが、A520チップセットではGen 3での接続となります。 一度VRAM上にモデルが展開された後の推論速度への影響は限定的と考え、システム全体の簡素化とコストを優先した妥協点としています。

AMD Radeon PRO W6800

スペック

Radeon PRO W6800は、ワークステーション向けのグラフィックスカードです。 RDNA 2アーキテクチャを採用しており、ビデオメモリとして32GBのGDDR6メモリを搭載しています。

GPU導入時の経緯は以前の記事にまとめています。

takuya1984.hatenablog.com

ソフトウェアのセットアップ

LM Studio

LM StudioのGUI版は、ROCmランタイムのセットアップやモデルの検索・管理に利用しています。 複雑なライブラリの依存関係を意識することなく、GPU最適化されたモデルを容易に導入できます。

lmstudio.ai

LM Studioのアプリケーション画面におけるモデル一覧と詳細情報の表示

LM Studio CLI(lmsコマンド)

実際の推論サーバーとしての運用には、LM StudioのCLIツールであるlmsコマンドを使用しています。 ターミナルから直接モデルのロードやサーバーの起動を行えるため、GUIを立ち上げ続ける必要がなく、リソースを効率的に活用できます。 また、後述するsystemdによるデーモン化とも相性が良く、常駐サーバーとしての運用が楽になりました。

lmstudio.ai

# lms コマンドの使い方
$ lms --help
Usage: lms [options] [command]

Local models
   chat               Start an interactive chat with a model
   get                Search and download local models or presets
   load               Load a model
   unload             Unload a model
   ls                 List the models available on disk
   ps                 List the models currently loaded in memory
   import             Import a model file into LM Studio

Serve
   server             Commands for managing the local server
   log                Log incoming and outgoing messages

Remote Instances
   link               Commands for managing LM Link

Runtime
   runtime            Manage and update the inference runtime

Develop & Publish (Beta)
   clone              Clone an artifact from LM Studio Hub to a local folder
   push               Uploads the artifact in the current folder to LM Studio Hub
   dev                Starts a plugin dev server in the current folder
   login              Authenticate with LM Studio
   logout             Log out of LM Studio
   whoami             Check the current authentication status

Learn more:           https://lmstudio.ai/docs/developer
Join our Discord:     https://discord.gg/lmstudio


# モデルのロードとサーバーの起動例
$ lms load google_gemma-4-26b-a4b-it
$ lms server start

# サーバーのステータス確認
$ lms status
Server: ON (port: 1234)

Loaded Models
  · google_gemma-4-26b-a4b-it - 17.04 GB

systemdによるデーモン化

Ubuntu環境での利便性を高めるため、systemdを利用して常駐プロセス(daemon)として運用しています。
これにより、OS起動時に自動的に推論サーバーが立ち上がり、いつでもAPI経由でLLMを利用できる環境になりました。

Gemma 4 (26B) の実行結果

現在は、Googleの最新モデルである google_gemma-4-26b-a4b-it をメインに稼働させています。
26Bクラスのモデルですが、4bitで量子化されたQ4_K_Sを利用しており、W6800の32GBのVRAMに収まるサイズになります。

推論パフォーマンスと安定性

すべてのレイヤーをVRAM上にオフロードできるため、CPUへのフォールバックが発生せず、非常に高速で安定したレスポンスが得られています。
Gemma 3と比較しても、出力される文章の自然さや文脈の保持能力が一段と向上していることを実感しています。

まとめ

Radeon PRO W6800をベースにした専用マシンを構築したことで、最新のGemma 4 26Bモデルをローカル環境で実用的な速度で動かせるようになりました。
特にlmsコマンドによるCLIベースの運用は、作業の効率を大きく高めてくれます。今後はこの推論環境を活用し、さらなる自動化やコンテンツ制作の効率化を模索していく予定です。

使用した機材