0
| 本文作者: 包永剛 | 2024-03-08 17:34 |
在感受了ChatGPT和文生視頻模型Sora接連帶來(lái)震撼之后,所有人都會(huì)好奇,生成式AI與普通人的生活有什么關(guān)系?
手機(jī)廠(chǎng)商已經(jīng)展示了生成式AI帶來(lái)的全新體驗(yàn),比如小米14系列的圖像擴(kuò)充,OPPO Find X7 Ultra的一鍵AI路人消除,榮耀Magic6的智慧成片和智慧創(chuàng)建日程。
如果說(shuō)云端的生成式AI展示了AI的強(qiáng)大,那端側(cè)AI的普及就是激發(fā)生成式AI創(chuàng)新的動(dòng)力。
想要在端側(cè)普及生成式AI,需要先解決算力、內(nèi)存和生態(tài)三大難題。
異構(gòu)計(jì)算和NPU解決算力瓶頸
生成式AI模型參數(shù)量大,算力是一個(gè)核心限制因素。
但大算力往往意味著高能耗,對(duì)于使用電池供電的AI手機(jī)和AI PC,想要兼顧高性能和低功耗,異構(gòu)架構(gòu)的價(jià)值十分明顯。
異構(gòu)架構(gòu),就是一個(gè)處理器當(dāng)中包含多種不同類(lèi)型的處理單元。
手機(jī)SoC就是典型的異構(gòu)架構(gòu),包含擅長(zhǎng)順序控制,適用于需要低時(shí)延的應(yīng)用場(chǎng)景的CPU;擅長(zhǎng)高精度格式圖像和視頻并行處理的GPU;還有擅長(zhǎng)標(biāo)量、向量和張量數(shù)學(xué)運(yùn)算,可用于核心AI工作負(fù)載的NPU。
異構(gòu)計(jì)算的優(yōu)勢(shì)在于,可以根據(jù)應(yīng)用的類(lèi)型調(diào)用合適的處理器以達(dá)到最佳的能耗比,比如用GPU來(lái)完成重負(fù)荷游戲,用CPU執(zhí)行多網(wǎng)頁(yè)瀏覽,用NPU提升AI體驗(yàn)。

對(duì)于生成式AI,異構(gòu)計(jì)算的優(yōu)勢(shì)更加明顯,因?yàn)樯墒紸I有多種用例,比如只需要短暫運(yùn)行的按需型用例;需要長(zhǎng)時(shí)間運(yùn)行的持續(xù)型用例,如AI視頻處理;以及始終開(kāi)啟的泛在型用例,如PC需要持續(xù)監(jiān)測(cè)用戶(hù)的設(shè)備使用情況,不同的用例對(duì)處理器的需求不同。
以在高通驍龍平臺(tái)上實(shí)現(xiàn)虛擬AI助手與用戶(hù)語(yǔ)音互動(dòng)交流來(lái)解釋異構(gòu)計(jì)算的重要性。

