獨(dú)立自主的AI系統(tǒng)級(jí)計(jì)算平臺(tái)是國(guó)產(chǎn)AI芯片構(gòu)建生態(tài)壁壘的關(guān)鍵
報(bào)告出品方:廣發(fā)證券
以下為報(bào)告原文節(jié)選
------
一、AI 芯片的系統(tǒng)計(jì)算平臺(tái)是用戶(hù)生態(tài)培育的關(guān)鍵
系統(tǒng)級(jí)AI計(jì)算平臺(tái)是提升AI芯片算力利用率,培養(yǎng)用戶(hù)生態(tài)的關(guān)鍵。影響AI芯片計(jì)算能力的因素除了硬件層面的芯片制程、內(nèi)存、帶寬等,還包括調(diào)用各硬件資源的系統(tǒng)級(jí)軟件計(jì)算平臺(tái)。AI芯片廠(chǎng)商開(kāi)發(fā)的系統(tǒng)計(jì)算平臺(tái)不僅僅有效提升各家AI芯片產(chǎn)品的算力利用率,還為各類(lèi)AI應(yīng)用開(kāi)發(fā)提供了豐富的函數(shù)庫(kù),提供開(kāi)發(fā)者簡(jiǎn)便易用的開(kāi)發(fā)環(huán)境。以英偉達(dá)為例,其開(kāi)發(fā)的CUDA平臺(tái),自2007年推出后持續(xù)更新,已吸引了大量AI應(yīng)用開(kāi)發(fā)者使用,形成了龐大的用戶(hù)生態(tài)。此篇報(bào)告將深入分析各廠(chǎng)商開(kāi)發(fā)的AI計(jì)算平臺(tái)的功能、效果并前瞻分析未來(lái)的發(fā)展趨勢(shì)。
(一)CUDA:釋放英偉達(dá) GPU 算力的系統(tǒng)級(jí) AI 計(jì)算平臺(tái)
英偉達(dá)開(kāi)發(fā)的CUDA系統(tǒng)計(jì)算框架構(gòu)建了GPU和開(kāi)發(fā)者之間的橋梁。CUDA(Compute Unified Device Architecture)是英偉達(dá)公司于2007年推出用于釋放GPU并行計(jì)算能力和增強(qiáng)通用性的系統(tǒng)級(jí)計(jì)算平臺(tái)。CUDA直接對(duì)接GPU的物理層,將海量數(shù)據(jù)分配給多個(gè)線(xiàn)程上分別處理,再調(diào)用GPU的多核心(計(jì)算單元)進(jìn)行并行計(jì)算。為方便開(kāi)發(fā)者更好的調(diào)用GPU的計(jì)算能力,CUDA也提供了一系列封裝好的函數(shù)庫(kù)和API,可在芯片物理層上實(shí)現(xiàn)指令級(jí)和算子的直接調(diào)用??傮w而言,CUDA一方面可高效利用底層AI芯片的算力,另一方面給予開(kāi)發(fā)者便捷的開(kāi)發(fā)環(huán)境,滿(mǎn)足了開(kāi)發(fā)者高效利用AI底層算力的需求。
CUDA不僅僅是AI算法開(kāi)發(fā)的工具鏈,還是調(diào)用底層計(jì)算資源的系統(tǒng)平臺(tái)。與一般的軟件工具不同,CUDA是更加貼近芯片物理層的系統(tǒng)平臺(tái),其提供的封裝函數(shù)可以實(shí)現(xiàn)對(duì)于內(nèi)存、計(jì)算單元(算術(shù)邏輯單元)、數(shù)據(jù)傳輸速率(帶寬)等底層算力資源的調(diào)用。因此,CUDA在設(shè)計(jì)之初的產(chǎn)品定位是給程序員提供對(duì)于硬件性能優(yōu)化和調(diào)試的功能。后續(xù),隨著CUDA版本的升級(jí)迭代,其對(duì)于底層硬件資源調(diào)用能力持續(xù)增強(qiáng)。例如,CUDA 5.0版本中新增的動(dòng)態(tài)并行技術(shù),可以根據(jù)數(shù)據(jù)處理量在內(nèi)核中動(dòng)態(tài)調(diào)用多條線(xiàn)程,減少單一線(xiàn)程上的工作負(fù)載,從而保證了不同線(xiàn)程上的負(fù)載均衡。
CUDA提供了易用友好的開(kāi)發(fā)環(huán)境。CUDA提供了豐富的庫(kù)函數(shù)和工具,方便程序員對(duì)于各類(lèi)AI算法進(jìn)行開(kāi)發(fā)。經(jīng)過(guò)多年的拓展,CUDA不僅兼容主流的AI訓(xùn)練框架(Tensorflow、Pytorch等),對(duì)各類(lèi)AI算法(DLRM、Resnet-50、BERT等)的覆蓋面也更加廣闊。通過(guò)CUDA,程序員可以高效利用GPU的大規(guī)模并行計(jì)算能力來(lái)加速各種計(jì)算密集型任務(wù),包括圖像和視頻處理、物理模擬、金融分析、生命科學(xué)等領(lǐng)域。我們認(rèn)為,CUDA經(jīng)過(guò)長(zhǎng)期積累可提供對(duì)于各類(lèi)AI算法開(kāi)發(fā)的函數(shù)庫(kù)和工具鏈更加豐富,對(duì)各類(lèi)算法覆蓋面更加廣泛,在易用性方面具有一定優(yōu)勢(shì)。
CUDA與英偉達(dá)AI芯片強(qiáng)綁定,隨著AI芯片迭代而持續(xù)升級(jí)。英偉達(dá)在每一代芯片架構(gòu)升級(jí)的過(guò)程中,添加了一些新的特性來(lái)提升對(duì)于AI算法的計(jì)算效率。針對(duì)這些新的特性,CUDA也不斷豐富SDK中的函數(shù)庫(kù)從軟件層面進(jìn)一步對(duì)AI算法進(jìn)行加速。
例如,英偉達(dá)在2017年推出Volta架構(gòu)AI芯片產(chǎn)品的時(shí)候首次引入了Tensor Core,其將單一維度的數(shù)字運(yùn)算擴(kuò)展到二維度的矩陣運(yùn)算,從而提升單次運(yùn)算能力。在軟件層面,CUDA 9.0版本則新增了各類(lèi)矩陣運(yùn)算操作符,對(duì)于矩陣的加載、相乘、累加都有很好的處理效果。因此,用戶(hù)可以通過(guò)CUDA更好的發(fā)揮硬件層面的新特性,從而擴(kuò)展產(chǎn)品的應(yīng)用場(chǎng)景。
CUDA構(gòu)建了英偉達(dá)長(zhǎng)而深的生態(tài)護(hù)城河。英偉達(dá)針對(duì)數(shù)據(jù)中心場(chǎng)景的大數(shù)據(jù)和AI功能的開(kāi)發(fā)起步早,積累深厚。自2007年,英偉達(dá)推出CUDA以來(lái),至今已迭代了12個(gè)版本。在多年市場(chǎng)推廣下,CUDA已成為AI算法開(kāi)發(fā)主流的系統(tǒng)平臺(tái),具有較高的生態(tài)壁壘。截止2023年4月,海內(nèi)外主要科技公司超過(guò)百萬(wàn)的開(kāi)發(fā)人員都是基于CUDA開(kāi)發(fā)AI算法。硬件層面的架構(gòu)升級(jí)吸引用戶(hù)采購(gòu)新一代AI芯片更新?lián)Q代,軟件層面豐富的工具和易用的開(kāi)發(fā)環(huán)境則培養(yǎng)了用戶(hù)粘性。在長(zhǎng)期的積累下,CUDA形成的生態(tài)壁壘較好的鞏固英偉達(dá)的市場(chǎng)份額和龍頭地位。
(二)CANN:華為拓展昇騰 AI 芯片生態(tài)的關(guān)鍵
CANN(Compute Architecture for Neural Networks)是華為針對(duì)AI場(chǎng)景推出的異構(gòu)計(jì)算架構(gòu)。CANN構(gòu)建了從上層深度學(xué)習(xí)框架到底層AI芯片的橋梁,提供多層次的編程接口,全面支持昇思MindSpore、飛槳PaddlePaddle、PyTorch、TensorFlow、Caffe等主流AI框架,提供900多種優(yōu)選模型覆蓋眾多典型場(chǎng)景應(yīng)用,兼容多種底層硬件設(shè)備,提供異構(gòu)計(jì)算能力,支持用戶(hù)快速構(gòu)建基于昇騰平臺(tái)的AI應(yīng)用。
計(jì)算架構(gòu)方面,CANN被抽象為五大層級(jí),分別為計(jì)算語(yǔ)言接口、計(jì)算服務(wù)層、計(jì)算編譯引擎、計(jì)算執(zhí)行引擎和計(jì)算基礎(chǔ)層,共同構(gòu)建高效而簡(jiǎn)捷的計(jì)算平臺(tái)。CANN的優(yōu)勢(shì)是兼容性較強(qiáng),可在不同的硬件、OS和AI開(kāi)發(fā)框架的異構(gòu)環(huán)境中發(fā)揮較好的計(jì)算性能,實(shí)現(xiàn)端邊云多設(shè)備的協(xié)同,賦能各場(chǎng)景的AI開(kāi)發(fā)。
CANN是系統(tǒng)級(jí)計(jì)算平臺(tái),位于物理層和基礎(chǔ)軟件層之間。CANN根據(jù)應(yīng)用于不同場(chǎng)景中具體的算法需求,為開(kāi)發(fā)者提供了可調(diào)用的計(jì)算資源以及可操作的功能模塊,具體包括超過(guò)1200個(gè)算子、統(tǒng)一編程接口AscendCL、ModelZoo模型庫(kù)以及圖編譯器等。CANN提供了從底層算子、模型開(kāi)發(fā)再到上層應(yīng)用全流程的開(kāi)發(fā)工具,可覆蓋全場(chǎng)景應(yīng)用,方便開(kāi)發(fā)者快速開(kāi)發(fā)各類(lèi)算法。作為華為昇騰AI基礎(chǔ)軟硬件平臺(tái)的核心,CANN在面向底層硬件資源的調(diào)用、面向開(kāi)發(fā)者的工具模塊以及面向生態(tài)伙伴的接口等方面都有較好設(shè)計(jì)和提升,其具體特點(diǎn)包括:
1. 簡(jiǎn)便開(kāi)發(fā):針對(duì)多樣化應(yīng)用場(chǎng)景,統(tǒng)一編程接口AscendCL適配全系列硬件,助力開(kāi)發(fā)者快速構(gòu)建基于昇騰平臺(tái)的AI應(yīng)用和業(yè)務(wù)。
2. 性能優(yōu)化:通過(guò)自動(dòng)流水、算子深度融合、智能計(jì)算調(diào)優(yōu)、自適應(yīng)梯度切分等核心技術(shù),軟硬件協(xié)同優(yōu)化,提升AI芯片的算力利用率。
3. 開(kāi)放生態(tài):豐富的高性能算子庫(kù)和優(yōu)選ModelZoo模型庫(kù),吸引各領(lǐng)域的開(kāi)發(fā)者共建生態(tài)。
CANN提供算子層面多種開(kāi)發(fā)方式,開(kāi)發(fā)者對(duì)AI芯片功能拓展更具靈活性。算子通常是AI芯片的核心部件,其包含各種不同類(lèi)型的運(yùn)算操作符,如矩陣乘法、卷積、池化、非線(xiàn)性激活等。CANN提供開(kāi)發(fā)者在算子層面可編程的能力。針對(duì)不同算法特點(diǎn),開(kāi)發(fā)者可以從更加底層修改資源調(diào)度方式,從而降低神經(jīng)網(wǎng)絡(luò)的計(jì)算復(fù)雜度和時(shí)間開(kāi)銷(xiāo),提高模型的訓(xùn)練速度和精度。
CANN提供的高性能算子庫(kù)有效提高訓(xùn)練和推理階段的計(jì)算效率。算子庫(kù)在AI模型的訓(xùn)練和推理階段都有重要功能和作用。在AI訓(xùn)練過(guò)程中,卷積算子、全連接算子、批量歸一化算子等對(duì)于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程需要大量的矩陣乘法和復(fù)雜的數(shù)學(xué)運(yùn)算有很好性能滿(mǎn)足,可以顯著提高訓(xùn)練速度和效率。在AI推理過(guò)程中,卷積算子、池化算子、激活算子等則可用于加速神經(jīng)網(wǎng)絡(luò)的推斷,減少響應(yīng)時(shí)間。開(kāi)發(fā)者基于CANN提供的支持包括TensorFlow、Pytorch、Mindspore、Onnx框架在內(nèi)超過(guò)1200個(gè)高性能算子,幫助開(kāi)發(fā)者有效提升訓(xùn)練和推理的計(jì)算效率。
CANN為開(kāi)發(fā)者提供的可調(diào)用的API更加靈活。針對(duì)場(chǎng)景復(fù)雜度不同,CANN提供的API接口分為多個(gè)層級(jí)。多層級(jí)的API的設(shè)計(jì)使得開(kāi)發(fā)者在高效和易用之間有可選擇的靈活度。API級(jí)數(shù)越低,自由度越高,更易于表達(dá)復(fù)雜場(chǎng)景所需功能;級(jí)數(shù)越高,接口的封裝度越高,更易于表達(dá)常用語(yǔ)義,使用更簡(jiǎn)單。此外,華為針對(duì)算子開(kāi)發(fā)場(chǎng)景自研了Ascend C編程語(yǔ)言,通過(guò)多層接口抽象使得算子的開(kāi)發(fā)過(guò)程更加簡(jiǎn)潔和高效,自動(dòng)并行計(jì)算則充分利用了硬件的并行計(jì)算能力,提升了算子的計(jì)算性能,而孿生調(diào)試技術(shù)為開(kāi)發(fā)者提供了方便的調(diào)試環(huán)境,幫助用戶(hù)更快地發(fā)現(xiàn)和解決問(wèn)題。
通過(guò)這些關(guān)鍵技術(shù),Ascend C助力AI開(kāi)發(fā)者在低成本下完成算子開(kāi)發(fā)和模型調(diào)優(yōu)部署。它使得算子開(kāi)發(fā)過(guò)程更加高效和便捷,為AI開(kāi)發(fā)者提供了強(qiáng)有力的工具和支持,讓他們能夠更專(zhuān)注于算法和模型的優(yōu)化,從而取得更好的成果。
(三)Neuware:寒武紀(jì)實(shí)現(xiàn)訓(xùn)練推理一體化的 AI 計(jì)算平臺(tái)
寒武紀(jì)Cambricon Neuware是針對(duì)其云、邊、端的AI芯片打造的軟件開(kāi)發(fā)平臺(tái)。
為了加快用戶(hù)端到端業(yè)務(wù)落地的速度,減少模型訓(xùn)練研發(fā)到模型部署之間的繁瑣流程,Neuware整合了訓(xùn)練和推理的全部底層軟件棧,包括底層驅(qū)動(dòng)、運(yùn)行時(shí)庫(kù)(CNRT)、算子庫(kù)(CNNL)以及工具鏈等,將Neuware和深度學(xué)習(xí)框架Tensorflow、Pytorch深度融合,實(shí)現(xiàn)訓(xùn)推一體。依托于Cambricon Neuware,開(kāi)發(fā)者可完成從云端到邊緣端、從模型訓(xùn)練到推理部署的全部流程,提升AI芯片的算力利用率。
Neuware提供了全面的AI算法開(kāi)發(fā)工具。Neuware包括編程框架適配包、智能芯片高性能數(shù)學(xué)庫(kù)、智能芯片編程語(yǔ)言、智能芯片編譯器、智能芯片核心驅(qū)動(dòng)、應(yīng)用開(kāi)發(fā)調(diào)試工具包和智能芯片虛擬化軟件等關(guān)鍵組件。在開(kāi)發(fā)應(yīng)用時(shí),用戶(hù)既可以基于TensorFlow和PyTorch等主流編程框架接口編寫(xiě)代碼,也可以通過(guò)公司自研的BANG編程語(yǔ)言對(duì)算子進(jìn)行擴(kuò)展或直接編寫(xiě)代碼。智能芯片編譯器可以完成BANG語(yǔ)言到MLU指令的編譯,使得AI算法各項(xiàng)指令高效地運(yùn)行于思元系列AI芯片上。在開(kāi)發(fā)過(guò)程中,用戶(hù)還可以通過(guò)應(yīng)用開(kāi)發(fā)調(diào)試工具包所提供的調(diào)試工具、性能剖析工具和系統(tǒng)監(jiān)測(cè)工具等高效地進(jìn)行應(yīng)用程序的功能調(diào)試和性能調(diào)優(yōu)。此外,Neuware也可以通過(guò)智能芯片虛擬化軟件為云計(jì)算與數(shù)據(jù)中心場(chǎng)景提供關(guān)鍵支撐。
訓(xùn)練任務(wù)方面,Neware的訓(xùn)練軟件平臺(tái)擁有多項(xiàng)強(qiáng)大特性,為用戶(hù)提供高效且靈活的訓(xùn)練環(huán)境。
(1)首先,平臺(tái)支持主流開(kāi)源框架原生分布式通信方式以及Horovod開(kāi)源分布式通信框架,使用戶(hù)能夠輕松實(shí)現(xiàn)從單卡到集群的分布式訓(xùn)練任務(wù)。多種網(wǎng)絡(luò)拓?fù)浣M織方式的支持,使得用戶(hù)可以根據(jù)需求靈活地選擇適合的分布式訓(xùn)練方式,包括數(shù)據(jù)并行、模型并行和混合并行的訓(xùn)練方法。
(2)其次,訓(xùn)練軟件平臺(tái)提供豐富的訓(xùn)練任務(wù)支持,涵蓋圖形圖像、語(yǔ)音、推薦以及NLP等多個(gè)領(lǐng)域。用戶(hù)可以在一個(gè)統(tǒng)一的平臺(tái)上完成各類(lèi)訓(xùn)練任務(wù),極大地簡(jiǎn)化了訓(xùn)練流程,提高了開(kāi)發(fā)效率。另外,通過(guò)底層算子庫(kù)CNNL和通信庫(kù)CNCL,訓(xùn)練軟件平臺(tái)在實(shí)際訓(xùn)練業(yè)務(wù)中達(dá)到了業(yè)界領(lǐng)先的硬件計(jì)算效率和通信效率。這意味著用戶(hù)可以獲得更快的訓(xùn)練速度和更高的計(jì)算性能,從而加速模型的訓(xùn)練過(guò)程。
(3)最后,訓(xùn)練軟件平臺(tái)提供了模型快速遷移方法,幫助用戶(hù)快速完成現(xiàn)有業(yè)務(wù)模型的遷移。這為用戶(hù)節(jié)省了大量的時(shí)間和工作,讓他們能夠更快地將已有模型應(yīng)用到新的平臺(tái)上,提高了平臺(tái)的易用性和適配性。
推理任務(wù)方面,寒武紀(jì)自研的MagicMind推理引擎對(duì)主流推理場(chǎng)景應(yīng)用加速效果較好。2021年底,公司將Neuware架構(gòu)升級(jí)了一個(gè)新的模塊,MagicMind推理引擎。
MagicMind推理引擎支持跨框架的模型解析、自動(dòng)后端代碼生成及優(yōu)化,可幫助用戶(hù)在MLU、GPU、CPU訓(xùn)練好的算法模型上,降低用戶(hù)的研發(fā)成本,減少將推理業(yè)務(wù)部署到寒武紀(jì)AI加速卡產(chǎn)品上。此外,MagicMind和深度學(xué)習(xí)框架Tensorflow、Pytorch深度融合,使得用戶(hù)可以無(wú)縫地完成從模型訓(xùn)練到推理部署的全部流程,進(jìn)行靈活的訓(xùn)練推理業(yè)務(wù)混布和潮汐式的業(yè)務(wù)切換,可快速響應(yīng)業(yè)務(wù)變化,降低運(yùn)營(yíng)成本。MagicMind的特點(diǎn)包括:
1. 訓(xùn)練到推理的無(wú)縫銜接:MagicMind和人工智能框架TensorFlow,PyTorch深度融合,模型訓(xùn)練到推理一鍵部署。
2. 多種計(jì)算精度支持:支持FP32、FP16、INT16、INT8等多種計(jì)算精度,支持用戶(hù)指定不同層級(jí)計(jì)算精度以及定義量化方法細(xì)節(jié)。
3. 原生支持動(dòng)態(tài)張量輸入:具有完備動(dòng)態(tài)張量表達(dá)能力,原生支持任意數(shù)據(jù)規(guī)模的動(dòng)態(tài)張量輸入。
4. 豐富的調(diào)試調(diào)優(yōu)工具:豐富的調(diào)試調(diào)優(yōu)工具以及相應(yīng)的文檔和指引,便利的調(diào)試調(diào)優(yōu)體驗(yàn)。
(四)ROCm:為海光 DCU 提供高兼容性的 AI 計(jì)算平臺(tái)
海光DCU全面兼容ROCm GPU計(jì)算生態(tài)。ROCm(Radeon Open Compute Platform)是AMD基于開(kāi)源項(xiàng)目的GPU計(jì)算生態(tài)系統(tǒng),支持多種編程語(yǔ)言、編譯器、庫(kù)和工具,以加速科學(xué)計(jì)算、人工智能和機(jī)器學(xué)習(xí)等領(lǐng)域的應(yīng)用。ROCm還支持多種加速器廠(chǎng)商和架構(gòu),提供了開(kāi)放的可移植性和互操作性。海光的DCU兼容ROCm生態(tài)的特性使得其得到國(guó)際主流商業(yè)計(jì)算平臺(tái)生態(tài)系統(tǒng)和社區(qū)的支持,可以利用現(xiàn)有的AI平臺(tái)和共享計(jì)算資源,快速實(shí)現(xiàn)模型訓(xùn)練和推理的性能提升,短期內(nèi)有利于其DCU產(chǎn)品的推廣。
--- 報(bào)告摘錄結(jié)束 更多內(nèi)容請(qǐng)閱讀報(bào)告原文 ---
報(bào)告合集專(zhuān)題一覽 X 由【報(bào)告派】定期整理更新
(特別說(shuō)明:本文來(lái)源于公開(kāi)資料,摘錄內(nèi)容僅供參考,不構(gòu)成任何投資建議,如需使用請(qǐng)參閱報(bào)告原文。)
精選報(bào)告來(lái)源:報(bào)告派
科技 / 電子 / 半導(dǎo)體 /
人工智能 | Ai產(chǎn)業(yè) | Ai芯片 | 智能家居 | 智能音箱 | 智能語(yǔ)音 | 智能家電 | 智能照明 | 智能馬桶 | 智能終端 | 智能門(mén)鎖 | 智能手機(jī) | 可穿戴設(shè)備 |半導(dǎo)體 | 芯片產(chǎn)業(yè) | 第三代半導(dǎo)體 | 藍(lán)牙 | 晶圓 | 功率半導(dǎo)體 | 5G | GA射頻 | IGBT | SIC GA | SIC GAN | 分立器件 | 化合物 | 晶圓 | 封裝封測(cè) | 顯示器 | LED | OLED | LED封裝 | LED芯片 | LED照明 | 柔性折疊屏 | 電子元器件 | 光電子 | 消費(fèi)電子 | 電子FPC | 電路板 | 集成電路 | 元宇宙 | 區(qū)塊鏈 | NFT數(shù)字藏品 | 虛擬貨幣 | 比特幣 | 數(shù)字貨幣 | 資產(chǎn)管理 | 保險(xiǎn)行業(yè) | 保險(xiǎn)科技 | 財(cái)產(chǎn)保險(xiǎn) |