macにLM studioを入れるとローカルで大規模言語モデルを動かせるようになる。生成AIのモデルはダウンロードすることで複数選べる。モデルには必要GPUメモリが記載されていて、自マシンの搭載GPUメモリより大きなサイズのメモリが必要なモデルを走らせようとすると警告されるが、警告を無視してロードするとどうなるか試してみた。
64GBのメインメモリを搭載しているM4pro mac miniに、必要GPUメモリが49GBのlama-3.3-Tess-3-70B-TA_v0.60-iMat-CQ-GGUFをロードした。エラーなしに動くのだが動作がひどく遅くなる。必要GPUメモリが17GBのgoogle/gemma-3-27Bであれば、動作速度は普通だ(速いというほどではない)。
Apple SiliconのCPUはメインメモリとGPUメモリを共用するが、メインメモリの多く(今回の場合49GB)をGPUメモリに割り振ると以下の説明のように遅くなるようだ。システムモニタで見ると空きメモリは6GBあってスワップファイルは使用されていないのだが、それでも遅くなる。
64GBメモリを搭載しているM4pro mac miniの場合、以下の説明通りGPUメモリは32GBとLM studioには表示される。32GBメモリを搭載しているM2pro mac miniの場合、GPUメモリは21GBとLM studioには表示される。以下の説明だと16GBのはずだがそれより5GB多い。そして必要GPUメモリが17GBのgoogle/gemma-3-27Bが警告なくロードできて動く。
---一般的な説明---
Apple Siliconチップ(M1、M2、M3、およびそれ以降)では、GPUに最大でシステム全体のメモリの半分までを割り当てることができます。64GBのRAMの場合、理論上の最大値は32GBですが、実際の割り当て量はワークロードや他のプロセスによる使用状況によって変わります。
macOS Ventura 13.5以降では、「Metal Performance Shader (MPS)」機能が導入され、GPUメモリの割り当てをより細かく制御できるようになりました。これにより、特定のアプリケーションやタスクに合わせてGPUに48GB以上のメモリを割り当てることは可能になる場合があります。
0 件のコメント:
コメントを投稿