陳天奇創業公司首個SaaS產品:快速構建部署ML應用,跨平台優化、基準和封裝一條龍

選自Medium

作者:Jason Knight

機器之心編譯

機器之心編輯部

我們都知道,將機器學習模型部署到設備時需要耗費大量的時間和算力,有時會力不從心。去年,知名人工智能青年學者、華盛頓大學博士陳天奇參與創建了 ML 創業公司 OctoML。該公司致力於打造一個可擴展、開放、中立的端到端棧,用於深度學習模型的優化和部署。這不,他們推出了首個 SaaS 產品 Octomizer,其能夠幫助開發者或數據科學家更方便、更省事省力地將 ML 模型部署到設備上。

今日,OctoML 公司正式在 Medium 上發表了一篇博文,介紹了他們正在進行的 Octomizer 項目——這是一個推動 ML 研究和實際應用部署的軟件平台,力求讓 ML 的應用簡潔、快速、方便。

機器之心對博客內容編譯如下:

長期以來的 ML 痛點

機器學習和深度學習對計算機領域產生了巨大的影響,其發展看起來非常光明,很多工程師可能會將其加入到自己的工具中。但是,學界的快速發展和一些可以看到的應用外,ML 到真正的產品之路依然是由昂貴的專家鋪就的——這些專家需要找到一種複雜而混亂的方案。但是,方案出來的時候,產品可能已經錯過了市場周期,成本超支。總而言之:機器學習依然困難。

雖然很多科技巨頭都在大力招聘優秀人才,但在機器學習社區中,所有人都會遇到以下兩個難題:

痛點 1:機器學習庫和服務依然處在低層等級,不能夠很好地抽象複雜性。儘管有很多開源項目力求加快 ML 模型的應用,但是這些項目無疑都需要使用者對底層算法和計算細節有很好的認識。另外,這些項目的抽象性不一定很好,所以它們聲稱能夠實現的「一鍵部署」或「易用」特性是達不到的。

痛點 2:ML 的計算很慢,而且不能夠很好地支持移動端。很多時候,在某些硬件和軟件上擬合地很好的模型換了平台和部署環境就會出現性能下降的問題。例如,你有一個不錯的 ResNet-50 模型,在你最喜歡的硬件或軟件平台上有着不錯的性能表現。但是,如果將其部署在其他平台上,或者增加了幾個訓練的竅門,性能會大幅下降。

OctoML 推出首個 SaaS 產品 Octomizer

出現問題就要解決問題。幾年前,我們中的一些人開始從頭開始重新構建 ML 軟件堆棧,從而修復機器學習存在的問題。2017 年 8 月,陳天奇等人開源了深度學習自動代碼生成方法 TVM,對業界產生了深遠的影響。利用這一工具,機器學習算法可以自動編譯成可供下層硬件執行的機器語言,從而可以利用多種類型的算力。現在,大多數主要深度學習公司都在使用 TVM 框架,為亞馬遜 Alexa 喚醒詞檢測提供支持,並促使 Facebook 語音模型獲得 80 多倍的性能提升。

通過與不斷發展的社區共同構建深度學習編譯器,亞馬遜、Facebook、微軟以及其他公司已經能夠為它們的工作負載生成跨平台、高性能代碼,這要比編寫低級核心程序這種傳統做法更為省時省力。

基於 TVM 的這些良好用例,我們意識到可以並且需要向更多的開發者展示該框架所帶來的好處及其良好性能,所以創立了 OctoML 並創建了首個產品:Octomizer。

Octomizer 是一種軟件即服務(SaaS)產品,旨在幫助任何人更方便地將 ML 模型部署為應用程序的一部分。開發者或者數據科學家只需上傳機器學習模型(TF、PyTorch、ONNX 等),然後由我們在不同的硬件平台和應用語言運行時上對模型進行優化、基準測試和封裝。

藉助於 Octomizer,用戶可以更方便地:

  • 減少從模型訓練到模型部署期間的周轉時間,進而提升數據科學團隊工作效率;
  • 降低 ML 雲操作成本;
  • 將更多模型部署到邊緣、移動端和 AIoT 設備上,實現雲操作零成本。

下圖為 Octomizer 的整體工作流程:

Octomizer 工作流程。

Octomizer 的效果

用戶可以使用 Octomizer 來對模型在不同雲 CPU 和 GPU 實例類型上的性能進行對比,並評估將模型部署到 ARM 移動端或嵌入式處理器上的設備分級需求,從而增強數據保密性,降低潛在硬件成本。接着就可以選擇你所需要的部署封裝格式了,如 Python wheel、具有 C API 的共享庫、無服務器的雲打包工具、具有 gRPC 或 REST 包裝器的 Docker 圖像以及 Maven Java 偽影等。

在收到二進制文件之後,用戶即可以使用手頭的任何部署裝置來部署模型,並且藉助 Octomizer API 進一步實現部署流程的自動化,進而作為應用現有 CI/CD pipeline 的一部分來構建或優化模型。

以往而言,用戶需要耗費數周甚至數月時間將訓練好的模型在不同設備上投入生產。藉助於 Octomizer,所有這些耗時耗力的工作都可以避免了,並且也不用再擔心性能、運算子和不同平台封裝不一致的問題了。如此一來,更為接近邊緣的部署可以節省計算成本、降低延遲、增強用戶隱私和數據安全。

效果不僅僅如此,通過「ML applied to ML」編譯流程在底層的更充分利用,用戶還可以持續地改善模型的性能、內存佔用和磁盤佔用。並且,隨着我們添加更多硬件、基準測試、封裝格式以及更快的優化流程,Octomizer 能夠繼續提升自身效果。

目前,Octomizer 提供了內測的 beta 版,用戶可以登記試用。

參考鏈接:https://medium.com/octoml/octoml-easier-machine-learning-67e217fffa20

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。