天天看點

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

近日,AWS 宣布機器學習平台服務 Amazon SageMaker 在國内開始正式開放。這标志着 AWS 人工智能、機器學習平台服務的關鍵技術已全面進入中國。

雲計算逐漸向着 Serverless 方向發展,今後雲計算平台向開發者提供的是「服務」而不僅「伺服器」。Amazon SageMaker 就是這樣一項完全托管的服務,大幅度降低建構機器學習模型的門檻。也許有小夥伴會感覺到,之前明明做的是算法,為什麼被迫增長了很多 IT 知識?如今 SageMaker 就是為解決這一痛點誕生的。

不過機器學習平台已經那麼多了,SageMaker 又怎樣才能吸引煉丹師們的關注?從機器之心的體驗上來說,特别明顯的是它的「開放」與「好用」,雖然聽上去比較泛,但「開放」表明它支援絕大多數機器學習架構與算法,「好用」指用 IDE 寫代碼、可視化、Debug 一氣呵成。

這些亮點我們在後文都會着重介紹,現在,讓我們從頭理一理,Amazon SageMaker 到底是何許人。

SageMaker,走向「國服」

2020 年 4 月底,SageMaker 在 AWS 中國的 北京區域和甯夏區域上正式開放。這一次,SageMaker 幾乎所有元件,包括去年底剛推出的線上 IDE 工具 SageMaker Studio 都與全球同步在中國正式釋出了。

「AWS 在中國正式釋出的 SageMaker、SageMaker Studio 等工具,目前絕大多數功能都已上線。這展現了 AWS 對于中國市場的重視程度。」AWS 首席雲計算企業戰略顧問張俠在釋出活動中表示。

AWS 有一個願景:把亞馬遜在機器學習方面的經驗和能力傳遞給所有的企業和機構,而 SageMaker 在實作這一願景的過程中扮演着極為重要的角色。

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

亞馬遜提供的全棧式機器學習服務包括三層:位于底層的虛拟機器鏡像、機器學習架構和基礎架構支援,位于中層的 SageMaker 機器學習服務平台,以及最上層的各類 AI 應用服務。

通過 SageMaker,ML 模型的訓練無需開發者手動管理伺服器、搭建工具鍊、以及繁雜的調參。從完整的平台 IDE,到具體代碼與 API,SageMaker 都有一種 Pythonic 精神,簡潔易用,同時提供進階的接口。

比如上圖中的 Autopilot,這種 AutoML 子產品全流程地簡化算法人員的時間,小白也能輕松訓練個不錯的模型。而對于 ML 開發者,TF、PyTorch 甚至 Scikit-Learn 寫的算法腳本都能導入,甚至也可以自帶算法容器鏡像。而且,這些都是有完善的支援,Debug、可視化、端部署功能一個都不能少。

張俠表示,SageMaker 包含的元件,這也正是建構、訓練和部署機器學習應用所需要的所有能力,它們現在都已有了正式的「國服版」。

架構算法武器庫:開放

機器學習架構與算法早就非常豐富了,從我們寫的第一行 NumPy 代碼開始,到走向 PyTorch、TensorFlow,我們會熟悉各種架構與算法。作為新一代的煉丹師,明顯我們不會隻是用一種架構,它們都各自有擅長的領域與特點。然而各種機器學習平台,它們能滿足這樣的特點嗎,它們能做到這樣開放嗎?

諸多網際網路大廠的機器學習平台,有的也還算成熟了,但它們總會偏愛自行維護的機器學習架構。這樣确實沒什麼問題,自行維護的架構能針對硬體、UI 界面做出獨特的優化,更有利于高效運作算法。然而對于廣大開發者而言,似乎直接用自己熟悉的架構更友善,顯然這對平台的「開放性」會提出更高的要求。

AWS 在中國正式釋出的 SageMaker,就是這樣一種「開放」的機器學習武器庫。

從架構支援上來說,抛開亞馬遜維護的 MXNet,它對 TensorFlow、PyTorch 甚至 Scikit-Learn 等衆多架構都有很好的支援與優化。即使你用的自定義架構,那也可以直接通過容器在 SageMaker 中跑起來。

這種支援并不隻是說讓不同的架構在 SageMaker 能跑起來,它的重點同樣在于優化。AWS 内部有很多研究者也都采用 PyTorch 或 TensorFlow,這就為進一步優化架構提供了基礎。

舉個栗子:TensorFlow

AWS 是運作 TensorFlow 的最佳平台,因為它提供了針對 TensorFlow 的大量優化。在 256 個 GPU 的叢集擴充效率測試中,AWS 優化的 Tensorflow 的擴充效率高達 90 %,而預設的開源版本隻有 65 %。

想象一下,如果我們在 GitHub 上找到一個好項目,那麼不論它是用什麼架構寫的,我們都能導入到 SageMaker 中,充分利用 AWS 的底層優化與适配。

開放,不止架構

新一代煉丹師,從模組化到部署,很多時候我們都有自己熟悉的一套工具,例如利用 TPU 做訓練、利用 Cortex 做部署等等。SageMaker 強大的地方在于,盡管它支援全流程的端到端機器學習,但是如果我們隻部分需要 AWS,那也是沒問題的。

我們已有的武器庫能與 SageMaker 完美融合,這種開放才是 SageMaker 機器學習平台獨特的魅力。

與此同時,「開放」還展現在模型上,使用者自定義模型自不必說,SageMaker 還内置了衆多通用算法。例如做資料科學少不了的 XGBoost,兩行代碼就能訓練一個強大的模型。

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

