在基于 Arm Neoverse 的 AWS Graviton3 CPU 上實(shí)現(xiàn)出色性能
作者:Arm 基礎(chǔ)設(shè)施事業(yè)部數(shù)據(jù)中心解決方案架構(gòu)師 Ravi Malhotra
本文引用地址:http://butianyuan.cn/article/202408/461975.htm在過去一年里,生成式人工智能 (AI) 吸引了科技行業(yè)的目光,大家都在想方設(shè)法地將大語言模型 (LLM) 部署到其位于云端和邊緣側(cè)服務(wù)器上的應(yīng)用中。雖然 GPU 和加速器憑借優(yōu)異的性能,一直是這些部署任務(wù)的默認(rèn)首選平臺。但在推理領(lǐng)域,除了 GPU 和加速器之外,還有其他可行的選擇。長期以來,CPU 一直被用于傳統(tǒng)的 AI 和機(jī)器學(xué)習(xí) (ML) 用例,由于 CPU 能夠處理廣泛多樣的任務(wù)且部署起來更加靈活,因此當(dāng)企業(yè)和開發(fā)者尋求將 LLM 集成到產(chǎn)品和服務(wù)中時,CPU 成了熱門選擇。
本文將介紹基于 Arm Neoverse 的 AWS Graviton3 CPU 在規(guī)?;`活運(yùn)行 Llama 3 [1] 和 Phi-3 [2] 等業(yè)內(nèi)標(biāo)準(zhǔn) LLM 方面的能力,并展示與其他基于 CPU 的服務(wù)器平臺相比的主要優(yōu)勢。
AWS Graviton3 上的 LLM 性能
為了展示基于 Arm 平臺的服務(wù)器 CPU 在 LLM 推理方面的能力,Arm 軟件團(tuán)隊和我們的合作伙伴對 llama.cpp 中實(shí)現(xiàn)的 int4 和 int8 內(nèi)核進(jìn)行了優(yōu)化,以利用這些較新的指令 [3] 。我們在 AWS Graviton3 平臺上進(jìn)行了多次實(shí)驗(yàn),以測量不同場景下對性能的影響,并將影響因素隔離開。
所有實(shí)驗(yàn)均在 AWS r7g.16xlarge 實(shí)例上進(jìn)行,該實(shí)例帶有 64 個虛擬 CPU (vCPU) 和 512 GB 的內(nèi)存。所用的模型是經(jīng)過 int4 量化的 Llama3-8B。
提示詞處理
提示詞詞元 (Token) 通常是并行處理的,即使對于單次操作 (batch=1),也會使用所有可用核心。在這方面,經(jīng)過 Arm 優(yōu)化,每秒處理的詞元數(shù)提升了 2.5 倍;在處理更大的批次大小時,性能小幅提升。
圖:提示詞處理經(jīng)優(yōu)化得到提升
詞元生成
詞元生成以自回歸的方式進(jìn)行,對于所需生成的輸出長度高度敏感。在這方面,經(jīng)過 Arm 優(yōu)化,吞吐量最多可提高兩倍,有助于處理更大的批次大小。
圖:詞元生成經(jīng)優(yōu)化得到提升
延遲
詞元生成的延遲對 LLM 的交互式部署非常重要。對于下個詞元響應(yīng)時間 (time-to-next-token),100ms 的延遲是關(guān)鍵的目標(biāo)指標(biāo),這是基于人們每秒 5-10 個單詞的典型閱讀速度計算得出的。在下方圖表中,我們看到在單次操作和批量處理的場景下,AWS Graviton3 都能滿足 100ms 的延遲要求,因此適合于作為 LLM 的部署目標(biāo)。
我們使用了兩組不同的模型 Llama3-8B 和 Phi-3-mini (3.8B),以展示不同規(guī)模的 LLM 的延遲情況。
圖:AWS Graviton3 的下個詞元響應(yīng)時間延遲情況
即使是在 2019 年推出的 AWS Graviton2 這樣的上一代 Arm 服務(wù)器平臺上,也能運(yùn)行多達(dá) 80 億參數(shù)的新 LLM,并且在單次操作和批量處理的場景下,均能滿足 100ms 的延遲要求。
圖:AWS Graviton2 的下個詞元響應(yīng)時間延遲情況
性能比較
此外,我們使用經(jīng)過 int4 量化的 Llama3-8B 模型,比較了它在 AWS Graviton3 與在 AWS 上其他新一代服務(wù)器 CPU 的性能。
AWS Graviton3:r7g.16xlarge,64 個 vCPU,512 GB 內(nèi)存,3.43 美元/小時
第四代 Intel Xeon:r7i.16xlarge,64 個 vCPU,512 GB 內(nèi)存,4.23 美元/小時
第四代 AMD EPYC:r7a.16xlarge,64 個 vCPU(SMT 關(guān)閉),512 GB 內(nèi)存,4.87 美元/小時
我們發(fā)現(xiàn),相較于其他兩款 CPU,在提示詞處理和詞元生成方面,AWS Graviton3 的性能高出三倍。
圖:提示詞處理比較
圖: 詞元生成比較
同樣值得注意的是,AWS Graviton3 CPU 比第四代 x86 CPU 更具成本效益,這在 Graviton3 實(shí)例相對較低的定價中就有所體現(xiàn)。鑒于 LLM 對算力的要求已經(jīng)非常高,以單位價格詞元數(shù)量來計算總體擁有成本 (TCO),是推動 LLM 在數(shù)據(jù)中心內(nèi)廣泛采用的關(guān)鍵。
在這一點(diǎn)上,AWS Graviton3 擁有顯著優(yōu)勢,每美元詞元數(shù)量最高多了三倍,不僅在 CPU 中處于領(lǐng)先,也為希望在采用 LLM 的過程中逐步擴(kuò)大規(guī)模的用戶提供了令人信服的優(yōu)勢。
圖:LLM 推理的 TCO 比較
結(jié)論
當(dāng)開發(fā)者想要在其應(yīng)用中部署專用 LLM 時,服務(wù)器 CPU 為開發(fā)者提供了靈活、經(jīng)濟(jì)和簡化的起點(diǎn)。Arm 新增了幾項(xiàng)關(guān)鍵特性,有助于顯著提升 LLM 的性能。得益于此,基于 Arm Neoverse 的服務(wù)器處理器(如 AWS Graviton3)不僅能提供優(yōu)于其他服務(wù)器 CPU 的 LLM 性能,還能為更多應(yīng)用開發(fā)者降低采用 LLM 的門檻。
評論