国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

越小越好: Q8-Chat,在英特爾至強(qiáng) CPU 上體驗(yàn)高效的生成式 AI

2023-05-23 20:23 作者:HuggingFace  | 我要投稿

大語(yǔ)言模型 (LLM) 正在席卷整個(gè)機(jī)器學(xué)習(xí)世界。得益于其?transformer?架構(gòu),LLM 擁有從大量非結(jié)構(gòu)化數(shù)據(jù) (如文本、圖像、視頻或音頻) 中學(xué)習(xí)的不可思議的能力。它們?cè)?多種任務(wù)類型?上表現(xiàn)非常出色,無(wú)論是文本分類之類的抽取任務(wù) (extractive task) 還是文本摘要和文生圖像之類的生成任務(wù) (generative task)。

顧名思義,LLM 是?大?模型,其通常擁有超過(guò) 100 億個(gè)參數(shù),有些甚至擁有超過(guò) 1000 億個(gè)參數(shù),如 BLOOM 模型。LLM 需要大量的算力才能滿足某些場(chǎng)景 (如搜索、對(duì)話式應(yīng)用等) 的低延遲需求。而大算力通常只有高端 GPU 才能提供,不幸的是,對(duì)于很多組織而言,相關(guān)成本可能高得令人望而卻步,因此它們很難在其應(yīng)用場(chǎng)景中用上最先進(jìn)的 LLM。

在本文中,我們將討論有助于減少 LLM 尺寸和推理延遲的優(yōu)化技術(shù),以使得它們可以在英特爾 CPU 上高效運(yùn)行。

量化入門

LLM 通常使用 16 位浮點(diǎn)參數(shù) (即 FP16 或 BF16) 進(jìn)行訓(xùn)練。因此,存儲(chǔ)一個(gè)權(quán)重值或激活值需要 2 個(gè)字節(jié)的內(nèi)存。此外,浮點(diǎn)運(yùn)算比整型運(yùn)算更復(fù)雜、更慢,且需要額外的計(jì)算能力。

量化是一種模型壓縮技術(shù),旨在通過(guò)減少模型參數(shù)的值域來(lái)解決上述兩個(gè)問(wèn)題。舉個(gè)例子,你可以將模型量化為較低的精度,如 8 位整型 (INT8),以縮小它們的位寬并用更簡(jiǎn)單、更快的整型運(yùn)算代替復(fù)雜的浮點(diǎn)運(yùn)算。

簡(jiǎn)而言之,量化將模型參數(shù)縮放到一個(gè)更小的值域。一旦成功,它會(huì)將你的模型縮小至少 2 倍,而不會(huì)對(duì)模型精度產(chǎn)生任何影響。

你可以進(jìn)行訓(xùn)時(shí)量化,即量化感知訓(xùn)練 (QAT),這個(gè)方法通常精度更高。如果你需要對(duì)已經(jīng)訓(xùn)成的模型進(jìn)行量化,則可以使用訓(xùn)后量化 (PTQ),它會(huì)更快一些,需要的算力也更小。

市面上有不少量化工具。例如,PyTorch 內(nèi)置了對(duì) 量化 的支持。你還可以使用 Hugging Face Optimum-Intel 庫(kù),其中包含面向開(kāi)發(fā)人員的 QAT 和 PTQ API。

量化 LLM

最近,有研究 [1][2] 表明目前的量化技術(shù)不適用于 LLM。LLM 中有一個(gè)特別的現(xiàn)象,即在每層及每個(gè)詞向量中都能觀察到某些特定的激活通道的幅度異常,即某些通道的激活值的幅度比其他通道更大。舉個(gè)例子,下圖來(lái)自于 OPT-13B 模型,你可以看到在所有詞向量中,其中一個(gè)通道的激活值比其他所有通道的大得多。這種現(xiàn)象在每個(gè) transformer 層中都存在。


圖源: SmoothQuant 論文

迄今為止,最好的激活量化技術(shù)是逐詞量化,而逐詞量化會(huì)導(dǎo)致要么離群值 (outlier) 被截?cái)嗷蛞捶刃〉募せ钪党霈F(xiàn)下溢,它們都會(huì)顯著降低模型質(zhì)量。而量化感知訓(xùn)練又需要額外的訓(xùn)練,由于缺乏計(jì)算資源和數(shù)據(jù),這在大多數(shù)情況下是不切實(shí)際的。

SmoothQuant [3][4] 作為一種新的量化技術(shù)可以解決這個(gè)問(wèn)題。其通過(guò)對(duì)權(quán)重和激活進(jìn)行聯(lián)合數(shù)學(xué)變換,以增加權(quán)重中離群值和非離群值之間的比率為代價(jià)降低激活中離群值和非離群值之間的比率,從而行平滑之實(shí)。該變換使 transformer 模型的各層變得“量化友好”,并在不損害模型質(zhì)量的情況下使得 8 位量化重新成為可能。因此,SmoothQuant 可以幫助生成更小、更快的模型,而這些模型能夠在英特爾 CPU 平臺(tái)上運(yùn)行良好。


圖源: SmoothQuant 論文

現(xiàn)在,我們看看 SmoothQuant 在流行的 LLM 上效果如何。

使用 SmoothQuant 量化 LLM

