基於華為雲EI ModelArts,體驗從零打造AI應用模型

華為雲學院發表於2019-03-18

基於華為雲 EI ModelArts,體驗從零打造AI應用模型

 

現如今 AI 技術、概念火爆、落地應用更是繁多,但開發呢?是否困難?到底有多痛?

據瞭解,大部分 AI 開發者的工作時間並不長,並且十有八九可能不是“科班出身”。從編寫的教材、錄製的課程中就可以看出,所有的教學都不可避免地帶有很強的的學術性,即便有意避免研究導向,仍然離產業界的需求相去甚遠。

並且隨著新一波人工智慧的熱潮,人們發現手裡的資料多了,電腦運算的更快了,但實際上,這些 AI 開發者使用的工具並不順手。

為幫助開發者更深入地瞭解 AI 開發,快速上手 AI 開發必備技能,12 月 20 日的AIcon活動上,華為雲舉辦了一場以「基於 ModelArts 平臺的 AI 開發實戰」為主題的現場挑戰 Workshop!現場由來自華為雲EI深度學習服務團隊負責人為開發者講解了 ModelArts 的 相關技術與應用,幫助開發者學習如何從 0 到 1 打造一款 AI 應用模型。

ModelArts——更快的普惠 AI 開發平臺

ModelArts 是面向 AI 開發者的一站式開發平臺,提供海量資料預處理及半自動化標註、大規模分散式訓練、自動化模型生成,以及端-邊-雲模型按需部署能力,幫助使用者快速建立和部署模型,管理全週期 AI 工作流。

同時, ModelArts 能夠在 AI 開發全生命週期中,從原始資料、標註資料、訓練作業、演算法、模型、推理服務等,提供全流程視覺化管理。支援千萬級模型、資料集以及服務等物件的管理,無需人工干預,自動生成溯源圖,選擇任一模型就可以找到對應的資料集、引數、模型部署在哪裡。其中最實用的訓練斷點接續功能、訓練結果比對功能,在華為內部開發者中也頗受歡迎。

簡單來說, ModelArts 的特點是“四快”:

資料管理快——讓資料準備效率百倍提升

想象一下,如果你的老闆給了你 10 萬張無標籤的圖片,並要求你為這些資料打上標籤。你該怎麼辦呢?

許多公司都在資料的大海里遨遊,不論是交易資料、物聯網感測器產生的海量資料、安全日誌,還是影像、語音資料等等,這些都是未標註的資料。

正如華為雲 EI深度學習服務團隊負責人所說,“當前做 AI 開發,最讓開發者頭疼的就是資料的採集和資料的處理。曾有開發者吐槽,光是資料準備就要佔掉整體開發時間的 70%。”那麼,為什麼資料的處理這麼難?效率為什麼這麼低呢?

人工智慧界有一個說法:“有多少人工就有多少智慧。”因為目前實現人工智慧的主要方法是機器學習(目前火熱的深度學習也是機器學習的一部分),而機器學習中目前大部分應用都是有監督的學習,即需要大量的   標註樣本  去訓練人工智慧演算法模型。

例如影像識別任務中,必須有大量已經標註好的圖片,比如一張貓的圖片,狗的圖片等,你必須明確的告訴 AI 演算法,這些圖片裡面是什麼東西,它再從中去學習出相應的“知識”。

所以, AI 並不像傳統想象的那樣,丟一堆資料給 AI 演算法,AI 演算法就能夠從中學習到各種有用的知識。而是背後有大量的人工在標註資料。

ModelArts 在資料管理方面,會將資料進行預處理,用 AI 的資料去標註資料,即自動化標註和半自動化標註。ModelArts 可對資料取樣和篩選,預標註,縮減需要標記的資料量,降低工作量。目前, ModelArts 已經在自動駕駛領域有非常多的應用,包括人車模型、訊號燈模型等等,這些模型在自動駕駛的場景裡面,可以快速地提升資料處理的效率,實時地處理資料。在未來,ModelArts 也將面向通用計算機的其他領域。

訓練快——模型訓練耗時減低一半

