AI總體上在加速奔跑,而有時(shí)卻不得不放慢腳步

IDC咨詢發(fā)布的最新數(shù)據(jù)顯示,2022年全球人工智能市場規(guī)模預(yù)計(jì)達(dá)4328億美元,同比增長19.6%,到2023年有望突破5000億美元大關(guān)。
中國人工智能產(chǎn)業(yè)的增速高于全球平均水平,但也有統(tǒng)計(jì)表明,目前國內(nèi)AI滲透率超過10%的只有電子行業(yè),而汽車、石化、制藥等行業(yè)的滲透率在5%~10%,建材等傳統(tǒng)行業(yè)則低于5%。
顯而易見,AI賦能千行百業(yè)的數(shù)字化轉(zhuǎn)型,尚面臨諸多需要跨越的鴻溝:從AI算法到產(chǎn)品化應(yīng)用差距甚遠(yuǎn),從AI模型構(gòu)建到訓(xùn)練與推理流程分割,從AI開發(fā)到場景化落地缺乏工具,人工智能要實(shí)現(xiàn)降低門檻、甘霖普惠的目標(biāo),還有很長的路要走。
李白在《行路難》中曾發(fā)出“多歧路,今安在”的感嘆,這恰是當(dāng)下AI開發(fā)面臨困境的寫照。他還寫過“蜀道之難,難于上青天”的名篇,讓巴蜀大地有了最具識別性的標(biāo)簽。
6月25日,由華為主辦,以“創(chuàng)未來享非凡”為主題的昇騰AI開發(fā)者創(chuàng)享日活動在成都舉辦。這是依托于昇騰AI產(chǎn)業(yè)、覆蓋全國的開發(fā)者活動,為AI開發(fā)者提供技術(shù)解讀和前沿科技分享,通過技術(shù)賦能、上手實(shí)操和展覽展示構(gòu)筑深度交流平臺,與開發(fā)者共享成長之道。
在蜀地探討AI開發(fā)的嶄新路徑,也許蘊(yùn)含著古今呼應(yīng)的天意。作為昇騰全棧AI軟硬件平臺中的全流程開發(fā)工具鏈,MindStudio可提供一站式開發(fā)環(huán)境,支持訓(xùn)練模型、推理應(yīng)用和自定義算子開發(fā)三大流程,依靠可視化、本地/遠(yuǎn)程調(diào)試、豐富調(diào)優(yōu)工具等功能,幫助開發(fā)者高效便捷地完成AI開發(fā)任務(wù)。

如果說MindStudio是為AI開發(fā)指點(diǎn)迷津的羅盤,那么模型遷移與調(diào)優(yōu)就是決定方向的指針。在成都創(chuàng)享日活動中,昇騰MindStudio架構(gòu)師張有陵與AI開發(fā)者分享MindStudio在端到端模型開發(fā)調(diào)優(yōu)上的應(yīng)用,從模型遷移、AutoML自動調(diào)優(yōu)、Profiling深度調(diào)優(yōu)、專家系統(tǒng)調(diào)優(yōu)等維度掃除AI開發(fā)的重重障礙。

昇騰MindStudio架構(gòu)師張有陵
模型遷移:從GPU訓(xùn)練腳本平滑過渡到昇騰生態(tài)
AI開發(fā)是系統(tǒng)工程,離不開軟硬件協(xié)同的基礎(chǔ)環(huán)境。但令人遺憾的是,開發(fā)者長期以來各自為戰(zhàn),基于不同的平臺或框架開展工作,加之缺少適宜的工具支撐,造成模型遷移的成本高、效率低。

