你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

机器之心發表於2020-11-19
你的新 Mac 可能還在路上,但蘋果表示,專為 Mac 最佳化的 TensorFlow 版本已經做好了,訓練速度最高提升到原來的 7 倍。

對於開發者、工程師、科研工作者來說,Mac 一直是非常受歡迎的平臺,也有人用 Mac 訓練神經網路,但訓練速度一直是一個令人頭疼的問題。

上週,蘋果釋出了搭載 Arm 架構 M1 晶片的三款新 Mac,於是就有人想問:用它們訓練神經網路能快一點嗎?

今天,蘋果發文表示:我們專門做了一版為 Mac 使用者最佳化的 TensorFlow 2.4 框架,M1 版 Mac 和英特爾版 Mac 都能用。這一舉動有望大幅降低模型訓練和部署的門檻。

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

此前,在 Mac 上,TensorFlow 僅支援將 CPU 用於訓練,但新的 tensorflow_macos 分支利用蘋果的 ML Compute,能讓 GPU 也被利用起來。蘋果在部落格中介紹說:「我們使用了更高階別的最佳化方法,比如熔合層,選擇合適的裝置型別,將圖作為原語編譯、執行並由 CPU 上的 BNNS 和 GPU 上的 Metal Performance Shader 加速。」

ML Compute 是蘋果公司今年推出的新框架,可用於在 Mac 上進行 TensorFlow 模型的訓練。現在,無論新的 M1 版 Mac 還是舊的英特爾版 Mac,其 CPU 和 GPU 都能用來加快訓練速度。

M1 晶片包含新的 8 核 CPU 和最多 8 核的 GPU,並針對 Mac 的機器學習訓練任務進行了最佳化。下面兩張圖表分別展示了針對 Mac 最佳化後的 TensorFlow 2.4 在不同模型訓練中的效能提升:

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

上圖展示了使用 ML Compute 分別在搭載 M1 和英特爾晶片的 13 英寸 MacBook Pro 上進行機器學習訓練的情況。柱形的高度代表單批次的訓練時長。可以看出,最佳化後的 Mac 版 TensorFlow 2.4 的訓練速度得到了明顯提升。在換成 M1 版的新 MacBook Pro 之後,提升就更為明顯了,訓練速度最高提升了 7 倍。

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

同樣使用 ML Compute,在搭載英特爾晶片的 2019 Mac Pro 上進行常見模型的訓練,效能提升也相當明顯。

TensorFlow 官方表示,使用者不需要對現有的 TensorFlow 指令碼做任何更改,就可以使用 ML Compute 作為 TensorFlowTensorFlow 外掛的後端。

Mac 版 TensorFlow 2.4 的詳細入門指南可以參見:https://github.com/apple/tensorflow_macos

M1 版 Mac 對機器學習使用者的影響

蘋果曾在釋出會上介紹說,M1 晶片將蘋果的神經網路引擎引入了 Mac,實現了 15 倍的機器學習任務加速。該神經網路引擎有 16 個核心,每秒運算速度可達 11 萬億次。除此之外,配置了 ML 加速器的 CPU 和強大 GPU(稱霸集顯,媲美部分獨顯)也使得整個 M1 晶片的機器學習能力得到巨大提升。

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

圖源:https://medium.com/disruptive-nerd/how-is-the-apple-m1-going-to-affect-machine-learning-2d9da1beef86

效能的提升毋庸置疑,但軟體相容也是一個很大的問題。在 M1 版 Mac 釋出之後,不少開發者都在問:我的 VS Code/Docker/Juypter Notebook…… 還能在新 Mac 上用嗎?

VSCode:最快月底就能做出來

在蘋果釋出會之後不久,微軟 VS Code 團隊就發文表示,「VS Code 將支援 ARM 版 Mac,11 月底可能推出首個預覽版。」

Mac/ARM64 試驗版地址 https://code.visualstudio.com/insiders/#osx

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

此外,微軟還宣佈將釋出一款新的通用版 Mac Office 2019,支援新版蘋果處理器。

Docker:在安排,但還沒準備好

在 11 月 16 日的一篇部落格中,Docker 的開發者表示,他們還沒有準備好讓 Docker 在 M1 版 Mac 上執行,在這之前還需要做很多準備。

Docker 表示,「我們 Docker 的目標是在新的 Mac 上提供與今天在 Docker Desktop for Mac 上同樣出色的體驗,並使這種過渡儘可能地無縫。」「為我們的客戶打造合適的體驗意味著在我們推送一個版本之前,要把不少事情做好。雖然蘋果已經發布了 Rosetta 2 轉譯器,以幫助將應用程式轉移到新的 M1 晶片上,但這並不能讓我們與 Docker Desktop 一路同行。」

你的Mac有了專用版TensorFlow,GPU可用於訓練,速度最高提升7倍

至於 Juypter Notebook 等軟體,目前還沒有官方訊息放出。不過,隨著蘋果不斷將生態打通,正在有越來越多的軟體開發商表示將開發適配 M1 版 Mac 的新產品。

參考連結:
https://machinelearning.apple.com/updates/ml-compute-training-on-mac
https://medium.com/disruptive-nerd/how-is-the-apple-m1-going-to-affect-machine-learning-2d9da1beef86
https://www.docker.com/blog/apple-silicon-m1-chips-and-docker/

相關文章