搜尋
首頁科技週邊人工智慧位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16
AIxiv專欄是本站發布學術、技術內容的欄位。過去數年,本站AIxiv專欄接收通報了2,000多篇內容,涵蓋全球各大專院校與企業的頂尖實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或聯絡報道。投稿信箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

隨著深度學習大語言模型的越來越火爆,大語言模型越做越大,使得其推理成本也水漲船高。模型量化,成為熱門的研究主題。

最近,位元組跳動推出了一個全新的量化思路,拋棄傳統的量化範式,從數學最佳化的角度來對量化任務建模。文章放在了 arXiv,程式碼已經開源,可以一鍵複現文中的所有結果。此量化想法是基於數學最佳化,從數學最佳化的角度來對量化任務建模,透過最大化目標函數或最小化損失函數來尋找最優解。這種想法在實驗中獲得了很好的效果,並且取得了令人滿意的結果。

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

  • 論文連結:https://arxiv.org/abs/2404.12759

  • 計畫連結: https://github.com/bytedance/decoupleQ

  • W2 算符:https://github.com/NVIDIA/TensorRT-LLM/pull/1568

#1. 背景

大規模的快速發展,使得推理成本越來越高。模型量化,作為一個降低推理成本的技術方案,得到了越來越多的關注與研究。然而,在傳統的量化範式下,模型的精確度在極低位元下會迅速下降。基於此,作者們提出了一種新的量化思路,將模型參數解耦為整數部分和浮點部分,從數學優化的角度來對量化任務建模,使得在極低比特下,模型依然能保持較高的精度。這樣做的優勢是明顯的,我們不再需要關注量化特有的問題,例如如何處理敏感通道,如何處理outlier等,而是只需要將量化問題進行數學建模,找到一個合適的最佳化目標函數,然後去求解該函數。

2. 傳統量化

傳統上,我們對一個模型的量化想法是:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

其中,位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16是量化前模型的浮點型weights;s 和z 是一個線性變換係數,表示scale 和zero point;α 和β 是整數表示範圍的上下界,例如對於int4 量化,可以取α = - 8, β = 7;位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16表示取整函數,一般是四捨五入到臨近的整數。

關於s 和z 的取值,一般來說,對於非對稱量化,我們可以取:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

這樣就將一個分佈在位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的浮點的weights,線性對應到位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的區間範圍。

在反量化的時候,一般使用以下公式:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

#在這種傳統的量化方案中,我們需要關注許多量化特有的細枝末節問題,例如針對敏感通道,我們有敏感通道的處理方式;針對outlier,我們有outlier 的處理方式。這種頭痛醫頭腳痛醫腳的處理範式,難以應付複雜多變的業務場景。字節跳動的研究者試圖把這些問題都抽像出來,從一個宏觀的角度來看量化問題。我們只需要建立一個抽象的最佳化目標函數,再去求解這個目標函數即可。

3. decoupleQ

#

觀察 (1)~(3) 式在量化中的作用,如果我們換個思路,就會發現其實我們不需要知道 (1) 式和 (2) 式。我們將一個大模型量化完畢以後,交付給下游引擎同學的時候,只需要知道 (3) 式中的位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16和 (s,z) 即可。也就是說,(3) 式中的 (s,z) 完全可以視為一個普通的仿射變換的係數,不需要保留其在 (2) 式中的意義。此仿射變換係數,可以透過數學優化的方法求出來。

進一步挖掘 (3) 式中,我們可以將一個大模型的參數,解耦 (decouple) 成整數部分位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16和浮點部分 (s,z)。這樣解耦以後,模型量化的過程,就可以視為一個求解模型整數部分位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16和浮點部分 (s,z) 的過程。我們可以交替優化求解。為此,要確定最佳化目標函數和其約束條件。

對於一個linear 層,我們可以建立如下優化目標函數:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

其中,位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16是該層的輸入,位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16是一個對稱矩陣(若X 的列都不全為零,則H 是正定對稱矩陣)。

