7月15日消息,AMD近日在美國(guó)洛杉磯舉行的技術(shù)日活動(dòng)中公布了“North Star”(北極星)計(jì)劃,未來(lái)推出的 Ryzen AI PC芯片將可支持以每秒100個(gè)Token的速度在本地運(yùn)行300億個(gè)參數(shù)的大型語(yǔ)言模型(LLM),實(shí)現(xiàn) 3000 的語(yǔ)義長(zhǎng)度,并且首個(gè)Token生成的延遲要低于100毫秒。
但是,要實(shí)現(xiàn)AMD提出的這個(gè)目標(biāo)并不容易,這需要硬件和軟件性能上的巨大提升。要知道AMD最新推出的代號(hào)為“Strix Point ”的AI PC芯片Ryzen AI 300系列在以 4bit 精度運(yùn)行70億參數(shù)的大語(yǔ)言模型,每秒只能生成20個(gè)Token,并且首個(gè)Token的生成延遲高達(dá)1-4秒。
如果要本地支持以每秒生成100個(gè)Token的速度運(yùn)行 300 億參數(shù)的大模型,“North Star”不僅需要邏輯面積更大、性能更強(qiáng)的 NPU ,這對(duì)于提升 TOPS 或 FLOPS 肯定會(huì)有所幫助——尤其是在首次令牌延遲方面,但是在本地運(yùn)行大型語(yǔ)言模型時(shí),所需要的內(nèi)存容量和帶寬也極為重要。
在這方面,AMD的Strix Point 的大語(yǔ)言模型性能在很大程度上受到其 128 位內(nèi)存總線的限制——當(dāng)選擇采用 LPDDR5x 配對(duì)時(shí),其帶寬在一般 120-135 GBps 左右,具體取決于內(nèi)存的速度。
理論上來(lái)說(shuō),一個(gè)真正的 300 億參數(shù)模型,量化為4bit,將消耗大約 15GB 的內(nèi)存,并且需要超過(guò) 1.5 TBps 的帶寬才能達(dá)到每秒 100 個(gè)令牌的目標(biāo)。作為參考,這與配備 HBM2 的 40GB Nvidia A100 PCIe 卡的帶寬大致相同,但功率要大得多。
這意味著,如果不進(jìn)行優(yōu)化以降低模型的要求(比如采用內(nèi)存壓縮技術(shù)),AMD未來(lái)的SoC將需要更快、更高容量的LPDDR來(lái)達(dá)到芯片設(shè)計(jì)者的目標(biāo)。
人工智能的發(fā)展速度快于芯片
AMD 從事 SoC 開(kāi)發(fā)的高級(jí)研究員和芯片設(shè)計(jì)工程師Mahesh Subramony對(duì)于這些挑戰(zhàn)表示,“我們知道如何到達(dá)那里,雖然有可能設(shè)計(jì)出能夠?qū)崿F(xiàn)AMD今天目標(biāo)的部件,但如果沒(méi)有人能負(fù)擔(dān)得起使用它,或者沒(méi)有任何東西可以利用它,那就沒(méi)有多大意義了?!?/p>
“如果一開(kāi)始就說(shuō)每個(gè)人都必須擁有一輛法拉利,那么汽車就不會(huì)激增。你必須首先說(shuō)每個(gè)人都有一臺(tái)很棒的機(jī)器,然后你首先展示你可以負(fù)責(zé)任地用它做什么,“他解釋道。
“我們必須建立一個(gè)滿足 95% 人需求的 SKU,”他繼續(xù)說(shuō)道?!拔覍幵笓碛幸慌_(tái)價(jià)值 1,300 美元的筆記本電腦,然后通過(guò)云端來(lái)運(yùn)行我的 300 億參數(shù)模型。今天這還是便宜的?!?/p>
在展示 AI PC 的價(jià)值方面,AMD 非常依賴其軟件合作伙伴。對(duì)于像 Strix Point 這樣的產(chǎn)品,這在很大程度上意味著需要微軟的支持?!爱?dāng) Strix Point 最初開(kāi)始時(shí),我們與微軟的這種深度合作在某種程度上真正推動(dòng)了我們的邊界,”他回憶道。
但是,雖然軟件可以幫助指導(dǎo)新硬件的發(fā)展方向,但開(kāi)發(fā)和提升新芯片可能需要數(shù)年時(shí)間,Subramony解釋說(shuō)。“Gen AI 和 AI 用例的發(fā)展速度遠(yuǎn)快。”
自 ChatGPT 首次亮相以來(lái),已經(jīng)有兩年的時(shí)間來(lái)持續(xù)演變,Subramony 表示 AMD 現(xiàn)在對(duì)計(jì)算需求的發(fā)展方向有了更好的了解——這無(wú)疑是 AMD 制定這一目標(biāo)的部分原因。
克服瓶頸
有幾種方法可以解決內(nèi)存帶寬挑戰(zhàn)。例如,LPDDR5 可以換成高帶寬內(nèi)存——但正如 Subramony 所指出的那樣,這樣做并不完全有利,因?yàn)樗鼤?huì)大大增加成本并降低 SoC 的功耗。
“如果我們無(wú)法獲得 300 億個(gè)參數(shù)的模型,我們需要能夠獲得提供相同保真度的東西。這意味著在訓(xùn)練中需要進(jìn)行改進(jìn),以嘗試首先使這些更小的模型,“Subramony解釋說(shuō)。
好消息是,有很多方法可以做到這一點(diǎn)——這取決于你是想優(yōu)先考慮內(nèi)存帶寬還是容量。
一種可能的方法是按照 Mistral AI 的 Mixtral 使用混合專家 (MoE) 模型。這些 MoE 本質(zhì)上是一組相互協(xié)同工作的較小模型。通常,完整的 MoE 會(huì)被加載到內(nèi)存中,但由于只有一個(gè)子模型處于活動(dòng)狀態(tài),因此與同等大小的單片模型架構(gòu)相比,內(nèi)存帶寬需求大大降低。
由六個(gè) 50 億參數(shù)模型組成的 MoE 只需要略高于 250 GBps 的帶寬即可實(shí)現(xiàn)每秒 100 個(gè)Token的目標(biāo)——至少精度為4bit。
另一種方法是使用推測(cè)解碼——一個(gè)小型輕量級(jí)模型生成草稿的過(guò)程,然后將其傳遞給更大的模型以糾正任何不準(zhǔn)確之處。AMD表示,這種方法在性能上有相當(dāng)大的改進(jìn),但它并不一定能解決大語(yǔ)言模型需要大量?jī)?nèi)存的事實(shí)。
如今,大多數(shù)模型都是在 Float 16 或 FP16 數(shù)據(jù)類型中訓(xùn)練的,它們每個(gè)參數(shù)消耗兩個(gè)字節(jié)。這意味著一個(gè) 300 億參數(shù)的模型需要 60GB 的內(nèi)存才能以原始精度運(yùn)行。
但是,由于這對(duì)絕大多數(shù)用戶來(lái)說(shuō)可能并不實(shí)用,因此將模型量化為 8bit 或 4bit 精度的情況并不少見(jiàn)。這犧牲了準(zhǔn)確性并增加了AI幻覺(jué)的可能性,但將您的內(nèi)存需求減少到四分之一。這也是AMD現(xiàn)有AI PC芯片如何以每秒20個(gè)Token的速度運(yùn)行70億個(gè)參數(shù)模型的關(guān)鍵。
新形式的加速可以提供幫助
作為一種折衷方案,從 Strix Point 開(kāi)始,AMD的XDNA 2 NPU 將支持新的Block FP16 數(shù)據(jù)類型。因?yàn)閭鹘y(tǒng)的 INT8 應(yīng)對(duì)目前的需求似乎已經(jīng)有點(diǎn)力不從心,但是使用 FP32 又太過(guò)于浪費(fèi)浪費(fèi),相對(duì)而言,采用 FP16 可以實(shí)現(xiàn)更高的算力,并且精度也足夠使用,但是依然會(huì)占據(jù)不小的帶寬。于是, AMD 選擇將 FP16 以及 INT8 融合打造成為 Block FP16 數(shù)據(jù)類型,結(jié)合了16bit數(shù)據(jù)的高精度和 8bit位數(shù)據(jù)的高性能,它只需要每個(gè)參數(shù)9bit——它能夠通過(guò)取 8 個(gè)浮點(diǎn)值并使用一個(gè)共享指數(shù)來(lái)做到這一點(diǎn)。根據(jù) AMD 的說(shuō)法,Block FP16 能夠達(dá)到與原生 FP16 幾乎無(wú)法區(qū)分的精度,同時(shí)僅比 Int8 占用略多的空間。
更重要的是,AMD稱該Block FP16 數(shù)據(jù)類型不需要重新訓(xùn)練模型來(lái)利用它們——現(xiàn)有的 BF16 和 FP16 模型無(wú)需量化步驟即可工作。
但是,除非普通筆記本電腦開(kāi)始配備48GB或更多的內(nèi)存,否則AMD仍然需要找到更好的方法來(lái)縮小模型的占用空間。
雖然沒(méi)有明確提及,但不難想象 AMD 未來(lái)的 NPU 和/或集成顯卡會(huì)增加對(duì) MXFP6 或 MXFP4 等較小的浮點(diǎn)格式的支持。目前AMD 的 CDNA 數(shù)據(jù)中心 GPU 也將支持 FP8,而 CDNA 4 將支持 FP4。
無(wú)論如何,隨著大語(yǔ)言模型開(kāi)始向邊緣部署,PC 硬件似乎將在未來(lái)幾年發(fā)生巨大變化。