<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 加速基于 Arm Neoverse N2 的大語言模型推理

          加速基于 Arm Neoverse N2 的大語言模型推理

          作者: 時(shí)間:2024-07-09 來源:Arm 收藏

          人工智能 (AI) 正在眾多行業(yè)掀起浪潮,尤其是在 (LLM) 問世后,AI 發(fā)展呈現(xiàn)井噴之勢(shì)。LLM 模型不僅極大改變了我們與技術(shù)的交互方式,并且在自然語言理解和生成方面展現(xiàn)出了驚人的能力。雖然 GPU 在訓(xùn)練生成式 AI 模型方面發(fā)揮了重要作用,但在推理領(lǐng)域,除了 GPU 和加速器之外,還有其他可行的選擇。長(zhǎng)期以來,CPU 一直被用于傳統(tǒng)的 AI 和機(jī)器學(xué)習(xí) (ML) 用例,由于 CPU 能夠處理廣泛多樣的任務(wù)且部署起來更加靈活,因此當(dāng)企業(yè)和開發(fā)者尋求將 LLM 集成到產(chǎn)品和服務(wù)中時(shí),CPU 成了熱門選擇。

          本文引用地址:http://www.ex-cimer.com/article/202407/460787.htm

          在本文中,我們將探討基于 N2 的阿里巴巴倚天 710 CPU 在運(yùn)行 Llama 3 [1] 和 Qwen1.5 [2] 等業(yè)內(nèi)標(biāo)準(zhǔn) LLM 時(shí)所展現(xiàn)的靈活性和可擴(kuò)展性。此外,本文還將通過比較分析,展示倚天 710 CPU 相較于其他基于 CPU 架構(gòu)的服務(wù)器平臺(tái)所具備的主要優(yōu)勢(shì)。


           

          阿里云倚天 710 云實(shí)例上的 LLM 性能

           

          通用矩陣乘法 (General Matrix Multiplications, GEMM) 是深度學(xué)習(xí)計(jì)算(包括 LLM 中的計(jì)算)中廣泛使用的一項(xiàng)基本運(yùn)算。它對(duì)兩個(gè)輸入矩陣進(jìn)行復(fù)雜的乘法運(yùn)算,得到一個(gè)輸出。v8.6-A 架構(gòu)增加了 SMMLA 指令,該指令將第一個(gè)源矢量中的 2x8 有符號(hào) 8 位整數(shù)值矩陣與第二個(gè)源矢量中的 8x2 有符號(hào) 8 位整數(shù)值矩陣相乘。然后將生成的 2x2 的 32 位整數(shù)矩陣乘積加到目標(biāo)矢量中的 32 位整數(shù)矩陣?yán)奂悠髦小_@相當(dāng)于對(duì)每個(gè)目標(biāo)元素執(zhí)行 8 路點(diǎn)積運(yùn)算。SMMLA 指令已添加到基于 N2 的阿里巴巴倚天 710 CPU 中。

          在過去幾個(gè)月內(nèi), 軟件團(tuán)隊(duì)與合作伙伴緊密協(xié)作,利用上述 SMMLA 指令,優(yōu)化了在 llama.cpp 中實(shí)現(xiàn)的 int4 和 int8 GEMM 內(nèi)核。最近,我們?cè)诎⒗镌埔刑?710 云實(shí)例上進(jìn)行了多次實(shí)驗(yàn),采用了最新的優(yōu)化 [3][4] ,以評(píng)估 llama.cpp 在不同場(chǎng)景下的性能表現(xiàn)。

          所有實(shí)驗(yàn)均在阿里云 ecs.g8y.16xlarge 實(shí)例上進(jìn)行,該實(shí)例帶有 64 個(gè)虛擬 CPU (vCPU) 和 256 GB 的內(nèi)存。所用的模型是經(jīng)過 int4 量化的 Llama3-8B 和 Qwen1.5-4B。

           
           

          提示詞處理

          提示詞詞元 (Token) 通常是并行處理的,即使對(duì)于單次操作 (batch=1),也會(huì)使用所有可用核心,而且隨著批量大小的增加,提示詞處理速率基本不變。在這方面,經(jīng)過 Arm 優(yōu)化,每秒處理的詞元數(shù)提升了 2.7 倍。

           
           

          詞元生成

          詞元生成以自回歸的方式進(jìn)行,詞元生成的總時(shí)間與需要生成的輸出長(zhǎng)度相關(guān)。在這方面,經(jīng)過 Arm 優(yōu)化,在處理更大批量的數(shù)據(jù)時(shí)提升效果更為明顯,吞吐量最多可提高 1.9 倍。

           
           

          延遲

          詞元生成的延遲對(duì) LLM 的交互式部署非常重要。對(duì)于下個(gè)詞元響應(yīng)時(shí)間 (time-to-next-token),100ms 的延遲是關(guān)鍵的目標(biāo)指標(biāo),這是基于人們每秒 5-10 個(gè)單詞的典型閱讀速度計(jì)算得出的。在下方圖表中,我們看到在單次操作和批量處理的場(chǎng)景下,阿里云倚天 710 云實(shí)例都能滿足 100ms 的延遲要求,因此是常規(guī)體量 LLM 的合適部署目標(biāo)。我們使用了兩組不同的新模型 Llama3-8B 和 Qwen1.5-4B,以展示實(shí)際部署中不同體量的常規(guī) LLM 的延遲情況。

           

          性能比較

           

          此外,我們使用經(jīng)過 int4 量化的 Llama3-8B 模型,比較了它在倚天 710 與在阿里云上其他服務(wù)器 CPU 的性能 [注] 。

          阿里云倚天 710:ecs.g8y.16xlarge,64 個(gè) vCPU,256 GB 內(nèi)存,12.8 人民幣/小時(shí)

          Intel Icelake:ecs.g7.16xlarge,64 個(gè) vCPU,256 GB 內(nèi)存,16.74 人民幣/小時(shí)


          Intel Sapphire Rapids:ecs.g8i.16xlarge,64 個(gè) vCPU,256 GB 內(nèi)存,17.58 人民幣/小時(shí)

          [注] 阿里云倚天 710 采用了 [3][4] 中的優(yōu)化,Intel Icelake 和 Sapphire Rapids 使用了現(xiàn)有的 llama.cpp 實(shí)現(xiàn)。

          我們發(fā)現(xiàn),與其他兩款 CPU 相比,阿里云倚天 710 的提示詞處理表現(xiàn)出最高達(dá) 3.2 倍的性能優(yōu)勢(shì),詞元生成性能最高達(dá) 2.2 倍的優(yōu)勢(shì)。

          同樣值得注意的是,阿里云倚天 710 平臺(tái)的成本效益高于 Icelake 和 Sapphire Rapids,這在阿里云倚天 710 實(shí)例相對(duì)較低的定價(jià)中就有所體現(xiàn)。這使得阿里云倚天 710 在 LLM 推理的總體擁有成本方面具有顯著優(yōu)勢(shì),與其他兩款 CPU 相比,每元詞元數(shù)量最高多了近三倍,這為希望在采用 LLM 的過程中逐步擴(kuò)大規(guī)模的用戶提供了令人信服的優(yōu)勢(shì)。

           

          結(jié)論

           

          當(dāng)開發(fā)者想要在應(yīng)用中部署專用 LLM 時(shí),服務(wù)器 CPU 為開發(fā)者提供了靈活、經(jīng)濟(jì)和簡(jiǎn)化的部署流程。Arm 集成了幾項(xiàng)關(guān)鍵的增強(qiáng)功能,大幅提高了 LLM 的性能。得益于此,基于 Arm 的服務(wù)器處理器(如阿里云倚天 710)能夠提供優(yōu)于其他服務(wù)器 CPU 的 LLM 性能。此外,它們還有助于降低采用 LLM 的門檻,使更多應(yīng)用開發(fā)者能夠輕松將 LLM 部署于各種場(chǎng)景。



          關(guān)鍵詞: Arm Neoverse 大語言模型

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();