用于給虛擬AI助手下達(dá)指令,需要通過(guò)自動(dòng)語(yǔ)音識(shí)別(ASR)模型轉(zhuǎn)化為文本,這一步主要在高通傳感器中樞運(yùn)行。
然后需要通過(guò)Llama 2或百川大語(yǔ)言模型生成文本回復(fù),這一模型在Hexagon NPU上運(yùn)行
接下來(lái)要通過(guò)開(kāi)源TTS(Text to Speech)模型將文本轉(zhuǎn)為語(yǔ)音,這一過(guò)程需要CPU。
輸出語(yǔ)音的同時(shí),需要使用融合變形動(dòng)畫(huà)(Blendshape)技術(shù)讓語(yǔ)音與虛擬化身的嘴型匹配,實(shí)現(xiàn)音話(huà)同步。此后,通過(guò)虛幻引擎MetaHuman進(jìn)行虛擬化身渲染,渲染工作在A(yíng)dreno GPU上完成。
最終通過(guò)協(xié)同使用高通AI引擎上所有的多樣化處理模塊,實(shí)現(xiàn)出色的交互體驗(yàn)。
高通自2015年推出第一代AI引擎,就采用的異構(gòu)計(jì)算的架構(gòu),包含Kryo CPU、Adreno GPU、Hexagon DSP,這是高通保持在端側(cè)AI領(lǐng)域領(lǐng)先的關(guān)鍵。
異構(gòu)計(jì)算對(duì)于生成式AI的普及非常重要,其中的NPU又是關(guān)鍵。
比如在持續(xù)型用例中,需要以低功耗實(shí)現(xiàn)持續(xù)穩(wěn)定的高峰值性能,NPU可以發(fā)揮其最大優(yōu)勢(shì)。在基于LLM和大視覺(jué)模型(LVM)的不同用例,例如Stable Diffusion或其他擴(kuò)散模型中,NPU的每瓦特性能表現(xiàn)十分出色。
“高通NPU的差異化優(yōu)勢(shì)在于系統(tǒng)級(jí)解決方案、定制設(shè)計(jì)和快速創(chuàng)新。通過(guò)定制設(shè)計(jì)NPU并控制指令集架構(gòu)(ISA),高通能夠快速進(jìn)行設(shè)計(jì)演進(jìn)和擴(kuò)展,以解決瓶頸問(wèn)題并優(yōu)化性能?!备咄夹g(shù)公司產(chǎn)品管理高級(jí)副總裁 Ziad Asghar表示。
雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng))了解到,高通對(duì)NPU的研究也是跟隨需求的變化而演進(jìn),以Hexagon DSP為基礎(chǔ),進(jìn)化為Hexagon NPU。
“從DSP架構(gòu)入手打造NPU是正確的選擇,可以改善可編程性,并能夠緊密控制用于A(yíng)I處理的標(biāo)量、向量和張量運(yùn)算。高通優(yōu)化標(biāo)量、向量和張量加速的的設(shè)計(jì)方案結(jié)合本地共享大內(nèi)存、專(zhuān)用供電系統(tǒng)和其他硬件加速,讓我們的方案獨(dú)樹(shù)一幟?!盳iad Asgha說(shuō)。

Hexagon NPU從2015年時(shí)面向音頻和語(yǔ)音處理的的簡(jiǎn)單CNN,到2016-2022年之間面向AI影像和視頻處理,以實(shí)現(xiàn)增強(qiáng)的影像能力的Transformer、LSTM、RNN、CNN。
2023年,高通在Hexagon NPU中增加了Transformer支持。能夠在終端側(cè)運(yùn)行高達(dá)100億參數(shù)的模型,無(wú)論是首個(gè)token的生成速度還是每秒生成token的速率都處在業(yè)界領(lǐng)先水平。
測(cè)試數(shù)據(jù)顯示,第三代驍龍8和三款A(yù)ndroid以及iOS平臺(tái)競(jìng)品的對(duì)比,在MLCommon MLPerf推理的不同子項(xiàng)中,例如圖像分類(lèi)、語(yǔ)言理解以及超級(jí)分辨率等,第三代高通驍龍8都保持領(lǐng)先。

同樣集成了高通AI引擎的驍龍X Elite,在面向Windows的UL Procyon AI推理基準(zhǔn)測(cè)試中,ResNet-50、DeeplabV3等測(cè)試中,基準(zhǔn)測(cè)試總分分別為X86架構(gòu)競(jìng)品A的3.4倍和競(jìng)品B的8.6倍。

如何解決內(nèi)存瓶頸?
限制生成式AI普及的不僅有計(jì)算能力的限制,內(nèi)存限制也是大語(yǔ)言模型token生成的瓶頸,這要解決的是CPU、GPU、NPU的內(nèi)存效率問(wèn)題。

