0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內不再提示

如何在英特爾? 平臺上實現(xiàn)高效的大語言模型訓練后量化

英特爾中國 ? 來源:未知 ? 2023-07-14 20:10 ? 次閱讀

本文介紹了可提升大語言模型的訓練后量化表現(xiàn)的增強型 SmoothQuant 技術,說明了這項技術的用法,并證明了其在準確率方面的優(yōu)勢。此方法已整合至英特爾Neural Compressor1中。英特爾 Neural Compressor 是一個包含量化、剪枝(稀疏性)、蒸餾(知識提煉)和神經(jīng)架構搜索等多種常用模型壓縮技術的開源 Python 庫。目前,諸如 TensorFlow、英特爾Extension for TensorFlow2、PyTorch、英特爾Extension for PyTorch3、ONNX Runtime 和 MXNet等主流框架,都能與之兼容。

英特爾 Neural Compressor已經(jīng)支持多款英特爾架構的硬件,比如英特爾至強可擴展處理器4、英特爾至強CPU Max 系列5、英特爾數(shù)據(jù)中心GPU Flex 系列6英特爾數(shù)據(jù)中心 GPU Max 系列7。本文涉及的實驗基于第四代英特至強可擴展處理器8進行。

ccecbb12-223e-11ee-962d-dac502259ad0.gif ?大語言模型

大語言模型 (Large Language Model, LLM) 需基于海量數(shù)據(jù)集進行訓練,可能擁有數(shù)十億權重參數(shù)。其先進的網(wǎng)絡結構和龐大的參數(shù)量,使它們能夠很好地應對自然語言本身的復雜性。完成訓練后的大語言模型,可針對各種下游的自然語言處理 (NLP) 和自然語言生成 (NLG) 任務進行調優(yōu),讓其更適合對話式聊天機器人(如 ChatGPT)、機器翻譯、文本分類、欺詐檢測和情感分析等任務場景。

ccecbb12-223e-11ee-962d-dac502259ad0.gif ?大語言模型部署面臨的挑戰(zhàn)

大語言模型在執(zhí)行自然語言處理和自然語言生成任務方面表現(xiàn)出色,但其訓練和部署頗為復雜,主要面臨以下挑戰(zhàn):

AI 與內存墻9瓶頸問題:算力每兩年提高 3.1 倍,內存帶寬卻只提高 1.4 倍;

網(wǎng)絡帶寬挑戰(zhàn):訓練大語言模型需要采用分布式系統(tǒng),這對網(wǎng)絡帶寬提出了較高要求;

系統(tǒng)資源有限:訓練后的模型往往會部署在算力和內存資源均有限的系統(tǒng)上。

因此,采用訓練后量化的方法來為大語言模型瘦身,對于實現(xiàn)低時延推理至關重要。 ccecbb12-223e-11ee-962d-dac502259ad0.gif ?大語言模型的量化

量化是一種常見的壓縮操作,可以減少模型占用的內存空間,提高推理性能。采用量化方法可以降低大語言模型部署的難度。具體來說,量化是將浮點矩陣轉換為整數(shù)矩陣:

cd413ca0-223e-11ee-962d-dac502259ad0.png

其中 X_fp32、S 和 Z 分別為輸入矩陣、比例因子和整數(shù)零點。有關每通道 (per-channel) 量化策略雖然可能會減少量化損失,但不能用于激活值量化的原因,請參看 SmoothQuant 相關文檔10。不過,激活值量化誤差損失卻是導致模型量化準確率下降的重要因素。為此,人們提出了很多方法來降低激活值量化損失,例如:SPIQ11、OutlierSuppression12SmoothQuant13。這三種方法思路相似,即把激活值量化的難度轉移到權重量化上,只是三者在轉移難度的多少上有所不同。ccecbb12-223e-11ee-962d-dac502259ad0.gif ?增強型 SmoothQuant SmoothQuant 引入了一個超參數(shù) α 作為平滑因子來計算每個通道的量化比例因子,并平衡激活值和權重的量化難度。

cd6edc14-223e-11ee-962d-dac502259ad0.png

其中 j 是輸入通道索引

cd856470-223e-11ee-962d-dac502259ad0.png

