Ubuntu Weekly Recipe

第849回ローカルLLMの実行ツール「Ollama」GUIフロントエンド⁠⁠⁠Alpacaを使用して生成AIを使用する[Radeon編]

今回は第841回で紹介したAlpacaを、AMD Radeonで動作させる方法を具体的に紹介します。また、今おすすめのモデルも紹介します。

この2か月間のAlpacaの進歩

Alpacaは、つい2か月ほど前の第841回で紹介したばかりですが、あらためて紹介する価値があると考えたので今回の記事の執筆を決意しました。

第841回で紹介した際のAlpacaのバージョンは2.9.0で、本文中にもあるように不具合でAMD Radeonを認識しませんでした。しかし、次のバージョン(3.0.0)で修正されています。

そればかりか、Xセッションで候補ウィンドウを表示した状態でのエンターキー入力が効かない問題が修正されています。

さらに、翻訳までされています。執筆時点でのバージョンは4.0.0で、モデルの管理(モデルマネージャー)のユーザーインターフェースが刷新されたことにより未訳の部分もありますが、日本語になったことによりとっつきやすくなりました。

ついでにおすすめのモデルもいくつか紹介しますが、gihyo.jpの機械学習・AIカテゴリーを見てもわかるとおり、来月になったらたぶんおすすめのモデルはまた別のものになっていることが予想されるくらいには日々いろいろなものがリリースされています。そのくらい進化が早いのが面白いところで、⁠世間の相場から考えて)少しお高めのGPUが必要なものの、手元にあればいつでもその海に潜ることができます。

PCのスペック

今回使用したPCのスペックは次のとおりです。

メーカー 型番 備考
CPU AMD Ryzen 9 7950X 105W運用
CPUファン ID-COOLING IS-55-BLACK
マザーボード ASRock B650M Pro RS
メモリー Team CTCCD532G6000HC48DC01-A DDR5 6000MHz 16GB*2
GPU ASRock RX7800XT CL 16GO Radeon RX 7800XT
SSD キオクシア EXCERIA SSD-CK480S
電源 Silver Stone SX-700G
2.5インチフロントベイ Silver Stone FS202
ケース Silver Stone SG11

筆者は2.5インチSSDを入れ替えることによって複数の検証環境を用意しています。さらにパッケージのビルド環境も兼ねているためこのようなCPUを搭載していますが、生成AIを動作させるだけであればこれほどのCPUパワーは不要です。

ポイントはやはりRX7800XT CL 16GOで、スロットを2.5個分使用することを許容できるのであれば、なかなかにいい選択肢と考えます。どうしても2スロットで抑えたい場合や、 7.5万円(筆者の購入価格)の捻出が難しい場合は、下位モデルであるRX7600XT CL 16GOでもいいでしょう。しかし1.5倍の価格差でストリームプロセッサが約2倍、メモリーの帯域が2倍であることを考えると、RX7800XT CL 16GOがおすすめではあります。

Alpacaのインストール

Alpacaのインストールは第841回に書いてあるとおりです。

$ flatpak install flathub com.jeffser.Alpaca
$ flatpak install flathub com.jeffser.Alpaca.Plugins.AMD

この2行目がRadeonを使用する際のポイントです。

また使用しているユーザーがrenderグループに属していない場合は、次のコマンドを実行してください。

$ sudo usermod -a -G render $USER

このコマンドを実行した場合は、再起動が必要です。

動作確認

第841回では端末からの起動をおすすめしていましたが、現在のバージョンではあまりコンソールにメッセージを表示しなくなったので、意味がなくなりました。普通にアイコンから起動してください。

図1のように、メニューが日本語化されてます。

図1 日本語化されたメニュー

「設定⁠⁠-⁠Ollamaインスタンス」を見てみると、⁠AMD GPUタイプ「gfx1101」を使用しています」と表示されます図2⁠。サポートされているGPUのリストはこちらです。

図2 Radeon RX 7800XTはgfx1101として認識される

このリストを見てもわかるように、基本的にはRadeon RX 6400/6500 XT/6600 XTには対応していません。しかし「HSA_OVERRIDE_GFX_VERSION」「10.3.0」と入力して登録し、Alpacaを再起動すると使用できるようになる、こともあります。筆者が試したところでは、うまくいってます。

おすすめのモデル

VRAMが16GBのGPUでは、14B前後のモデルであれば快適に動作するので、そちらを目安に探します。

DeepSeek-R1

DeepSeek-R1の紹介記事はこちらを参照してください。良くも悪くも話題になっていて、まず始めるのはこれからにしてみると面白いでしょう。

「モデルマネージャーを開く」またはハンバーガーメニューの「モデルの管理」をクリックし、⁠Available Models」「Deepseek R1」があるのでこれをクリックし図3⁠、左ペインに表示されるリストから「14b」をクリックします。ダウンロードが開始するので、しばらく待ちます図4⁠。

図3 Deepseek R1をクリックしたところ
図4 Deepseek R1のモデルがダウンロードできた

あとはメイン画面に戻って、上部で「Deepseek R1 (14b)」を選択して質問を開始します図5⁠。

図5 Deepseek R1で質問をしているところ

Phi-4

Phi-4の紹介記事はこちらを参照してください。実は個人的にはDeepSeek-R1よりもこちらのほうが気に入ってます。

インストールする方法はDeepSeek-R1とおおむね同じです。こちらは14Bのモデルしかないため、よりシンプルです。図6が実際に使用しているところです。

図6 正直なところ、Phi-4の出力するコードが一番しっくりくる

DeepSeek-R1-Distill-Qwen-14B/32B-Japanese

DeepSeek-R1-Distill-Qwen-14B/32B-Japaneseの紹介記事はこちらを参照してください。⁠Available Models」にはありませんが、モデルとしては存在します。このような場合のインストール方法は、右側にあるケバブメニューをクリックし、表示される「Download Model From Name」をクリックします。ここにモデル名(今回だと「yuma/DeepSeek-R1-Distill-Qwen-Japanese:14b⁠⁠)を入力し、⁠受諾」をクリックします図7⁠。

図7 リストにないモデルのダウンロード方法

あとはほかのモデルと同様です。図8が実際に使用しているところです。

図8 DeepSeek R1の蒸留モデルなので似たようなソースコードを出力するのかと予想していたら、全く違うもので驚いた

Gemma 2 JPN 2B

VRAMが16GBもある場合はモデルも選び放題ですが(もっと多いとさらに選び放題ですが⁠⁠、VRAMが4GBしかなく、小さいモデルで動かしたい場合もあります。そんな場合には「Gemma 2 JPN 2B」がいいでしょう紹介記事⁠。

インストール方法は「DeepSeek-R1-Distill-Qwen-14B/32B-Japanese」に準じ、⁠Download Model From Name」には「schroneko/gemma-2-2b-jpn-it」と入力します。

図9が実際に使用しているところです。

図9 Pythonのソースコードとしてはかなりおかしなものが出力されている

おすすめ記事

記事・ニュース一覧