從 GPU、TPU,到 Web 端、移動端,深度學習框架部署訓練開始變簡單

本文做者:o****0html

早些時候的統計顯示,今年3月,深度學習框架集中爆發。5月,有人發佈能夠直接在 iphone11上訓練神經網絡的開源項目。日前,百度開源國內首個可直接運行在 Web 端的深度學習框架 Paddle.js。這些都使深度學習框架的部署和訓練變得簡單。 前端

深度學習框架提供一系列的深度學習組件,開發者選擇一套框架以後,能夠自定義數據集、算法、參數等,經過訓練獲得模型參數。就像一套供自由拼裝的積木,玩家可直接搭建模型,而不用先去作木工,造方塊。git

3月開源的華爲全場景 AI 計算框架 MindSpore;曠視深度學習框架天元 MegEngine;清華大學發佈基於元算子和動態編譯的深度學習框架計圖 Jittor,就提供了國產 AI 訓練的「積木」。github

深度學習框架訓練模型一般要求設備具備強大的算力,所以過去可能是在 GPU 或是 TPU 上訓練,以後再壓縮部署到各終端設備。上述的三個框架也不例外。一些較爲常見的、能夠部署在 Web 端的框架也都還沒有支持端訓練。好比東京大學機器智能實驗室的 WenDNN,只支持任務的推斷階段,不能用在訓練階段。Keras.js 只支持 Keras 生成的模型,不支持模型訓練,須要準備預訓練的模型。算法

但隨着端硬件設備算力的提高,及各方向技術的發展,更多人轉向研究直接在端設備上作訓練,以下降延時,保護數據隱私等等。目前,谷歌的 TensorFlow.js,百度的 Paddle.js 能夠作到直接在 Web 端訓練。IOS 設備也被我的開發者用來訓練神經網絡。瀏覽器

2017年,TensorFlow.js 公開發布第一個 beta 版本,並使用 WebGL 在瀏覽器中作硬件加速,可用於在瀏覽器和 Node.js 訓練和部署機器學習模型。用戶能夠直接在瀏覽器中提供數據,使用 TensorFlow.js 作訓練。網絡

Paddle.js 依靠 Paddle 模型庫,結合工具鏈和在線推理庫,將模型轉化爲 Web 可用格式,藉助 GPU Backend 作硬件加速,同時參與 Web NN 標準化,在手機百度 App 提供的特殊加速支持得到更快的執行速度。 前端工程師

此外,5月也有消息稱,有開發者發佈開源項目 MNIST-CoreML-Training,能夠直接在 IOS 設備上訓練神經網絡,基於 IOS 系統內置的模型轉換工具 Core ML 和手寫數據集 MNIST 作訓練。該實驗被認爲能夠證實 IOS 設備計算能力有所提高。框架

硬件設備算力提高的關鍵是芯片。iphone

經濟學人在近期發佈的    AI  及其侷限:比預期更陡峭》系列中提到,對計算能力不斷增加的需求推進了芯片設計和專用設備的蓬勃發展,這些設備能夠高效執行 AI 中使用的計算。
 
畢馬威會計師事務所的 Alfonso Marone 認爲,AI 專用芯片市場的規模已達100億美圓左右,到2025年可能達到800億美圓。

固然 AI 芯片市場的擴大,對端訓練框架的做用還有待觀察,但算力提高無疑會加速此類研究。不只是算力,各載體的功能支持也可幫助完善深度學習框架部署和訓練。

以 Web 端爲例,若是想實現人臉跟蹤、表情識別、更換人物影像背景等功能,瀏覽器就要具有實時獲取視頻流、處理複雜圖形等能力,近年開始火熱的一些 Web 項目使這些更易實現。如 Mozilla 在2018年年初推出 WebXR 的新標準,可將 XRARVR  MR)內容直接集成至網絡瀏覽器。Web Assembly 做爲一種編碼方式,便於其餘語言在代碼在 Web 前端運行,彌補 JavaScript 在處理圖像、遊戲運算等方面的不足。

說到這裏,可能你們對於前端如何訓練 AI 模型會比較感興趣,以新鮮出爐的 Paddle.js 爲例。Paddle.js 主要部分包括:模型工具鏈、推理先後處理、用戶工具鏈、測試框架和推理引擎自己。

在 Web 端作深度學習訓練須要使用瀏覽器友好的模型格式,Paddle.js 提供模型工具鏈,對引用的模型格式作轉換和離線優化。輸入輸出處理部分作圖像、視頻流等數據的處理,Web 前端工程師能夠直接調用相應的推理先後處理方法高效處理數據。最後是在線推理,包括神經網絡加載、神經網絡在線優化、算子分配與數據初始化、預熱與執行推理計算等。

不管是開源深度學習框架,仍是嘗試直接作端訓練,都是在下降作 AI 的門檻。

 今年以來,AI 界依舊是冰火兩重天。一方面,受疫情等因素影響,安防、車載等 AI 下游需求減弱,影響 AI 公司業務,外界一直以來對 AI 能力的質疑也並未減弱。另外一方面,資本市場對 AI 頗爲青睞,年初至今,多家 AI 公司披露數億元融資。

如何用 AI 作更多實際應用全部開發者都在嘗試解決的問題。而下降門檻,能夠鼓勵更多開發者參與。說不定哪次嘗試,就會帶來讓人驚喜的結果……

原文連接地址:https://developer.baidu.com/topic/show/291084

相關文章
相關標籤/搜索