大型語言模型(LLMS)的量化:有效降低AI模型大小
>在筆記本電腦上運行自己的chatgpt:llm量化指南
>>曾經夢想直接在筆記本電腦上運行自己的chatgpt? 得益於大語言模型(LLMS)的進步,這已成為現實。 關鍵是量化 - 一種技術,它縮小了這些龐大的模型,以適合消費者硬件,而性能損失最少(完成正確!)。本指南解釋了量化,其方法,並向您展示瞭如何使用擁抱Face的Quanto庫以兩個簡單的步驟來量化模型。 使用DataCamp Datalab。
> LLMS的不斷增長
LLM的複雜性爆炸了。 GPT-1(2018)有910億個參數; GPT-2(2019),15億; GPT-3(2020),高達1750億; GPT-4擁有超過1萬億。這種巨大的增長會產生記憶瓶頸,阻礙訓練和推理,並限制可及性。 量化通過降低模型的大小而在保留性能的同時解決這一問題。
量化是一種模型壓縮技術,可降低模型的權重和激活的精度。 這涉及將數據從較高精確的類型(例如32位浮點)轉換為較低精確的類型(例如8位整數)。 較少的位意味著一個較小的模型,消耗較少的內存,存儲和能量。
考慮圖像壓縮:高分辨率圖像被壓縮以供網絡使用,減少大小和加載時間以一些細節為代價。 同樣,量化LLM可以減少計算需求,從而使其能夠在功能較低的硬件上運行。
>更快的Web加載的圖像壓縮。
量化引入了噪聲(量化誤差),但研究重點是最大程度地減少以維持性能。 。
>
>示例:重量矩陣(左)及其量化版本(右)。
原始矩陣和量化矩陣之間的差異是量化誤差。
量化誤差矩陣。
在實踐中,量化涉及更改數據類型(降低)。 例如,從float32(每個參數4個字節)轉換為INT8(每個參數1個字節)可顯著降低內存使用量。
>>大腦浮點(BF16)和降低
由Google開發的BF16> BF16在Float32的動態範圍和Float16的效率之間提供了平衡。降低(從較高精確到較低精確的數據類型)降低速度,但會導致數據丟失和錯誤傳播,尤其是數據類型較小。
量化類型存在幾種量化類型:
- 線性量化:將浮點值映射到固定點範圍。 它涉及計算最小/最大值,比例,零點,量化和取消定量(在推理期間)。
>
示例:權重矩陣的線性量化。
>去量化和量化誤差。
塊量化:在較小的塊中量化權重,更有效地處理非均勻分佈。
-
> 權重與激活量化:量化可以應用於權重(靜態)和激活(動態)。 激活量化更為複雜。
-
>培訓後量化(PTQ)與量化感知訓練(QAT):
ptq量化了預訓練的模型; QAT修改訓練以模擬量化效果,從而提高準確性,但增加了訓練時間。 校準技術 -
某些方法需要校準 - 對數據集的推斷以優化量化參數。 技術包括百分比校準和平均/標準偏差校準。 諸如Qlora之類的方法避免校準。 量化的工具
幾個Python庫支持量化,包括Pytorch和Tensorflow。 擁抱Face的Quanto庫簡化了Pytorch模型的過程。 用擁抱臉的量子量量化模型
- 加載模型:加載預訓練的模型和令牌。 >
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "EleutherAI/pythia-410m" model = AutoModelForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True) tokenizer = AutoTokenizer.from_pretrained(model_name)
-
量化:使用
quantize()
轉換模型。 >
from quanto import quantize, freeze quantize(model, weights=torch.int8, activations=None)
-
凍結:>使用
freeze()
將量化應用於權重。 >
freeze(model)
-
檢查結果:驗證減少的模型大小和測試推理。 (注意:
compute_module_sizes()
是一個自定義函數;有關實現的Datacamp Datalab)。 >
結論
量化使LLMS更容易訪問和高效。 通過了解其技術並使用擁抱Face Quanto之類的工具,您可以在功能較小的硬件上運行強大的模型。 對於較大的模型,請考慮升級您的資源。
>llm量化常見問題解答
- qat vs. ptq: QAT通常表現更好,但在培訓期間需要更多的資源。
-
Quanto庫:
支持PTQ和QAT。 包括隱式校準;可以自定義校準。quantize()
>calibration()
>精確: - int4和int2量化是可能的。 > > >訪問擁抱面部模型:
- 將變量更改為所需模型。 切記接受擁抱面孔的條款和條件。 >
model_name
以上是大型語言模型(LLMS)的量化:有效降低AI模型大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

介紹 想像一下,穿過美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

Meta's Llama 3.2:多式聯運AI強力 Meta的最新多模式模型Llama 3.2代表了AI的重大進步,具有增強的語言理解力,提高的準確性和出色的文本生成能力。 它的能力t

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題