在模型訓練部分, ModelArts 通過硬體、軟體和演算法協同優化來實現訓練加速。尤其在深度學習模型訓練方面,華為  將分散式加速層抽象出來,形成一套通用框架——MoXing (“模型”的拼音,意味著一切優化都圍繞模型展開)。

採用與 fast.ai 一樣的硬體、模型和訓練資料,ModelArts 可將訓練時長可縮短到 10 分鐘,創造了新的紀錄,為使用者節省 44% 的時間。

MoXing 是華為雲 ModelArts 團隊自研的分散式訓練加速框架,它構建於開源的深度學習引擎 TensorFlow、MXNet、PyTorch、Keras 之上,使得這些計算引擎分散式效能更高,同時易用性更好。

MoXing 內建了多種模型引數切分和聚合策略、分散式 SGD 優化演算法、級聯式混合並行技術、超引數自動調優演算法,並且在分散式訓練資料切分策略、資料讀取和預處理、分散式通訊等多個方面做了優化,結合華為雲 Atlas 高效能伺服器,實現了硬體、軟體和演算法協同優化的分散式深度學習加速。

有了 MoXing 後,上層開發者可以聚焦業務模型,無需關注下層分散式相關的 API ,只用根據實際業務定義輸入資料、模型以及相應的優化器即可,訓練指令碼與執行環境(單機或者分散式)無關,上層業務程式碼和分散式訓練引擎可以做到完全解耦。

另外,衡量分散式深度學習框架加速效能時,主要看吞吐量和收斂時間。在與吞吐量和收斂時間相關的幾個關鍵指標上,華為雲 ModelArts 都做了精心處理:

在資料讀取和預處理方面, MoXing 通過利用多級併發輸入流水線使得資料 IO 不會成為瓶頸;

在模型計算方面, MoXing 對上層模型提供半精度和單精度組成的混合精度計算,通過自適應的尺度縮放減小由於精度計算帶來的損失;

在超參調優方面,採用動態超參策略(如 momentum、batch size 等)使得模型收斂所需 epoch 個數降到最低;

在底層優化方面, MoXing 與底層華為自研伺服器和通訊計算庫相結合,使得分散式加速進一步提升

那麼,在 MoXing 一系列的優化之後,實際效果如何?以國際權威成績來參考:

在史丹佛大學釋出 DAWNBenchmark 最新成績中,在影像識別(ResNet50-on-ImageNet,93% 以上精度)的總訓練時間上,華為雲 ModelArts 排名第一,僅需 10 分 28 秒,比第二名提升近 40%。

在這個匯聚谷歌、亞馬遜 AWS、fast.ai 等高水平隊伍的國際權威深度學習模型基準平臺上,華為雲 ModelArts 第一次參加國際排名,便實現了低成本、快速又極致的 AI 開發體驗,其海量資料預處理及半自動化標註、大規模分散式訓練、自動化模型生成以及端 - 邊 - 雲模型按需部署能力,更是體現了當前中國業界深度學習平臺技術的領先性。

上線快——一鍵部署到雲、端、邊,支援各種上線場景

現如今,縱觀整個 AI 產業,不僅僅是雲,還會有邊和端都需要部署的場景。然而,在 AI 規模化落地的場景下,模型部署會非常複雜,需要寫程式碼整合到應用系統,維護、更新。例如在智慧交通領域,更新後的模型,需要一次性同時部署到各種不同規格、不同廠商的攝像頭上,這是一項非常耗時、費力的巨大工程。

對於此類場景, ModelArts 可以一鍵推送模型到所有邊緣、端的裝置上,雲上的部署還支援線上和批量推理,滿足大併發和分散式等多種場景需求。

開發者可以在 ModelArts 上獲得一些高併發、自動彈性伸縮的特性。能夠根據使用者制定的策略,自動調整雲伺服器的計算資源,跟隨使用者的業務需求變化。在業務需求下降時自動減少雲伺服器,節約資源和成本;在業務需求高峰時自動增加雲伺服器,保證業務平穩健康執行。

上手快——自動學習,零 AI 基礎構建模型