內(nèi)存瓶頸來(lái)源于A(yíng)I計(jì)算數(shù)據(jù)的讀取和搬移。
例如,一個(gè)NxN矩陣和另一個(gè)NxN矩陣相乘,需要讀取2N2個(gè)值并進(jìn)行2N3次運(yùn)算(單個(gè)乘法和加法)。在張量加速器中,每次內(nèi)存訪(fǎng)問(wèn)的計(jì)算操作比率為N:1,而對(duì)于標(biāo)量和向量加速器,這一比率要小得多。
解決內(nèi)存瓶頸的挑戰(zhàn),高通有微切片和量化等關(guān)鍵技術(shù)。
2022年發(fā)布的第二代驍龍8,微切片推理利用HexagonNPU的標(biāo)量加速能力,將神經(jīng)網(wǎng)絡(luò)分割成多個(gè)能夠獨(dú)立執(zhí)行的微切片,消除了高達(dá)10余層的內(nèi)存占用,市面上的其他AI引擎則必須要逐層進(jìn)行推理。
量化技術(shù)也是解決內(nèi)存挑戰(zhàn)的關(guān)鍵。高通Hexagon NPU原生支持4位整數(shù)(INT4)運(yùn)算,能夠提升能效和內(nèi)存帶寬效率,同時(shí)將INT4層和神經(jīng)網(wǎng)絡(luò)的張量加速吞吐量量提高一倍。
在最新的第三代驍龍8中,Hexagon NPU微架構(gòu)升級(jí),微切片推理進(jìn)一步升級(jí),支持更高效的生成式Al處理,并降低內(nèi)存帶寬占用。
此外,Hexagon張量加速器增加了獨(dú)立的電源傳輸軌道,讓需要不同標(biāo)量、向量和張量處理規(guī)模的AI模型能夠?qū)崿F(xiàn)最高性能和效率。共享內(nèi)存的帶寬也增加了一倍。
還有一個(gè)非常關(guān)鍵的升級(jí),第三代驍龍8支持業(yè)界最快的內(nèi)存配置之一:4.8GHzLPDDR5x,支持77GB/s帶寬,能夠滿(mǎn)足生成式AI用例日益增長(zhǎng)的內(nèi)存需求。
更高性能的內(nèi)存結(jié)合升級(jí)的微切片和量化技術(shù),能最大程度消除端側(cè)AI普及內(nèi)存的瓶頸。當(dāng)然,生成式AI模型也在變化。
“高通AI引擎中集成了模型壓縮等更多技術(shù),以確保模型能夠在DRAM上順利運(yùn)行?!盳iad Asghar說(shuō),“在模型端,我們看到MoE(Mixture of Experts)模型興起的趨勢(shì),這一類(lèi)型的模型能夠?qū)⑻囟ú糠址旁趦?nèi)存中運(yùn)行,其他的放在內(nèi)存外,對(duì)模型進(jìn)行優(yōu)化。”
計(jì)算和內(nèi)存限制的問(wèn)題之后,是更具挑戰(zhàn)性的生態(tài)問(wèn)題。
如何降低AI開(kāi)發(fā)門(mén)檻?
AI潛力的爆發(fā)需要生態(tài)的繁榮,生態(tài)的繁榮需要足夠多的開(kāi)發(fā)者,最終這就變成了一個(gè)AI開(kāi)發(fā)門(mén)檻的問(wèn)題。
對(duì)于硬件平臺(tái)的提供者來(lái)說(shuō),可以最大化降低開(kāi)發(fā)者的使用門(mén)檻,能夠讓開(kāi)發(fā)者用高級(jí)語(yǔ)言開(kāi)發(fā)的程序簡(jiǎn)單高效地運(yùn)行在A(yíng)I引擎上。

高通做了非常多的工作,高通AI軟件棧(Qualcomm AI Stack),支持目前所有的主流AI框架,包括TensorFlow、PyTorch、ONNX、Keras;它還支持所有主流的AI runtime,包括DirectML、TFLite、ONNX Runtime、ExecuTorch,以及支持不同的編譯器、數(shù)學(xué)庫(kù)等AI工具。
“我們還推出了Qualcomm AI studio,為開(kāi)發(fā)者提供開(kāi)發(fā)過(guò)程中需要用到的相關(guān)工具,其中包括支持模型量化和壓縮的高通AI模型增效工具包(AIMET),能夠讓模型運(yùn)行更加高效。”Ziad Asgha進(jìn)一步表示,“基于高通AI軟件棧和核心硬件IP,我們能夠跨高通所有不同產(chǎn)品線(xiàn),將應(yīng)用規(guī)?;瘮U(kuò)展到不同類(lèi)型的終端,從智能手機(jī)到PC、物聯(lián)網(wǎng)終端、汽車(chē)等?!?/p>
AI生態(tài)的繁榮,還需要多方的共同努力,高通支持Transformer的Hexagon NPU,以及異構(gòu)的高通AI引擎,已經(jīng)提供了很好的基礎(chǔ)。
還需要看到的是,終端側(cè)AI處理有成本、能效、可靠性、性能時(shí)延、個(gè)性化方面的諸多優(yōu)勢(shì)。了解更多終端側(cè)生成式AI的資料可以查閱《通過(guò)NPU和異構(gòu)計(jì)算開(kāi)啟終端生成式AI》白皮書(shū)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。