【導(dǎo)讀】近年來,人工智能應(yīng)用正經(jīng)歷一輪快速的發(fā)展與普及,而以ChatGPT等先進(jìn)的大模型技術(shù)在此過程中起到了關(guān)鍵作用。這些模型對計算能力的需求不斷攀升,催生了AI芯片設(shè)計的不斷革新,進(jìn)入了大算力時代。
近年來,人工智能應(yīng)用正經(jīng)歷一輪快速的發(fā)展與普及,而以ChatGPT等先進(jìn)的大模型技術(shù)在此過程中起到了關(guān)鍵作用。這些模型對計算能力的需求不斷攀升,催生了AI芯片設(shè)計的不斷革新,進(jìn)入了大算力時代。
目前,主流AI芯片的架構(gòu)仍然沿用了傳統(tǒng)的馮·諾依曼模型,這一設(shè)計將計算單元與數(shù)據(jù)存儲分離。在這種架構(gòu)下,處理器需要從內(nèi)存中讀取數(shù)據(jù),執(zhí)行計算任務(wù),然后將結(jié)果寫回內(nèi)存。盡管AI芯片的算力在不斷提升,但僅僅擁有強(qiáng)大的數(shù)據(jù)計算能力并不足夠。當(dāng)數(shù)據(jù)傳輸速度無法跟上計算速度時,數(shù)據(jù)傳輸時間將遠(yuǎn)超過計算時間。
以Transformer架構(gòu)為基礎(chǔ)的AI大模型導(dǎo)致了模型參數(shù)量激增,短短兩年間模型大小擴(kuò)大了驚人的410倍,運(yùn)算量更是激增了高達(dá)750倍。盡管硬件的峰值計算能力在過去20年中提升了驚人的60,000倍,但DRAM帶寬的增長卻相對滯后,僅提高了100倍。計算能力與帶寬能力之間的巨大差距導(dǎo)致了內(nèi)存容量和數(shù)據(jù)傳輸速度難以跟上AI硬件的計算速度,這已成為限制AI芯片性能發(fā)揮的主要瓶頸,通常被稱為“內(nèi)存墻”問題。
內(nèi)存墻的應(yīng)對方法
針對內(nèi)存墻問題,研究人員正積極探索多種解決方案,主要可分為以下三個研究方向:
算法優(yōu)化:重新審視網(wǎng)絡(luò)模型設(shè)計,致力于優(yōu)化算法實(shí)現(xiàn),以減少對高速數(shù)據(jù)傳輸?shù)囊蕾?。這一方向旨在從根本上降低數(shù)據(jù)傳輸需求,提升算法效率,從而打破內(nèi)存墻的限制。
模型壓縮:通過降低模型精度(如量化)或去除冗余參數(shù)(如剪枝)來壓縮推理模型。這種方法可以顯著減少模型大小,降低內(nèi)存占用,從而減輕內(nèi)存墻帶來的壓力。
AI芯片架構(gòu)設(shè)計:設(shè)計高效的AI芯片架構(gòu),以優(yōu)化數(shù)據(jù)流和計算流程。通過硬件層面的創(chuàng)新,減少數(shù)據(jù)搬運(yùn)和計算量,提高整體系統(tǒng)效率。
算法的優(yōu)化與模型的壓縮是軟件研究人員追求的重要方向。在AI芯片架構(gòu)設(shè)計領(lǐng)域, 各大AI芯片公司也開始優(yōu)化芯片架構(gòu), 以實(shí)現(xiàn)更為高效的內(nèi)存?zhèn)鬏?。安霸同樣提出了其專有的解決方案。
CV3系列芯片如何打破內(nèi)存墻
2015年, 安霸收購了自動駕駛算法公司VisLab, 開始研究自動駕駛需要怎樣的芯片。 2017年,安霸推出第一代CVflow架構(gòu)芯片CV1, 用于加速AI視覺計算。2018年開始逐步推出并量產(chǎn)專門針對車載輔助駕駛市場的第二代CVflow架構(gòu)芯片CV2系列。 2019年,自動駕駛技術(shù)的突飛猛進(jìn),使得汽車行業(yè)對芯片算力的需求急劇增長,標(biāo)志著大算力時代的來臨。在這樣的技術(shù)背景下,安霸前瞻性地啟動了CV3系列大算力芯片的設(shè)計工作,旨在為自動駕駛場景提供強(qiáng)大的計算能力。經(jīng)過三年的精心打磨與架構(gòu)設(shè)計, 2022年, CV3架構(gòu)的第一顆芯片CV3-HD成功點(diǎn)亮, 其最高算力達(dá)到了1500 eTOPS(等效算力),而功耗僅為50瓦,展示出了卓越的計算性能與能耗比。 2023年, 首個面向量產(chǎn)智駕域控制器的芯片CV3-AD685順利點(diǎn)亮并開始提供樣片, 其算力達(dá)到750 eTOPS(等效算力)。2024年1月,安霸再次推出了CV3-AD 汽車智駕域控制器芯片的最新成員:CV3-AD635 和 CV3-AD655。至此,CV3-AD 系列芯片已經(jīng)實(shí)現(xiàn)了從主流到中、高端乘用車市場高級輔助駕駛與自動駕駛解決方案的完整覆蓋。
在深入洞察自動駕駛場景的基礎(chǔ)上, 安霸的CV3系列芯片在設(shè)計之初就敏銳地預(yù)見到大算力時代所帶來內(nèi)存帶寬挑戰(zhàn)。為了突破內(nèi)存瓶頸,CV3在內(nèi)存控制器上采用了先進(jìn)的LPDDR5技術(shù),每位DRAM的數(shù)據(jù)傳輸速率高達(dá)8Gb/s。針對不同應(yīng)用場景的算力需求,設(shè)計了64位、128位和256位的內(nèi)存位寬,從而確保在各種計算場景下都能提供足夠的數(shù)據(jù)傳輸帶寬。
在AI加速器的架構(gòu)設(shè)計上,CV3系列芯片推出了安霸特有的第三代CVflow架構(gòu)。這一架構(gòu)賦予了CV3卓越的算力性能和優(yōu)異的能效比。如圖1所示,CVflow的總體架構(gòu)展示了其數(shù)據(jù)流和計算單元的組織結(jié)構(gòu)。
圖1 CVflow架構(gòu)圖
具體來說, CV3的高算力與低功耗得益于以下幾個精心設(shè)計的架構(gòu)特點(diǎn)。
·Partial buffer架構(gòu)
盡管許多AI芯片采用增大緩存的方式來減少DRAM訪問,但緩存系統(tǒng)存在幾個顯著問題:
設(shè)計復(fù)雜性與成本:緩存系統(tǒng)的設(shè)計相對復(fù)雜,相較于同等容量的SRAM,它需要占據(jù)更大的芯片面積。這不僅增加了芯片的成本,還可能導(dǎo)致功耗上升。
軟件優(yōu)化需求:為了充分利用緩存系統(tǒng),軟件算法需要針對其進(jìn)行專門的優(yōu)化,以提高緩存命中率。這增加了軟件開發(fā)的復(fù)雜性和工作量。
算力浪費(fèi):緩存系統(tǒng)通常遵循“使用時才加載”的策略,這導(dǎo)致計算單元在等待數(shù)據(jù)加載完成期間無法進(jìn)行有效計算,從而造成算力的浪費(fèi)。算力的有效利用率在很大程度上依賴于緩存命中率。
性能不穩(wěn)定:在復(fù)雜的多核多線程環(huán)境中,緩存命中率與系統(tǒng)的負(fù)載密切相關(guān)。隨著負(fù)載的變化,緩存命中率可能會受到嚴(yán)重影響,導(dǎo)致系統(tǒng)性能的不穩(wěn)定。
與傳統(tǒng)的緩存系統(tǒng)不同,CVflow架構(gòu)采取了一種創(chuàng)新的策略,將片上內(nèi)存(On-chip Memory)分割成多個不同大小的內(nèi)存塊,這些內(nèi)存塊被稱為Partial Buffers(PB)。這些PB的主要用途是存儲計算過程中的中間結(jié)果,從而顯著減少對外部DRAM的訪問次數(shù)。Partial Buffers所帶來的優(yōu)勢如下:
簡化的硬件設(shè)計與成本優(yōu)化:PB的設(shè)計相較于傳統(tǒng)緩存更為簡單,這意味著在硬件實(shí)現(xiàn)上,CVflow架構(gòu)能夠節(jié)省更多的芯片面積,進(jìn)而降低制造成本和功耗。
獨(dú)立的DMA通道:為了確保數(shù)據(jù)的高效傳輸,CVflow架構(gòu)為Partial Buffers配置了獨(dú)立的DMA(Direct Memory Access)通道。這使得數(shù)據(jù)能夠從DRAM中快速、無縫地傳輸?shù)絇B中,從而避免了數(shù)據(jù)傳輸?shù)钠款i。
訪存效率高: 一次性從DRAM和PB之間傳輸大塊數(shù)據(jù)的策略, 替代了傳統(tǒng)的多次小塊數(shù)據(jù)傳輸?shù)姆绞? 減少了數(shù)據(jù)在內(nèi)存和向量處理器(NVP)之間的搬運(yùn)數(shù)次,降低了數(shù)據(jù)傳輸?shù)难舆t和開銷
與計算單元并行處理:PB在CVflow內(nèi)部被組織成一個環(huán)形結(jié)構(gòu)。這意味著當(dāng)一個PB的數(shù)據(jù)被使用后,CVflow的硬件調(diào)度器會智能地加載下一個所需的數(shù)據(jù)塊到空閑的PB中。這種設(shè)計允許數(shù)據(jù)預(yù)加載與計算單元的工作并行進(jìn)行,從而消除了數(shù)據(jù)等待時間,提高了整體計算效率。
簡化的內(nèi)存管理:與需要手動優(yōu)化和管理的傳統(tǒng)緩存系統(tǒng)不同,CVflow轉(zhuǎn)換工具能夠自動、高效地管理PB。這意味著開發(fā)人員無需花費(fèi)額外的時間和精力來管理片上內(nèi)存,從而可以更加專注于算法和應(yīng)用的開發(fā)。
以圖2所示的卷積神經(jīng)網(wǎng)絡(luò)為例,在傳統(tǒng)的計算架構(gòu)中,該網(wǎng)絡(luò)通常需要12次的DRAM訪問來完成一次完整的計算過程。然而,在CVflow架構(gòu)下,通過利用高效的Partial Buffers(PB)設(shè)計,3到12過程的內(nèi)存訪問被低延遲的PB所取代。這意味著,中間計算結(jié)果可以直接在PB中完成,而無需頻繁地訪問外部的DRAM。因此,整個計算過程中,只需要在輸入和輸出階段各進(jìn)行一次DRAM訪問,從而減少了10次的DRAM訪問。這種優(yōu)化不僅顯著降低了計算過程中的延遲,還因?yàn)闇p少了外部DRAM的訪問次數(shù),從而降低了整體的功耗。
圖2 CVflow卷積神經(jīng)網(wǎng)絡(luò)計算示例
·并行的流式架構(gòu)
CVflow工具根據(jù)芯片的片上內(nèi)存大小,智能地將大型神經(jīng)網(wǎng)絡(luò)切割成多個連續(xù)的、緊湊的計算單元,這些單元被組織成有向無環(huán)圖(DAG)的形式。這種獨(dú)特的架構(gòu)帶來了多重優(yōu)勢:
高效內(nèi)存利用:每個DAG的中間計算步驟都在片上內(nèi)存內(nèi)完成,從而避免了頻繁訪問外部DRAM的需求。這不僅減少了數(shù)據(jù)傳輸?shù)难舆t,還提高了內(nèi)存的使用效率。
快速啟動與并行處理:網(wǎng)絡(luò)加載時間大大縮短,因?yàn)橹恍杓虞d一部分網(wǎng)絡(luò)即可開始計算。同時,在計算過程中,CVflow能夠并行加載網(wǎng)絡(luò)的后續(xù)部分,實(shí)現(xiàn)了計算與數(shù)據(jù)加載的并行化,進(jìn)一步提升了整體性能。
穩(wěn)健的性能表現(xiàn):由于大大減少了對DRAM的訪問次數(shù),并且實(shí)現(xiàn)了計算與數(shù)據(jù)加載的并行處理,CVflow架構(gòu)在面臨其他芯片模塊(如CPU、GPU、ISP)同時高負(fù)載運(yùn)行的場景時,仍能保持穩(wěn)定的性能表現(xiàn),從而確保了在各種復(fù)雜環(huán)境下的可靠性。
圖3 AI模型的DAG切割示意圖
·硬件實(shí)現(xiàn)的算子
與GPU通過簡單地堆砌計算單元來提升算力的方式不同,CVflow架構(gòu)致力于通過實(shí)現(xiàn)高效的硬件算子來加速計算過程。CV3的CVflow架構(gòu),基于對深度學(xué)習(xí)網(wǎng)絡(luò)的前瞻性研究,實(shí)現(xiàn)了超過100種常用算子的硬件化。這種設(shè)計策略使得CVflow在晶體管數(shù)量更少的情況下實(shí)現(xiàn)了出色的算力。
以8x8的矩陣乘法為例,傳統(tǒng)的計算方式需要512個乘加(MAC)操作,但在CVflow架構(gòu)中,其特有的矩陣乘法算子能夠在單個計算指令周期內(nèi)完成。此外,CVflow還支持多種融合算子的應(yīng)用。例如,對于常見的2D/3D卷積與池化操作,CVflow的轉(zhuǎn)換工具能夠自動將這兩個操作融合為一個硬件算子操作,從而有效減少了數(shù)據(jù)吞吐量和計算周期,進(jìn)一步提升了整體性能。
·非結(jié)構(gòu)化的稀疏加速
通過將AI模型稀疏化,去除冗余參數(shù), CVflow架構(gòu)帶來了顯著的性能提升, 具體而言:
CVflow工具能夠自動壓縮網(wǎng)絡(luò)參數(shù),這減少了芯片端加載AI模型所需的時間。
芯片端的CVflow硬件調(diào)度器具備智能分析能力,可以自動識別并跳過不必要的計算,從而顯著降低了計算量。
無需對AI模型結(jié)構(gòu)進(jìn)行調(diào)整, 從而實(shí)現(xiàn)了算法的一次性開發(fā)和無縫部署。這種特性簡化了模型部署過程,使得模型開發(fā)人員無需擔(dān)心模型結(jié)構(gòu)的兼容性問題,可以專注于算法的優(yōu)化和創(chuàng)新。
CVflow工具鏈提供了多種稀疏策略來保證AI模型稀疏后的精度。
以7x7卷積為例,未進(jìn)行稀疏化之前,每次卷積操作都需要用到全部的49個參數(shù),并且會執(zhí)行49次乘加(MAC)操作。然而,當(dāng)實(shí)施了80%的稀疏化后,情況發(fā)生了顯著變化:參數(shù)量減少了60%,這意味著存儲和傳輸?shù)男蚀蟠筇嵘?;計算量減少了80%,從而極大地提高了卷積操作的效率。這種CVflow獨(dú)有的稀疏化技術(shù)對于優(yōu)化AI模型的性能和資源消耗至關(guān)重要。
圖4 CVflow 網(wǎng)絡(luò)稀疏化示例
·支持多種量化格式
CV3的CVflow架構(gòu)具有強(qiáng)大的數(shù)據(jù)格式支持能力, 可以支持 4, 8, 16, 32的定點(diǎn)數(shù)據(jù)格式和16, 32位的浮點(diǎn)數(shù)據(jù)格式。CVflow工具能夠針對每一層網(wǎng)絡(luò)參數(shù)和輸入輸出數(shù)據(jù)進(jìn)行精確的動態(tài)范圍分析,從而確定最優(yōu)的量化精度,實(shí)現(xiàn)高效的混合精度部署。這一特性使得CV3在處理不同數(shù)據(jù)類型和規(guī)模的任務(wù)時,能夠靈活適應(yīng)并發(fā)揮最佳性能。
2024年國際消費(fèi)電子展(CES)期間,安霸展出了基于CV3平臺的自動駕駛研發(fā)車輛, 并為受邀客戶提供試駕體驗(yàn)。此次展出進(jìn)一步驗(yàn)證了CV3 CVflow架構(gòu)芯片的強(qiáng)大實(shí)力, 即便面對自動駕駛場景的大算力、高帶寬的復(fù)雜計算需求,也能游刃有余地應(yīng)對。
2023年, 特斯拉實(shí)現(xiàn)了首個端到端大模型自動駕駛系統(tǒng), 將原本龐大的30萬行的人工規(guī)則算法精簡至僅2000行代碼。隨著駕駛數(shù)據(jù)的不斷積累,自動駕駛技術(shù)正朝著端到端大模型的方向發(fā)展。 面對未來大模型自動駕駛時代的算力與內(nèi)存墻挑戰(zhàn), 專為自動駕駛設(shè)計的CV3-AD系列芯片憑借第三代CVflow架構(gòu),以芯片架構(gòu)創(chuàng)新的方式,突破大算力芯片的內(nèi)存墻的限制,為大模型算法提供了強(qiáng)大的硬件支持, 助力高級輔助駕駛以及自動駕駛技術(shù)的普及與發(fā)展。
(Ambarella安霸 何小林)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。
推薦閱讀:
CITE2024開展倒計時 等你來看大模型、芯片、機(jī)器人、智能駕駛……
多通道優(yōu)先級放大器的設(shè)計與應(yīng)用
矽知科技與傳感器專家網(wǎng)正式啟動戰(zhàn)略合作 助力傳感器產(chǎn)業(yè)邁入萬億級智能新時代