我們?cè)谟⑻貭柕暮献骰锇槭褂?SmoothQuant-O3 量化了幾個(gè) LLM,分別是: OPT 2.7B、6.7B [5],LLaMA 7B [6],Alpaca 7B [7],Vicuna 7B [8],BloomZ 7.1B [9] 以及 MPT-7B-chat [10]。他們還使用 EleutherAI 的語(yǔ)言模型評(píng)估工具 對(duì)量化模型的準(zhǔn)確性進(jìn)行了評(píng)估。

下表總結(jié)了他們的發(fā)現(xiàn)。第二列展示了量化后性能反而得到提升的任務(wù)數(shù)。第三列展示了量化后各個(gè)任務(wù)平均性能退化的均值 (*?負(fù)值表示量化后模型的平均性能提高了)。你可以在文末找到詳細(xì)結(jié)果。

如你所見(jiàn),OPT 模型非常適合 SmoothQuant 量化。模型比預(yù)訓(xùn)練的 16 位模型約小 2 倍。大多數(shù)指標(biāo)都會(huì)有所改善,而那些沒(méi)有改善的指標(biāo)僅有輕微的降低。

對(duì)于 LLaMA 7B 和 BloomZ 7.1B,情況則好壞參半。模型被壓縮了約 2 倍,大約一半的任務(wù)的指標(biāo)有所改進(jìn)。但同樣,另一半的指標(biāo)僅受到輕微影響,僅有一個(gè)任務(wù)的相對(duì)退化超過(guò)了 3%。

使用較小模型的明顯好處是推理延遲得到了顯著的降低。該 視頻 演示了在一個(gè) 32 核心的單路英特爾 Sapphire Rapids CPU 上使用 MPT-7B-chat 模型以 batch size 1 實(shí)時(shí)生成文本的效果。

在這個(gè)例子中,我們問(wèn)模型: “?What is the role of Hugging Face in democratizing NLP??”。程序會(huì)向模型發(fā)送以下提示: “?A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user’s questions. USER: What is the role of Hugging Face in democratizing NLP? ASSISTANT:?”

這個(gè)例子展示了 8 位量化可以在第 4 代至強(qiáng)處理器上獲得額外的延遲增益,從而使每個(gè)詞的生成時(shí)間非常短。這種性能水平無(wú)疑使得在 CPU 平臺(tái)上運(yùn)行 LLM 成為可能,從而為客戶提供比以往任何時(shí)候都更大的 IT 靈活性和更好的性價(jià)比。

在至強(qiáng) CPU 上體驗(yàn)聊天應(yīng)用

HuggingFace 的首席執(zhí)行官 Clement 最近表示: “專注于訓(xùn)練和運(yùn)行成本更低的小尺寸、垂域模型,會(huì)使更多的公司會(huì)收益?!?Alpaca、BloomZ 以及 Vicuna 等小模型的興起,為企業(yè)在生產(chǎn)中降低微調(diào)和推理成本的創(chuàng)造了新機(jī)會(huì)。如上文我們展示的,高質(zhì)量的量化為英特爾 CPU 平臺(tái)帶來(lái)了高質(zhì)量的聊天體驗(yàn),而無(wú)需龐大的 LLM 和復(fù)雜的 AI 加速器。

我們與英特爾一起在 Spaces 中創(chuàng)建了一個(gè)很有意思的新應(yīng)用演示,名為 Q8-Chat (發(fā)音為?Cute chat)。Q8-Chat 提供了類似于 ChatGPT 的聊天體驗(yàn),而僅需一個(gè)有 32 核心的單路英特爾 Sapphire Rapids CPU 即可 (batch size 為 1)。

Space 體驗(yàn)地址:https://intel-q8-chat.hf.space

下一步

我們正致力于將 Intel Neural Compressor 集成入 Hugging Face Optimum Intel,從而使得 Optimum Intel 能夠利用這一新量化技術(shù)。一旦完成,你只需幾行代碼就可以復(fù)現(xiàn)我們的結(jié)果。

敬請(qǐng)關(guān)注。

未來(lái)屬于 8 比特!

本文保證純純不含 ChatGPT。

致謝

本文系與來(lái)自英特爾實(shí)驗(yàn)室的 Ofir Zafrir、Igor Margulis、Guy Boudoukh 和 Moshe Wasserblat 共同完成。特別感謝他們的寶貴意見(jiàn)及合作。

附錄: 詳細(xì)結(jié)果

負(fù)值表示量化后性能有所提高。

英文原文:?https://hf.co/blog/generative-ai-models-on-intel-cpu

原文作者: Julien Simon

譯者: Matrix Yao (姚偉峰),英特爾深度學(xué)習(xí)工程師,工作方向?yàn)?transformer-family 模型在各模態(tài)數(shù)據(jù)上的應(yīng)用及大規(guī)模模型的訓(xùn)練推理。

審校/排版: zhongdongy (阿東)

越小越好: Q8-Chat,在英特爾至強(qiáng) CPU 上體驗(yàn)高效的生成式 AI的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
越西县| 平谷区| 开化县| 柯坪县| 鹤岗市| 沅江市| 云龙县| 平顺县| 无为县| 南乐县| 灌阳县| 息烽县| 武威市| 大名县| 陈巴尔虎旗| 雷山县| 柯坪县| 东丰县| 乐平市| 龙口市| 乳山市| 石狮市| 万载县| 淳安县| 兰溪市| 吕梁市| 斗六市| 郯城县| 海宁市| 保德县| 玉树县| 攀枝花市| 琼结县| 丰都县| 东方市| 东平县| 招远市| 积石山| 阳朔县| 英德市| 通化市|