色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用上這個工具包,大模型推理性能加速達40倍

英特爾中國 ? 來源:未知 ? 2023-12-01 20:40 ? 次閱讀
作者:英特爾公司 沈海豪、羅嶼、孟恒宇、董波、林俊

編者按:

只需不到9行代碼,就能在CPU上實現出色的LLM推理性能。英特爾Extension for Transformer創新工具包中的LLM Runtime為諸多模型顯著降低時延,且首個token和下一個token的推理速度分別提升多達40倍和2.68倍,還能滿足更多場景應用需求。

英特爾Extension for Transformer是什么?

英特爾Extension for Transformers[1]是英特爾推出的一個創新工具包,可基于英特爾架構平臺,尤其是第四代英特爾至強可擴展處理器(代號Sapphire Rapids[2],SPR)顯著加速基于Transformer的大語言模型(Large Language Model,LLM)。其主要特性包括:

  • 通過擴展Hugging Face transformers API[3]和利用英特爾Neural Compressor[4],為用戶提供無縫的模型壓縮體驗;

  • 提供采用低位量化內核(NeurIPS 2023:在CPU上實現高效LLM推理[5])的LLM推理運行時,支持Falcon、LLaMA、MPT、Llama2、 BLOOM、OPT、ChatGLM2、GPT-J-6B、Baichuan-13B-Base、Baichuan2-13B-Base、Qwen-7B、Qwen-14B和Dolly-v2-3B等常見的LLM[6];

  • 先進的壓縮感知運行時[7](NeurIPS 2022:在CPU上實現快速蒸餾和QuaLA-MiniLM:量化長度自適應MiniLM;NeurIPS 2021:一次剪枝,一勞永逸:對預訓練語言模型進行稀疏/剪枝)。

本文將重點介紹其中的LLM推理運行時(簡稱為“LLM運行時”),以及如何利用基于Transformer的API在英特爾至強可擴展處理器上實現更高效的LLM推理和如何應對LLM在聊天場景中的應用難題。

LLM運行時(LLM Runtime)

英特爾Extension for Transformers提供的LLM Runtime[8]是一種輕量級但高效的LLM推理運行時,其靈感源于GGML[9],且與llama.cpp[10]兼容,具有如下特性:

  • 內核已針對英特爾至強CPU內置的多種AI加速技術(如 AMX、VNNI)以及AVX512F和AVX2指令集進行了優化;

  • 可提供更多量化選擇,例如:不同的粒度(按通道或按組)、不同的組大小(如:32/128);

  • 擁有更優的KV緩存訪問以及內存分配策略;

  • 具備張量并行化功能,可助力在多路系統中進行分布式推理。

LLM Runtime的簡化架構圖如下:

wKgZomVp1VeAe-FnAACtHVch3i8131.png

圖1.英特爾 Extension for Transformers的LLM Runtime簡化架構圖

使用基于Transformer的API,在CPU上實現LLM高效推理

只需不到9行代碼,即可讓您在CPU上實現更出色的LLM推理性能。用戶可以輕松地啟用與Transformer類似的API來進行量化和推理。只需將 ‘load_in_4bit’設為true,然后從HuggingFace URL或本地路徑輸入模型即可。下方提供了啟用僅限權重的(weight-only)INT4量化的示例代碼:

fromtransformersimportAutoTokenizer,TextStreamer
fromintel_extension_for_transformers.transformersimportAutoModelForCausalLM
model_name="Intel/neural-chat-7b-v3-1”
prompt="Onceuponatime,thereexistedalittlegirl,"

tokenizer=AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
inputs=tokenizer(prompt,return_tensors="pt").input_ids
streamer=TextStreamer(tokenizer)

model=AutoModelForCausalLM.from_pretrained(model_name,load_in_4bit=True)
outputs=model.generate(inputs,streamer=streamer,max_new_tokens=300)
可左滑看完整版

默認設置為:將權重存儲為4位,以8位進行計算。但也支持不同計算數據類型(dtype)和權重數據類型組合,用戶可以按需修改設置。下方提供了如何使用這一功能的示例代碼:

fromtransformersimportAutoTokenizer,TextStreamer
fromintel_extension_for_transformers.transformersimportAutoModelForCausalLM,WeightOnlyQuantConfig
model_name="Intel/neural-chat-7b-v3-1”
prompt="Onceuponatime,thereexistedalittlegirl,"

woq_config=WeightOnlyQuantConfig(compute_dtype="int8",weight_dtype="int4")
tokenizer=AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
inputs=tokenizer(prompt,return_tensors="pt").input_ids
streamer=TextStreamer(tokenizer)