衆多模型庫,再加上 SageMaker Autopilot 這樣的自動機器學習利器,連小白都能在 10 分鐘内搞定一個強大的機器學習模型。值得注意的是,Autopilot 是業内首個兼顧可控制和可視化的自動機器學習工具,它是 SageMaker 全流程開放中不可或缺的一部分。

為機器學習而生的 IDE

做機器學習算法,一半體驗在架構等工具,另一半就在 IDE 上了。PyCharm、Jupyter Notebook 等都是我們最常用的 IDE,做展示、做複雜項目都有合适的選擇。那麼對于機器學習,什麼樣的 IDE 才是最友善的?SageMaker Studio 提供了一個思路,即在統一的可視化界面寫代碼、搭模型、管理訓練、Debug 及做部署。

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

讀者們應該都了解,ML 中的資料預處理是最麻煩的,而在 IDE 處理資料需要特别好用的可視化,進而給我們關于資料最直覺的了解。與此同時,手動調參也需要特别好的可視化,來幫助我們對比不同算法和超參訓練出來的模型效果。

但好用的可視化程式設計通常會帶來一個問題,即 Debug 又變難了。是以模組化看起來直覺、代碼可互動,同時又容易 Debug,這就是為機器學習而生的 SageMaker Studio。

Notebook 撸代碼做實驗

在機器學習中,Notebook 已經是常見的形式了,很多雲平台都采用了這種編輯形式。因為可以與代碼互動,用它來開發機器學習代碼實在是再合适不過了。在 SageMaker Studio 中,除了 Notebook 傳統擅長可視化,還額外加了一些可視化元件以管理模型的實驗過程。

本來用 Notebook 寫輕量代碼就非常友善,再加上 SageMaker 自己提供的大量精煉 API,它們之間的配合特别融洽。對于那些費時費力的底層資源管理繁雜過程,交給 SageMaker API 就行了,剩下的隻要在 Notebook 寫下算法邏輯,這才是機器學習開發者最高效的姿勢。

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

雖然 SageMaker Notebook 的使用很簡單,但實際上 AWS 托管的底層計算資源、底層環境與依賴庫還是需要管理的,正是 SageMaker 屏蔽了這些底層的複雜性。而且特别友好的是,SageMaker 可以自動打包這些底層配置,然後一鍵共享 Notebook,這樣把底層都交給 SageMaker,連 ML 開發瞬間都友好了起來。

Debug 走一波

簡單直覺還隻是一個方面,作為機器學習開發者,模型建構與訓練經常也少不了 Debug,Python 代碼腳本用 VS Code 等 IDE 也還好 Debug,但是對于 Notebook,目前基本上還沒有成熟的 Debug 工具。就像大家比較熟悉的 Colab,它雖然也是采用了 Notebook,但并做不了 Debug。

SageMaker 雖然采用 了更直覺的 Notebook,但 SageMaker Debbuger 能在訓練期間自動捕獲模型資訊,例如節點的定義、張量的次元等等。這些都是 Debug 的正常操作,做到為 ML 而生的 IDE,SageMaker Debbuger 還裝備了一些進階技能:檢測梯度有沒有消失,模型是否過拟合等。

ML訓練成本降90%,被萬家公司使用:進入中國的Amazon SageMaker你也能免費試試

加上 Debbuger,IDE 才算得上成熟,做機器學習業務或實驗,也都離不開它。如上所示,訓練和 Debbuger 是同時進行的,我們能實時了解模型都在幹些什麼,有沒有出毛病。

最後,不論是「開放」還是「好用」,它們都隻是 SageMaker 給我們的直覺感受。本身來說,SageMaker 還有更多優質的特性,資料與模型的安全性自不必說,對機器學習流程的各個環節的支援,也為 SageMaker 賦予更多的靈活性。

SageMaker,你也可以

SageMaker 在 GitHub 上放了 160 多個示例筆記本與教程,我們現在也能免費試用兩個月,模組化、訓練和部署伺服器都有免費額度。是以不論是開發者還是小白,都能上手試一試,畢竟 AWS 的使用者基礎還是非常廣的。

「目前已有數萬家公司采用了 AWS 的機器學習服務,其數量超過其他雲服務商至少兩倍,」張俠表示。據介紹,使用 SageMaker 部署機器學習的既包括 Autodesk、拜耳、T-Mobile 等著名國際企業,也有虎牙、大宇無限、嘉誼互娛等中國客戶。

之是以使用者很多,還是在于它的功能足夠強,效率足夠高。從統計資料來看,使用 SageMaker 系列工具可以把機器學習的總體成本降低 54%,并将開發效率提升 10 倍。

「我們都知道 TensorFlow 很流行,這種工具全球大約 85% 的工作負載是由 AWS 平台承擔的,」張俠說道。「在使用 SageMaker+TensorFlow 的實際案例中,開發者們可以将模型訓練的并行擴充效率從 65% 提高到 90%,訓練時間從 30 分鐘縮短到了 14 分鐘。」

SageMaker 的強大不僅來自于 AWS 多年積累的技術,也源于這家公司與衆多使用者、合作夥伴共同建立起的生态。

「我們可以看到友商也已在提供類似的機器學習開發平台。從算法數量、服務完整性上來看,Amazon SageMaker 有很多領先的地方,」張俠表示。「最明顯的地方在于我們提供對幾乎所有主流機器學習架構的支援,同時也有大量内置算法和最新的重要功能。我們擁有大量合作夥伴,生态系統最為豐富。大量來自生産環境一線的回報,可以不斷促進工具的發展,将能夠最快的機器學習落地方法融合在我們的産品中。」

已支援了上萬客戶的 SageMaker,其生命力不容小觑,既然有免費額度試用,它還是非常值得我們開發者入手一試的。

繼續閱讀