Gellow 旋转头像
One Summer's Day
钢琴 · 轻音乐
0:000:00
随机遍历 · 9 首
Insert Coin To Load
M
Loading Markdown

正在渲染文章与目录。

markdown / full reading page

微调&量化

微调与量化的常见概念

大模型微调与量化核心知识总结 ​

1. 微调(Fine-tuning) ​

核心概念 ​

微调是在已有预训练模型基础上继续训练,使模型适应特定任务、领域或行为。

简单理解:

  • 预训练:让模型学会通用能力
  • 微调:让模型变成某种专用模型

例如:

Qwen → AI 技术助手、代码助手、客服模型。


2. 为什么不用重新训练 ​

全量重新训练一个大模型成本极高:

  • 参数量巨大
  • 数据需求大
  • GPU资源需求高

因此实际开发主要采用参数高效微调(PEFT)。


3. 微调方式 ​

Full Fine-tuning(全参数微调) ​

更新模型全部参数。

优点:

  • 效果通常最好

缺点:

  • 显存需求巨大
  • 训练成本高

个人和小团队通常不采用。


PEFT(参数高效微调) ​

核心思想:

冻结原模型,只训练少量新增参数。

优势:

  • 显存需求低
  • 训练速度快
  • 易于保存和部署多个任务版本

4. LoRA(重点) ​

LoRA(Low-Rank Adaptation):

不直接修改原始权重,而是在部分层加入低秩矩阵。

原权重:

W

训练:

W + ΔW

其中:

ΔW = A × B

A、B 是小矩阵。

优势:

  • 训练参数量大幅减少
  • 效果接近全量微调
  • 当前应用最广泛

5. QLoRA(量化 + LoRA) ​

QLoRA:

Quantized LoRA。

流程:

FP16模型
↓
4bit量化(通常NF4)
↓
冻结量化模型
↓
训练LoRA参数

优势:

  • 大幅降低显存
  • 小显卡也可以微调较大模型

例如:

7B模型:

FP16约14GB

4bit后约4GB左右(实际略高)


6. 微调适合解决什么问题 ​

适合:

  • 输出格式固定
  • 角色/风格调整
  • 特定任务能力增强
  • 工具调用习惯训练

不适合:

  • 大量知识注入

知识更新通常优先考虑 RAG。

总结:

  • RAG:解决"模型知道什么"
  • 微调:解决"模型怎么做事"

7. 训练常见概念 ​

Epoch ​

完整遍历训练数据的次数。

Batch Size ​

一次送入模型的数据量。

Learning Rate ​

参数更新幅度。

过大会导致训练不稳定,过小学习缓慢。

Gradient Accumulation ​

梯度累积。

用多次小batch模拟大batch,降低显存压力。


8. 常见工具链 ​

训练:

  • PyTorch
  • Transformers
  • PEFT
  • TRL
  • bitsandbytes

模型:

  • Qwen
  • Llama
  • Mistral 等

9. 量化(Quantization) ​

核心概念 ​

量化是降低模型参数表示精度,从而减少显存和提高推理效率。

区别:

  • 微调:改变模型
  • 量化:压缩模型

10. 位宽概念 ​

参数占用:

格式 bit 占用


FP32 32bit 4 Byte FP16/BF16 16bit 2 Byte INT8 8bit 1 Byte INT4 4bit 0.5 Byte

位数越低:

  • 显存越少
  • 信息损失可能越大

11. 常见量化方式 ​

INT8 ​

整数8bit量化。

特点:

  • 精度损失小
  • 硬件支持好

适合生产部署。


INT4 ​

4bit整数量化。

特点:

  • 显存大幅下降
  • 精度损失比INT8明显

GPTQ ​

通过优化量化误差进行权重量化。

特点:

  • 4bit效果较好
  • 常用于推理部署

AWQ ​

Activation-aware Weight Quantization。

核心:

保护重要权重,减少关键参数损失。

特点:

  • LLM部署常用
  • 推理效果优秀

NF4 ​

Normal Float 4-bit。

QLoRA常用格式。

特点:

  • 根据神经网络权重分布设计
  • 4bit情况下保持较好训练效果

12. 微调和量化关系 ​

典型流程:

基础模型
    |
    |
    +-- RAG
    |
    +-- LoRA微调
            |
            +-- QLoRA(4bit量化训练)

部署阶段:
    |
    +-- AWQ/GPTQ等量化

核心理解:

  • RAG:增加外部知识
  • 微调:改变模型行为
  • 量化:降低运行成本
Back To Note