model=AutoModelForCausalLM.from_pretrained(model_name,quantization_config=woq_config)
outputs=model.generate(inputs,streamer=streamer,max_new_tokens=300)
可左滑看完整版

性能測試

經過持續努力,上述優化方案的INT4性能得到了顯著提升。本文在搭載英特爾至強鉑金8480+的系統上與llama.cpp進行了性能比較;系統配置詳情如下:@3.8GHz,56核/路,啟用超線程,啟用睿頻,總內存 256 GB (16 x 16 GB DDR5 4800 MT/s [4800 MT/s]),BIOS 3A14.TEL2P1,微代碼0x2b0001b0,CentOS Stream 8。

當輸入大小為32、輸出大小為32、beam為1時的推理性能測試結果,詳見下表:

wKgZomVp1ViAaBZqAAK0Kssl-FU362.png
表1.LLM Runtime與llama.cpp推理性能比較(輸入大小=32,輸出大小=32,beam=1)

輸入大小為1024、輸出大小為32、beam為1時的推理性能的測試結果,詳見下表:

wKgZomVp1ViAbFl4AALZLCa6TwA539.png
表2.LLM Runtime與llama.cpp推理性能比較(輸入大小=1024,輸出大小=32,beam=1)

根據上表2可見:與同樣運行在第四代英特爾至強可擴展處理器上的llama.cpp相比,無論是首個token還是下一個token,LLM Runtime都能顯著降低時延,且首個token和下一個token的推理速度分別提升多達 40 倍[a](Baichuan-13B,輸入為1024)和2.68倍[b](MPT-7B,輸入為1024)。llama.cpp的測試采用的是默認代碼庫[10]。

而綜合表1和表2的測試結果,可得:與同樣運行在第四代英特爾至強可擴展處理器上的llama.cpp相比,LLM Runtime能顯著提升諸多常見LLM的整體性能:在輸入大小為1024時,實現3.58到21.5倍的提升;在輸入大小為32時,實現1.76到3.43倍的提升[c]

準確性測試

英特爾Extension for Transformers可利用英特爾Neural Compressor中的SignRound[11]、RTN和GPTQ[12]等量化方法,并使用lambada_openai、piqa、winogrande和hellaswag數據集驗證了 INT4 推理準確性。下表是測試結果平均值與FP32準確性的比較。

wKgZomVp1ViAWBx_AAKt1XItMsY680.png
表3.INT4與FP32準確性對比

從上表3可以看出,多個模型基于LLM Runtime進行的INT4推理準確性損失微小,幾乎可以忽略不記。我們驗證了很多模型,但由于篇幅限制此處僅羅列了部分內容。如您欲了解更多信息或細節,請訪問此鏈接:https://medium.com/@NeuralCompressor/llm-performance-of-intel-extension-for-transformers-f7d061556176

更先進的功能:滿足LLM更多場景應用需求

同時,LLM Runtime[8]還具備雙路CPU的張量并行化功能,是較早具備此類功能的產品之一。未來,還會進一步支持雙節點。

然而,LLM Runtime的優勢不僅在于其更出色的性能和準確性,我們也投入了大量的精力來增強其在聊天應用場景中的功能,并且解決了LLM 在聊天場景中可能會遇到的以下應用難題:

  1. 對話不僅關乎LLM推理,對話歷史也很有用。

  2. 輸出長度有限:LLM模型預訓練主要基于有限的序列長度。因此,當序列長度超出預訓練時使用的注意力窗口大小時,其準確性便會降低。

  3. 效率低下:在解碼階段,基于Transformer的LLM會存儲所有先前生成的token的鍵值狀態(KV),從而導致內存使用過度,解碼時延增加。

關于第一個問題,LLM Runtime的對話功能通過納入更多對話歷史數據以及生成更多輸出加以解決,而llama.cpp目前尚未能很好地應對這一問題。

關于第二和第三個問題,我們將流式LLM(Steaming LLM)集成到英特爾Extension for Transformers中,從而能顯著優化內存使用并降低推理時延。

Streaming LLM

與傳統KV緩存算法不同,我們的方法結合了注意力匯聚(Attention Sink)(4個初始token)以提升注意力計算的穩定性,并借助滾動KV緩存保留最新的token,這對語言建模至關重要。該設計具有強大的靈活性,可無縫集成到能夠利用旋轉位置編碼RoPE和相對位置編碼ALiBi的自回歸語言模型中。

wKgZomVp1ViAVSmlAAGz-8RbG5A155.png
圖2.Steaming LLM的KV緩存(圖片來源:通過注意力下沉實現高效流式語言模型[13])

