Training large language models — 大型语言模型的训练

From Systems analysis wiki
Jump to navigation Jump to search

大型语言模型 (LLM) 的训练是一个复杂且资源密集的过程,在此过程中,一个拥有数十亿参数的神经网络在海量文本数据上进行训练,以理解和生成人类语言。这一过程是创建现代 LLM(如 GPT、BERT、Claude 和 Gemini)的基石。

训练的理论基础

Transformer 架构与注意力机制

现代 LLM 几乎完全基于 Transformer 架构,该架构能够高效处理长文本序列。其关键组件是自注意力机制 (self-attention),它使模型能够权衡整个序列中每个词的重要性。这使得模型能够捕捉长期依赖关系并并行处理数据,与循环神经网络 (RNN) 相比,极大地加快了训练速度。

主要任务:预测下一个词元

大多数 LLM(尤其是像 GPT 这样的生成式模型)所训练的基本任务是语言建模。模型学习根据所有先前的词元来预测序列中的下一个词元(单词或单词的一部分)。 形式上,模型通过链式法则分解来最大化序列 P(X) 的概率:

P(X)=t=1TP(xt|x1,,xt1)

训练时使用交叉熵损失函数,它衡量模型预测的概率分布与真实下一个词元之间的差异。

训练阶段

LLM 的训练过程通常包括两个主要阶段。

1. 预训练 (Pre-training)

这是规模最大、计算成本最高的阶段,模型在此阶段获得关于语言和世界的基础知识。

  • 数据:模型在海量未标记文本语料库上进行训练,其数据量可达数万亿词元。数据来源包括网页(如 Common Crawl)、维基百科、数字图书库(Google Books)和代码库(GitHub)。
  • 目标:形成通用的语言表示。模型学习语法、句法、事实,甚至一些逻辑推理元素。
  • 过程:这是一种自监督学习 (self-supervised learning),其中标签(正确的下一个词元)直接从数据本身中提取。训练可能在数千个 GPU 或 TPU 组成的集群上持续数周或数月。

2. 微调 (Fine-tuning) 与对齐 (Alignment)

预训练后,需要对“原始”模型进行调整,以适应特定任务并与人类期望对齐。

  • 监督微调 (Supervised Fine-tuning):模型在一个小而高质量的标记数据集(例如,“指令-回答”对)上进行微调,以学习遵循指令。
  • 基于人类反馈的强化学习 (RLHF):这是实现对齐的关键方法。该过程包括几个步骤:
    1. 人类标注员对模型针对同一提示生成的多个回答进行排序,从最好到最差。
    2. 基于这些数据训练一个奖励模型 (reward model),该模型学习预测人类会偏好哪个回答。
    3. 主 LLM 使用强化学习算法(如 PPO)进行微调,利用奖励模型作为信号源,以生成更有用、更诚实、更安全的回答。

这种两阶段方法(预训练 + 微调/对齐)已成为行业标准,能够创建出既强大又可控的语言模型。

实践方面

数据:收集、规模与准备

数据的质量和规模是 LLM 成功的决定性因素。

  • 收集:使用多样化的数据源,以确保广泛覆盖不同主题、风格和语言。
  • 清洗与过滤:这是至关重要的一步,包括删除重复内容、过滤低质量或有害内容,以及平衡数据来源,以防止模型在特定网络用语上过拟合。
  • 词元化:使用 BPE 或 SentencePiece 等算法将文本分割成词元(单词或子词)。词元化器和词汇表大小的选择直接影响模型的效率和质量。

分布式训练与计算资源

训练拥有数千亿甚至数万亿参数的模型需要巨大的计算资源,并需采用分布式训练技术。

  • 硬件:使用由数千个 GPU(如 NVIDIA A100/H100)或 TPU (Google) 组成的超级计算机,并通过高速网络(如 InfiniBand)连接。
  • 并行计算:为分配计算任务,采用了复杂的并行方案:
    • 数据并行 (Data Parallelism):每个 GPU 上的模型副本处理一部分数据。
    • 模型并行 (Model Parallelism):将模型本身分割成多个部分,分别放置在不同的 GPU 上。这包括张量并行(切分矩阵)和流水线并行(切分层)。
    • ZeRO (Zero Redundancy Optimizer):由 Microsoft DeepSpeed 开发的技术,可消除参数、梯度和优化器状态的冗余,从而能够训练规模大得多的模型。
  • 框架:为实现这些复杂的方案,使用了专门的框架,如 DeepSpeedMegatron-LM 和 Hugging Face Accelerate。

方法的历史演变

  • 1980-1990年代:基于 n-gram 的统计语言模型。
  • 2001-2010年代:基于 RNN 和 LSTM 的神经网络语言模型出现,能更好地捕捉长期依赖关系。
  • 2017年:论文《Attention Is All You Need》发表,Transformer 架构出现,使并行训练成为可能。
  • 2018-2019年:首批预训练 Transformer 模型——GPT-1 和 BERT——问世,确立了“预训练 + 微调”的范式。
  • 2020年:GPT-3 的发布标志着模型规模的突破,并出现了涌现的“少样本” (few-shot) 能力。
  • 2022年:ChatGPT 的推出使 RLHF 作为创建有用且安全的 AI 助手的关键方法得到普及。
  • 2023年至今:进入多模态模型(GPT-4、Gemini)时代,增加上下文窗口和发展智能体能力的竞争日益激烈。

参考文献

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
  • Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
  • Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.

外部链接