模型压缩与量化

简介: 模型压缩通过量化、稀疏化、知识蒸馏等技术,减小模型体积与计算开销,助力大模型在端侧部署。涵盖INT8/INT4、GPTQ、SmoothQuant等方法,平衡压缩比、精度与速度,并支持实战量化加载,提升推理效率。

🎯 概述
模型压缩通过减少模型大小和计算量,使大模型能够在资源受限的环境中部署。
🏗️ 压缩技术
1️⃣ 权重量化
● INT8量化:将FP32权重压缩到INT8,4倍压缩
● INT4量化:进一步压缩到4位,8倍压缩
● GPTQ:基于二阶信息的量化方法
2️⃣ 激活量化
● 动态量化:运行时量化激活值
● 静态量化:校准数据集预计算量化参数
● SmoothQuant:解决激活异常值问题
3️⃣ 稀疏化
● 非结构化稀疏:随机权重置零
● 结构化稀疏:通道/块级稀疏
● N:M稀疏:每M个权重保留N个
4️⃣ 知识蒸馏
● 量化感知蒸馏:结合量化和蒸馏
● 渐进式量化:逐步降低精度
📊 量化方法对比
方法 压缩比 精度损失 推理速度 实现难度
INT8 4x <1% 2-3x 低
INT4 8x 1-3% 3-4x 中
GPTQ 8x <1% 3-4x 中
AWQ 8x <0.5% 3-4x 中
🎯 实战代码

使用bitsandbytes进行量化

import torch
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

INT4量化配置

bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)

加载量化模型

model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-2-7b-hf",
quantization_config=bnb_config,
device_map="auto"
)
剪枝
🎯 面试重点

  1. INT8和INT4量化的区别?
  2. 如何解决量化后的精度损失?
  3. GPTQ和AWQ的算法原理?
  4. 量化对推理速度的影响?
相关文章
|
2月前
|
自然语言处理
主流大模型结构
本文介绍了四大模型架构:Encoder-Decoder、Decoder-Only、Encoder-Only和Prefix-Decoder,涵盖代表模型与应用场景。详解GPT系列演进、LLaMA发展及主流中文大模型,并对比GPT-4、LLaMA-3、Qwen等在架构、参数量与上下文长度等方面的异同。
|
监控 数据可视化 安全
Linux——怎样使用SSH服务实现远程UI界面本地显示
需求场景 最近几天需要实现软件的远程监控,但是实际场景又不能使用向日葵、VNC、AnyDesk、以及其他的监视软件,并且软件的整体设计也没有这块的数据上行设计。
1274 0
|
安全 网络安全
Metasploit Pro 4.20.0安装与使用
Metasploit Pro 4.20.0安装与使用
916 0
Metasploit Pro 4.20.0安装与使用
|
Web App开发 缓存 JavaScript
如何处理页面关闭时发送HTTP请求?
在实际项目开发中,可能会遇到这样的业务问题:如何在用户离开或关闭页面时发送HTTP请求给服务端?可能有人会觉得页面都关闭了,还需要发送什么请求,完全没必要噻。但如果真有这样的业务需求落到自己的头上,那么我们应该如何来实现呢?
3024 0
如何处理页面关闭时发送HTTP请求?
|
2月前
|
缓存 算法 C++
模型推理加速
大模型推理加速关键技术:KV-Cache优化、连续批处理、投机解码、模型并行与vLLM等。涵盖原理、内存计算、优化策略及实战,助力高效部署与面试备战。
|
2月前
|
存储 机器学习/深度学习 编解码
预训练技巧
预训练是大模型的核心基础,涵盖混合精度、分布式训练、ZeRO优化、FlashAttention等关键技术,通过高效计算与显存优化,实现大规模模型的快速稳定训练。
|
2月前
|
机器学习/深度学习 自然语言处理 网络架构
Transformer基础结构
Transformer是Vaswani等人于2017年提出的基于注意力机制的神经网络,彻底革新了自然语言处理。其核心为编码器-解码器架构,通过自注意力并行捕捉长距离依赖,结合位置编码、残差连接与层归一化,显著提升训练效率与模型性能,广泛应用于各类NLP任务。(238字)
|
2月前
|
机器学习/深度学习 自然语言处理 算法
主流分词算法
分词器将文本转为模型可处理的数字序列,主流算法有BPE、WordPiece和SentencePiece。BPE高效但中文支持弱;WordPiece用于BERT,适合英文;SentencePiece语言无关,支持中文。实战中需根据语言选择算法,并合理设置词汇表大小与特殊标记,解决OOV等问题。
|
2月前
|
机器学习/深度学习 自然语言处理 算法
分词器详解
分词器将文本转为模型可处理的数字序列,主流算法有BPE、WordPiece和SentencePiece。BPE高效但中文支持弱;WordPiece用于BERT,适合英文;SentencePiece语言无关,支持中日文。实战中常用SentencePiece处理中文,Hugging Face工具处理英文。面试需掌握算法差异、中文分词策略、词汇表设计及OOV问题解决。
|
4月前
|
存储 人工智能 算法
大模型4-bit量化技术详解
本文系统阐述大语言模型的4-bit量化技术,深入解析GPTQ、AWQ等主流量化方法的原理与实现。通过详细的数学推导、代码实现和实验对比,展示4-bit量化如何将模型内存占用降低75%以上同时保持模型性能。文章涵盖量化感知训练、后训练量化、混合精度量化等关键技术,为开发者提供完整的模型压缩解决方案。
943 7