在數位化轉型浪潮席捲全球的今天,AI 技術已經成為行業公認的升級重點,正在越來越多的領域為業務帶來創新價值。但在企業開發 AI 應用的過程中,經常會遇到準備不足、人才緊缺、開發成本高昂等問題,阻礙著 AI 的落地實踐。
在 2020 年 12 月 20 日 QCon 2020 上海站上,華為雲 AI 首席技術布道師陳亮攜手四位華為 AI 領域博士,帶來「全棧全場景 AI 應用開發實踐」的專題分享。本場專題針對企業 AI 開發應用中面臨的痛點和難點,從實踐出發幫助企業構建成熟高效的 AI 開發流程。
本文主要總結自王俊博士與白小龍博士的分享內容。
1 MindSpore:端邊雲統一訓練和推理的 AI 計算框架
首先,華為高級 AI 算法工程師王俊博士深度解析華為 MindSpore AI 計算框架。
在 AI 領域,AI 計算框架扮演著一個非常核心的角色。過去八年多來,AI 框架經歷了三個階段的發展:第一階段主要奠定理論基礎,第二階段則引入了分布式訓練、計算圖、動態圖等理念,TesnorFlow 和 PyTorch 兩大框架也是在這一階段佔據了行業主導地位。
如今 AI 框架的發展已經逐漸進入了第三階段,但行業還在探索這一階段的具體演變方向。歸結起來,行業對 AI 框架的需求主要分為用戶態、運行態和部署態三大層面。
用戶態。這一層面主要決定用戶的使用方式,具體分為動態圖和靜態圖兩種模式。靜態圖效率高,但是對開發者不夠友好;動態圖易編程,但底層性能會慢很多。用戶希望能儘可能結合這兩種模式各自的優勢,這對框架而言是一個難題。
運行態。在這一層面,用戶希望框架實現儘可能高的模型運行效率。如今,業界面對的一大難點就是切分模型實現分布式訓練的具體方式。分布式訓練的目標是充分利用大規模計算資源提升模型性能,但如何合理地切分模型,保證分布訓練的效率是非常耗時耗力的工作,給模型的規模擴張帶來了障礙。
部署態。模型部署的過程中,一方面用戶希望算法可以很好地落地產生效果,另一方面卻不希望用戶數據出現隱私安全問題。因此框架需要在鋪平落地道路的同時確保數據安全。
針對上述需求,華為開發了 MindSpore AI 計算框架,通過諸多創新解決了傳統框架未能解決的一系列難題。
面對用戶態中動態圖與靜態圖兩種需求的矛盾,MindSpore 引入了名為 MindIR 的圖層中間表示形式。
IR(Intermediate Representation)是原始碼於目標代碼之間的翻譯中介,好的 IR 有利於 AI 模型的編譯優化和執行,是 AI 框架高效訓練和推理的基礎。MindIR 選擇的技術路線是 Functional Graph IR,由 ParameterNode、ValueNode 和 CNode 組成有向無環圖。在 MindSpore 自動微分時,MindIR 會計算 ParameterNode 和 CNode 的梯度貢獻,並返回最終 ParameterNode 的梯度,而不計算 ValueNode 的梯度。
MindIR 可以將動態圖或靜態圖編成 IR 表示,使開發者可以在開發過程結合動態圖與靜態圖兩種模式,根據需要隨時切換使用。
在運行態,為了幫助開發者從手動切分模型的繁重任務中解脫出來,MindSpore 提供了自動並行方案。
這套方案不需要改變用戶代碼結構,用戶啟用方案後框架會自動搜索並行策略,之後切分算子,最後切分整圖。
框架基於自動規劃方式來生成切分策略,過程中會儘量切除一些明顯不可行的策略,最後生成整圖的切分。整體策略的目標是最大化計算通信比,儘可能將更多的計算時間放在前向計算和反向計算,而非計算卡之間的通訊上面。切分策略也支持用戶手動調整,手動自動兩種方式可以結合使用。這套方案還支持優化器並行,最終能夠顯著降低分布式訓練的額外內存開銷。
出於進一步提升算法性能的目的,MindSpore 還引入了二階優化和圖算融合策略。
訓練深度學習模型需要大量計算,訓練收斂時間較長。二階優化方法可以有效加速模型收斂,減少迭代次數,但同時會引入大量複雜計算,限制了其在深度模型訓練中的廣泛應用。因此對於計算框架而言,如何高效求解二階矩陣是一個技術難點。MindSpore 的應對方法是矩陣求逆,只考慮對角線上的元素塊和每一層內的影響。同時框架不會做全量二階,會將一階與二階優化交替進行,基於動態結果決定二階計算量。基於這些優化,MindSpore 將端到端的訓練時間節省了 20%。
算子融合是 AI 框架常見的優化方法。現代計算機硬體架構採用多級內存體系,數據運算時需要逐級輸入輸出。算子融合就是將相鄰算子的計算邏輯合併,節約逐級輸入輸出的次數,從而提升時間效率。MindSpore 還引入了圖算融合。最終獲得了 15% 的端到端性能提升。
在硬體層,MindSpore 原生支持高性能的昇騰 AI 晶片,並針對昇騰的技術特性做了軟硬結合優化。在多種優化措施的共同作用下,MindSpore+ 昇騰晶片的方案比基於 V100 的方案提升了 70%-80% 的性能,並在 5 月份取得了行業 AI 算力榜第一的成績。
在部署態,為了將 AI 模型部署到端側以實現端雲協同,MindSpore 提供了輕量化的 MindSpore Lite 版本。Lite 版本與雲端完整版使用了統一的 MindIR,但在端側上充分考慮到端側硬體做了針對性優化。這些優化包括一些算子替換(用一些輕量化的運算代替一些重型運算),還會做一些算子前移後移,避免冗餘計算。對於單個算子而言,則會設法希望提升其在端側 CPU 上的運行效率。
這些措施結合取得了很好的性能表現。在華為 P40 手機上,MindSpore Lite 的大多數性能指標都超過了 TF Lite。
如今,MindSpore 開源社區生態快速發展,在國內開發者群體中發揮著越來大的影響力。MindSpore 已於今年開源,代碼託管在碼雲平臺。目前 MindSpore 已發布 1.0 商用版本,月底即將推出 1.1 版本。新版將支持 40 多個通用模型,上線 270 多個應用。MindSpore 社區還有很多興趣小組來交流各類議題,也歡迎新成員持續加入。
2 ModelArts:全流程加快 AI 應用開發和部署
有了 AI 計算框架,下一步就需要一套端到端的 AI 開發平臺來實現 AI 應用的快速落地。華為雲 ModelArts 架構師白小龍博士就此分享了華為雲 ModelArts 一站式 AI 開發平臺及關鍵技術,應用案例。
AI 開發的核心流程主要包括了前期準備(方案設計)、數據準備、算法選擇與開發、模型訓練、模型評估與調優、應用生成 / 評估與發布、應用維護子流程。各個子流程都涉及很多複雜工作,存在成本、門檻、效率和可信等多方面的挑戰。
由於目前 AI 開發者的數量遠少於軟體開發者的數量,如何讓更多人以低門檻的方式上手 AI 開發、落地 AI 應用就成為了一個核心問題。在所有子流程中,華為雲 ModelArts 通過提供大量的預置算法和框架,以及 WorkFlow 編排能力,最大化地降低了 AI 應用開發的門檻,從而加速了 AI 應用開發和部署全流程。
華為雲 ModelArts 整個平臺分為基礎平臺和上層的預置套件兩大部分,對上通過 ModelArts Pro 使端到端行業應用 AI 開發更簡單。其中,基礎平臺覆蓋 AI 開發、部署和交易過程需要的各項能力,預置套件則主要針對具體的應用場景提供具備一定泛化能力的沉浸式 AI 工程與 WorkFlow 模板,包括面向智能感知的視覺相關的 WorkFlow、面向智能認知的 NLP 相關的 WorkFlow、面向決策智能相關的 WorkFlow 等。以計算機視覺領域的目標檢測任務為例,用戶無需 AI 領域知識,只需簡單幾個步驟(上傳數據、標註數據、訓練、測試)即可完成一個 AI 應用開發,以低代碼甚至零代碼的方式大幅降低 AI 應用開發門檻。
當開發者需要深入到 AI 應用開發的各個子流程時,ModelArts 提供了多項關鍵技術來幫助降本增效,並且降低門檻。
1. 數據準備子流程
智能化數據增強:可根據跨域遷移自動生成新的可訓練數據,從而減少了數據採集和數據標註的工作量。
智能數據篩選,自動化過濾約 40% 的髒數據。以停車位識別為例,平臺可以自動篩除遮擋、過曝、過暗等圖像,節省後續開發成本。
智能標註:1)支持基於半監督 / 主動學習的混合智能標註,可以混合無標註和已標註數據進行訓練,減少主動學習所需的迭代次數,獲得 5 倍標註效率並提升標註精度。平臺還會自動生成優化建議,判斷難例樣本,建議採集更優化數據增強難例。2)支持交互式智能標註,以目標檢測為例,僅需確認即可而無需畫包圍框,以圖像分割為例,不需要手工通過多邊形的方式標註輪廓,而僅需標註少數幾個點就可以實現輪廓的自動識別。這種智能的交互式能力使得標註量將大大降低。
數據智能分析,根據圖像亮度、飽和度、解析度、複雜度、色彩等信息給出分析建議。這將為後續訓練集和驗證集的對比分析、超參選擇提供量化依據。
2. 算法開發和選擇子流程
算法選擇:為了解決一個 AI 應用問題,大多數算法工程師或者數據科學家大多不會從頭開發一個全新的算法,而是選擇已有的算法,進行快速實驗,然後不斷改進迭代。為了實現真正的普惠 AI 開發,使得 AI 算法的選擇更加方便,ModelArts 提供了幾十種高性能、高精度的預置算法庫,可以直接使用而無需任何手工修改。大多數算法的精度比開源版本高 0.5%~6%,性能高 30%~100%。部分預置算法底層基於自研的 EI-Backbone 預訓練模型,在多項數據集上都可以使得精度有所提升。通過 AI 資產分享交易中心——AI Gallery,用戶可以購買或訂閱優秀的這些預置算法資產,也可以上傳和貢獻新的預置算法。
算法開發:如果已有預置算法不能滿足要求,開發者可以使用 ModelArts 提供的 Serveless 化 Notebook 開發環境,相比於業界已有的開發環境,開發調試成本可降低數倍,並且在 Notebook 中,ModelArts 平臺預置了大量算法開發樣例,開發者可以基於這些樣例進行二次開發。
3. 模型訓練子流程
訓練加速:ModelArts 內置了訓練加速框架 MoXing,底層對接了常用計算引擎(如 MindSpore、TensorFlow、PyTorch 等)通過一系列優化措施(數據、計算、訓練策略、優化器、分布式通信等)來提升模型的訓練性能,最大可支持 4096 卡分布式訓練,訓練性能業界第一。平臺還實現了同一套算法代碼同時兼容單機單卡和多機多卡,也支持在不同的 AI 設備之間切換,用戶改一個配置項就可以從訓練模式變成驗證模式或預測模式。
彈性訓練:當多個用戶共享訓練資源時,可以允許用戶的訓練作業在模型精度不變的前提下實現資源動態伸縮。這樣當整個集群存在空閒時,就可以將已有訓練作業進行擴容,使訓練速度獲得成倍提升。用戶在 ModelArts 上訓練的時候有高性能、標準和經濟三種模式可供選擇。經濟模式會儘可能復用底層,成本可大幅下降。
聯邦訓練:為了在訓練過程中保證數據安全,ModelArts 還支持聯邦訓練方案,並提出自研的聯邦聚合算法 FedAMP,並通過自適應方式,使得有相似數據的用戶之間聯邦作用更強。
4. 模型評估與調優子流程
多元搜索:開發者只需修改 3 行代碼即可提升精度或性能,ModelArts 還可以針對訓練時間較長的作業,實現快速調參策略,大幅縮減超參搜索時間。並提供可視化能力將多個搜索結果按照各種指標排序便於開發者快速選擇。
模型評估與智能診斷:ModelArts 可以自動針對模型的精度或性能給出調優建議。此外,針對模型的魯棒性,平臺內置了一些魯棒性對抗工具,能夠自動識別算法存在的安全問題並給出改進和調優建議。
5. 應用生成、評估與發布子流程
6. 應用維護子流程
整體上華為雲 ModelArts 關鍵技術總結如下:
華為雲 ModelArts 自發布以來,在園區、工業、城市、交通、家庭、水務、環保等領域獲得廣泛應用。ModelArts 平臺可以很好地滿足全場景的 AI 應用需求,包括智能感知、智能認知和智能決策等領域都有成熟的實踐。典型案例包括麵包店的自動麵包識別和結帳機器、OCR 文字語義識別、遊戲 AI(智能對戰)、藥物生成等等。ModelArts 端雲協同方案也已經在停車自主繳費等場景實踐落地。
3 HiLens:端雲協同多模態 AI 應用開發和實踐
人工智慧的發展正經歷從感知到認知,從單模到多模,從雲側到端雲協同的演進。華為雲人工智慧算法專家夏飛博士分享了使用華為 HiLens 平臺開發端雲協同多模態 AI 應用和落地實踐。
華為 HiLens 端雲協同多模態 AI 開發應用平臺,提供簡單易用的開發框架、開箱即用的開發環境、豐富的 AI 技能市場和雲上管理平臺,對接多種端側計算設備。打通線上線下開發和部署流程,開發者只需在雲上完成一次多模態 AI 應用開發,既可以部署到雲側,也可以部署到端側和邊緣側,能夠很好地解決企業開發端雲協同 AI 應用的需求。HiLens 平臺還能方便地接入多模態數據,並支持低代碼開發流程,開發者只需簡單幾步即可完成端雲協同 AI 應用開發和部署。目前,HiLens 已經在智慧門店、智慧家庭、智慧教育、智慧交通等端雲協同場景發揮作用。
4 ModelArts Pro 在行業多模態 AI 開發的應用實踐
隨著行業 AI 落地逐步加速,在行業多模態 AI 開發中也面臨諸多挑戰,如行業業務複雜度高,AI 應用開發需要豐富的行業經驗支持;定製代碼工作量大,耗時長,無法快速業務上線;通用 AI 具有局限性,不支持行業特定業務流程等。華為雲 EI 智能體技術總監朱聲高博士分享了如何利用華為雲 ModelArts Pro 企業級 AI 應用開發套件加速 AI 場景化落地。
華為雲 ModelArts Pro 是專為企業級 AI 應用打造的專業開發平臺,平臺內以預置工作流和功能套件的形式,沉澱了行業 AI 應用實踐場景的 Know-How,使企業實現零基礎、零代碼快速 AI 開發。另外,企業也能根據需求靈活編排新的行業工作流,基於 AI 市場,用戶還可以互相分享不同行業場景的行業 AI 工作流。ModelArts Pro 以「授人以漁」的方式助力企業構建 AI 能力,賦能不同行業的 AI 應用開發者,讓 AI 變得觸手可及。
面向物流、石油、零售、金融、醫療、交通等行業場景,華為雲基於領先算法及行業知識,首批推出了 ModelArts Pro 文字識別、視覺、自然語言處理、知識圖譜等開發套件及端雲協同多模態 AI 應用開發套件 HiLens,並在自助表單識別、食品種類識別、測井油氣層識別等業務場景中落地實踐,全面提升行業 AI 開發效率和行業落地效果,帶來全新的行業 AI 落地方式。
5 解決行業落地痛點,推進 AI 廣泛應用:華為雲攜手開發者共同迎接普惠 AI 時代
四位華為 AI 領域博士的深度分享,為開發者們全方位解析了華為全棧全場景 AI 開發平臺的諸多優勢與能力,並解決了企業在 AI 應用落地實踐過程中遇到的許多顧慮和難題。在華為 AI 計算框架、開發平臺和開發套件的支持下,企業可以快速針對當前業務需求開發 AI 應用,方便地嵌入已有的業務流程,並在短期內就能看到實際效果與收益回報。
基於計算機視覺、語音語義和決策優化三大 AI 領域長期的基礎研究和各行業的 AI 項目實踐,華為雲在 AI 技術領域持續創新,不斷推出適應市場需求的創新能力,並持續發力 AI 開發生態建設,與企業和開發者共同迎接普惠 AI 的全新時代。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.