華爲全棧AI技術乾貨深度解析,解鎖企業AI開發「祕籍」

摘要:針對企業AI開發應用中面臨的痛點和難點,爲你們帶來從實踐出發幫助企業構建成熟高效的AI開發流程解決方案。

在數字化轉型浪潮席捲全球的今天,AI技術已經成爲行業公認的升級重點,正在愈來愈多的領域爲業務帶來創新價值。隨着行業AI落地逐步加速,企業在開發AI應用的過程當中,常常會遇到準備不足、人才緊缺、開發成本高昂等問題,阻礙着AI的落地實踐。算法

在2020年12月20日QCon全球軟件開發大會 2020上海站上,華爲雲AI首席技術佈道師陳亮攜手四位華爲AI領域博士,帶來題爲「全棧全場景AI應用開發實踐」的專題分享。本場專題針對企業AI開發應用中面臨的痛點和難點,從實踐出發幫助企業構建成熟高效的AI開發流程。編程

本文主要總結自王俊博士與白小龍博士的分享內容。跨域

MindSpore:端邊雲統一訓練和推理的AI計算框架

首先,華爲高級AI算法工程師王俊博士深度解析華爲MindSpore AI計算框架。安全

在AI領域,AI計算框架扮演着一個很是核心的角色。過去八年多來,AI框架經歷了三個階段的發展:第一階段主要奠基理論基礎,第二階段則引入了分佈式訓練、計算圖、動態圖等理念,TesnorFlow和PyTorch兩大框架也是在這一階段佔據了行業主導地位。架構

現在AI框架的發展已經逐漸進入了第三階段,但行業還在探索這一階段的具體演變方向。歸結起來,行業對AI框架的需求主要分爲用戶態、運行態和部署態三大層面。框架

  1. 用戶態。這一層面主要決定用戶的使用方式,具體分爲動態圖和靜態圖兩種模式。靜態圖效率高,可是對開發者不夠友好;動態圖易編程,但底層性能會慢不少。用戶但願能儘量結合這兩種模式各自的優點,這對框架而言是一個難題。
  2. 運行態。在這一層面,用戶但願框架實現儘量高的模型運行效率。現在,業界面對的一大難點就是切分模型實現分佈式訓練的具體方式。分佈式訓練的目標是充分利用大規模計算資源提高模型性能,但如何合理地切分模型,保證分佈訓練的效率是很是耗時耗力的工做,給模型的規模擴張帶來了障礙。
  3. 部署態。模型部署的過程當中,一方面用戶但願算法能夠很好地落地產生效果,另外一方面卻不但願用戶數據出現隱私安全問題。所以框架須要在鋪平落地道路的同時確保數據安全。

針對上述需求,華爲開發了MindSpore AI計算框架,經過諸多創新解決了傳統框架未能解決的一系列難題。less

面對用戶態中動態圖與靜態圖兩種需求的矛盾,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社區還有不少興趣小組來交流各種議題,也歡迎新成員持續加入。

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)應用生成、評估與發佈子流程

  • 模型編排與推理框架:針對模型推理成本高、AI開發流程難以閉環的問題,ModelArts平臺引入了Serveless端邊雲混合部署和自研高性能推理框架。平臺底層推理框架可根據用戶描述的算子自動生成推理圖;模型在雲端部署時,平臺支持自動彈性伸縮和動態加載,在邊緣部署時則支持一鍵下發。

6)應用維護子流程

  • 數據採集與難例診斷:AI模型上線後,ModelArts平臺可自動採集模型運行數據,識別並篩選出數據漂移,自動生成診斷建議。

總體上華爲雲ModelArts關鍵技術總結以下:

華爲雲ModelArts自發布以來,在園區、工業、城市、交通、家庭、水務、環保等領域得到普遍應用。ModelArts平臺能夠很好地知足全場景的AI應用需求,包括智能感知、智能認知和智能決策等領域都有成熟的實踐。典型案例包括麪包店的自動麪包識別和結帳機器、OCR文字語義識別、遊戲AI(智能對戰)、藥物生成等等。ModelArts端雲協同方案也已經在停車自主繳費等場景實踐落地。

HiLens:端雲協同多模態AI應用開發和實踐

人工智能的發展正經歷從感知到認知,從單模到多模,從雲側到端雲協同的演進。華爲雲人工智能算法專家夏飛博士分享了使用華爲HiLens平臺開發端雲協同多模態AI應用和落地實踐。

華爲HiLens 端雲協同多模態AI開發應用平臺,提供簡單易用的開發框架、開箱即用的開發環境、豐富的AI技能市場和雲上管理平臺,對接多種端側計算設備。打通線上線下開發和部署流程,開發者只需在雲上完成一次多模態AI應用開發,既能夠部署到雲側,也能夠部署到端側和邊緣側,可以很好地解決企業開發端雲協同AI應用的需求。HiLens平臺還能方便地接入多模態數據,並支持低代碼開發流程,開發者只需簡單幾步便可完成端雲協同AI應用開發和部署。目前,HiLens已經在智慧門店、智慧家庭、智慧教育、智慧交通等端雲協同場景發揮做用。

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落地方式。

解決行業落地痛點,推動AI普遍應用:華爲雲攜手開發者共同迎接普惠AI時代

四位華爲AI領域博士的深度分享,爲開發者們全方位解析了華爲全棧全場景AI開發平臺的諸多優點與能力,並解決了企業在AI應用落地實踐過程當中遇到的許多顧慮和難題。在華爲AI計算框架、開發平臺和開發套件的支持下,企業能夠快速針對當前業務需求開發AI應用,方便地嵌入已有的業務流程,並在短時間內就能看到實際效果與收益回報。

基於計算機視覺、語音語義和決策優化三大AI領域長期的基礎研究和各行業的AI項目實踐,華爲雲在AI技術領域持續創新,不斷推出適應市場需求的創新能力,並持續發力AI開發生態建設,與企業和開發者共同迎接普惠AI的全新時代。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索