蘋果M1芯片機器學習向測評:Mini 比RTX 2080Ti 快14%,Air好於Pro

本文轉載自AI科技評論。

作者 | 蔣寶尚

編輯 | 青暮

今年雙十一,蘋果發佈了新Mac系列,拿出了首款自研ARM架構的芯片。這款5nm製程的SoC(系統級芯片)號稱大幅度提升了性能。

例如,新款MacBook Air相比於上一代,CPU性能提升3.5倍,GPU性能提升 5 倍,機器學習能力提升9倍,固態硬盤的性能也提升了 2 倍。

新款MacBook Pro,CPU性能比上一代提升了 2.8 倍,GPU提升5 倍,機器學習能力提升 11 倍。

新款Mac Mini,能效提高了60%,CPU速度提高了3倍,圖形顯示速度提高了6倍。

真實體驗如何,衆多UP主也在第一時間進行了測評,測評的內容包括:打遊戲的速度、聽音樂的音質、剪輯視頻的效果......

但機器學習方面的測評相對稀少。真就如蘋果發佈會說的那樣,機器學習速度能夠提高數倍?在medium上,名爲Daniel Bourke博主,發佈了一篇博客,從機器學習訓練測評的角度論證了蘋果M1芯片的強大。

Bourke一共進行了兩大塊的實驗:CreateML和TensorFlow macOS 代碼。兩個實驗的結果都說明了新版M1芯片的電腦比“老”版本Intel芯片電腦運行速度要快。在其他博主的文章中,也有博文論證了:M1芯片在機器學習訓練的時候,比RTX 2080Ti GPU快14%!

1

實驗一:CreateML:Air好於Pro

在進行CreateML訓練之前,作者說,他從未運行過CreateML。這次測評,也就是要看看這款專門爲適配蘋果而打造的機器學習平臺到底有多強大。

圖注:訓練操作界面

這次測試中,每臺的Mac的設置如下:

  • 問題:多類圖像分類

  • 模型:CreateML圖像分類(不知道蘋果使用的是什麼網絡架構,猜是ResNet)

  • 數據大小:7500張訓練圖片,2500張測試圖片

  • 最大迭代次數:25

  • 數據增強的方法:翻轉,旋轉

測評結果如上所示,沒有風扇的MacBook Air表現最佳,7核GPU M1完爆MacBook Pro的8核M1 GPU。而16英寸的Macbook pro,在訓練沒結束之前就已經陣亡了。

很明顯,蘋果的CreateML平臺已經針對M1芯片進行了潛在的優化。因爲,儘管擁有8核專用GPU,Intel驅動的MacBook Pro卻沒能完成實驗。

2

實驗二:TensorFlow macOS

在11月份M1芯片發佈會上,蘋果聲稱新款自研芯片比前幾代產品有更快的運行的速度,並特別提到了“類似TensorFlow這樣的深度學習框架”。

然後作者從TensorFlow團隊和Apple Machine Learning團隊發佈的博客文章中,找到機器學習模型在搭載M1芯片和Intel芯片的Mac電腦上的訓練結果。

事實證明,蘋果最近根據TensorFlowTensor發佈了Flow_MacOS,這意味着其允許開發者能夠在Mac上運行“原生”TensorFlow代碼”。

於是,作者奇蹟般的將Apple的TensorFlow fork安裝到了Python 3.8環境中,在沒有進行8-10個小時的故障排除情況下,創建以下三個小實驗。

第一個實驗是:基礎的卷積神經網絡(CNN),具體模型設置代碼如下圖:

具體而言,作者複製了CNN解析網站上的CNN架構(TinyVGG),並使用了類似於CreateML測試的數據集。

  • 問題:多類圖像分類

  • 模型:TinyVGG

  • 數據:7500張訓練圖片,2500張測試圖片

  • 類的數量:10個

  • epochs的數量:5

  • Batch size: 32

注:CNN Explainer網址

https://poloclub.github.io/cnn-explainer/

