首頁 科技週邊 人工智慧 大型語言模型(LLMS)的量化:有效降低AI模型大小

大型語言模型(LLMS)的量化:有效降低AI模型大小

Mar 05, 2025 am 09:10 AM

>在筆記本電腦上運行自己的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加載的圖像壓縮。 Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>

量化引入了噪聲(量化誤差),但研究重點是最大程度地減少以維持性能。 量化背後的理論

量化通常針對模型權重 - 確定神經元之間連接強度的參數。 這些權重最初是隨機的,並在訓練過程中進行了調整。 一個簡單的例子是將重量四捨五入到更少的小數位。

>

>示例:重量矩陣(左)及其量化版本(右)。

原始矩陣和量化矩陣之間的差異是量化誤差。 Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

量化誤差矩陣。

在實踐中,量化涉及更改數據類型(降低)。 例如,從float32(每個參數4個字節)轉換為INT8(每個參數1個字節)可顯著降低內存使用量。

>

>大腦浮點(BF16)和降低

由Google開發的BF16

> BF16在Float32的動態範圍和Float16的效率之間提供了平衡。降低(從較高精確到較低精確的數據類型)降低速度,但會導致數據丟失和錯誤傳播,尤其是數據類型較小。

量化類型

存在幾種量化類型:

  • 線性量化:將浮點值映射到固定點範圍。 它涉及計算最小/最大值,比例,零點,量化和取消定量(在推理期間)。

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>線性量化方程

>

示例:權重矩陣的線性量化。 Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>去量化和量化誤差。

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

塊量化:在較小的塊中量化權重,更有效地處理非均勻分佈。

  • > 權重與激活量化:量化可以應用於權重(靜態)和激活(動態)。 激活量化更為複雜。

  • >培訓後量化(PTQ)與量化感知訓練(QAT): ptq量化了預訓練的模型; QAT修改訓練以模擬量化效果,從而提高準確性,但增加了訓練時間。

  • 校準技術
  • 某些方法需要校準 - 對數據集的推斷以優化量化參數。 技術包括百分比校準和平均/標準偏差校準。 諸如Qlora之類的方法避免校準。 量化的工具

    幾個Python庫支持量化,包括Pytorch和Tensorflow。 擁抱Face的Quanto庫簡化了Pytorch模型的過程。
  • 用擁抱臉的量子量量化模型
這是使用Pythia 410m型號的逐步指南:>
  1. 加載模型:加載預訓練的模型和令牌。
  2. >
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)
登入後複製
  1. 量化:使用quantize()轉換模型。
  2. >
from quanto import quantize, freeze
quantize(model, weights=torch.int8, activations=None)
登入後複製
  1. 凍結:>使用freeze()將量化應用於權重。
  2. >
freeze(model)
登入後複製
  1. 檢查結果:驗證減少的模型大小和測試推理。 (注意:compute_module_sizes()是一個自定義函數;有關實現的Datacamp Datalab)。
  2. >

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

結論

量化使LLMS更容易訪問和高效。 通過了解其技術並使用擁抱Face Quanto之類的工具,您可以在功能較小的硬件上運行強大的模型。 對於較大的模型,請考慮升級您的資源。

>

llm量化常見問題解答

  • qat vs. ptq: QAT通常表現更好,但在培訓期間需要更多的資源。
  • Quanto庫:支持PTQ和QAT。 包括隱式校準;可以自定義校準。 quantize()> calibration()
  • >精確:
  • int4和int2量化是可能的。 > >
  • >訪問擁抱面部模型:
  • 將變量更改為所需模型。 切記接受擁抱面孔的條款和條件。 > model_name

以上是大型語言模型(LLMS)的量化:有效降低AI模型大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1242
24
開始使用Meta Llama 3.2 -Analytics Vidhya 開始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

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

10個生成AI編碼擴展,在VS代碼中,您必須探索 10個生成AI編碼擴展,在VS代碼中,您必須探索 Apr 13, 2025 am 01:14 AM

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

AV字節:Meta' llama 3.2,Google的雙子座1.5等 AV字節:Meta' llama 3.2,Google的雙子座1.5等 Apr 11, 2025 pm 12:01 PM

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

向員工出售AI策略:Shopify首席執行官的宣言 向員工出售AI策略:Shopify首席執行官的宣言 Apr 10, 2025 am 11:19 AM

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

GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? Apr 13, 2025 am 10:18 AM

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

視覺語言模型(VLMS)的綜合指南 視覺語言模型(VLMS)的綜合指南 Apr 12, 2025 am 11:58 AM

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

3種運行Llama 3.2的方法-Analytics Vidhya 3種運行Llama 3.2的方法-Analytics Vidhya Apr 11, 2025 am 11:56 AM

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

最新的最佳及時工程技術的年度彙編 最新的最佳及時工程技術的年度彙編 Apr 10, 2025 am 11:22 AM

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

See all articles