本文轉載自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
微博知乎:@我愛計算機視覺
投稿:amos@52cv.net
網站:www.52cv.net
在看,讓更多人看到
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244226.html
標籤:AI