第二個實驗是使用EfficientNetB0進行遷移學習。因爲當前,從頭開始做模型非常麻煩。

作者使用現有的未經訓練的架構,並根據具體的數據對其進行訓練。或者使用像EfficientNet這樣的預先訓練的架構,並根據具體的數據對其進行微調。

  • 問題:多類圖像分類

  • 模型:Headless EfficientNetBO

  • 數據:750個訓練圖像,625個測試圖像(2500×0.25的validation_steps參數)

  • 類的數量:10個(來自Food101數據集)

  • epochs數:5

  • Batch size:4(由於M1沒有足夠的內存容量來處理較大的Batch size,所以需要較低的批Batch size,作者嘗試了32、16、8,但它們都失敗了)

第三個實驗,是作者在瀏覽Apple的tensorflow_macos GitHub時,發現的一個問題線程(issue thread)。包含了在不同機器上運行的benchmark,所以作者決定把它加入到測試中。

  • 問題:多類圖像分類

  • 模型:LeNet

  • 數據:60,000張訓練圖片,10,000張測試圖片(MNIST)

  • 類的數量:10個

  • epochs的數量:5

  • Batch size: 32

3

TensorFlow代碼測評結果

除了在MAC 上運行上述三個實驗之外,作者還在GPU驅動的Google Colab上運行了(作者的策略是:在Google Colab上進行實驗,需要時擴展到更大的雲服務器上去)。

如上圖所示,谷歌Colab表現最棒,但搭載M1芯片的MacBook也並沒有落後太多。MacBook意味着能夠在本地運行實驗,無需一直連接到Colab,這會帶來極大的方便。

注意,上述對比,由於數據加載,第一個epoch通常時間最長的,因此對比的是第二個epoch之後的訓練時間。另外,Google Colab GPU實例使用的是純TensorFlow而不是tensorflow_macos。

值得注意的是,在基本的CNN和遷移學習實驗中,搭載M1電腦的表現明顯優於搭載Intel的電腦。而tensorflow_macos基準測試中,Intel也收復了一些失地。作者認爲這是明確在訓練中使用GPU的結果。

M1 Mac Mini機器學習測評

以上是對Air和pro兩個版本的測評,那麼新版的M1 Mac Mini效果如何呢?在另一篇medium博文上,Andrew A Borkowski測評發現,M1 Mac Mini的訓練速度比RTX 2080Ti還要快。

具體而言,是作者根據蘋果GitHub網站的說明在Mac Mini上安裝了tensorflow_macos,並完成了fashi-MNIST數據集中的分類任務。測試結果是:訓練和測試耗時6.70秒,比RTX 2080Ti GPU快14%!

注:RTX 2080Ti 的試驗配置是System: Linux;CPU:Intel® Core™ i7–9700K;RAM: 32GB;Storage: 1TB SSD。而蘋果電腦的配置是:System: macOS Big Sur;Storage: 512GB SSD;Unified Memory: 8GB ;M1芯片包含8個CPU核,8個GPU核以及16個神經網絡引擎核心。

但,在數據集較大的模型上,M1 Mac Mini用了2286.16秒。比使用Nvidia RTX 2080Ti GPU的Linux機器要長5倍多!根據Mac的活動監控器,CPU的使用量極少,完全沒有使用到GPU。

總結一下:由於M1 TensorFlow目前還是Alpha版本,未來有希望利用芯片的GPU和神經引擎內核來加速機器學習訓練。

參考資料:

https://towardsdatascience.com/apples-new-m1-chip-is-a-machine-learning-beast-70ca8bfa6203

END

備註:CV

計算機視覺交流羣

圖像分割、姿態估計、智能駕駛、超分辨率、自監督、無監督、2D、3D目標檢測等最新資訊,若已爲CV君其他賬號好友請直接私信。

我愛計算機視覺

微信號:aicvml

QQ羣:805388940

微博知乎:@我愛計算機視覺

投稿:[email protected]

網站:www.52cv.net

在看,讓更多人看到  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章