Skip to content

0. 大型语言模型LLM的训练目标是什么?

大型语言模型(Large Language Models,LLM)的训练目标通常是最大似然估计(Maximum Likelihood Estimation,MLE)。

给定训练语料:

D={x(1),x(2),,x(N)}D=x(1),x(2),,x(N)

目标是最大化:

θ=argmaxθi=1NlogPθ(x(i))

对于一个序列 x=(x1,x2,,xT),概率分解为:

Pθ(x)=t=1TPθ(xtx<t)

最大似然估计是一种统计方法,用于从给定数据中估计概率模型的参数。在LLM的训练过程中,使用的数据通常是大量的文本语料库。训练目标是最大化模型生成训练数据中观察到的文本序列的概率。

具体来说,对于每个文本序列,模型根据前面的上下文生成下一个词的条件概率分布,并通过最大化生成的词序列的概率来优化模型参数。

为了最大化似然函数,可以使用梯度下降等优化算法来更新模型参数,使得模型生成的文本序列的概率逐步提高。在训练过程中,通常会使用批量训练(batch training)的方法,通过每次处理一小批数据样本来进行参数更新。

1. 大型语言模型中的参数是什么?参数量与模型能力有什么关系?

在大型语言模型中,参数是指模型中可以通过训练学习和调整的变量。

这些参数主要存在于模型的各个层中,如注意力层、前馈神经网络层等。

1. 参数的主要组成部分:

  • 词嵌入矩阵:将token ID映射为向量表示
  • 注意力机制中的权重矩阵:包括查询(Q)、键(K)、值(V)矩阵
  • 前馈神经网络中的权重和偏置
  • 层归一化(Layer Normalization)中的缩放和偏移参数
  • 位置编码参数(如果是可学习的位置编码)

2. 参数量与模型能力的关系:

  • 扩展定律(Scaling Law):
    • 模型性能随参数量增加而提升,通常遵循幂律关系
  • 能力提升:更大的参数量通常意味着:
    • 更强的记忆和知识存储能力
    • 更好的泛化能力
    • 更强的上下文理解能力
    • 更好的指令遵循能力
    • 更强的推理和创造能力
  • 涌现能力:
    • 当参数量达到一定阈值时,模型可能会表现出涌现能力,即突然获得之前没有的能力
  • 效率与限制:
    • 参数量增加会导致计算资源需求和训练成本增加
    • 推理延迟和内存需求也会增加
    • 存在收益递减现象,参数量增加到一定程度后,性能提升会变缓

3. 典型模型参数量参考:

  • BERT-base:110M
  • GPT-2:1.5B
  • GPT-3:175B
  • LLaMA 2:7B/13B/70B
  • GPT-4:估计超过1T

2. 大型语言模型的训练过程通常包括哪几个阶段?

  1. 预训练(Pre-training)

    • 数据:海量无标签文本

    • 方法:Next Token Prediction / Masked LM

    • 目标:学习语言基本结构和世界知识

    • 特点:最耗算力阶段(需数百/千 GPU/TPU 天)

  2. 监督微调(Supervised Fine-Tuning, SFT)

    • 数据:高质量指令-回答对(人工标注)

    • 目标:模型能理解和响应具体任务

    • 特点:数据质量要求高,资源成本中等

  3. 人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)

    • 三步流程:

      • 收集人类偏好数据(对多个回答排序)

      • 训练奖励模型(Reward Model)

      • 用PPO等RL方法优化模型输出

    • 目标:更符合人类偏好,有用、真实、无害

  4. 对齐调整(Alignment Tuning)

    • 目标:模型符合人类价值观与伦理标准

    • 方法:红队测试(Red-teaming)、对抗训练等

  5. 领域适应(Domain Adaptation)

    • 针对特定领域如医疗、法律进行额外微调

    • 使用专业数据提升特定任务表现

  6. 量化与优化(Quantization and Optimization)

    • 目标:降低推理资源成本

    • 方法:模型精度从 FP32/16 → INT8/INT4

    • 效果:减少模型体积,加快响应速度

💡补充说明:

某些模型跳过RLHF,采用 DPO(Direct Preference Optimization) 等直接偏好优化方法。

🌰举个例子:

  • 预训练:先读完整个互联网,相当于“打基础”。
  • SFT:教它常见问答套路,比如“如何退货”。
  • RLHF:请100位用户告诉它哪些回答更讨人喜欢。
  • 对齐调整:确保它不会发表不当言论或泄露隐私。
  • 领域适应:让它专攻“医保政策”领域。
  • 量化优化:把它从一个巨型AI“瘦身”成能部署在手机端的小助手。

