當前位置:
首頁 > 知識 > MSRA 系統研究員陳程:MMdnn 如何讓模型在不同深度學習框架間轉換?

MSRA 系統研究員陳程:MMdnn 如何讓模型在不同深度學習框架間轉換?

在深度學習領域,有許多深度學習框架可以讓開發者和研究者用於設計模型,每個框架具備各自獨特的網路結構定義和模型保存格式。AI 工程師和研究者希望自己的模型能夠在不同的框架之間轉換,但框架之間的差距阻礙了模型之間的交互操作。

今年年初,微軟開源了 MMdnn,這是一套用於轉換、可視化深度神經網路模型的綜合性解決方案。MMdnn 中的「MM」代表模型管理,「dnn」的意思是深度神經網路,它能夠通過中間表徵格式讓訓練模型在 Caffe、Keras、MXNet、Tensorflow、CNTK、PyTorch 和 CoreML 等深度學習框架之間轉換,幫助開發者實現模型在不同框架之間的交互。

根據微軟的官方描述,MMdnn 主要有以下特徵:

模型文件轉換器,不同的框架間轉換 DNN 模型

模型代碼片段生成器,生成適合不同框架的代碼

模型可視化,DNN 網路結構和框架參數可視化

模型兼容性測試(正在進行中)

除了 MMdnn,微軟還推出了多個深度學習框架的「旅行伴侶」,比如深度學習框架的通用語言 repo 1.0 以及和多個公司聯合提出的深度學習聯合標準 ONNX。在這些深度學習「旅行伴侶」的幫助下,AI 開發者在不同框架之間輕鬆運用專業知識,實現不同開源社區之間的合作。

不過,對於使用不同平台和不同編程語言的開發者來講,微軟的深度學習框架「旅行伴侶」如何滿足他們的需求?這些AI 開發工具未來會新增哪些功能?微軟還會推出哪些工具幫助 AI 開發者構建應用?AI 研習社採訪了微軟亞洲研究院系統組研究員陳程,請他為 AI 開發者解答上述疑問。

陳程簡介:微軟亞洲研究院系統研究組副研究員,研究領域包括存儲、分散式系統、分散式計算和機器學習系統。曾經參與必應(Bing)搜索引擎 Per Document Index Service 存儲系統、分散式系統開發框架 rDSN、分散式計算平台 TuX2 的研發工作,以及深度學習框架的優化和開發。

以下是採訪內容:

1.微軟推出可以在多個深度學習框架的開源庫 MMdnn 的初衷是什麼?

這個項目起源於我們內部開發人員和研究人員的交流。深度學習框架的多樣性讓許多開發人員面臨一個實際問題,就是如何在不同深度學習框架間轉換訓練代碼和模型文件。因此,我們參考 FFMpeg (一個廣泛使用的視頻、音頻解碼和轉換的自由軟體) 的設計思路,做了這樣一個針對深度學習框架界的項目,來增強不同深度學習框架的互操作性。這是一套實驗性的開源代碼,希望更多人可以一起來完善這個工作,並基於此開發更多新的功能。

2.MMdnn 可在多個深度學習框架間轉換,那麼 MMdnn 是如何應對不同平台開發者的需求?

MMdnn 最開始的設計就考慮了跨平台的需求, MMdnn 不僅可以在 Windows 開發環境下使用,也可以在 Linux 開發環境下使用。MMdnn 使用 Python 作為主要的開發語言,可視化的部分採用 JavaScript,這兩種語言都可以跨平台使用。

3.目前市面上有很多模型結構可視化工具,MMdnn 模型可視化工具有哪些特別之處?

4.你認為 MMdnn 還有哪些地方需要改進?未來的版本迭代方向是怎樣的?

MMdnn 正在快速開發中,目前主要的規劃有:

完善文檔和開發指南,方便用戶使用,以及幫助有興趣的開發者來一起共同工作;

支持更多的模型種類,比如語義分割、物體檢測、行為識別,以及自然語言處理方面的模型;

進一步提高 MMdnn 的易用性,例如將其主要功能做成一種服務,用戶可以在線轉換模型而不需要再下載使用;

推進模型可視化工具和可視化模型編輯工具的開發;

利用 MMdnn 進行模型結構分析和探索相關的研究工作。

5.同樣是幫助開發者和數據科學家更加方便地使用不同的深度學習框架,MMdnn、ONNX、repo 1.0 的差異和特點在哪裡?

MMdnn 專註於提供一個簡單易用的工具,以最小的開銷幫助開發者和數據科學家在不同深度學習框架之間相互操作。

ONNX 是微軟聯合多個相關公司一起推動的深度學習模型標準。該標準可以更好的為軟體和硬體廠商間提供更好的可交互性。多家公司的支持也利於推動不同框架內部的互操作支持。MMdnn 也將支持 ONNX 格式。

ONNX Github 鏈接:

https://github.com/onnx/onnx

Repo 1.0 目前主要的工作是構建一個跨平台、跨架構、跨硬體的基準測試環境,讓開發者和研究人員根據自己的需求,選擇最恰當的平台、硬體和深度學習框架。

Repo 1.0 完整版 GitHub 鏈接:

https://github.com/ilkarman/DeepLearningFrameworks

6.除了開源大量的 AI 工具,微軟還通過哪些方式幫助開發者構建 AI 應用?

我們為了幫助開發者更快捷地開發、部署、優化 AI 應用,正在研究並也已經陸續推出了一系列的深度學習平台和工具,比如:

針對開發階段,微軟提供 Visual Studio Tools forAI(https://www.visualstudio.com/zh-hans/downloads/ai-tools-vs/)和Visual Studio Code Tools for AI (https://www.visualstudio.com/zh-hans/downloads/ai-tools-vscode/),讓開發者更容易地在本地和遠程甚至在Azure上開發和調試深度學習程序。同時更加方便的開發 Windows UWP 和 Android 及 iOS 下深度學習相關的應用;

在微軟的 Azure 雲計算平台上,微軟通過 Azure Machine Learning 和 Azure Batch AI 服務為廣大開發者提供深度學習訓練的 GPU 計算平台和任務管理服務。

微軟也通過 Cognitive Services(微軟認知服務)和 Bot Framework 為開發者提供高階的人工智慧 API 和開發框架。

除了上述的 MMdnn、Repo 1.0 和 ONNX 這三種深度學習框架「旅行伴侶」,微軟在 5 月 7 號的Build 開發者大會上也發布了不少與 AI 相關的產品,同時也宣布更新了一系列新的 AI 開發工具。在微軟一系列AI工具的加持下,不論是高階的 AI 開發者還是剛入門的 AI 新手,都能更加便捷地把 AI 融入到他們自己的商業模式和應用產品中。

有關 MMdnn 的詳細信息請訪問 Github 官方頁面以及陳程 Github 個人站。

MMdnn GitHub :

https://github.com/Microsoft/MMdnn

陳程個人 Github:

https://github.com/kitstar

從Python入門-如何成為AI工程師

BAT資深演算法工程師獨家研發課程

最貼近生活與工作的好玩實操項目

班級管理助學搭配專業的助教答疑

學以致用拿offer,學完即推薦就業

媲美人類有何不可?深度解讀微軟新 AI 翻譯系統四大秘技


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

「遷移學習簡明手冊」的 LaTex 源碼
谷歌 TPU 二代來了,英偉達 Tesla V100 尚能戰否?

TAG:AI研習社 |