在機器學習上,Google已為你準備好所有開發工具

上週,Google 開發者大會重聚線下。

自從十年前吳恩達、Quoc Le 等人發表「識別貓」論文,引發技術革命之後,Google 一直引領著機器學習的風向,這家公司舉辦的開發者大會總會受到人們額外的關注。

9 月 14 日到 15 日,Google 開發者大會在上海舉行。在這場活動中,Google 圍繞自身在科技領域的最新技術,介紹了跨平臺技術、隱私保護、機器學習、XR 等技術,以及與很多合作伙伴的最新落地成果。

在機器學習領域裡,TensorFlow 作為最流行的框架一直被人們所熟知,最近它剛剛進化到 2.10 版。在開發者大會上,Google 介紹了開源機器學習生態體系 Tensor Projects 的概念。

機器學習是一個利用已知資料來訓練推理模型的過程,經過訓練的模型可以在前所未見的資料上作出有效預測,完成從圖像識別、語音到自然語言處理等多種任務。打造領先的機器學習框架的過程正是為了做到這一點。谷歌希望通過 TensorFlow 框架提供的能力,為世界帶來更多啟發和靈感。

在 2016 年,谷歌開源了 TensorFlow,那時的業界情況和目前大不相同——當時真正稱得上掌握機器學習技術的人大約只有幾千人,而今天這個數字已經增長到了上百萬,未來還會更多。

在 Tensor Projects 的使用者中,既有專注於科技領域的,也有把機器學習作為輔助工具攻克其他領域研究的,不過在很多情況下,這些受眾都有相似的需求。隨著機器學習人才數量的增加,開發工具也需要向前發展。

「在 2021 年全球有 2430 萬名軟體開發者,這一數字在 2030 年預計將達到 4500 萬人,」谷歌 TensorFlow 技術推廣工程師魏巍說道。「其中大多數人並不會以機器學習為全職工作,大約有 1/4 會在開發過程中使用機器學習,一部分核心工作包括訓練、部署和管理機器學習模型。他們會打造出很多現在無法想象的實用功能,比如在手機上給照片智慧抹除不想要內容的功能。」

機器學習也在不斷發展,前沿的研究最近又為我們帶來了 AlphaFold 等重大突破。為了促進這些目標,這些年穀歌一直在致力於打造機器學習框架、庫、基礎設施、反例和教程,也掌握了從零開始打造機器學習應用的豐富經驗。

如今,TensorFlow 技術本身已經包含資料、建模、部署到維護的全流程,在這之下還有專用的加速基礎設施可以最佳化整個生命週期,實現了從業餘愛好者到研究人員都適用的免費開源產品生態。

Tensor Projects 作為谷歌機器學習的生態,其中包含了不同的技術產品。例如,在構建模型的時候,Keras 可以幫你用簡潔的方法構建模型,它被認為是更適用於初學者的開發工具。Google 表示,現在人們使用 TensorFlow Light Model Maker 可以解決創造移動端模型時面臨的很多複雜任務。

「製作 App 或網站時你需要集成模型,我們打造了 task 庫幫助人們使用模型。Model Maker 和 Task 庫目前都已經支持端側大規模近鄰搜尋,可以在幾毫秒內在百萬資料中找出近似的圖片、文字或音訊,所有的一切都可以發生在手機上。」魏巍表示。

JAX 是 Google Research 團隊開發的高性能機器學習庫,擁有和 NumPy 相似的 API 接口,並使用 XLA 編譯器來進行模型加速。很多研究者對其寄予厚望,希望它可以取代 TensorFlow 成為新一代流行深度學習框架。

在谷歌,JAX 被定義為前沿研究使用的機器學習框架,TensorFlow 則是應用時使用的框架。據介紹,DeepMind 就曾使用 JAX 開發了 AlphaFold 來解決蛋白質摺疊問題,從而精準預測蛋白質結構。

JAX 針對谷歌的基礎設施專門最佳化了數學計算,目前這套基礎設施已經開放給了所有開發者使用。開發者們可以在 TensorFlow 上簡單修改幾行程式碼,即可接入谷歌 TPU 的算力。

Google 也發展了演算法部署的工具。如今在模型部署時,你可以使用 TensorFlow Extended (TFX)把模型部署到所有位置:從雲端到網頁伺服器、瀏覽器、嵌入式系統等等。但與此同時,我們需要修復 bug,處理新的資料,保證模型輸出負責任的結果。TensorFlow Extended (TFX)讓模型的持續訓練成為了可能:它可以幫助你更深入地理解模型性能,你可以用 TFX 訓練多端模型,隨時接入 Colab。

最近一段時間,人們對於可信機器學習重視程度越來越高,當你打造負責任的機器學習模型時,模型卡片可以提供透明度,現在 TFX 也可以自動生成模型卡片了。

TFX 上一個受歡迎的元件是 TensorFlow Serving,它可以幫助把模型部署到伺服器上,然後遠端調用。谷歌最近已經發布了四個新的 Learning Pathways,幫助大家學習如何從安卓、Flutter、Web 端來調用 TensorFlow 的接口,完成模型推理。

谷歌也發佈了兩個新的 Colab 來幫助開發者學習 TensorFlow Recommenders 和 TensorFlow Agents 來打造基於機器學習的全棧跨平臺 App,目前,TensorFlow Lite 運行庫已經被集成進 Google Play Service,這意味著使用者可以一直使用最新版本的 TensorFlow Lite。很多應用目前已經在使用 Google Service 中的 TensorFlow Lite,每個月有超過 4 億使用者,完成 200 億次推理。

Google 也在幫助更多開發者,降低機器學習的應用門檻。

谷歌提出了 MediaPipe,希望能為開發者提供高度可定製化的設備端機器學習解決方案。其技術已在 Google Meet 線上會議的背景模糊,Nest 的人員移動檢測、包裹遞送通知、收拾識別,YouTube 的虛擬試妝等功能上得到了應用。支持多模型,多硬體加速,跨平臺的機器學習任務。

在大會現場,Google 向我們展示了 MediaPipe 在骨骼綁定、動作和手勢識別等計算機視覺任務上的能力,只需本地 GPU 和攝像頭,演算法就可以實時探測出面前人們的各種動作。

MediaPipe 將複雜的機器學習流水線都封裝成為 Task,方便開發者用最簡單的方式定製模型。在未來,設備端機器學習技術的調用將簡化到僅需幾行程式碼,甚至無需程式碼。谷歌下一步的計劃,是把 MediaPipe 從視覺拓展到語音識別和自然語言處理領域。

在機器學習社區裡,谷歌的官方機器學習教程一直被受到歡迎,繼推出《TensorFlow 入門實操課程》後,TensorFlow 團隊最近攜手網易有道在 Mooc 平臺上面向對部署領域感興趣的開發者推出了專題課程:《 TensorFlow 入門課程 – 部署篇 》,同時也推出了中文版的《開發者線上課程》。

Google 提供的工具為人們提供了豐富的選擇,不論科研還是生產,在做下個機器學習項目時,你肯定還會先試一下用 TensorFlow 該怎麼做。