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