はじめに
こんにちは、朝から車両点検でJRが遅れてるなぁと思って乗り込んだら、次の駅で「踏切点検のため停車」を15分くらって朝から仕事に遅れました。ただやん(北浜)です。冷やし中華が美味しい時期になりましたね。
今回は、AMD環境下でローカルLLMが使えるLM Studioを使って日本語に特化した大規模言語モデル Llama-3-ELYZA-JP-8B-q4_k_m.ggufを動かす方法をご紹介します。
結論:動きました!
LM Studio使わずにOllamaを使う大多数の方はこちらを参考にするといいかも・・・
コトの発端
情報屋さんではない私ですが(なんならLLMに詳しいわけでもない)、なぜか大学生とChatbotを作るワークショップを企画するコトに・・・いやいや、なんでやねん。
適当に設計してGeminiとか既存の生成AIのAPI使って作ればよいかーなどと考える。でも、どうせなら資料とか読み込ませて学習させて、賢いの作りたいなぁ。(大学生相手だし)RAG(Retrieval-Augmented Generation)とかにもきちんと触れてやりたいよなぁなどいろいろごちゃごちゃ考えてました。
で、とりあえず生成AIをローカルで動かしてみたいなぁ!!となる。(結局はここから)
色々調べてわかったのは、LM Studioを使えば、LLMがどうやら動くっぽい!!おっしゃやってみるか!!!
※手持ちのGPUはメモリが8GBですし、Intel arc A770(16GB)買うにしても4万円・・・ちょっと高い・・・デスクトップはRyzen5 5600Gなので、メモリ64GBにしてGPU割り振り増やせば(増やせるのか?少なくともminiPCのBIOSの設定にはなかったので、デスクトップ側のBIOSを確認する必要あり)結構動くのではないか疑惑もありました。
「こいつ、動くぞ」※動いた
インストールの仕方は、以下を参考に。(ちゃんと追記します)
Llama-3-ELYZA-JP-8B-q4_k_m.ggufをダウンロードして使ってみました。
私「大阪について教えて」
ELYZAさん
大阪は日本の近畿地方に位置する都市で、政令指定都市です。市域人口は約270万人を超え、全国第二位の規模を有しています。大阪には古代から「天下の台所」とも呼ばれるほどの食文化があり、たこ焼きやお好み焼きなどが代表的な食べ物として知られています。USJ(ユニバーサルスタジオジャパン)や海遊館などの人気テーマパークや水族館もあります。以上のような点から大阪は観光地としても非常に人気が高く、年間を通して多くの方が訪れています。
GPU Offload 4/32にしてみたところ、7.5tok/sでした。
参考までに、4070 Ti SUPERだと70tok/sくらい出るらしいです・・・速い・・・
なお、所詮はminiPCなので、Ryzen7 7735HSのGPUのメモリ割り当てはいじれなかったり、かゆいところに手が届かないのですが(外部ツールで書き換え等も出来るとは言われてます)もう少しいじってみたいと思います。
ただ、落ち着いて考えてみるとLlama-3-ELYZA-JP-8B-q4_k_m.ggufって8GBのグラボでも動くんじゃ?(たぶん動く)
ちなみに、GPU accelerationをオフにしたところ、9.34tok/sほどまであがりました。あれ、GPUアクセラレーション切った方が速度でるんだ・・・
嘘か誠か、RADEON 6600XT 8GBで試したところ7tok/sほどだったという報告もあるので、Ryzen7 7735HSが意外と良いのかも知れません)
結論(?)
「おら、難しいことはわかんねーけど、LLMをパソコンで動かしてみたいぞ!」
というモノ好きな方は、LM Studioを入れてみて、Gemma-2b-itくらい軽いモデルを動かしてみると良いかも知れません。このminiPCでGemma-2b-itを動かしてみたところ、15tok/s出ました。