4月の末にやっとMacStudio(M1Ultra)が届いたので、ゴールデンウィーク中に開発環境を整えることができたのですが、期待のM1Ultraが機械学習でどれほどの能力があるのか気になったので、他のデバイスと比較してみることにしました。
と言っても、自分では他に端末を持っていないので以下で紹介されているDaniel Bourke氏のテスト一式がGitHubに公開されていたのでこれを使用することにしました。
https://ainow.ai/2022/02/25/262748/
https://github.com/mrdbourke/m1-machine-learning-test
ちなみにMacStudioのスペックは以下となります。
M1Ultra 20コアCPU 64コアGPU ユニファイドメモリ128GB
それでは早速テスト結果を見て行きたいと思います。
1.テスト概要
今回試したのは以下となります。
・CIFAR10 with TinyVGG
- データ:TensorFlowのデータセットから引用したCIFAR10(32×32の画像、10クラス、50,000枚の訓練用画像、10,000枚のテスト用画像)
- モデル:TinyVGGモデル
- 学習:10エポック、バッチサイズ32
・EfficientNetB0 feature extractor with Food101
- データ:TensorFlowデータセットから引用したFood101 (224×224の画像、101クラス、~75,000枚の訓練用画像、 ~25,000枚のテスト用画像)
- モデル:ImageNetで事前学習したEfficientNetB0の最上層に置き換えたもの(特徴抽出)
- 学習:5エポック,バッチサイズ32
※テストの詳細は上記紹介サイトから抜粋
※テストにはtensorflow-macosとtensorflow-metalを使用しています。
2.テスト結果
・CIFAR10 with TinyVGG
※M1Ultra以外の結果についてはDaniel Bourke氏のテスト結果から引用しております。
M1シリーズの中では一番性能が良いようですが、TITAN RTX GPUと比較するとほぼ差はない印象です。小規模なデータセットではどのM1シリーズを選んでもそれほど違いはなさそうです。
ちょっとテストしてみたいなどの状況ではM1を選ぶとコスパの面で良さそうです。
・EfficientNetB0 feature extractor with Food101
※M1Ultra以外の結果についてはDaniel Bourke氏のテスト結果から引用しております。
続いて大規模なデータセットによるテストについては、M1シリーズで比較するとM1Maxが2基組み合わさっているだけに2倍近い処理性能が得られており、圧倒的な処理性能ですね。
また、機械学習に特化したTITAN RTX GPUと比較してもM1Ultraは肉迫する結果となりました。
3.まとめ
紹介サイトでもまとめられている通りTensorFlowを用いた小規模モデルの訓練ではM1シリーズで大した性能差は見られませんでしたが、大規模モデルの訓練ではNVIDIAのTITAN RTX GPUといい勝負ができそうな感じです。
TITAN RTXの登場が2019年で、現在その後継のGeForce RTX 3090や3090Tiがあるので、それらと比べるとどれくらい差があるのか気にするなるところですが、機械学習ではテストによっては何日もマシンを動かし続けることがあると思うので、消費電力のことを考えると個人でAIやデータサイエンスを研究されている方には、MacStudioの筐体はコンパクトですし、M1Ultraは選択肢として悪くないのではと思ったりしました。
あとは価格に納得できるかどうかですかね。最新のNVIDIA GPUを搭載したPCがいくらくらいなのか詳しくない(3090一基で70万くらい?自分で組める人はもっと安い?)ので、詳しい方がおられましたら感想等いただけるとうれしいです。