對于OPT 和 BLOOM 等大多數(shù)模型來說,α=0.5 是一個能夠較好實現(xiàn)權重和激活值量化難度分割的平衡值。模型的激活異常值越大,就越需要使用更大的 α 值來將更多的量化難度轉移到權重上。原始的 SmoothQuant 旨在通過針對整個模型使用一個固定值 α 來分割權重和激活值的量化難度。然而,由于激活異常值的分布不僅在不同模型之間存在差異,而且在同一模型的不同層之間也不盡相同,因此,本文推薦使用英特爾 Neural Compressor 的自動調優(yōu)能力,逐層獲取最佳 α 值。

相關方法包括以下五個主要步驟(偽代碼如下所示):

  1. 通過特殊的回調函數(shù) register_forward_hook 捕獲 (hook) 模型各層的輸入和輸出值。

  2. 根據(jù)用戶定義的 α 范圍和步長生成一個 α 值列表。

  3. 根據(jù)給定的 α 值重新計算平滑因子并調整參數(shù)(權重值和激活值)。

  4. 對權重執(zhí)行每通道量化與反量化 (quantization_dequantization),對輸入值執(zhí)行每張量 (per-tensor) 量化與反量化,以預測與給定 α 值對應的每層輸出值。

  5. 計算相對實際輸出值的均方損失,將調整后的參數(shù)恢復回來,并保存每層的最佳 α 值。

cdad2884-223e-11ee-962d-dac502259ad0.png

本文提出的方法支持用多個標準(如最小值、最大值和平均值)來確定 Transformer 塊的輸入層歸一化 (LayerNorm) 操作的 α 值。實驗發(fā)現(xiàn),將 α 范圍設為 [0.3, 0.7],步長設為 0.05,對大多數(shù)模型來說都能達到很好的平衡。 這一方法有兩個顯著特點:一是全自動化,二是比原始方法支持的融合模式多。 下圖提供了在 BLOOM-1b7 模型上執(zhí)行 SmoothQuant α 值自動調優(yōu)的樣例代碼: cdd25b40-223e-11ee-962d-dac502259ad0.png

啟用增強型 SmoothQuant 的樣例代碼

用戶只需傳遞一個模型名稱 (model_name) 和一個數(shù)據(jù)加載器。值得注意的是,模型分析主要依靠的是 Torch JIT。用戶可以在加載Hugging Face 模型14時將 torchscript 設置為 True,或將 return_dict 設置為 False。更多信息請參閱英特爾Neural Compressor 文檔10ccecbb12-223e-11ee-962d-dac502259ad0.gif ?

結果

本文提出的增強型 SmoothQuant 的主要優(yōu)勢在于提高了準確率。 經(jīng)過對多種主流大語言模型的評估,具備自動調優(yōu)能力的 INT8 SmoothQuant 最后一個詞元 (last-token) 的預測準確率要高于原始 INT8 SmoothQuant 和 FP32 基線方法。詳見下圖: ce15bc50-223e-11ee-962d-dac502259ad0.png

FP32 基線方法、INT8(啟用和不啟用 SmoothQuant)以及 INT8(啟用本文提出的增強型 SmoothQuant)的準確率對比

從上圖可以看出,在 OPT-1.3b 和 BLOOM-1b7 模型上,本文提出的增強型 SmoothQuant 的準確率比默認的 SmoothQuant 分別高 5.4% 和 1.6%。量化后的模型也縮小到 FP32 模型的四分之一,大大減少了內存占用空間,從而有效地提升大模型在英特爾平臺上的推理性能。 更全面的結果請見 GitHub 存儲庫10。同時,也歡迎您創(chuàng)建拉取請求或就 GitHub 問題15發(fā)表評論。期待聽到您的反饋意見和建議。 作者

他們都在從事模型量化
及壓縮的研究與優(yōu)化工作

沈海豪英特爾公司人工智能資深架構師 程文華英特爾公司人工智能資深軟件工程師 陸崟彤、何欣、郭恒、王暢、王夢妮英特爾公司人工智能軟件工程師

注釋:

本文主要介紹在英特爾平臺上提升大語言模型的訓練后量化表現(xiàn)的增強型SmoothQuant技術,說明了這項技術的用法,并證明了其在準確率方面的優(yōu)勢。本文中列出的鏈接和資源。需要說明的是,將SmoothQuant適配到英特爾平臺并實現(xiàn)它在英特爾平臺上的增強,是英特爾的原創(chuàng)

