task06大模型量化与训练

地址:微调量化篇第3章 https://datawhalechina.github.io/hello-agents/#/./chapter4/第四章 智能体经典范式构建

量化

用较少的信息来表示数据,在尽量不损失模型性能的前提下,降低资源开销

深度学习模型普遍表现出显著的参数冗余性(彩票假设),量化技术可以通过降低非关键参数的数值精确度(如从FP16降低至INT4),在大幅减少显存占用和计算量的同时,尽可能保持模型的原始性能

FP16 floating point 半精度浮点数(16位),用16位来表示一个浮点数,能较好地保留模型权重和激活值地动态范围与小数精度,常用于训练或推理阶段以平衡性能和精度

量化后的精度INT4,用4位(0.5字节)表示一个整数值,通常取值范围为-8到+7或0到15

通过量化感知训练或后训练量化,可以将模型中的非关键参数安全地从FP16转换为INT4,而不会显著损害模型的性能

实际应用中,模型可能会混合使用多种精度(如关键层保留FP16,非关键层用INT4),称为混合精度

需要多少显存

精度与显存的关系:模型权重通常以浮点数形式存储,不同的精度决定了每个参数占用的字节数

显存估算:

在计算机存储单位中 1GB=1024MB,1MB=1024KB

估算模型参数量和现存时,为了方便,通常近似为 1 G B ≈ 10 9 1GB≈10^9 1GB≈109 Bytes,如果追求精确计算,可以除以 1024 3 1024^3 10243

模型所需现存大小的通用估算公式:
权重显存占用 ≈ 模型参数量 × 每参数占用字节数 权重显存占用≈模型参数量×每参数占用字节数 权重显存占用≈模型参数量×每参数占用字节数

以Qwen2.5-7B为例,约70亿参数,即 7 × 10 9 7×10^9 7×109 :

如果使用FP16/BF16精度(16/8=2),2Bytes/参数
7 × 10 9 × 2 B y t e s ≈ 14 G B 7×10^9×2 Bytes ≈14GB 7×109×2Bytes≈14GB

如果使用INT8量化,需要约7GB参数空间;若使用INT4量化可以进一步将参数需要的权重占用缩减为3.5GB

实际运行时,还需要预留显存给KV Cache,上下文缓存,与训练长度成正比;激活值,保存中间层的计算结果,与Batch Size和序列长度相关;框架开销,PyTorch/CUDA context本身会占用一定开销。所以实际显存需求通常比估算值高20%到30%,例如3.5GB权重的7B的INT4模型,推荐显存至少6GB起步

Transformers中的主流集成方案

Hugging Face Transformers的官方文档与实践中,最常用的是GPTQ、AWQ、和bitsandbytes,在代码层面通常通过 AutoModel*.from_pretrained(..., quantization_config=...) 搭配相应的配置类(如 GPTQConfig、AwqConfig、BitsAndBytesConfig)实现相对统一的调用体验

GPTQ和AWQ主要面向推理部署与加速,属于Post-Training Quantization算法,生成的模型通常以量化后的检查点形式保存

bitstandbytes常用于8bit/4bit推理就,也是一系列低显存微调方案的核心依赖,尤其擅长让大模型在单卡上完成4-bit训练

面向生成模型的高效量化

GPTQ(Generative Pre-trained Transformer Quantization)是一种面向大规模生成式Transformer的训练后量化(PTQ)技术,是OBQ算法在超大模型上的高阶进化版,基于近似二阶信息是西安了一次性权重量化,解决了以往简单的RTN量化在模型参数超百亿时会导致严重精度崩塌问题

然后我看不懂了

相关推荐
老唐7772 天前
大模型面试高频题:Transformer、MoE、RLHF、DPO 核心原理拆解
人工智能·深度学习·ai·大模型·transformer·智能体
JAI科研2 天前
把一个 Qwen3.8的聊天模型改造成 JEV 决策模型
人工智能·语言模型·自然语言处理·chatgpt·transformer·vllm·sglang
小易老师AI实战2 天前
Transformer掩码注意力机制原理深度解析
transformer·大模型基础·自回归生成·掩码注意力
wu_solo4 天前
6.1 Transformer架构概述
深度学习·架构·transformer
Felaim4 天前
【SLAM】SLAM-Former论文与代码导读
transformer·slam·dense slam·代码导读
Felaim4 天前
【SLAM】SLAM-Former
transformer·slam·dense slam·几何基础模型
啥都鼓捣的小yao5 天前
Vision Transformer(ViT)深入浅出
人工智能·深度学习·transformer
Jsundoku6 天前
第七章 深度学习 -- Transformer 架构
人工智能·深度学习·transformer·1024程序员节
陈 洪 伟7 天前
Transformer彻底剖析(9):归一化演进——BatchNorm、LayerNorm、RMSNorm、Post-LN / Pre-LN、DeepNorm
人工智能·深度学习·transformer
布吉岛的石头7 天前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer