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