自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于重排序的新量化方法RPTQ:實(shí)現(xiàn)大型語言模型的 3 比特量化

人工智能 新聞
作者提出了一種新穎的基于重排序的量化方法 RPTQ,解決了量化大型語言模型激活的問題。

大型語言模型(LLMs)在各種任務(wù)上表現(xiàn)出色,但由于其龐大的模型規(guī)模,部署方面存在挑戰(zhàn)。

在這篇論文中,來自后摩智能、騰訊 AI Lab、華中科技大學(xué)、北京大學(xué)、伊利諾伊理工學(xué)院的研究人員發(fā)現(xiàn)量化大型語言模型的主要挑戰(zhàn)來自于通道之間不同的激活范圍,而不僅僅是離群值問題。

作者提出了一種新穎的基于重排序的量化方法 RPTQ,解決了量化大型語言模型激活的問題。RPTQ 通過重新排列激活中的通道,然后將它們分簇進(jìn)行量化,從而降低通道范圍差異的影響。

此外,作者通過避免顯式重新排序來減少存儲和計(jì)算開銷。該工作首次將 LLM 模型的激活量化推向 3 比特。激活值的 3 比特量化同時(shí)也能與權(quán)重的 3 比特量化共同使用,大幅度降低了大型欲言模型的開銷。

圖片

論文地址:https://arxiv.org/abs/2304.01089

開源地址:https://github.com/hahnyuan/RPTQ4LLM

大規(guī)模語言模型(LLMs)在各種任務(wù)中展現(xiàn)出了卓越的性能,但由于它們的巨大模型大小,它們的部署面臨著挑戰(zhàn)。例如一個(gè) 66B 模型包含 660 億個(gè)參數(shù),需要大量內(nèi)存進(jìn)行存儲。另外隨著序列長度和批處理大小的增加,內(nèi)存消耗問題變得更加嚴(yán)重,因?yàn)榧せ钜残枰拇罅康膬?nèi)存,例如 Self-attention 中的鍵和值緩存(Key/Value Cache)。然而,單個(gè) GPU 或服務(wù)器并沒有足夠的內(nèi)存容量來存儲如此龐大的模型權(quán)重和中間激活。因此,LLM 需要被分割成多個(gè)塊并存儲在不同的設(shè)備中。由于權(quán)重和激活存儲在不同的設(shè)備上,在計(jì)算過程中需要在這些設(shè)備之間傳輸數(shù)據(jù),導(dǎo)致顯著的帶寬和能量消耗。

為了克服 LLMs 在模型規(guī)模上的挑戰(zhàn),模型量化已成為一種有前途的方法。該技術(shù)涉及使用低位整數(shù)對 LLMs 的權(quán)重和激活進(jìn)行量化,從而顯著降低存儲和運(yùn)行這些模型的成本。具體而言,量化有助于減少保存張量的內(nèi)存要求,并加速計(jì)算密集型操作,例如矩陣乘法和線性層。通過量化權(quán)重和激活,減少了存儲和通信開銷,提高了效率和推理速度。

圖片

圖 1 不同通道的數(shù)值分布情況。每個(gè)點(diǎn)都代表一個(gè)激活通道中的 (最大值,最小值)。

最近,GPTQ 使用 PTQ 成功地將 LLMs 的權(quán)重量化為 4 bit 或 3 bit。然而,對 LLMs 中的激活進(jìn)行量化仍然是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。

從圖 1 中可以得出兩個(gè)觀察結(jié)果:

1)一些通道具有顯著的異常值,其最大或最小值比其他通道大幾百倍。以前的研究也已經(jīng)發(fā)現(xiàn)了這個(gè)問題并針對異常值提出了特殊處理。

2)不同的通道在數(shù)值范圍上有顯著差異。使用相同的量化參數(shù)來量化不同的通道可能會導(dǎo)致顯著的量化誤差。即使兩個(gè)通道具有相同的異常值絕對值,它們在數(shù)值范圍上也可能存在很大的變化。

將整個(gè)張量使用相同的量化參數(shù)進(jìn)行量化的每張量量化技術(shù)可能不太有效。原因是將量化范圍設(shè)置為覆蓋大范圍的數(shù)值范圍可能導(dǎo)致數(shù)值較小的通道產(chǎn)生較大的量化誤差,而將其設(shè)置為覆蓋小范圍的數(shù)值范圍可能導(dǎo)致對異常值的顯著截?cái)?,并?dǎo)致顯著的量化誤差。例如,一個(gè)通道可能具有 - 100 到 - 50 的值范圍,而另一個(gè)通道可能具有 80 到 100 的值范圍。試圖通過將范圍從 - 100 到 100 量化來覆蓋它們的范圍將導(dǎo)致兩個(gè)通道產(chǎn)生顯著的量化誤差。這是以前的研究中尚未有效解決的一個(gè)挑戰(zhàn)。

圖片

圖 2 解決激活量化問題的不同方法對比。

為了解決激活中通道差異的問題,作者提出了一種新穎的基于重新排序的訓(xùn)練后量化方法 RPTQ。