一般來說,為了提高量化精度,我們可以對模型的權重用 per-channel 量化。在 per-channel 量化中,在最佳化 (4) 式的時候,位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的各個欄位是獨立進行最佳化的。所以我們只需要關注其中一列。

至此,優化目標可以寫如下:(為了符號簡潔,文章中重新定義符號):

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

其中最佳化目標函數為

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

其中,w 是位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的某一列,b 是位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16中對應的列。其他符號的定義與前文相同。

事實上,最佳化目標函數 (6) 與 (4) 是完全一致的,位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16就是反量化過程。

將一個量化問題轉化為形如(5)式的數學最佳化問題,正是 decoupleQ 區別於傳統量化論文的關鍵。 這種轉化,使得我們只需要專注於求解 (5) 式即可,不再需要處理關於量化本身的細枝末節的問題,例如 outlier,等等。

式子 (5) 的解法並不容易,因為有關於位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的限制條件的存在,特別是位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16這個非凸限制。在論文中,作者給出一種交替求解的思路,即獲得關於 (s,z) 和 w 的良好的初始化以後,交替迭代求解 (s,z) 和 w。在解 (s,z) 的時候,注意到式子 (5) 關於 (s,z) 是一個無限制的二次型,可以直接將目標函數求導,令導數為零,從而得到解析解。在求解 w 的時候,作者採取了兩個層面的近似,第一層近似收斂性更高,但是求解慢;第二層近似採樣 GPTQ【1】的思想,收斂性稍差,但是求解更快。

為了進一步提升量化模型精度,作者指出,除了在layer 層面做mse 最小化以外,還可以在block 層面做mse 最小化,即:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

在這一步,作者在一個transformer block 層面,將其中的各個linear 層量化完畢以後,固定他們的整數部分位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16,而去微調浮點部分(s,z) 以及layer norm 的相關參數。實驗表面,這一步微調,能夠進一步提升模型精度。

4. W2 算子實現

要對量化後的模型進行推理,需要量化算子的支持,在業界沒有現成的w2a16 的算子可用,作者們基於Tensorrt-LLM 中的w4 算子開發了w2 的Gemm cuda kernel, 實現了w2a16 模型的高效推理。

量化模型本身是以 2bit weight 的形式載入和儲存在顯存中,因此會佔用比較小的顯存。我們的 cuda kernel 在執行時間將 2bit 的 weight 載入到暫存器中,再利用硬體指令高效轉換成 bf16 的形式與 activation 進行 gemm 運算。因為我們的場景受限於 latency, generation 階段的 batchsize 比較小,此時矩陣乘受限於 weight 的訪存,這種實作會大幅減少訪存量,提升模型的效能。在實作過程中,結合了演算法搜尋以及 SpiltK Parallel Reduce,進一步提升模型的效能,實測在 batchsize=1 的情況下,在 L 卡上 w2a16 Gemm 效能相比 w4a16 能提升 1.4x-1.7x 不等。

算術連結:https://github.com/NVIDIA/TensorRT-LLM/pull/1568

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

           kernel的實作原理

5. 實驗

#作者在文章中給出了位元組跳動內部的ASR 實驗結果,和開源的實驗比較結果:

其中內部實驗結果為:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

在該表格中,作者以 word err rate (WER) 來衡量 ASR 的準確率。作者嘗試使用不同的方法將模型量化為 W2A16g64。量化前的浮點模型的wer 是6.68%,使用GPTQ【1】量化以後是6.83%,帶有block 最小化的decoupleQ 量化以後的wer 是6.70%,該結果與量化前的浮點模型的wer 很接近。同時也 report 了量化所需的耗時。量化高精度的代價,是量化耗時較長。在實際業務中,在使用 decoupleQ 對模型量化完畢以後,固定整數部分,使用有標籤資料集微調 scale 和 zero,模模型精度有進一步的提升。

開源比較實驗結果是:

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

此表格是 decoupleQ 和其他方法在 Llama-1/2 上的量化結果比較。以 perplexity (PPL) 作為評估指標。可以看出,在同樣的量化配置下,deoucpleQ 的 PPL 在絕大多數時候會低於其他方法。

