AMD GPUでllama.cppを動かす

ハウツー

Linuxがおすすめです。以下の記事に書いたとおり、WindowsとLinuxではトークン生成速度が全く違います。ここではUbuntu 24.04を想定して進めていきます。Ubuntuの簡単なインストール手順も書いておきます。多少は英語が読めて、BIOS(UEFI)の設定画面をいじれる人でないと厳しいです。

LLMしたければWindowsを捨てよう
Windows+LM StudioからUbuntu+llama.cppに乗り換えたらQwen3.8-27Bのトークン生成が2倍速くなった(50t/s超・RX 7900 XTX)。vLLMがRadeonで現実的でない理由や、Windowsが計算に向かない根拠まで。

Ubuntuのインストール

用意するもの

  • 8GB以上のUSBメモリ
  • Ubuntuを入れるお好きな補助記憶装置
  • Rufus

Rufusは無料のソフトウェアです。適当にインストールします。
以下のサイトからUbuntu 24.04のイメージファイルをダウンロードします。Torrentを使うと爆速です。

Alternative downloads | Ubuntu
Download new or previous versions of Ubuntu in a variety of ways. Get BitTorrent link, images with more language packs, …

「Rufus Ubuntu インストール」みたいな感じで検索して、その手順に従ってRufusを操作しUSBメモリにUbuntuのイメージファイルを焼きます。
そしたらPCの電源を落とし、USBメモリとインストール予定の補助記憶装置をPCに接続してBIOS(UEFI)の画面に入ります。そこでBoot順をUSBメモリが一番先になるように設定してからSave & Exitします。
Try & install Ubuntu みたいな文言を選択してEnterするとお試しのUbuntuが起動します。左上のInstall Ubuntuを起動してガイダンスに沿って進めば補助記憶装置にUbuntuをインストールできます。ただしシステム言語は必ずEnglishにしてください。ダウンロードフォルダなどの名前が日本語になってしまうため、動かないプログラムが生まれる可能性があります。
シャットダウンしてUSBメモリを抜き、今度はインストールしたUbuntuが一番初めにBootされるように設定してSave & Exitします。

これでUbuntuが動きます。ネットワーク設定はどの時点でするんだったかな……

アップグレードとVulkanのインストール

起動してはじめにやることは以下のコマンドを実行することです。Ubuntuの左下のボタンを押してターミナルを探して起動し、以下を打って実行します。

sudo apt update
sudo apt upgrade

ここでは一行入力したら都度Enterを押して実行してください。さらにパスワードを入力してEnterするといろいろ文字が流れていくと思います。一行目でOSやその他プログラムのアップデート情報を取得して、二行目でアップデート(アップグレードといいます)してくれます。
基本的なUbuntuのコマンドは「Ubuntu コマンド」みたいに検索して参照できるようにしておくと便利です。とにかくターミナルに慣れましょう。

さて、VulkanはGPUをある程度高レイヤーな書き方で人間が命令できるようにするエンジンおよび言語です。AMD GPUにはROCmという、NvidiaにおけるCUDAのような立ち位置のエンジンもありますが、よくおま環でインストールに失敗するうえ、パフォーマンスはVulkanと大して変わらないためVulkanを使っていきます。あとROCm向けのllama.cppの公式ビルドが現在(2026/08/18)無効化されています。ごめんねAMD。
Vulkanのインストールはめっちゃ簡単です。

sudo apt install mesa-vulkan-drivers

これだけです。あとはllama.cppを落としてきて実行するだけですね。
以下から好きなバージョンでUbuntu x64あるいはUbuntu arm64のVulkan向けのビルドをダウンロードして解凍します。

Releases · ggml-org/llama.cpp
LLM inference in C/C++. Contribute to ggml-org/llama.cpp development by creating an account on GitHub.

解凍したフォルダにターミナルで移動して./llama-server <変数>すると起動できます。使える変数は膨大なので、よく使う変数と説明を抜粋して以下の記事に置いておきます。

llama.cppで必須のコマンド一覧
-m <path/to/model>読み込むモデルを指定します。–host 0.0.0.0 –port 11434ホストするアドレスとポートです。127.0.0.1にするとローカルエリアには公開されません。-ngl <整数>モデルの重み…

コメント

タイトルとURLをコピーしました