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