跳转到内容

大模型的后训练

Post-training

两篇综述:[1][2]

对于私有化,或有垂直行业需求的开发者,一般需要对模型进行二次训练(微调,对齐等),在训练后进行评测和部署。从训练角度来说,需求一般是:

  • 具有大量未标注行业数据,需要重新进行CPT。一般使用Base模型进行。
  • 具有大量问答数据对,需要进行SFT,根据数据量选用Base模型或Instruct模型进行。
  • 需要模型具备独特的回复能力,额外做一次RLHF。
  • 需要对模型特定领域推理能力(或思维链)增强,一般会用到蒸馏、采样微调或GRPO[3]

Fine-tuning

微调预估显存消耗[4]

MethodsBits7B14B30BnB
Full (bf16 or fp16)32120 GB240GB600GB18nGB
Full (pure_bf16)1660 GB120GB300GB8nGB
Freeze/Lora/GaLore/APOLLO/BAdam1616 GB32GB64GB2nGB
QLoRA810 GB20GB40GBnGB
QLoRA46 GB12GB24GBn/2GB
QLoRA24 GB8GB16GBn/4GB

Reinforcement Learing

GRPO 全量微调显存需求[5]

MethodBits1.5B3B7B32B
GRPO Full Fine-TuningAMP2*24GB4*40GB8*40GB16*80GB
GRPO Full Fine-TuningBF161*24GB1*40GB4*40GB8*80GB

训练框架

LoRA

LoRA[6]是一种参数高效微调方法,用于将大语言模型适应到下游任务。LoRA 显著减少了可训练参数的数量和 GPU 内存需求,同时实现了与完全微调相当甚至更优的性能,并且独特之处在于它不引入额外的推理延迟。

假设:适应过程中的权重更新具有较低的“内在秩。

Weight updates during adaptation have a low "intrinsic rank.

对于任何预训练权重矩阵 W0Rd×k,LoRA 将权重更新 ΔW 表示为低秩分解:

W=W0+ΔW=W0+BA

其中 BRd×rARr×k 的秩 rmin(d,k)

在训练期间,原始权重 W0 保持冻结,只训练小得多的矩阵 AB。前向传播变为:

h=W0x+ΔWx=W0x+BAx

其中:

  • 矩阵 A 用随机高斯值初始化,而 B 初始化为零,确保训练开始时 ΔW=0
  • BAx 应用缩放因子 αr,以在改变秩 r 时减少超参数敏感性

Reference


  1. LLM Post-Training: A Deep Dive into Reasoning Large Language Models | alphaXiv ↩︎

  2. A Survey on Post-training of Large Language Models | alphaXiv ↩︎

  3. Qwen3 X ModelScope工具链: 飞速训练 + 全面评测 ↩︎

  4. xming521/WeClone: 欢迎star⭐。🚀从聊天记录创造数字分身的一站式解决方案💡 使用微信聊天记录微调大语言模型,让大模型有“那味儿”,并绑定到聊天机器人,实现自己的数字分身。 数字克隆/数字分身/数字永生/声音克隆/LLM/大语言模型/微信聊天机器人/LoRA ↩︎

  5. hiyouga/EasyR1: EasyR1: An Efficient, Scalabl ↩︎

  6. [2106.09685] LoRA: Low-Rank Adaptation of Large Language Models ↩︎

基于 MIT 许可发布