1.英特爾Neural Compressor

https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/neural-compressor.html2.英特爾Extension for TensorFlowhttps://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/optimization-for-tensorflow.html3.英特爾Extension for PyTorchhttps://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/optimization-for-pytorch.html4.英特爾至強可擴展處理器https://www.intel.cn/content/www/cn/zh/products/details/processors/xeon/scalable.html5.英特爾至強CPU Max 系列https://www.intel.cn/content/www/cn/zh/products/details/processors/xeon/max-series.html6.英特爾數(shù)據(jù)中心 GPU Flex 系列https://www.intel.cn/content/www/cn/zh/products/details/discrete-gpus/data-center-gpu/flex-series.html7.英特爾數(shù)據(jù)中心 GPU Max 系列https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu/max-series.html8. 第四代英特爾至強可擴展處理器https://www.intel.cn/content/www/cn/zh/events/accelerate-with-xeon.html9. AI 與內存墻https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b810. SmoothQuant 相關文檔 /英特爾Neural Compressor 文檔 / GitHub 存儲庫https://github.com/intel/neural-compressor/blob/master/docs/source/smooth_quant.md11. SPIQhttps://arxiv.org/abs/2203.1464212. Outlier Suppressionhttps://arxiv.org/abs/2209.1332513. SmoothQuanthttps://arxiv.org/abs/2211.1043814. Hugging Face 模型https://huggingface.co/models15. GitHub 問題https://github.com/intel/neural-compressor/issues

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

    關注

    60

    文章

    9861

    瀏覽量

    171291
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10804

    瀏覽量

    210839

原文標題:如何在英特爾? 平臺上實現(xiàn)高效的大語言模型訓練后量化

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