3. 大模型训练涉及哪些主要阶段?(例如预训练、指令微调、对齐)

大模型训练一般包括 预训练 → 指令微调(SFT) → 对齐(Alignment) 三大核心阶段,另外还可能包含持续预训练和特定任务/领域微调。

  1. 预训练 (Pre-training)

    • 目标:学习通用语言知识、语法、世界知识和基本推理能力。

    • 数据:海量无标签文本(网页、书籍、代码等)。

    • 方法:自监督学习(MLM,如 BERT;CLM,如 GPT)。

    • 计算:极大算力(数千 GPU/TPU,训练数周到数月)。

    • 产出:基础模型(Foundation Model),具备通用理解/生成能力。

  2. 指令微调 (Instruction Fine-tuning / SFT)

    • 目标:教会模型理解并执行自然语言指令。

    • 数据:指令-输入-输出对(人工编写/收集,规模数万~数十万)。

    • 方法:监督学习微调(输入指令 → 学习期望输出)。

    • 产出:指令调优模型,更像“助手”。

  3. 对齐 (Alignment / Preference Tuning)

    • 目标:让模型符合人类偏好与价值观(Helpfulness、Honesty、Harmlessness)。

    • 数据:人类偏好数据(如成对比较)。

    • 方法:RLHF(奖励模型 + 强化学习,如 PPO)、DPO 等。

    • 产出:对齐后的模型(如 ChatGPT、Claude)。

  4. 可选阶段

    • 持续预训练:更新或特定领域语料上继续预训练。

    • 特定任务/领域微调:针对特定任务(如医疗 NLP)进一步调优(常结合 PEFT)。

可能的面试追问角度

  1. 预训练和指令微调的区别是什么?
  • 示例答句
    “预训练的目标是学习通用知识和语言规律,数据是无标签的海量语料;而指令微调是用人工构造的指令-输出对,让模型学会遵循人类任务指令,两者在目标、数据和方法上都不同。”

  • 关键要点

    • 预训练:无监督 / 自监督 → 通用知识。

    • SFT:有监督 → 特定任务对齐。

    • 成果:基础能力 vs 助手化能力。

  • 回答模板
    “预训练是 学习语言本身,而指令微调是 学习遵循人类指令。”

  • 可能延伸追问

    • “SFT 数据为什么远小于预训练数据却能显著改变模型行为?”

      • 应对:强调指令数据是高价值标注数据,对模型行为有较大约束力。
  1. 为什么需要对齐阶段?仅靠 SFT 不行吗?
  • 示例答句
    “SFT 虽然能让模型执行任务,但它仍可能产生有害、偏见或不符合人类价值的输出。对齐阶段通过 RLHF 或 DPO 引入人类偏好信号,使模型更安全、诚实、无害。”

  • 关键要点

    • SFT 解决任务遵循,但不能保证安全/价值观一致。

    • 对齐确保有用、无害、符合人类期望。

  • 回答模板
    “SFT 解决 能做什么,对齐解决 该怎么做才符合人类价值观。”

  • 可能延伸追问

    • “如何衡量对齐效果?”

      • 应对:参考 HHH 框架(Helpful, Honest, Harmless)、用户偏好投票、人类评估。
  1. RLHF 的流程和挑战有哪些?
  • 示例答句
    “RLHF 包含三个步骤:先用人工比较数据训练奖励模型,再用该奖励模型指导强化学习(如 PPO)更新 LLM。挑战包括奖励模型偏差、标注成本高、训练不稳定等。”

  • 关键要点

    • 三步流程:SFT → 奖励模型 → PPO 微调。

    • 挑战:偏差、标注成本、样本效率低。

  • 回答模板
    “RLHF = 奖励模型 + 强化学习,难点在于 偏差和训练稳定性。”

  • 可能延伸追问

    • “为什么要用 PPO,而不是直接最大化奖励?”

      • 应对:PPO 保证更新平稳,避免模型崩坏。
  1. 持续预训练和领域微调的典型应用场景是什么?
  • 示例答句
    “持续预训练常用于引入最新知识或特定领域语料,比如法律、医疗语料;而领域微调则用于优化某个具体任务的表现,比如医疗问答系统或法律文书生成。”

  • 关键要点

    • 持续预训练:补充知识。

    • 领域微调:任务特化。

  • 回答模板
    “持续预训练解决 知识更新,领域微调解决 任务优化。”

  • 可能延伸追问

    • “为什么不直接用小模型做领域任务?”

      • 应对:大模型带来更强泛化和迁移,小模型可以结合蒸馏/LoRA。
  1. SFT / RLHF / DPO 的优缺点分别是什么?
  • 示例答句
    “SFT 简单高效,但覆盖有限;RLHF 更贴近人类偏好,但标注和训练复杂;DPO 不需要显式奖励模型,训练更稳定,但需要大量成对比较数据。”

  • 关键要点

    • SFT:成本低 → 覆盖有限。

    • RLHF:强大 → 成本高 / 复杂。

    • DPO:直接优化 → 数据需求大。

  • 回答模板
    “SFT = 简单但有限;RLHF = 强大但昂贵;DPO = 直接但依赖数据。”

  • 可能延伸追问

    • “未来趋势是 RLHF 还是 DPO?”

      • 应对:行业逐渐探索更高效的 DPO / RLAIF,但目前 RLHF 仍是主流。

