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=...) 搭配相应的配置类(如 GPTQConfigAwqConfigBitsAndBytesConfig)实现相对统一的调用体验

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

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

面向生成模型的高效量化

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

然后我看不懂了

相关推荐
shangjian0074 小时前
AI-大语言模型LLM-Transformer架构4-多头注意力、掩码注意力、交叉注意力
人工智能·语言模型·transformer
玄同76515 小时前
LangChain 核心组件全解析:构建大模型应用的 “乐高积木”
人工智能·python·语言模型·langchain·llm·nlp·知识图谱
beginner.zs15 小时前
注意力革命:Transformer架构深度解析与全景应用
深度学习·架构·transformer
玄同7651 天前
大模型生成 Token 的原理:从文本到模型理解的 “翻译官”
人工智能·python·语言模型·自然语言处理·nlp·知识图谱·token
懒羊羊吃辣条1 天前
问题解决方法—更新Nvidia显卡驱动后,WSL系统CUDA失效并且Anaconda环境消失
人工智能·深度学习·transformer
查无此人byebye1 天前
手写Multi-Head Attention多头注意力机制,Pytorch实现与原理详解
人工智能·pytorch·python·深度学习·transformer
Wilber的技术分享1 天前
【Transformer原理详解2】Decoder结构解析、Decoder-Only结构中的Decoder
人工智能·笔记·深度学习·llm·transformer
胖墩会武术2 天前
《图像分割简史》
人工智能·神经网络·cnn·transformer