(作業メモ 20250716) ローカルでLLMを動かす

16 7月

どこかのサイトで、マイクロソフトが開発した phi-4 はビデオカードのメモリーが 16GB あたりでも動くと書いてあって、それなら利用できそうだと思って色々と試してみた記録です。上の写真の本『ローカルLLM実践入門』に書いてある通りにやってみました。ソフトのバージョンが変わっているせいか、上手く利用できないものもありました。

最初に試したパソコンの仕様は下記です。

  • CPU : intel core i5-9500
  • メモリ : 64GB
  • マザーボード : ASRock Z390 Extreme4
  • ビデオカード : RTX 3060 12GB
  • OS : windows 11

本に従って、Jan というソフトを利用しました。インストールは Jan と Nvidia のドライバーと CUDA を入れたぐらいです。いま気づいたのですが、Jan のサイトを見ると CPU への要件として、AVX2 以降の機能が必要とあります。LGA 1150 か LGA 2011-v3 以降の CPU となりますが、このパソコンは LGA 1151 で、一応満足していました。Jan のバージョンは 0.6.4 です。

phi-4:14b は無事利用することができました(上図)。分数の計算について、質問をしてみました。スピードは 29 tokens / sec です。ビデオカードのメモリ内に必要なものが収まりきっているのではないでしょうか。

llama3.3:70b を利用してみました。かなりサイズの大きなものです。ダウンロードファイルが 40GB ぐらい。読み込むと、ビデオメモリも本体のメモリも限界まで占有しています。読み込みに 5 分以上かかります。CPU の利用率は3割から5割程度でした。

同じように、分数の計算を質問してみました。計算はできていますが、見慣れぬ”昆数”という言葉が出てきています。混合数(帯分数)のことなのか?0 tokens / sec となっていますが、0.5 ぐらいはありそうでした。しかし動くことに驚きます。

Local API サーバーを起動してみます。設定は下図のようにしました。Trusted Hosts になぜか自分自身を書きます。通信してくる相手先を書きそうなものですが?

通信相手(リクエストする方)には Python が必要です。これは Anaconda を利用しました。Anaconda のインストールに関しては、以前に書いた記事の通りにやりました。Jan という環境を作成して、openai を入れました。

送りつける python コードは、本にある通りです。

通信が上手くいって返事が返ってきました。

他のパソコンを使用してみました。ビデオカードを2枚にしました。

  • CPU : intel core i9-10920X
  • メモリ : 64GB
  • マザーボード : ASUS X299 PRO
  • ビデオカード : RTX 4060ti 16GB
  • ビデオカード : RTX A4000 16GB
  • OS : windows 11

Jan のバージョンが少し古くて、 0.517 です。なんの設定もしていないのですが、両方のビデオカードが利用されています。

上図では llama3.3:70b を利用しています。1.95 tokens / sec ぐらいになりました。さらにビデオカードを追加すれば、もっと速くなるのでしょうか?この CPU は、LGA 2066 です。CPU レーンの数は 48 です。このマザーボードにも、あと何個か使えそうな拡張スロットはあるのですが、ビデオカードの厚みから隠されてしまって使用できないスロットがあります。ライザケーブルを利用することを考えるべきか?

ライザケーブルを入手しました。それを使ってビデオカードを追加します。電源も容量が不足すると思って、二つ電源をつなげるように細工しました。といっても、Silverstone の SST-PP10 というデュアル電源同時起動ケーブルなるものを購入しただけですが。Jan が動いているところのキャプチャーをあげます。Jan のバージョンを 0.6.5 にあげました。バージョンによって、ビデオカードのメモリーの利用具合が異なることがしばしばです。まずはハードウェアの情報ですが

本体のメモリは相変わらずかなり占有しています。ビデオカードはいずれも 16GB のメモリのものを 3 枚使用しました。今回の Jan のバージョンはぎりぎりまでビデオメモリーを利用しています。次は、質問をしてみたところです。

8 tokens / sec ぐらいの速度になりました。 結構速くなりました。推論しているときの CPU の占有率は数パーセントぐらいで、だいぶ下がりました。

めどが立ったので、本来の場所に移動させます。この配置での運用になりそう。ライザケーブルを長いものに交換しています。安いものでもあるのですが、少し遅くなった(7 tokens / sec)ような気がして、気になります。ビデオカードを立てているのは、長尾製作所というところのグラフィックボード ディスプレイ台(NB-VGA-DP01)です。今は二つの電源を使っていますが、1000 W ぐらいの電源なら、ひとつで済むかもしれません。

20250730 続く