profileName: youpingfang postId: 193 postType: post categories:

- 6

简介

这篇笔记基于对 LLM 入门视频的学习整理而成,重点聚焦预训练(Pretraining)阶段
预训练可以理解为:让一个“初始几乎空白”的模型,通过海量文本学习语言规律,最终具备“根据上下文预测下一个 token”的能力。


LLM 预训练全流程(专业概括)

通常可以拆成四步:数据构建 → Token 化 → 参数训练 → 推理使用

1)数据构建:先准备“可学习”的高质量语料

LLM 的原始语料通常来自大规模网页抓取数据(如 Common Crawl)。
但原始互联网数据噪声很高,包含广告、垃圾页面、违规内容、重复内容、隐私信息等,因此必须进行清洗。

典型清洗流程包括:

  1. 过滤低质量与不合规站点
  2. 从 HTML 中提取正文文本
  3. 去重(文档级/段落级)
  4. 脱敏(手机号、地址等隐私信息)

经过清洗后形成可训练语料(例如一些基于 Common Crawl 深度清洗得到的数据集)。
关键点:预训练效果很大程度取决于数据质量,而不仅是数据规模。


2)Token 化:把文本转成模型可处理的数字序列

模型不直接理解自然语言,只处理数字。因此需要先把文本编码并切分为 token。

  • 底层可由 UTF-8 等编码将字符映射为字节/数字。
  • 若直接按字符或字节建模,序列会非常长,训练成本高。

因此工程上常用 BPE(Byte Pair Encoding) 等子词分词算法:
将高频共现的字符片段不断合并为新 token,从而在“词表大小”和“序列长度”之间取得平衡。

结果是得到一个词表(常见几万到十万级 token),并把语料转成 token 序列供训练使用。


3)参数训练:本质是“下一个 token 预测”

训练时,模型读取上文并预测下一个 token 的概率分布。
例如给定前文“猫在……”,模型会对词表中每个 token 给出概率,概率总和为 1。

模型内部可看作一个参数规模巨大的函数(神经网络)。
初始参数是随机的,预测通常不准确;通过和真实答案比较计算损失,再用梯度下降不断更新参数。
该过程在海量语料上重复进行,模型逐步学到语法、语义与常识统计规律。

训练完成后得到 Base Model(基础模型),其参数在部署推理时通常固定。


4)推理使用:自回归逐 token 生成

用户输入提示词后,模型按“预测一个 token → 拼回输入 → 再预测下一个”的方式循环生成文本,直到满足停止条件。
这就是自回归生成。

由于输出是基于概率采样(而非永远选唯一最大值),同一问题多次提问可能得到不同表述;
采样策略(如温度、top-k/top-p)会影响答案的稳定性与创造性。


一句话总结

LLM 预训练的核心可归纳为三件事:

  1. 用高质量流程构建训练语料
  2. 把文本转成 token 序列
  3. 通过大规模“下一个 token 预测”训练参数

最终得到可用于对话与生成的基础语言模型。


面试题与参考答案

1. LLM 预训练的目标是什么?

答:在海量文本上学习语言统计规律,使模型具备根据上下文预测下一个 token 的能力,形成通用基础模型。

2. 为什么原始互联网数据不能直接用于训练?

答:原始数据噪声高,包含广告、重复、违规与隐私信息;不清洗会降低模型质量并引入安全与合规风险。

3. 为什么需要 Token 化?

答:神经网络处理的是数字而非文本。Token 化把自然语言映射为离散符号序列,便于模型训练与推理。

4. BPE 解决了什么问题?

答:BPE 通过合并高频子串,减少序列长度、提升训练效率,并在词表规模与表达能力之间取得平衡。

5. 预训练阶段“模型在学什么”?

答:学习条件概率分布 (P(token_t \mid context)),即给定上下文时下一个 token 的概率。

6. 为什么同一个问题多次提问,模型回答可能不同?

答:因为生成阶段通常采用概率采样机制,不同采样路径会产生不同输出;温度等参数会放大或减弱这种差异。

7. Base Model 和后续 SFT/RLHF 的关系是什么?

答:Base Model 由预训练获得通用语言能力;SFT/RLHF 在其基础上进一步对齐人类偏好与任务需求,提升可用性与安全性。

8. 影响预训练效果的关键因素有哪些?

答:主要包括数据质量与多样性、tokenizer 设计、模型规模、训练算力与训练策略(学习率、批大小、训练步数等)。