此外,與llama.cpp不同,本優化方案還引入了“n_keep”和“n_discard”等參數來增強Streaming LLM策略。用戶可使用前者來指定要在KV緩存中保留的token數量,并使用后者來確定在已生成的token中要舍棄的數量。為了更好地平衡性能和準確性,系統默認在KV緩存中舍棄一半的最新token。

同時,為進一步提高性能,我們還將Streaming LLM添加到了MHA融合模式中。如果模型是采用旋轉位置編碼(RoPE)來實現位置嵌入,那么只需針對現有的K-Cache應用“移位運算(shift operation)”,即可避免對先前生成的、未被舍棄的token進行重復計算。這一方法不僅充分利用了長文本生成時的完整上下文大小,還能在KV緩存上下文完全被填滿前不產生額外開銷。

“shift operation”依賴于旋轉的交換性和關聯性,或復數乘法。例如:如果某個token的K-張量初始放置位置為m并且旋轉了θifor i ∈ [0,d/2),那么當它需要移動到m-1這個位置時,則可以旋轉回到(-1)×θifori ∈ [0,d/2)。這正是每次舍棄n_discard個token的緩存時發生的事情,而此時剩余的每個token都需要“移動”n_discard個位置。下圖以“n_keep=4、n_ctx=16、n_discard=1”為例,展示了這一過程。

wKgZomVp1ViAFtM0AALpErOdMGA097.png
圖3.Ring-Buffer KV-Cache和Shift-RoPE工作原理

需要注意的是:融合注意力層無需了解上述過程。如果對K-cache和V-cache進行相同的洗牌,注意力層會輸出幾乎相同的結果(可能存在因浮點誤差導致的微小差異)

您可通過以下代碼啟動Streaming LLM:

fromtransformersimportAutoTokenizer,TextStreamer
fromintel_extension_for_transformers.transformersimportAutoModelForCausalLM,WeightOnlyQuantConfig
model_name="Intel/neural-chat-7b-v1-1"#HuggingFacemodel_idorlocalmodel
woq_config=WeightOnlyQuantConfig(compute_dtype="int8",weight_dtype="int4")
prompt="Onceuponatime,alittlegirl"

tokenizer=AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
inputs=tokenizer(prompt,return_tensors="pt").input_ids
streamer=TextStreamer(tokenizer)

model=AutoModelForCausalLM.from_pretrained(model_name,quantization_config=woq_config,trust_remote_code=True)

#Recommendn_keep=4todoattentionsinks(fourinitialtokens)andn_discard=-1todrophalfrencetlytokenswhenmeetlengththreshold

outputs=model.generate(inputs,streamer=streamer,max_new_tokens=300,ctx_size=100,n_keep=4,n_discard=-1)

可左滑看完整版

結論與展望

本文基于上述實踐經驗,提供了一個在英特爾至強可擴展處理器上實現高效的低位(INT4)LLM推理的解決方案,并且在一系列常見LLM上驗證了其通用性以及展現了其相對于其他基于CPU的開源解決方案的性能優勢。未來,我們還將進一步提升CPU張量庫和跨節點并行性能。

歡迎您試用英特爾Extension for Transformers[1],并在英特爾平臺上更高效地運行LLM推理!也歡迎您向代碼倉庫(repository)提交修改請求 (pull request)、問題或疑問。期待您的反饋!

特別致謝

在此致謝為此篇文章做出貢獻的英特爾公司人工智能資深經理張瀚文及工程師許震中、余振滔、劉振衛、丁藝、王哲、劉宇澄。

[a]根據表2 Baichuan-13B的首個token測試結果計算而得。
[b]根據表2 MPT-7B的下一個token測試結果計算而得。
[c]當輸入大小為1024時,整體性能=首個token性能+1023下一個token性能;當輸入大小為32時,整體性能=首個token性能+31下一個token性能。

參考鏈接:

[1]英特爾Extension for Transformers

https://github.com/intel/intel-extension-for-transformers

[2]Sapphire Rapids

https://www.intel.cn/content/www/cn/zh/products/docs/processors/xeon-accelerated/4th-gen-xeon-scalable-processors.html

[3]Hugging Face transformers

https://github.com/huggingface/transformers

[4]英特爾Neural Compressor

https://github.com/intel/neural-compressor

[5]NeurIPS 2023:在CPU上實現高效LLM推理

https://arxiv.org/pdf/2311.00502.pdf

[6]常見LLM:

Falconhttps://falconllm.tii.ae/

LLaMA:https://ai.meta.com/blog/large-language-model-llama-meta-ai/

MPT:https://www.mosaicml.com/blog/mpt-7b