4. 什么是token?在大型语言模型中的作用是什么?

在大型语言模型中,token是文本的基本处理单位,是将文本分割成的最小单元。

token可以是单词、子词、字符或标点符号,取决于使用的分词算法 模型不直接处理原始文本,而是将文本转换为token序列进行处理 token是模型理解和生成文本的基础单位 每个token都会被映射到一个唯一的数字ID,用于模型的输入和输出

token在大型语言模型中的重要性:

  • 输入表示:将自然语言文本转换为模型可以处理的数值形式
  • 上下文长度:模型的上下文窗口大小通常以token为单位计算(如GPT-4可处理8K或32K tokens)
  • 计算效率:合理的分词可以减少序列长度,提高计算效率
  • 多语言支持:不同语言可以使用不同的分词策略
  • 成本计算:API调用通常按处理的token数量计费

常见的分词方法:

  • BPE (Byte-Pair Encoding):GPT系列使用的分词算法
  • WordPiece:BERT使用的分词算法
  • SentencePiece:多语言模型常用的分词算法
  • Unigram:一些现代模型使用的分词算法

5. Prefix LM 和 Causal LM 的区别是什么?

Prefix LM(前缀语言模型)和 Causal LM(因果语言模型)是两种不同类型的语言模型,它们的区别在于生成文本的方式和训练目标。

  • Prefix LM:

    Prefix LM其实是Encoder-Decoder模型的变体 在标准的Encoder-Decoder模型中,Encoder和Decoder各自使用一个独立的Transformer

    而在Prefix LM,Encoder和Decoder则共享了同一个Transformer结构,在Transformer内部通过Attention Mask机制来实现。

    Prefix LM在Encoder部分采用Auto Encoding (AE-自编码)模式,即前缀序列中任意两个token都相互可见,Decoder部分采用Auto Regressive (AR-自回归)模式,即待生成的token可以看到Encoder侧所有token(包括上下文)和Decoder侧已经生成的token,但不能看未来尚未产生的token Prefix LM的代表模型有UniLM、GLM。

  • Causal LM:

    Causal LM是因果语言模型,目前流行的大多数模型都是这种结构(如GPT系列、LLaMa等) Causal LM只涉及到Encoder-Decoder中的Decoder部分,采用Auto Regressive模式,根据历史的token来预测下一个token,在Attention Mask中做了限制,每个Token的表示只和它之前的输入有关

前缀语言模型可以根据给定的前缀生成后续的文本,而因果语言模型只能根据之前的文本生成后续的文本。它们的训练目标和生成方式略有不同,适用于不同的任务和应用场景。

6. 为何现在的大模型大部分是Decoder only结构?

现在的大模型大部分采用Decoder only结构的原因主要有以下几点:

  • Encoder的低秩问题:Encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力,就生成任务而言,引入双向注意力并无实质好处。

  • 更好的Zero-Shot性能、更适合于大语料自监督学习:decoder-only模型在没有任何tuning数据的情况下、zero-shot表现最好,而encoder-decoder则需要在一定量的标注数据上做multitask finetuning才能激发最佳性能。

  • 效率问题:decoder-only支持一直复用KV-Cache,对多轮对话更友好,因为每个Token的表示之和它之前的输入有关,而encoder-decoder和PrefixLM就难以做到。

  • 架构简化:Transformer模型一开始是用来做Seq2seq任务的,所以它包含Encoder和Decoder两个部分。Encoder在抽取序列中某一个词的特征时能够看到整个序列中所有的信息,即上文和下文同时可见;而Decoder在生成某一个词时只能看到这个词之前的信息,即只能看到上文。

  • 生成任务的适应性:对于生成任务,只需要根据上文生成下文,不需要看到下文信息,因此Decoder-only结构更适合。

  • 参数效率:相比于Encoder-Decoder结构,Decoder-only结构参数更少,训练和推理效率更高。

  • 成功案例的影响:GPT系列模型的成功使得更多研究和应用倾向于采用Decoder-only结构。