6. 業務效益

decoupleQ 量化技術在位元組跳動語音部門現在被廣泛使用。已經上線於語音生成模型(Text-to-Speech),語音辨識模型(automic speech recognition)等等,落地於豆包、飛書、抖音等產品。大量上線業務表明,基於decoupleQ 的量化,W4A16 的推理精度已經完全能和fp16/bf16 推理持平;W2A16 的精度只略差於fp16/bf16 精度(對浮點部分sft 以後,精度能和fp16/bf16 持平)。儘管論文中只介紹了 weight-only 的量化,但是在實際業務中,在 weight 獲得良好的量化以後,對 activation 的量化也便能簡單許多。

在硬體加速上相比fp16、w8fp16、w4fp16 獲得了不錯的加速效果,在小batch 下w2 矩陣乘的性能相比fp16 提升5-6 倍,相比w4 提升1.5-1.7 倍。在內部業務模型上,w2fp16 相比fp16 性能有3-5 倍的提升, 相比w4fp16 性能有1.25-1.4 倍的性能提升,同時也會使得模型weight 佔用顯存大幅下降,為runtime 的顯存利用提供更多空間。

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16

7. 總結與討論

在總結與討論部分,作者也指出了decoupleQ 目前存在的兩個風險:

1. decoupleQ 旨在使用數學最佳化的手段,將量化前後的L2 loss 最小化。然而,layer 層面或block 層面的L2 loss 最小化,未必能代表最終模型精度的最優;

2. 在(5) 式和(7) 式的最佳化過程中,在求解位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16和(s,z) 的時候,只針對一小部分校準資料來求解,這使得decoupleQ 容易對校準資料過擬合。

儘管如此,作者也指出,將模型參數解耦為整數部分和浮點部分的思路,是很有意義的。如果有標籤資料集存在,我們可以量化完畢以後,固定整數部分,使用有標籤資料集來專門訓練 (s,z),以進一步提升模型的精確度。這樣既保證了模型的泛化表現(源自於固定整數部分位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16),又能在特定子任務上發揮能力(源自於微調浮點部分)。在位元組跳動的實際業務中,在上一版的模型量化完畢上線以後,下一版更新的時候,也可以只訓練模型中的浮點部分。

參考文獻:

#【1】Elias Frantar, Saleh Ashkboos, Torsten Hoefler, and Dan Alistarh. Optq : Accurate quantization for generative pretrained transformers. In The Eleventh International Conference on Learning Representations, 2022.

#【2】Wenqi Shao, Mengzhao Chenen, Zengang, PZhangqi, Peng Xu, Lirui Zhao, Zhiqian Li, Kaipeng Zhang, Peng Gao, Yu Qiao, and Ping Luo. Omniquant: Omnidirectionally calibrated quantization for large language models.  arXiv preprint arXiv:2308.13137,##37,##37,#【3】Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang, Xingyu Dang, and Song Han. Awq: Activation-aware weight quantization for llm compression and acceleration. arXiv preprint arXiv:2306.00978.

##

以上是位元組開源大模型量化新思路,2-bit量化模型精度齊平fp16的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]May 14, 2025 am 05:04 AM

ChatGPT無法訪問?本文提供多種實用解決方案!許多用戶在日常使用ChatGPT時,可能會遇到無法訪問或響應緩慢等問題。本文將根據不同情況,逐步指導您解決這些問題。 ChatGPT無法訪問的原因及初步排查 首先,我們需要確定問題是出在OpenAI服務器端,還是用戶自身網絡或設備問題。 請按照以下步驟進行排查: 步驟1:檢查OpenAI官方狀態 訪問OpenAI Status頁面 (status.openai.com),查看ChatGPT服務是否正常運行。如果顯示紅色或黃色警報,則表示Open

計算ASI的風險始於人類的思想計算ASI的風險始於人類的思想May 14, 2025 am 05:02 AM