ModelArts 具備自動學習功能,支援模型的自動設計與自動調參等,能夠幫助開發者提升開發效率、快速上手。

為什麼需要自動學習?

AI 開發有兩大類,第一類為 AI 認知服務,比如影像識別和 OCR 等,這一類門檻很低,但靈活性差,只支援特定型別。當不滿足需求時,只能定製一個模型,週期非常長費用也比較高。第二類就是找 AI 的演算法工程師、演算法專家,去做自己的模型;還有一類就是那些直接用 AI 的框架自己寫程式碼以及自己訓練資料,這一類的門檻較高,靈活度也很高。而自動學習就是希望能夠打破這兩者,既有一定的定製化的能力,又能夠降低 AI 定製化模型的門檻,不需要寫程式碼,使用者可以定製化自己的模型的特點。

在自動深度學習裡面,關鍵的技術是能夠做到多維度下的模型的架構自動設計,包含模型的元學習,涉及一些訓練指標,還有推動網路涉及的推理速度和監控等。另外還包括一些元學習的訓練引數的自動配置、模型訓練的引數配置及搜尋等。

另外,由於深度學習向計算機視覺輸入原始資料,整個特徵工程是在神經網路裡面做的,而機器學習需要很多演算法工程師去識別哪些特徵是對業務是起正向作用的,所以自動機器學習的關鍵技術,就是高效自動特徵工程和自動調參。

除此之外,據華為雲 EI深度學習服務團隊負責人介紹,華為雲 ModelArts 還有一個特色,就是面向應用開發者。對於有經驗的開發者,可以在 ModelArts上自行編寫並匯入演算法程式碼,核心元件 MoXing SDK 支援豐富的模型庫、優化演算法和各類工具庫;支援自動超引數調優;包含訓練 - 驗證 - 預測 - 模型匯出的整套框架;開發者只需要編寫一套程式碼就能自動實現單機及分散式化。

對於程式設計苦手卻想快速生成模型的 AI 初學者,ModelArts 也預置了能夠覆蓋大部分常用應用場景的演算法模型(如 RestNet_50、Faster_RCNN、SegNet_VGG_16 等,未來還將上線更多演算法模型),所有預置模型的基於開源資料集訓練,模型精度領先。只需配置資料路徑 / 日誌輸出路徑和 Hyper Parameter 自動選擇設定就可以一鍵啟動訓練。

ModelArts 應用例項:金融票據 OCR 識別

金融票據,包括銀行承兌票據和商業承兌票據,目前銀行承兌票據佔了 90% 以上的票據市場份額,金融票據 OCR 識別工作重點在於銀行票據的識別。

對於業界普通 OCR 軟體,在金融票據領域識別準確率不高,對於現有一些針對金融票據做過優化的 OCR,識別準確率也算達到 90%。由於金融票據金額不低,對於 OCR 識別要求很高,而金融票據難點在於票據格式多樣且差別細微等。

另外,票據模型開發訓練難點包括資料標註、模型訓練、調參和部署上都有較多難點,對於 AI 開發水平要求很高,需要非常資深的 AI 專家進行繁瑣和長時間對於票據 AI 進行不斷訓練。

通過 ModelArts 助力金融票據 OCR 識別的實戰。多位 ATN 社群使用者使用後認為:ModelArts 適合 AI 的初學者,通過資料集的分類,可自動學習,無需調參等操作;適用於遷移學習;線上部署便利,逐步整合更多的資料標註工具,擴大應用範圍。

後續,華為雲 ModelArts 將進一步整合軟硬一體化的優勢,提供從晶片(Ascend)、伺服器(Atlas Server)、計算通訊庫(CANN)到深度學習引擎(MindSpore)和分散式優化框架(MoXing)全棧優化的深度學習訓練平臺。

華為雲 ModelArts 會逐步整合更多的資料標註工具,擴大應用範圍,將繼續服務於智慧城市、智慧製造、自動駕駛及其它新興業務場景,在公有云上為使用者提供更普惠的 AI 服務

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556022/viewspace-2638623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章