【Datawhale组队学习202601】Base-NLP task06 大模型训练与量化

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、量化
    • [1.1 冗余与压缩](#1.1 冗余与压缩)
    • [1.2 量化的价值](#1.2 量化的价值)
    • [1.3 精度与显存的关系](#1.3 精度与显存的关系)
    • [1.4 显存占用估算](#1.4 显存占用估算)
  • [二、Transformers 中的主流集成方案](#二、Transformers 中的主流集成方案)
    • [3.1 GPTQ 面向生成式模型的高效量化](#3.1 GPTQ 面向生成式模型的高效量化)
    • [3.2 AWQ 激活感知权重量化](#3.2 AWQ 激活感知权重量化)
    • [3.3 BitsAndBytes](#3.3 BitsAndBytes)
  • [四、Qwen2.5 模型推理量化实战](#四、Qwen2.5 模型推理量化实战)
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、量化

  • 量化 ,听起来是一个复杂的数学概念,但实际非常简单,就是 用较少的信息来表示数据,在尽量不损失模型性能的前提下,降低资源开销。

1.1 冗余与压缩

1.2 量化的价值

(1)降低显存开销,降低功率能耗:通常模型以 FP16(16位浮点数)格式存储,若量化为 INT8(8位整数),显存占用直接减半;若进一步量化为 INT4(4位整数),显存占用仅为原来的 1/4。原本需要多张 A100 才能加载的千亿模型,量化后可能只需一张消费级显卡即可运行。可别忘了,还能省电。

(2)提升推理速度:数据量的减少意味着内存带宽(Memory Bandwidth)压力的降低。在 LLM 推理这种典型的"内存受限(Memory-bound)"场景下,更快的权重加载速度直接转化为更快的 Token 生成速度。

(3) 推动大模型"下乡":千亿参数模型原本得蹲在机房(几十万的服务器),量化后一张3090/4090显卡甚至手机NPU就能跑。

1.3 精度与显存的关系

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

  • FP32(Full Precision):单精度浮点数,占用 4 Bytes。这是深度学习训练的默认精度,但在推理时通常不需要这么高。
  • FP16 / BF16(Half Precision):半精度浮点数,占用 2 Bytes。
    • FP16:传统的半精度,数值范围较小,容易溢出。
    • BF16(BFloat16):Google 提出的格式,牺牲了小数位精度以换取与 FP32 相同的数值范围(指数位),训练更稳定,是目前大模型训练的主流选择。
  • INT8:8 位整数,占用 1 Byte。
  • INT4:4 位整数,占用 0.5 Byte(即 4 bit)。

1.4 显存占用估算

  • 在计算机存储单位中, 1 G B = 1024 M B 1 GB = 1024 MB 1GB=1024MB, 1 M B = 1024 K B 1 MB = 1024 KB 1MB=1024KB。
  • 但在估算模型参数量(如 7 B = 7 B i l l i o n 7B = 7 Billion 7B=7Billion)和显存( G B GB GB)时,为了方便,通常近似认为 1 GB ≈ 10 9 Bytes 1 \text{ GB} \approx 10^9 \text{ Bytes} 1 GB≈109 Bytes。如果追求精确计算,记得除以 1024 3 1024^3 10243。
  • 模型所需显存大小的 通用估算公式 如下:

权重显存占用 ≈ 模型参数量 × 每参数占用字节数 \text{权重显存占用} \approx \text{模型参数量} \times \text{每参数占用字节数} 权重显存占用≈模型参数量×每参数占用字节数

  • 以 Qwen2.5 为例,这里选择 Qwen2.5-7B (约 70 70 70 亿参数,即 7 × 10 9 7 \times 10^9 7×109):

(1)FP16 / BF16 精度(2 Bytes/参数):

7 × 10 9 × 2 Bytes ≈ 14 GB (13.2) 7 \times 10^9 \times 2 \text{ Bytes} \approx 14 \text{ GB} \tag{13.2} 7×109×2 Bytes≈14 GB(13.2)

(2)INT8 量化(1 Byte/参数):

7 × 10 9 × 1 Byte ≈ 7 GB (13.3) 7 \times 10^9 \times 1 \text{ Byte} \approx 7 \text{ GB} \tag{13.3} 7×109×1 Byte≈7 GB(13.3)

(3)INT4 量化(0.5 Byte/参数):

7 × 10 9 × 0.5 Byte ≈ 3.5 GB (13.4) 7 \times 10^9 \times 0.5 \text{ Byte} \approx 3.5 \text{ GB} \tag{13.4} 7×109×0.5 Byte≈3.5 GB(13.4)

  • 但是,这只是模型权重的静态占用。实际运行时,还需要预留显存给:

    • KV Cache:上下文缓存,与序列长度(Context Length)成正比,上下文越长,占用越大。
    • 激活值:中间层计算结果,与 Batch Size 和序列长度相关。
    • 框架开销:PyTorch / CUDA context 本身会占用一定开销。
  • 所以,实际显存需求通常比估算值高 20 20%~30% 20。例如加载 7B 的 INT4 模型( 3.5 G B 3.5GB 3.5GB 权重),推荐显存至少 6 G B 6GB 6GB 起步。


二、Transformers 中的主流集成方案

虽然量化方法层出不穷,但在 Hugging Face Transformers 的官方文档与实践中,最常用的三类集成方式是加载 GPTQ、AWQ 以及 bitsandbytes(bnb)。

  • 在代码层面,它们通常通过如下实现相对统一的调用体验。
python 复制代码
# 搭配相应的配置类(如 GPTQConfig、AwqConfig、BitsAndBytesConfig)
AutoModel*.from_pretrained(..., quantization_config=...) 
  • 如果从使用场景来区分,
    • ·GPTQ 和 AWQ 主要面向推理部署与加速,它们属于 PTQ(Post-Training Quantization) 算法,生成的模型通常以量化后的检查点形式保存,加载后显存占用低且推理速度快。
    • bitsandbytes 则既常用于 8bit/4bit 推理,也是诸如 QLoRA 在内的一系列低显存微调方案的核心依赖,尤其擅长让大模型在单卡上完成 4-bit 训练。

PTQ(训练后量化):模型训完直接"硬砍"精度 → 快但容易翻车
QAT(量化感知训练):训练时就模拟量化效果 → 慢但稳如老狗

3.1 GPTQ 面向生成式模型的高效量化

GPTQ (Generative Pre-trained Transformer Quantization) 是一种面向大规模生成式 Transformer 的训练后量化(Post-Training Quantization, PTQ)技术。

是经典的 OBQ (Optimal Brain Quantization) 算法在超大模型上的高效进化版,基于近似二阶信息实现了一次性权重量化(one-shot weight quantization)。

3.2 AWQ 激活感知权重量化

3.3 BitsAndBytes

BNB 是承载 LLM.int8() 和 QLoRA 等前沿研究的工程基石。

四、Qwen2.5 模型推理量化实战


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐
2501_938140071 小时前
做内容很省心,2026好用AI笔记,支持抖音小红书视频无水印保存
人工智能
sell-cloud4 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国6 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI6 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区6 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris8 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy8 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V8 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI8 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技9 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人