Skip to content

预训练与微调

预训练和微调是大型语言模型(LLM)开发的两个关键阶段。这种两阶段方法使得模型能够先学习通用知识,再适应特定任务。

预训练 (Pre-training)

预训练是在大规模无标签数据上训练模型的过程,目的是让模型学习语言的一般特性和知识。

预训练方法

掩码语言模型 (Masked Language Modeling, MLM)

  • 随机掩盖输入文本中的一部分词元
  • 训练模型预测这些被掩盖的词元
  • 代表模型:BERT, RoBERTa

自回归语言模型 (Autoregressive Language Modeling)

  • 训练模型预测序列中的下一个词元
  • 模型只能看到当前位置之前的词元
  • 代表模型:GPT系列, Claude, Llama

预训练数据

预训练通常使用互联网上的大量文本数据,如:

  • 网页内容
  • 书籍
  • 学术论文
  • 代码库
  • 维基百科

数据量通常以TB为单位,词元数以万亿计。

微调 (Fine-tuning)

微调是在预训练模型的基础上,使用特定任务的数据进行进一步训练,使模型适应特定应用场景。

微调方法

全参数微调 (Full Fine-tuning)

  • 更新模型的所有参数
  • 需要较大的计算资源
  • 效果通常最好

参数高效微调 (Parameter-Efficient Fine-tuning, PEFT)

  • 只更新部分参数,保持大部分预训练参数不变
  • 常见方法:LoRA, Adapter, Prompt Tuning, P-tuning
  • 大大降低计算和存储需求

微调数据

微调数据通常是针对特定任务的标注数据,如:

  • 问答对
  • 指令-响应对
  • 特定领域的文本(如医学、法律、金融等)
  • 人类反馈数据(RLHF)

指令微调 (Instruction Tuning)

指令微调是一种特殊的微调方式,训练模型理解并执行自然语言指令。

  • 使用"指令-响应"格式的数据
  • 提高模型的可用性和对齐性
  • 代表技术:InstructGPT, FLAN

人类反馈强化学习 (RLHF)

RLHF 是一种结合人类偏好的微调方法:

  1. 收集人类对模型不同输出的偏好数据
  2. 训练奖励模型捕捉人类偏好
  3. 使用强化学习优化语言模型以最大化奖励

微调的挑战

  • 过拟合风险
  • 灾难性遗忘
  • 计算资源需求
  • 数据质量和多样性

最佳实践

  • 使用高质量、多样化的数据
  • 选择适合任务和资源的微调方法
  • 监控验证性能,避免过拟合
  • 考虑使用参数高效微调方法节省资源

本文将持续更新,敬请关注!

基于 MIT 许可发布