Llama2:https://ai.meta.com/llama/

BLOOM:https://huggingface.co/bigscience/bloom

OPT:https://arxiv.org/abs/2205.01068

ChatGLM2:https://github.com/THUDM/ChatGLM2-6B

GPT-J-6B:https://huggingface.co/EleutherAI/gpt-j-6b

Baichuan-13B-Base:https://huggingface.co/baichuan-inc/Baichuan-13B-Base

Baichuan2-13B-Base:https://huggingface.co/baichuan-inc/Baichuan2-13B-Base

Qwen-7B:https://huggingface.co/Qwen/Qwen-7B

Qwen-14B:https://huggingface.co/Qwen/Qwen-14B

Dolly-v2-3B:https://huggingface.co/databricks/dolly-v2-3b

[7]先進的壓縮感知運行時

NeurIPS 2022:在 CPU 上實現快速蒸餾

https://arxiv.org/abs/2211.07715

QuaLA-MiniLM:量化長度自適應 MiniLM

https://arxiv.org/abs/2210.17114

NeurIPS 2021:一次剪枝,一勞永逸:對預訓練語言模型進行稀疏/剪枝

https://arxiv.org/abs/2111.05754

[8]LLM Runtime

https://github.com/intel/intel-extension-for-transformers/tree/main/intel_extension_for_transformers/llm/runtime/graph

[9]GGML

https://github.com/ggerganov/ggml

[10]llama.cpp

https://github.com/ggerganov/llama.cpp

[11]SignRound

https://arxiv.org/abs/2309.05516

[12]GPTQ

https://arxiv.org/abs/2210.17323

[13]通過注意力下沉實現高效流式語言模型

http://arxiv.org/abs/2309.17453

本文轉載自:量子位

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英特爾
    +關注

    關注

    61

    文章

    10112

    瀏覽量

    173285
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10977

    瀏覽量

    214590

原文標題:用上這個工具包,大模型推理性能加速達40倍

