インターネットが使えないときに大規模言語モデルの助けを借りたいときがあるかも知れません.今回は,MacBook Air 2020でどの程度大規模言語モデルが動くか検証します.
前提
- 使用すのはMacbook Air 2020です.Apple M1とメモリ16GBを搭載しています.
- ollamaを使用します.
- Dockerを使用します. ollamaをDockerから使用するとGPUが使えません.CPUのみで計算します.
- Dockerの仮想マシンにはCPUは8コア,メモリは6GB割り当てています.
Dockerでのollamaの導入
次のコマンドでDockerコンテナ実行します.初回起動時にイメージがダウンロードされます.
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
次のコマンドで,言語モデルと対話します.例では,llama3を使用しています.
docker exec -it ollama ollama run llama3
実行結果
大きなモデルは実用的でないので,Phi-3 Mini,Llama3 8b, Starling 7b, Wizerdlm2 7b, CodeGemma 7b,Japanese-Starling-ChatV-7Bの4ビット量子化版を使います.「Can you tell me about neural entworks?」と質問したときのハードウェア使用率と生成スピードを計測しました.CPU使用率とメモリ使用率は仮想マシンのものです.
Model | モデルのサイズ | CPU使用率 | メモリ使用率 | tokens/sec |
---|---|---|---|---|
Phi-3 Mini | 2.3GB | 400% | 50% | 2.42 |
Llama3 8b | 4.7GB | 400% | 81% | 3.52 |
Starling-lm 7b | 4.1GB | 400% | 70% | 4.16 |
Wizerdlm2 7b | 4.1GBGB | 400% | 71% | 4.08 |
CodeGemma 7b | 5.0GB | 400% | 91% | 2.94 |
Japanese-Starling-ChatV-7BGB | 4.4 | 400% | 75% | 1.31 |
このように,Macbookで,かつCPUのみで計算しても用途によってはギリギリ使えるスピードが出ていると思います.ChatGPTやClaudeなどのサービスやローカルのGPUを搭載したPCに比べれば相当遅いですが,緊急用であれば十分な速さではないでしょうか.
また,Phi-3 Miniが遅いのが意外です(何度か実行しても変わりませんでした).今回の結果からMacbookのCPUで計算する場合,モデルサイズから実行速度の大小が推測できないことが分かりました.なぜそうなるかの理由は分かりません.
感想
Macbook Air 2020でも小さめの大規模言語モデルが比較的実用的な速さで動きます.このことから,インターネットが使えない出先でも,英語やコーディングで大規模言語モデルの助けを得ることができることが分かりました(バッテリーの持ちが心配ではありますが…).