華為基于多年的研究積累,為開發(fā)者提供原生創(chuàng)新的昇騰AI基礎(chǔ)軟硬件平臺,包括端邊云系列硬件設(shè)備、異構(gòu)計(jì)算架構(gòu)CANN、全場景AI框架昇思MindSpore、行業(yè)應(yīng)用使能套件MindX,以及全流程開發(fā)工具鏈MindStudio等。
其實(shí),每個開發(fā)者都有自己的工作習(xí)慣,比如先用一個工具來做開發(fā),然后再到其他的平臺做部署。然而,對開發(fā)者來說,軟件平臺的切換往往意味著較長的適應(yīng)過程。
華為昇騰的跨框架模型遷移工具X2MindSpore通過一鍵式的方式,將原本基于PyTorch/TensorFlow框架的訓(xùn)練工程代碼自動遷移至MindSpore框架,并達(dá)成用戶基本無需修改代碼或少量代碼修改即可成功運(yùn)行并收斂的效果,大幅提高遷移效率。
從GPU訓(xùn)練腳本遷移至?xí)N騰,在AI框架層面有多種選擇。用戶可繼續(xù)使用原有AI框架,僅切換底層硬件,也可遷移到華為自研高性能MindSpore框架,以充分發(fā)揮底層硬件算力。MindStudio提供適用于上述各場景的一系列遷移工具,同時(shí)支持圖形化和命令行的使用方式,大幅降低遷移難度與工作量。
具體而言,開發(fā)者在昇騰上使用PyTorch框架編寫網(wǎng)絡(luò)時(shí),通常會參考該網(wǎng)絡(luò)在GPU上的實(shí)現(xiàn),或?qū)PU上的網(wǎng)絡(luò)進(jìn)行人工遷移。PyTorchGPU2Ascend工具可一鍵式將基于PyTorch框架編寫的網(wǎng)絡(luò)模型及訓(xùn)練腳本,從NVIDIA生態(tài)(即GPU)自動化遷移至Ascend平臺(即NPU),幾乎無需修改代碼,遷移過程絲滑平順。
AutoML自動調(diào)優(yōu):化繁為簡的模型生成、訓(xùn)練與推理利器
在AI發(fā)展初期,由于模型參數(shù)量小、泛化性差,一個模型大多只能對應(yīng)單個場景。從零起步、獨(dú)立調(diào)優(yōu)、艱難迭代、推倒重來的小作坊開發(fā)模式,讓眾多企業(yè)苦不堪言。

大模型的出現(xiàn)仿佛黑夜中的閃電,照亮了碎片化AI應(yīng)用的破解之路。不過,大模型的開發(fā)與部署成本高昂,要適配垂直行業(yè)的具體場景,還需要在訓(xùn)練、推理等環(huán)節(jié)不斷進(jìn)行優(yōu)化。
企業(yè)僅靠一己之力,顯然無法完成AI開發(fā)的躍遷之旅。昇騰的MindStudioAutoML自動調(diào)優(yōu)能為用戶提供模型自動生成、模型訓(xùn)練調(diào)優(yōu)、模型推理調(diào)優(yōu)能力,為AI開發(fā)模式的升級添磚加瓦,也為生態(tài)遷移后的性能調(diào)優(yōu)保駕護(hù)航。
模型自動生成支持基于純數(shù)據(jù)集自動生成主流高性能模型、基于預(yù)訓(xùn)練模型自動生成親和模型,它們都基于昇騰910訓(xùn)練搜索和昇騰310推理驗(yàn)證。
訓(xùn)練模型調(diào)優(yōu)通過低秩分解,將大的全連接或卷積算子分解成多個小的算子,借助知識蒸餾將大模型中的特征蒸餾到小模型中,并以訓(xùn)練超參數(shù)自動調(diào)優(yōu)替代手動調(diào)優(yōu),基于AOE梯度切分對子圖和梯度進(jìn)行調(diào)優(yōu)。各類調(diào)優(yōu)技術(shù)均為降低模型計(jì)算量、縮減模型大小,以對訓(xùn)練模型進(jìn)行優(yōu)化,同時(shí)提升模型訓(xùn)練調(diào)優(yōu)效率。
伴隨模型規(guī)模逐漸變大,推理模型部署時(shí)所占用的內(nèi)存需求上升,推理時(shí)延也會逐漸增加。模型推理調(diào)優(yōu)通過自動剪枝裁剪掉冗余結(jié)構(gòu),達(dá)成自動8bit量化,再采用AOE實(shí)現(xiàn)算子計(jì)算搬運(yùn)流水排布的硬件級調(diào)優(yōu),降低模型運(yùn)算量,提升模型性能。
綜合來看,AutoML自動調(diào)優(yōu)以親和昇騰的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索DNAS算法和剪枝/量化/低秩分解算法為中心,覆蓋MindSpore、PyTorch框架,實(shí)現(xiàn)昇騰親和模型對分類、檢測、分割、NLP等全場景通用模型的自動調(diào)優(yōu),以自動化工具持續(xù)優(yōu)化模型性能,改善用戶推理體驗(yàn)——訓(xùn)練腳本遷移后的模型性能精度自動調(diào)優(yōu),可將推理性能提升20%。
深度開發(fā)調(diào)優(yōu):面向全業(yè)務(wù)場景提供端到端profiling分析工具
在自動調(diào)優(yōu)的基礎(chǔ)上,手動深度開發(fā)調(diào)優(yōu)能進(jìn)一步解決具體業(yè)務(wù)場景的潛在問題,促進(jìn)模型整體效能的提升。

