GPT4AllをM1 MacBook Air (Late 2020)でローカル実行してみた
GPT4AllをM1 MacBook Air (Late 2020)でローカル実行してベンチマークしてみたのでまとめます。
公開日: 2024.12.17
M1 MacBook Air (Late 2020)のスペック
テストした環境は以下のものです。
- CPU: M1 8コア
- GPU: M1 7コア
- Neural Engine: 16コア
- メモリ: 8GB
- OS: macOS 15.2(24C101)
M1 MacBook Airの最初期モデルで、かつ最下位スペックのエントリーモデル。つまり、既存のAppleシリコンMacは「どのモデルでもこのモデルよりも性能が上」なので、AppleシリコンMacでどれくらい生成AIが使えるかが想定できるかと思います。
生成をテスト
GPT4Allで生成をしてみます。
モデルはMetaのLlama 3.2 3B Instructで、プロンプトは次の通りです。
JSで次のデータのうちtrueのものだけを抽出してカンマ区切りにしたい。
const options = ref({
apple: true,
sony: false,
samsung: true,
google: false,
sharp: false,
xiaomi: false,
})
CPUで生成AI
まずはCPUで生成しています。
- 推論: 2秒強ほど
- 生成: 25token/秒ほど
回答は以下です。
JavaScriptで、指定されたオブジェクト内のtrueの値を抽出してカンマ区切りにするには、以下のように使用できます。
javascript
const options = {
apple: true,
sony: false,
samsung: true,
google: false,
sharp: false,
xiaomi: false,
};
const result = Object.keys(options).filter(key => options[key]).join(', ');
console.log(result);
このコードは、オブジェクト内のkeyがtrueの値を抽出し、それらをカンマ区切りにします。
または
javascript
const options = {
apple: true,
sony: false,
samsung: true,
google: false,
sharp: false,
xiaomi: false,
};
Object.keys(options).filter(key => options[key]).join(', ');
このコードは、同じ結果を出します。
MacBook Pro 2017 15インチの5倍近い性能が出ています。
GPUで生成AI
続いてGPUを使ってみます。GPT4AllではAppleシリコンで使うとDeviceの指定では「Metal」がGPU扱いです。
- 推論: 1秒弱ほど
- 生成: 23token/秒ほど
回答は以下です。
以下は、JSで指定されたオブジェクト内のtrueの値を抽出してカンマ区切りにした例です。
javascript
const options = {
apple: true,
sony: false,
samsung: true,
google: false,
sharp: false,
xiaomi: false,
};
// Object.keys() を使用してオブジェクトのキーを取得し、filter() でtrueの値を抽出します。
const result = Object.keys(options).filter(key => options[key]).join(', ');
console.log(result); // Output: apple, samsung
このコードは次のように機能する。
Object.keys() はオブジェクト内のすべてのキーを取得します。
filter() は、指定された条件 (true の場合) を満たす値のみを選択します。
join(', ') は、抽出したキーの文字列をカンマで結合して一つの文字列に変換します。
この結果は次のようになります: "apple,samsung"
まず体感でわかったのが、推論が非常に高速です。CPUの時の半分くらいのイメージでしょうか。
生成についてはCPUの方が早いのは、コア数が影響しているのかもしれません。
dGPUと比較しても非常に高速
M1 MacBook AirはAppleシリコンのMacでは最弱モデルです。その最弱モデルでも、GeekbenchのMetalスコアは「32839」で、GeForce GTX 1080 Ti よりも高い数値です。
MacBook Air (Late 2020) Benchmarks
流石に最新のRadeon RXシリーズには勝てないですが、それでも消費電力を考えたらワットパフォーマンスは驚異的と言えるでしょう。
また、GeekbenchのMetal Benchmarksによると、Apple M4 MaxのMetalスコアは179333。つまり、M1 MacBook Airの5倍上の性能になります。
ということは、M4 MaxのMac miniで同じ生成をすると、100token/秒ほどが出せますし、パラメータの多い8Bモデルでも安定して速度が出せそうです。
結論: M1 MacBook Airでもローカル生成AIは十分使える
と言っても問題ないくらいの速度が出ました。
精度や速度ではChat GPTなどのサービス系には全く敵いませんが、先ほどのような簡単なプログラミングの補助程度なら、小さなモデルでも十分に使えます。
ビジネスなどで情報をサービス側に渡せない場合や、ChatGPTをバリバリ使うけど月額20ドルも払いたくないという場合は、AppleシリコンのMacでローカル生成AIを使ってみるのも一つかと思いました。