2025年5月10日,麻省理工學院物理學家Max Tegmark告訴《衛報》,AI實驗室應在釋放人工超級智能之前模仿Oppenheimer的三位一體測試演算。 “我的評估是'康普頓常數',這是一場比賽的可能性

易於理解的解釋如何編寫和撰寫歌詞和推薦工具易於理解的解釋如何編寫和撰寫歌詞和推薦工具May 14, 2025 am 05:01 AM

AI音樂創作技術日新月異,本文將以ChatGPT等AI模型為例,詳細講解如何利用AI輔助音樂創作,並輔以實際案例進行說明。我們將分別介紹如何通過SunoAI、Hugging Face上的AI jukebox以及Python的Music21庫進行音樂創作。 通過這些技術,每個人都能輕鬆創作原創音樂。但需注意,AI生成內容的版權問題不容忽視,使用時務必謹慎。 讓我們一起探索AI在音樂領域的無限可能! OpenAI最新AI代理“OpenAI Deep Research”介紹: [ChatGPT]Ope

什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!May 14, 2025 am 05:00 AM

ChatGPT-4的出现,极大地拓展了AI应用的可能性。相较于GPT-3.5,ChatGPT-4有了显著提升,它具备强大的语境理解能力,还能识别和生成图像,堪称万能的AI助手。在提高商业效率、辅助创作等诸多领域,它都展现出巨大的潜力。然而,与此同时,我们也必须注意其使用上的注意事项。 本文将详细解读ChatGPT-4的特性,并介绍针对不同场景的有效使用方法。文中包含充分利用最新AI技术的技巧,敬请参考。 OpenAI发布的最新AI代理,“OpenAI Deep Research”详情请点击下方链

解釋如何使用chatgpt應用程序!日本支持和語音對話功能解釋如何使用chatgpt應用程序!日本支持和語音對話功能May 14, 2025 am 04:59 AM

CHATGPT應用程序:與AI助手釋放您的創造力!初學者指南 ChatGpt應用程序是一位創新的AI助手,可處理各種任務,包括寫作,翻譯和答案。它是一種具有無限可能性的工具,可用於創意活動和信息收集。 在本文中,我們將以一種易於理解的方式解釋初學者,從如何安裝chatgpt智能手機應用程序到語音輸入功能和插件等應用程序所獨有的功能,以及在使用該應用時要牢記的要點。我們還將仔細研究插件限制和設備對設備配置同步

如何使用中文版Chatgpt?註冊程序和費用的說明如何使用中文版Chatgpt?註冊程序和費用的說明May 14, 2025 am 04:56 AM

ChatGPT中文版:解鎖中文AI對話新體驗 ChatGPT風靡全球,您知道它也提供中文版本嗎?這款強大的AI工具不僅支持日常對話,還能處理專業內容,並兼容簡體中文和繁體中文。無論是中國地區的使用者,還是正在學習中文的朋友,都能從中受益。 本文將詳細介紹ChatGPT中文版的使用方法,包括賬戶設置、中文提示詞輸入、過濾器的使用、以及不同套餐的選擇,並分析潛在風險及應對策略。此外,我們還將對比ChatGPT中文版和其他中文AI工具,幫助您更好地了解其優勢和應用場景。 OpenAI最新發布的AI智能

5 AI代理神話,您需要停止相信5 AI代理神話,您需要停止相信May 14, 2025 am 04:54 AM

這些可以將其視為生成AI領域的下一個飛躍,這為我們提供了Chatgpt和其他大型語言模型聊天機器人。他們可以代表我們採取行動,而不是簡單地回答問題或產生信息

易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋May 14, 2025 am 04:50 AM

使用chatgpt有效的多個帳戶管理技術|關於如何使用商業和私人生活的詳盡解釋! Chatgpt在各種情況下都使用,但是有些人可能擔心管理多個帳戶。本文將詳細解釋如何為ChatGpt創建多個帳戶,使用時該怎麼做以及如何安全有效地操作它。我們還介紹了重要的一點,例如業務和私人使用差異,並遵守OpenAI的使用條款,並提供指南,以幫助您安全地利用多個帳戶。 Openai

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具