深度開發(fā)調(diào)優(yōu)離不開出色的系統(tǒng)調(diào)優(yōu)工具,其應(yīng)為用戶提供端到端Profiling能力,能夠準(zhǔn)確定位系統(tǒng)的軟硬件性能瓶頸,通過針對性的性能優(yōu)化建議,以最小的代價(jià)實(shí)現(xiàn)業(yè)務(wù)場景的極致性能,提高開發(fā)者性能分析的效率。
MindStudioProfiling即可扮演這樣的角色,能為用戶提供從算子到模型、從單機(jī)單卡到集群,以及針對TensorFlow、Pytorch、昇思MindSpore等多種主流AI框架面向昇騰全業(yè)務(wù)場景下端到端的Profiling方案。
基于Top-Down性能分析方法,MindStudioProfiling通過軟硬件協(xié)同準(zhǔn)確、高效識別關(guān)鍵性能瓶頸,并以最小成本達(dá)成提高業(yè)務(wù)場景性能和分析效率的雙重目標(biāo)。在使用方式上,提供命令行、圖形界面、配置文件、環(huán)境變量等靈活多樣的使能方式和豐富的ProfilingAPI接口,支持用戶通過Summary表格、TimeLine時(shí)序圖等方式進(jìn)行多維度性能分析,幫助其解決性能難題。
以深度調(diào)優(yōu)中的激活函數(shù)為例:PyTorchYOLOv4網(wǎng)絡(luò)應(yīng)用在昇騰AI處理器SoC執(zhí)行推理過程中,發(fā)現(xiàn)整體執(zhí)行時(shí)間較長。為找出原因,使用Profiling性能分析工具對網(wǎng)絡(luò)應(yīng)用執(zhí)行推理耗時(shí)進(jìn)行分析,結(jié)果顯示運(yùn)行的接口aclmdlExecute執(zhí)行耗時(shí)較高,進(jìn)一步分析發(fā)現(xiàn)是不親和的Mish激活函數(shù)算子執(zhí)行時(shí)間過長導(dǎo)致的,替換為LeakyReLU的激活函數(shù)后,性能提升40%。
專家經(jīng)驗(yàn)系統(tǒng):基于知識庫積累解決調(diào)優(yōu)的TOP痛點(diǎn)
性能優(yōu)化是開發(fā)者主要的使用模塊,而耗時(shí)長是TOP痛點(diǎn)。透過對調(diào)優(yōu)數(shù)據(jù)準(zhǔn)備、解析性能數(shù)據(jù)、分析性能瓶頸、優(yōu)化瓶頸問題等環(huán)節(jié)的復(fù)盤,發(fā)現(xiàn)面對技術(shù)門檻較高的難題,必須基于知識庫沉淀專家知識,主動識別性能瓶頸和推薦優(yōu)化建議,才有可能攻堅(jiān)克難。

MindStudiomsadvisor能實(shí)現(xiàn)推理和訓(xùn)練場景下模型、算子瓶頸信息識別及優(yōu)化信息推薦,提升模型、算子開發(fā)人員調(diào)優(yōu)效率。通過msadvisor的UB融合、Transdata算子識別、Roofline優(yōu)化分析、AICPU算子優(yōu)化、L2融合、訓(xùn)練迭代優(yōu)化、算子dump優(yōu)化分析等自有知識庫,從不同維度給出模型、算子瓶頸信息及優(yōu)化建議,可顯著縮短開發(fā)者調(diào)優(yōu)時(shí)間。
與此同時(shí),MindStudio還提供生態(tài)知識庫框架,匯聚生態(tài)開發(fā)者調(diào)優(yōu)經(jīng)驗(yàn),擴(kuò)充msadvisor調(diào)優(yōu)范圍;支持命令行和IDE界面兩種執(zhí)行方式,一鍵獲取瓶頸信息和優(yōu)化建議,并通過配置文件選擇需要運(yùn)行的知識庫范圍,滿足不同用戶場景需求。
從模型生態(tài)遷移、AutoML自動調(diào)優(yōu)到深度開發(fā)調(diào)優(yōu)、專家經(jīng)驗(yàn)系統(tǒng)構(gòu)建,昇騰MindStudio為AI開發(fā)鋪就一條通往千行百業(yè)數(shù)字化場景的落地路徑。這條路也許充滿荊棘,但在多管齊下的調(diào)優(yōu)舉措保障下,遍地鮮花的未來并不遙遠(yuǎn)。