收藏 人收藏

    評論

    相關推薦

    使用PyTorch在英特爾獨立顯卡上訓練模型

    《PyTorch 2.5重磅更新:性能優(yōu)化+新特性》中的一個新特性就是:正式支持在英特爾獨立顯卡上訓練模型!
    的頭像 發(fā)表于 11-01 14:21 ?152次閱讀
    使用PyTorch在<b class='flag-5'>英特爾</b>獨立顯卡上<b class='flag-5'>訓練</b><b class='flag-5'>模型</b>

    英特爾IT的發(fā)展現(xiàn)狀和創(chuàng)新動向

    AI大模型的爆發(fā),客觀上給IT的發(fā)展帶來了巨大的機會。作為把IT發(fā)展上升為戰(zhàn)略高度的英特爾,自然在推動IT發(fā)展中注入了強勁動力。英特爾IT不僅專注于創(chuàng)新、AI和優(yōu)化,以及英特爾員工、最
    的頭像 發(fā)表于 08-16 15:22 ?485次閱讀

    英特爾是如何實現(xiàn)玻璃基板的?

    在今年9月,英特爾宣布率先推出用于下一代先進封裝的玻璃基板,并計劃在未來幾年內向市場提供完整的解決方案,從而使單個封裝內的晶體管數(shù)量不斷增加,繼續(xù)推動摩爾定律,滿足以數(shù)據(jù)為中心的應用的算力需求
    的頭像 發(fā)表于 07-22 16:37 ?272次閱讀

    已有超過500款AI模型英特爾酷睿Ultra處理器上得以優(yōu)化運行

    近日,英特爾宣布在全新英特爾 酷睿 Ultra處理器上,有超過500款AI模型得以優(yōu)化運行。
    的頭像 發(fā)表于 05-11 09:31 ?640次閱讀

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    語言模型的核心特點在于其龐大的參數(shù)量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養(yǎng)通用的處理能力。然而,隨著學習容量的增加,對預訓練數(shù)據(jù)的需求也相
    發(fā)表于 05-07 17:10

    英特爾AI產(chǎn)品助力其運行Meta新一代大語言模型Meta Llama 3

    英特爾豐富的AI產(chǎn)品——面向數(shù)據(jù)中心的至強處理器,邊緣處理器及AI PC等產(chǎn)品為開發(fā)者提供最新的優(yōu)化,助力其運行Meta新一代大語言模型Meta Llama 3
    的頭像 發(fā)表于 04-28 11:16 ?556次閱讀

    高通支持Meta Llama 3大語言模型在驍龍旗艦平臺上實現(xiàn)終端側執(zhí)行

    高通和Meta合作優(yōu)化Meta Llama 3大語言模型,支持在未來的驍龍旗艦平臺上實現(xiàn)終端側執(zhí)行。
    的頭像 發(fā)表于 04-20 09:13 ?434次閱讀

    浪潮信息與英特爾合作推出一種大模型效率工具“YuanChat”

    3月26日,浪潮信息與英特爾正式宣布,浪潮信息“源2.0系列基礎大模型”已和最新的英特爾? 酷睿? Ultra處理器平臺完成適配,本地推理速度提升100%。
    的頭像 發(fā)表于 03-27 13:50 ?561次閱讀
    浪潮信息與<b class='flag-5'>英特爾</b>合作推出一種大<b class='flag-5'>模型</b>效率工具“YuanChat”

    基于英特爾哪吒開發(fā)者套件平臺來快速部署OpenVINO Java實戰(zhàn)

    OpenVINO 工具套件基于OneAPI開發(fā),可以加快高性能計算機視覺和深度學習應用開發(fā)速度的工具套件,適用于從邊緣到云的各種英特爾計算平臺上
    的頭像 發(fā)表于 03-21 18:24 ?1395次閱讀
    基于<b class='flag-5'>英特爾</b>哪吒開發(fā)者套件<b class='flag-5'>平臺</b>來快速部署OpenVINO Java實戰(zhàn)

    英特爾酷睿Ultra通過全新英特爾vPro平臺將AI PC惠及企業(yè)

    近日,英特爾在2024年世界移動通信大會(MWC 2024)上宣布,全新英特爾?vPro?平臺將AI PC的優(yōu)勢惠及商用客戶。
    的頭像 發(fā)表于 03-18 15:07 ?457次閱讀

    使用基于Transformers的API在CPU上實現(xiàn)LLM高效推理

    英特爾 Extension for Transformers是英特爾推出的一個創(chuàng)新工具包,可基于英特爾 架構平臺,尤其是第四代英特爾 至強
    的頭像 發(fā)表于 01-22 11:11 ?2466次閱讀
    使用基于Transformers的API在CPU上<b class='flag-5'>實現(xiàn)</b>LLM<b class='flag-5'>高效</b>推理

    英特爾CPU部署Qwen 1.8B模型的過程

    本文介紹了在英特爾 13 代酷睿 CPU i5 - 13490F 設備上部署 Qwen 1.8B 模型的過程,你需要至少 16GB 內存的機器來完成這項任務,我們將使用英特爾的大模型
    的頭像 發(fā)表于 01-12 10:28 ?2487次閱讀

    英特爾:讓我們一起消滅CUDA

    基爾辛格認為:"由于推理的發(fā)生,一旦你訓練模型......就不會依賴CUDA。"關鍵在于,你能否很好地運行該模型?他表示,英特爾將利用今日首次在舞
    的頭像 發(fā)表于 12-15 17:12 ?957次閱讀

    英特爾模型全適配,大語言模型已成功部署于CPU

    他進一步指出,英特爾作為芯片制造商,始終致力于對“合適尺寸”模型的全面適配。面對大模型領域激烈的市場競爭,每個季度大約有4-5款新模型上市,一旦發(fā)現(xiàn)任何新的
    的頭像 發(fā)表于 12-11 15:41 ?1057次閱讀

    英特爾助惠每醫(yī)療大模型方案在至強? 平臺上實現(xiàn)雙維優(yōu)化

    " 大模型等 AI 技術,正在像水、電等基礎設施能力一樣,在醫(yī)療機構的未來醫(yī)療服務體系中具有無可替代的價值。為幫助醫(yī)療機構應對在大模型私有化部署中面臨的成本高、落地難等難題,我們與英特爾
    的頭像 發(fā)表于 11-24 20:00 ?759次閱讀
    <b class='flag-5'>英特爾</b>助惠每醫(yī)療大<b class='flag-5'>模型</b>方案在至強? <b class='flag-5'>平臺上</b><b class='flag-5'>實現(xiàn)</b>雙維優(yōu)化