天天看點

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

2020 年底,蘋果釋出了 M1 晶片,提供了全新的自研 GPU,并和 CPU 內建封裝成 SoC,加上随之而來的 ML Compute 架構,macOS 端的深度學習訓練有了顯著的速度提升。

另一方面,強化學習的特性使得訓練過程中需要交替使用 CPU 和 GPU,對此,M1 晶片能否提升強化學習的訓練效率?據了解,此前業界并無相關測試資料。

南栖仙策(南京大學人工智能創新研究院技術孵化企業)算法小組用 M1 晶片裝置組建小型伺服器叢集,并與基于 NVIDIA GPU 的傳統伺服器進行性能對比測試,結果表明,強化學習的訓練效率可以得到顯著提升。

什麼是強化學習

強化學習(Reinforcement Learning, RL),又稱增強學習,是機器學習的範式和方法論之一。強化學習智能體(Agent)在與環境的互動過程中,通過更新政策以達成回報最大化或實作特定目标。

廣為人知的人臉識别等技術背後的深度學習,通常需要開發者準備大量做好标注的圖像作為訓練資料。

強化學習與之不同,不需要訓練資料,而是設定一個環境。類似于動物處在自然環境中,強化學習需要不斷與環境互動,并從中學習。強化學習研究常用的環境是各種各樣的遊戲。

強化學習方法簡單、有效且通用,在許多遊戲環境中都取得了超越人類的決策水準,被 DeepMind 認為是實作通用人工智能的一種重要途徑。

強化學習是怎麼訓練的

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

圖 1 強化學習示意圖

如圖 1 所示,在強化學習中,智能體與環境的互動,即在狀态 S_t 下,執行動作 A_t,獲得對應的獎勵 R_(t+1) 并觀測到下一個時刻的狀态 S_(t+1)。智能體的目的是改進政策(即在不同狀态下執行的動作),來獲得最大的長期回報。在這個過程中,強化學習智能體按照目前政策(通常用神經網絡實作)需要将目前狀态 S_t 輸入到網絡中,進行一次前向推理(inference)得到 A_t,使用 A_t 在環境中執行一步來完成互動。此時,智能體會收到對應的獎勵和下一個時刻的狀态,然後不斷循環該過程,産生新的樣本用于政策訓練。樣本指的是互動過程中的每一個轉移(transition),即四元組。

通常來說,強化學習中環境執行動作的這一步由 CPU 完成,當政策網絡僅輸入一個樣本時,可以使用 CPU(對于淺層的政策網絡)或 GPU(對于深層的複雜政策網絡)進行推理,而更新政策網絡模型則在 GPU 上完成。正常強化學習任務(以 Atari 遊戲為例)通常需要采集十數 M( 1M 即一兆,為 10^6) 乃至數十 M 樣本才能訓練好一個政策,那麼就需要數千萬次,甚至數十億次的互動。如果能減小時間開銷,那将會給強化學習的訓練速度帶來前所未有的提升。

M1 晶片特殊之處

M1 架構

新的 M1 架構采用了台積電最新的 5nm 技術。M1 處理器中有 1 個 CPU, 1 個 GPU, 1 個神經引擎以及 DRAM 單元。由于 RAM 内置在處理器中,是以所有元件都會通路相同的記憶體。這意味着不會再因為将記憶體從一個元件移動到下一個元件而造成性能損失,無需再嘗試弄清楚你的模型是否符合 GPU 的記憶體規格。

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

CPU

M1 晶片的 CPU 是 8 核 CPU,其中 4 核是用于資料處理和一些需要高性能任務的高性能核心,另外 4 核被稱為「e 核」或高效核心,提供更高的處理效率和更低功耗的任務。

簡單來說,M1 晶片不僅靠 5nm 制程使處理性能更加強大,而且裡面新增的 NPU 也使 M1 更加聰明。該 NPU 采用 16 核架構,每秒進行 11 萬億次運算。M1 晶片使用共享記憶體,CPU 與 GPU 通信開銷小,使用 Thunderbolt ,通信速度最高可達 40Gb/s,突破了限制瓶頸,可使用多台機器組建小型伺服器。

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

南栖仙策使用四台 M1 的 Mac mini 組建了小型叢集

Apple M1 叢集性能測試

測試設定

M1 (單機) :使用 M1 Mac mini 單機訓練;M1 叢集 (4 機):4 台 M1 Mac mini 組成叢集進行訓練;GPU 伺服器 (單機 V100×1):使用 NVIDIA V100 單 GPU 訓練,選擇第一張卡;GPU 伺服器 (單機 V100×4):單機使用四塊 NVIDIA V100 進行分布式訓練;CPU 伺服器: 使用 V100 伺服器的 CPU 進行訓練。

環境:

Pendulum、MountainCarCont、HalfCheetah

算法:

PPO, 共采集 100 次資料進行 PPO 訓練,每次訓練前與環境互動采集 10K step 的軌迹放入 Buffer 進行訓練。SAC, 訓練 100 個 Epoch,每個 Epoch 與環境互動收集 1k step 放入 Buffer。

測試結果

由于目前 Tensorflow 2.4 的 Eager 模式不能調用 M1 晶片進行訓練,下面的結果是在 Mac mini 的 CPU 裝置上測試獲得的。

測試一:單程序采樣對比

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

測試二:4 程序采樣對比

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

測試三:16 程序采樣對比

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

測試四:32 程序采樣對比

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

功耗及價格對比

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

注:單個 Mac mini 功耗 39w,4 台總計 156w(瓦),傳統伺服器約為 1300w(瓦)。

蘋果M1更适合強化學習?相比V100性能提升200%,價格低90%,功耗減88%

注:單個 Mac mini 價格 6799 元 (512GB 官網價格),4 個總計 2.7 萬元,傳統伺服器約為 30 萬元。

M1 的共享記憶體架構适合于 RL 的訓練方式,目前,使用 Apple 的 M1 晶片組建的小型伺服器,以 NVIDIA GPU 伺服器 10% 的價格和更低的功耗,取得超過 200% 的時間效率提升。在強化學習目前主流訓練架構下,訓練效率的瓶頸往往在于政策網絡的通信速度不夠快,而共享記憶體方案可以減小通信上的開銷,為 RL 訓練帶來巨大的效率提升。

繼續閱讀