新しいMac miniが予約開始となった。ミニPC好きの私としてはこの新Mac miniでLLMを動かした場合の性能に興味がある。新Mac miniのM4 Proで8Bクラスおよび70BクラスのLLMを動かした場合の性能を見積もり、我が1000ドルPCと比較してみたい。
Mac mini M4 Pro の価格見積
見積もりの対象としたMac miniのスペックは以下の通り。
Appleの予約サイトで見積もった結果がこちら。368,800円(税込み)となった。
高い!!というのが第一印象だと思う。しかし最先端のPCの価格は昔はこんなものだった。今から40年前に発表された初代マッキントッシュ(Macintosh 128K)は698,000円だ。
MacはLLMを動かすのに適したPCと言われている。それはユニファイドメモリが使われているからだ。ユニファイドメモリであれば、CPUからもGPUからもメモリを使うことができる。つまりGPU用の大容量メモリを比較的安価に(それでも十分高いのだが)手に入れやすいということになる。このあたりの話は以下のページに詳しく書かれていて参考になる。興味のある方はこちらの記事を一読いただきたい。
8Bモデルの推論の性能見積
LLMの推論性能として、生成速度と、プロンプト評価速度の2つがある。プロンプト評価速度はLLMが回答を表示するまでの処理速度、生成速度は回答を初めてからの表示速度である。
上記サイトの説明によれば、生成速度は主にメモリ帯域幅(簡単に言えばメモリ転送速度)で性能が決まる。説明のためサイトからグラフを引用させていただく。以下が8Bのモデルにおける生成速度のグラフである。
確かに生成速度とメモリ帯域幅がほぼ比例関係にあることがわかる。
| 機種 | メモリ帯域幅(GB/s) |
| MAC Studio M2 Ultla | 800 |
| MAC Studio M2 Max | 400 |
| MacBook Pro M4 Max | 410 最大540 |
| Mac mini M4 Pro | 273 |
| Mac mini M4 | 120 |
| RTX 4090 24GB | 1008 |
| RTX 4080 16GB | 717 |
| RTX 4070Ti 12GB | 672 |
| UM790 Pro DDR5-5600MHz | 69 |
| 通常のPC DDR5-4800MHz | 47 |
Mac mini M4 Pro のメモリ帯域幅は、273 GB/sであることから、8Bのモデルであれば上記グラフからおよそ30 tokens/sの生成速度が期待できることになる。
我が1000ドルPCのメモリはDDR5-5600を使用しており、帯域幅は、69 GB/sである。これもグラフからおよそ10 tokens/sとなり、これは私の使用感と一致する。
生成速度では我が1000ドルPCの3〜4倍の性能になる。
プロンプト評価速度は主にGPU性能で決まる。こちらも説明のため上記サイトのグラフを引用させていただく。同様に8Bモデルのプロンプト評価速度のグラフである。
| 機種 | GPU性能値(TFLOPS FP32) |
| M2 Ultla | 26.98 |
| M4 Max | 18.4 |
| M2 Max | 18 |
| M1 Max 32 Core | 10.6 |
| M4 Pro 20 Core | 8.52 |
| M4 Pro 16 Core | 6.82 |
| M1 Pro 14 Core | 4.58 |
| M4 10 Core | 4.26 |
| RTX 4090 24GB | 82.58 |
| RTX 4080 16GB | 48.74 |
| RTX 4070Ti 12GB | 40.09 |
| RTX 5000ADA 32GB | 65.3 |
| RTX 4000ADA 24GB | 39.6 |
| AMD 780M | 4.2 |
Mac mini M4 Pro 20-Core のGPU性能は8.52 TFLOPSと言われている。上記グラフのM1 Max 32-Coreが10.6 TFLOPSであることから、それとほぼ同程度の性能とすると、200〜300 tokens/sの性能が見込まれる。
ちなみに我が1000ドルPCの内蔵GPUの780Mの性能は4.2 TFLOPS(FP32)である。CPU性能は不明だが、以下ではGPUと同性能であるとして話を進める。後述するが、Ollamaを使ってCPUで8Bモデルのプロンプト評価速度を実測したところ39 tokens/sであった。
これらを勘案すると、プロンプト評価速度は我が1000ドルPCの5〜6倍の性能になると思われる。
70Bモデルの推論の性能見積
では70BサイズのLLMではどうなるだろうか。私の経験則では生成速度は、使用するモデルサイズが大きくなるとそれに比例して遅くなる。
実際にOllamaで同じプロンプトを投げて、性能を計測してみた。Ollamaで性能計測する場合には「--verbose」を付けて起動する。
$ ollama run llama3.1:latest --verbose
Anthropic CEOのエッセイの全文の要約を依頼してみた。Llama3.1-8Bでの計測結果は以下の通り。
total duration: 1m0.530192808s load duration: 22.879161ms prompt eval count: 1026 token(s) prompt eval duration: 26.351501s prompt eval rate: 38.94 tokens/s eval count: 341 token(s) eval duration: 34.111338s eval rate: 10.00 tokens/s
エッセイの全文は、単語数をwcコマンドでカウントすると13381ワードもあるが、token数では1026 tokensになっている。この辺りの理屈はよくわからないが、そういうものだと思うしかない。
続いてLlama-3.1-Nemotron-70Bに切り替えて同じプロンプトで実行した計測結果がこちら。
total duration: 10m49.299476784s load duration: 19.238758ms prompt eval count: 1026 token(s) prompt eval duration: 5m43.539115s prompt eval rate: 2.99 tokens/s eval count: 485 token(s) eval duration: 5m5.693498s eval rate: 1.59 tokens/s
70Bサイズのモデルでの1000ドルPCの実測値をもとに、Mac miniで実行した場合の生成速度と、プロンプト評価速度を見積もってみる。
8Bモデルの結果から、生成速度は1000ドルPCの4倍の性能とした。プロンプト評価速度は、1000ドルPCの6倍の性能とした
- 生成速度 : 1.6×4=6.4 tokens/s
- プロンプト評価速度 : 3.0×6=18 tokens/s
上記のかなり負荷の高い例で、Mac mini の回答開始までの時間を見積もると、1026÷18=57秒(約1分)となる。
まとめ
新Mac miniでLLMを動かす場合のパフォーマンスを検討してみた。性能的には8Bモデルは問題なく快適に使えるだろう。70Bモデルも高い負荷をかけた時は別だが、それ以外はまあまあ快適に使えそうだ。
あとはこれに368,800円というコストをかけられるかどうかだ。UM790 Proでも多少時間はかかるが70Bクラスのモデルが動いている。UM790 Proの価格は今だと105,980円である。性能は確かに生成速度で4倍、プロンプト評価速度で6倍早いのだが、そのためにUM790 Proの3.5倍のコストをかけるべきだろうか。
私が思う懸念点は、これだけコストをかけておきながら、もし70B以上のモデルを動かしたいとなった時にメモリ増設不可のため対処できない、という点である。LLMの進化は早いので、来年になったら200BクラスのLLMを動かしたいと思うようになる可能性はあると思うのだ。
余談であるが、MacBook Pro のM4 Maxのモデルでは、2,000億パラメタのLLM(つまり200Bモデル)を簡単に操作できると公式に言っている。しかしM4 Maxで128GBのユニファイドメモリ搭載のモデルの価格はなんと、753,800円で、Mac mini M4 Pro の2倍の価格である。
確かにM4 Maxのメモリ帯域幅とGPU性能はそれぞれM4 Proの2倍あるので、パフォーマンスに見合うコストではある。70Bクラスが快適に使えて、200Bクラスを使う余裕もあるという点では、現時点で一番コストパフォーマンスのいいモデルであることは確かだ。
昔、初代Macintoshを買えた人がいたように、これを買える人もいるのだろう。