如圖 2 所示,該方法將數(shù)值范圍相似的通道聚類在一起,然后對每個(gè)聚類中的值使用相同的量化參數(shù)進(jìn)行量化。為了實(shí)施基于重排序的量化方法,作者首先使用校準(zhǔn)數(shù)據(jù)集作為推理輸入,從中導(dǎo)出每個(gè)激活通道的最大值和最小值。

接下來,他們采用 KMeans 算法將不同通道劃分為 g 個(gè)簇,基于每個(gè)通道的最大值和最小值形成的點(diǎn)。一旦建立了簇,他們就進(jìn)行通道重排序,將來自同一簇的通道放置在相近的位置。這樣,具有類似最大值和最小值的通道被組合在一起,并共享一組通用的量化參數(shù)。在重排序過程之后,作者對每個(gè)簇內(nèi)的激活進(jìn)行量化。這種方法為每個(gè)簇單獨(dú)計(jì)算量化參數(shù)(縮放因子 s 和零點(diǎn) z),確保這些參數(shù)專門針對相應(yīng)的通道。

最終,該方法確保了每個(gè)簇的量化都得到優(yōu)化,減少了量化誤差。

圖片

圖 3:一重排權(quán)重和激活的量化 Transformer 層的推斷過程失意圖。重排索引用符號 R1 到 R5 表示。

顯式重排是一種運(yùn)行時(shí)重新排列激活中通道的操作,需要將不同通道的數(shù)據(jù)從一個(gè)內(nèi)存位置物理移動到另一個(gè)位置,因此對于具有大量通道的大型模型,重排過程可能非常耗時(shí)。此外,存儲源和目標(biāo)激活張量會增加內(nèi)存開銷。因此,作者提出了避免顯式重新排序的策略,從而降低了計(jì)算開銷,提高了推理效率。

如圖 3 所示,作者重新排序線性層的權(quán)重,使它們能夠直接按照排序順序產(chǎn)生激活。此外,作者修改了 LayerNorm 的方法,使其能夠直接產(chǎn)生重新排序的激活,從而省去了在推理過程中進(jìn)行顯式通道調(diào)整。

圖片

作者在三種不同的位寬配置下評估了 OPT 的性能:W4A16、W4A8 和 W4A4。此外,作者還開發(fā)了一種新的量化方案,W4A4KV、W4A3KV 和 W3A3KV,只對主要內(nèi)存的消耗 —— 鍵緩存和值緩存(Key/Value Cache)進(jìn)行量化。根據(jù)表格,可以得出以下觀察結(jié)果:一般而言,隨著激活量化位寬的減少,模型的性能會下降。但在大多數(shù)情況下,這種退化并不顯著。對于某些任務(wù),性能下降不到 1%,甚至有所提高。

圖片

LLM 的內(nèi)存開銷來自三個(gè)方面:首先,設(shè)備內(nèi)存中權(quán)重的存儲,可以通過量化來顯著減少。其次,在網(wǎng)絡(luò)執(zhí)行期間生成的臨時(shí)激活需要分配設(shè)備內(nèi)存。這些臨時(shí)激活可以在使用后釋放,因此不會對整體內(nèi)存使用造成顯著影響。最后,鍵和值緩存(Key/Value Cache)對預(yù)測后續(xù)單詞是必要的。當(dāng)批次大小和序列長度很大時(shí),鍵和值緩存占用了大部分內(nèi)存。

表中展示了不同設(shè)置下的內(nèi)存使用情況,可以發(fā)現(xiàn)較低比特的激活可以顯著減少內(nèi)存使用,特別是在批次大小和序列長度較大的情況下。具體而言,當(dāng)批次大小為 64,序列長度為 8192 時(shí),OPT-66b 下的 W4A4 配置相比 W4A16 配置節(jié)省了超過 900GB 的內(nèi)存。因此,采用 RPTQ 對激活量化可以極大地減少在長文本任務(wù)或大批量場景中的內(nèi)存壓力。

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2024-08-05 14:36:17

大型語言模型量化

2025-03-27 02:44:00

2023-11-17 14:37:56

2025-04-16 02:30:00

2024-08-19 02:35:00

模型量化深度學(xué)習(xí)

2024-11-08 10:00:00

AI模型

2024-09-13 16:47:06

模型量化AI

2025-03-07 08:00:00

LLM蒸餾和量化大模型

2024-05-09 08:11:04

OllamaGo訓(xùn)練文本

2023-09-28 21:55:12

AndroidApp

2023-07-03 16:15:46

模型訓(xùn)練

2024-08-13 14:20:00

模型數(shù)據(jù)

2023-06-28 08:23:41

搜索語義模型

2024-11-21 16:30:21

2023-11-17 15:44:01

2022-06-15 07:42:00

谷歌T5模型

2023-08-02 18:40:42

2016-01-22 09:47:10

HTML5WebGLBIM模型

2020-09-16 10:16:54

數(shù)據(jù)分析量化大數(shù)據(jù)

2021-01-28 19:58:48

技術(shù)團(tuán)隊(duì)效能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號