文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    英偉達GTC25亮點:NVIDIA Dynamo開源庫加速并擴展AI推理模型

    NVIDIA Dynamo 提高了推理性能,同時降低了擴展測試時計算 (Scaling Test-Time Compute) 的成本;在 NVIDIA Blackwell 上的推理優化將
    的頭像 發表于 03-20 15:03 ?439次閱讀

    云計算開發工具包的功能

    隨著云計算技術的不斷成熟,越來越多的企業開始將應用和服務遷移到云端,以享受彈性計算資源、高可用性和成本效益等優勢。為了加速這一進程,云計算服務提供商推出了各種開發工具包。下面,AI部落小編帶您了解云計算開發工具包的主要功能。
    的頭像 發表于 02-21 11:02 ?184次閱讀

    C#集成OpenVINO?:簡化AI模型部署

    什么是OpenVINO 工具套件? OpenVINO 工具套件是一個用于優化和部署人工智能(AI)模型,提升AI推理性能的開源工具集合,不
    的頭像 發表于 02-17 10:03 ?1469次閱讀
    C#集成OpenVINO?:簡化AI<b class='flag-5'>模型</b>部署

    使用NVIDIA推理平臺提高AI推理性能

    NVIDIA推理平臺提高了 AI 推理性能,為零售、電信等行業節省了數百萬美元。
    的頭像 發表于 02-08 09:59 ?449次閱讀
    使用NVIDIA<b class='flag-5'>推理</b>平臺提高AI<b class='flag-5'>推理性能</b>

    中國電提出大模型推理加速新范式Falcon

    中提出的 Falcon 方法是一種 增強半自回歸投機解碼框架 ,旨在增強 draft model 的并行性和輸出質量,以有效提升大模型推理速度。Falcon 可以實現約 2.91-3.51
    的頭像 發表于 01-15 13:49 ?298次閱讀
    中國電提出大<b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>加速</b>新范式Falcon

    Labview聲音和振動工具包示例文件Sound Level

    Labview 聲音和振動工具包示例文件,聲壓測試,有模擬和DAQ兩個文件。
    發表于 01-05 09:15 ?0次下載

    基于EasyGo Vs工具包和Nl veristand軟件進行的永磁同步電機實時仿真

    EasyGo Vs Addon是一款領先的FPGA仿真工具包軟件,它強大地連接了VeriStand軟件與Matlab/Simulink,為實時測試和驗證領域帶來了前所未有的便利和效率,特別適用于汽車
    的頭像 發表于 11-27 11:28 ?704次閱讀
    基于EasyGo Vs<b class='flag-5'>工具包</b>和Nl veristand軟件進行的永磁同步電機實時仿真

    FPGA和ASIC在大模型推理加速中的應用

    隨著現在AI的快速發展,使用FPGA和ASIC進行推理加速的研究也越來越多,從目前的市場來說,有些公司已經有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型
    的頭像 發表于 10-29 14:12 ?1382次閱讀
    FPGA和ASIC在大<b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>加速</b>中的應用

    澎峰科技高性能模型推理引擎PerfXLM解析

    自ChatGPT問世以來,大模型遍地開花,承載大模型應用的高性能推理框架也不斷推出,大有百家爭鳴之勢。在這種情況下,澎峰科技作為全球領先的智能計算服務提供商,在2023年11月25日發
    的頭像 發表于 09-29 10:14 ?978次閱讀
    澎峰科技高<b class='flag-5'>性能</b>大<b class='flag-5'>模型</b><b class='flag-5'>推理</b>引擎PerfXLM解析

    采用德州儀器 (TI) 工具包進行模擬前端設計應用說明

    電子發燒友網站提供《采用德州儀器 (TI) 工具包進行模擬前端設計應用說明.pdf》資料免費下載
    發表于 09-09 11:21 ?0次下載
    采用德州儀器 (TI) <b class='flag-5'>工具包</b>進行模擬前端設計應用說明

    開箱即用,AISBench測試展示英特爾至強處理器的卓越推理性能

    。 中國電子技術標準化研究院賽西實驗室依據國家標準《人工智能服務器系統性能測試規范》(征求意見稿)相關要求,使用AISBench?2.0測試工具,完成了第五代英特爾至強可擴展處理器的AI大模型
    的頭像 發表于 09-06 15:33 ?565次閱讀
    開箱即用,AISBench測試展示英特爾至強處理器的卓越<b class='flag-5'>推理性能</b>

    魔搭社區借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社區是中國最具影響力的模型開源社區,致力給開發者提供模型即服務的體驗。魔搭社區利用NVIDIA TensorRT-LLM,大大提高了大語言模型推理性能,方便了
    的頭像 發表于 08-23 15:48 ?660次閱讀

    LLM大模型推理加速的關鍵技術

    LLM(大型語言模型)大模型推理加速是當前人工智能領域的一個研究熱點,旨在提高模型在處理復雜任務時的效率和響應速度。以下是對LLM大
    的頭像 發表于 07-24 11:38 ?1391次閱讀

    如何加速大語言模型推理

    的主要挑戰。本文將從多個維度深入探討如何加速大語言模型推理過程,以期為相關領域的研究者和開發者提供參考。
    的頭像 發表于 07-04 17:32 ?823次閱讀

    自然語言處理應用LLM推理優化綜述

    當前,業界在將傳統優化技術引入 LLM 推理的同時,同時也在探索從大模型自回歸解碼特點出發,通過調整推理過程和引入新的模型結構來進一步提升推理性能
    發表于 04-10 11:48 ?814次閱讀
    自然語言處理應用LLM<b class='flag-5'>推理</b>優化綜述
    主站蜘蛛池模板: 大桥未久电影在线观看 | 亚洲欭美日韩颜射在线二 | 亚洲欧美综合中文 | h片下载地址 | 纯肉宠文高h一对一 | 狠狠色丁香婷婷久久综合 | 高h肉文np| 久久国产精品高清一区二区三区 | 教室里的激情电影 | 国产成人免费观看在线视频 | 大胆国模一区二区三区伊人 | 免费夜色污私人影院网站 | 麻豆人妻无码性色AV | 中文字幕在线观看亚洲日韩 | 久久AV国产麻豆HD真实乱 | 边摸边吃奶边做激情叫床视 | 男女车车的车车网站W98免费 | 无码国产成人午夜在线观看不卡 | 亚洲99精品A片久久久久久 | 鸭子玩富婆流白浆视频 | 国产欧美日韩网站 | 欧美视频 亚洲视频 | 日本不卡不码高清免费 | 亚洲乱码在线卡一卡二卡新区 | 欧美老少欢杂交另类 | 成人无码精品一区二区在线观看 | 久久热免费观看视频 | 男人天堂黄色 | 丝袜美女自摸 | 午理论理影片被窝 | 加勒比一本之道高清视频在线观看 | 60岁老年熟妇在线无码 | 蜜臀AV精品一区二区三区 | 亚洲精品动漫免费二区 | 亚洲AV色香蕉一区二区9255 | 杨幂视频在线观看1分30秒 | 亚洲成人网导航 | 国产人妻午夜无码AV天堂 | 国产精品久久久久久熟妇吹潮软件 | 9420高清免费观看在线大全 | 国产精品久久久久久久久爆乳 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品