"Pretraining has had a major, tangible impact on how well NLP systems work." — Diyi Yang, CS224N 2026
2018 年 BERT 的发布是 NLP 史上的哥白尼时刻。在此之前,NLP 研究者面对每一个新任务都要: 设计专门的模型架构、收集任务特定的标注数据、训一个从随机权重开始的模型。 BERT 之后,这套流程被彻底改写为"先在海量无标签文本上预训练一个通用模型,然后在每个下游任务上微调"。
这场革命的可视化最清楚的来自 Kiela et al. (2021) 的"基准饱和"曲线。 看 GLUE / SuperGLUE / SQuAD 这些曾经"难得离谱"的基准—— 在 BERT 出现之前几年都在 70% 附近徘徊,BERT 之后短短两年就被顶到接近人类水平:
"基础模型"(Foundation Models, Bommasani et al., 2021)这个术语精准刻画了这一新范式: 用海量、异质数据训一个超大模型,然后通过 adaptation 适配到无数下游任务。
预训练范式的三个核心信念:
本教材沿着 Diyi Yang 的讲座结构,分四大板块带你深入:
深度学习早期,NLP 默认的词表假设是这样的:
来看这种方案在面对真实文本时的崩塌:
| 类别 | word | vocab mapping | embedding |
|---|---|---|---|
| 常用词 | hat | hat (id) | |
| 常用词 | learn | learn (id) | |
| 变体拉长 | taaaasty | UNK | |
| 拼写错误 | laern | UNK | |
| 新造词 | Transformerify | UNK |
三个主要痛点:
更深层的问题:词表无法 scale。如果想覆盖所有可能的变形,词表必然爆炸(百万级以上), embedding table 占用的内存超过模型本身。
解决方案是 subword 分词——把单词拆成更小的"已知碎片"。 Byte-Pair Encoding (BPE)(Sennrich et al., 2016;最早源自 1994 年的数据压缩算法) 是最成功也最常用的算法。
1. 初始化词表 = {所有字符} ∪ {</w> 词尾符号}
2. 把语料中每个单词写成 char 序列 + </w>
例如 "low" → l o w </w>
3. for i in range(num_merges):
- 统计语料中所有相邻 token 对的频率
- 找出最高频对 (a, b)
- 把 "a b" 合并为新 token "ab",加入词表
- 在语料里把所有 (a, b) 替换为 ab
4. 训练结束 → 词表 = chars + 所有 merge 出的 subword
假设语料只有 5 个单词:"low low low lower newest widest":
| 步骤 | 语料 | 最高频对 | 新 token |
|---|---|---|---|
| 初始 | l o w </w> · l o w </w> · l o w </w> · l o w e r </w> · n e w e s t </w> · w i d e s t </w> | (e, s) 出现 2 次 | es |
| 合并 1 | ... n e w es t </w> · w i d es t </w> | (es, t) 出现 2 次 | est |
| 合并 2 | ... n e w est </w> · w i d est </w> | (l, o) 出现 4 次 | lo |
| 合并 3 | lo w </w> ... | (lo, w) 出现 4 次 | low |
经过足够多次合并,常用词("low"、"est")成为单一 token,罕见词被拆成多个 subword。 最终词表大小通常 30k - 50k(BERT 用 30k,GPT-3 用 ~50k,LLaMA 用 32k)。
| word | subword tokens | 说明 |
|---|---|---|
| hat | hat | 常用词,作为单一 token |
| learn | learn | 常用词 |
| taaaasty | taa## aaa## sty | 拆成 3 个 subword |
| laern | la## ern## | 拆成 2 个 subword |
| Transformerify | Transformer## ify | 主词根 + 后缀 |
## 是 WordPiece 风格的"中段 subword"标记。最坏情况下每个 char 都是单独的 subword,但绝不会出现 UNK。
BPE 有几个有影响力的变体:
| 算法 | 核心差异 | 代表模型 |
|---|---|---|
| BPE (Sennrich 2016) | 选择"最高频"的相邻对合并 | GPT-2/3, RoBERTa |
| WordPiece (Wu 2016) | 选择能最大化"语言模型似然"的对合并;带 ## 前缀标识 subword | BERT, DistilBERT |
| SentencePiece + Unigram (Kudo 2018) | 把空格当普通字符;用 EM 算法做概率化分词,可输出多种切分方案 | T5, ALBERT, XLNet, LLaMA |
| byte-level BPE (GPT-2) | 从 UTF-8 bytes 开始合并而非 chars;适合多语言 | GPT-2/3, RoBERTa |
看一段中英混合文本被不同 tokenizer 切分的差异:
| Model | "I love 自然语言处理 NLP!" | Token 数 |
|---|---|---|
| BERT (WordPiece) | ['I', 'love', '自', '然', '语', '言', '处', '理', 'N', '##L', '##P', '!'] | 12 |
| GPT-2 (byte-BPE) | ['I', ' love', ' 自', '然', '语', '言', '处', '理', ' N', 'LP', '!'] | 11 |
| LLaMA (SentencePiece) | ['▁I', '▁love', '▁', '自', '然', '语', '言', '处', '理', '▁NLP', '!'] | 11 |
| Qwen / cl100k_base | ['I', ' love', ' 自然', '语言', '处理', ' NLP', '!'] | 7 |
注意 Qwen / GPT-4 用的 cl100k_base 词表特别照顾了中文——
"自然"、"语言"、"处理"都是单个 token。这是因为它们在中文语料上专门做了 BPE 训练。
"You shall know a word by the company it keeps." — J. R. Firth (1957)
这是 NLP 整个分布式语义学(distributional semantics)的奠基性论断。 2013 年的 word2vec(Mikolov et al.)把它工程化为算法: 通过预测词的上下文(或反过来),学到一个 词向量 $v_w \in \mathbb{R}^d$。
但 Firth 还有另一句更深的话:
"... the complete meaning of a word is always contextual, and no study of meaning apart from a complete context can be taken seriously." — J. R. Firth (1935)
这句话指出了 word2vec 的根本局限:一个词在不同语境中意义不同。看经典例子:
这就是为什么 NLP 必须从 静态词向量(word2vec, GloVe, FastText) 升级到 上下文相关词向量(contextual representations)。 后者由 LSTM / Transformer 在具体句子中动态计算,从而对"the bank of a river" vs "the Bank of America" 给出不同 embedding。
2017 年左右,主流范式是"半预训练":
代表性工作:ELMo(Peters et al., 2018)用预训练 BiLSTM 提供 contextual embeddings, 但下游模型本体仍需要任务自己训练。
2018 年的转折:"为什么不把整个模型都预训练?"
预训练的关键 trick 是把输入的一部分藏起来,让模型重建。这种"完形填空式"的自监督学习 让模型自动学到关于语言的一切。让我们看几个具体例子,每个填空背后藏着不同的语言知识:
这就是预训练的核心威力:一个"重建被遮住的部分"的任务,迫使模型学习语言所有层级的知识—— 从词形、句法、语义到世界知识、推理。 不需要给模型任何显式标注,海量纯文本就足以教会它一切。
形式化地说,预训练 + 微调可以写成两个阶段的优化:
所有这套范式都依赖海量、多样化、质量过得去的文本数据。各模型的训练语料:
| Model | Training Data |
|---|---|
| BERT | BookCorpus (800M words) + English Wikipedia (2.5B words) |
| GPT-1 | BookCorpus (~7000 books) |
| GPT-3 | CommonCrawl + WebText + Wikipedia + Books1 + Books2 (~300B tokens) |
| GPT-3.5+ | Undisclosed(OpenAI 不再公开) |
| LLaMA | CommonCrawl, C4, GitHub, Wikipedia, Books, ArXiv, StackExchange (~1.4T tokens) |
| Pile (开源) | 22 个 dataset 混合:PubMed Central, ArXiv, FreeLaw, USPTO, GitHub, StackExchange, Wikipedia, OpenWebText2, ... |
来看 The Pile(Gao et al., 2020)的成分组成图:
预训练数据规模到了 TB-PB 级,几乎不可能 hand-pick——多数都是互联网爬虫 + 已有数据集混合。 但其中相当部分内容是受版权保护的。这引发了 2023-2026 年一系列重大法律纠纷:
美国版权法的 fair use 原则有四个判断因素:使用目的、原作性质、使用量、对原作市场的影响。 AI 训练能否归入 fair use 目前完全是开放问题。
这场争论会长期影响 LLM 行业。未来可能出现: 许可证型数据集成为主流(如 AI2 的 Dolma、Apple 的 OpenELM 训练集都强调 "permissively licensed"); 更严格的opt-out 机制(robots.txt 之类的标记 AI 训练禁用);甚至按 token 付费给原作者。
"The neural architecture influences the type of pretraining, and natural use cases." Transformer 家族其实是三种不同的注意力机制配置:
| 架构 | 注意力 | 预训练目标 | 典型用途 |
|---|---|---|---|
| Encoders | 双向 (bidirectional) | Masked LM | 分类、序列标注、相似度、QA span 抽取 |
| Encoder-Decoders | encoder 双向 + decoder 因果 + cross-attn | Span corruption / Prefix LM | 翻译、摘要、seq2seq 改写、闭书 QA |
| Decoders | 因果 (causal, 仅看过去) | Autoregressive LM | 开放生成、对话、in-context learning、所有"LLM 应用" |
2018-2020 年是 BERT / Encoder 的时代,2020-2022 是 T5 / Encoder-Decoder 的时代, 2022 之后是 Decoder-only 的天下(GPT-3.5/4、Claude、Gemini、LLaMA 全是 decoder-only)。 为什么?我们逐个讲完后再回答。
BERT(Bidirectional Encoder Representations from Transformers, Devlin et al., 2018)的核心创新是 解决一个矛盾:encoder 是双向的,所以不能直接做 language modeling。
回忆 LM 目标 $p_\theta(w_t \mid w_{1:t-1})$——它要求模型只看过去预测未来。 但 encoder 中每个位置都能看到所有其他位置(包括未来),如果直接做 LM 任务,模型会"作弊": 直接从输入复制答案而无需建模。
朴素的 mask 方案有一个微妙问题:训练时输入里有 [MASK] token,但微调时永远不会出现 [MASK]。 这会造成 train/test 分布不一致。Devlin 设计了一个精巧的三种扰动混合:
I [MASK] to the store → 主要的训练信号I pizza to the store → 强迫模型对每个 token 建立强表示,不能依赖"这位置 mask 了就重点关注"的捷径I went to the store → 缓解 train/test mismatch,让模型在看到原词时也能"预测"它所有 token 中只有 15% 被选中参与上述扰动;其余 85% 保持原样且不参与 loss 计算。 这意味着 BERT 每个 batch 的有效监督信号只有 15%——这也是它比 GPT 训练成本高的部分原因 (GPT 自回归 LM 每个 token 都是监督信号)。
BERT 的输入是两段连续文本的拼接,加上特殊 token:
BERT 原版同时训练两个目标:
NSP 的设计动机是让模型学习跨句子关系,有助于 QA、NLI 等任务。 但RoBERTa(Liu et al., 2019)后来证明 NSP 反而是噪声—— 去掉 NSP,只用更大的 batch 训更久,BERT 反而更强。
BERT 发布时公开了两个尺寸的模型:
| 模型 | Layers | Hidden | Heads | Params | 训练资源 |
|---|---|---|---|---|---|
| BERT-base | 12 | 768 | 12 | 110M | 64 TPU × 4 天 |
| BERT-large | 24 | 1024 | 16 | 340M |
训练数据:BookCorpus (800M 词) + English Wikipedia (2,500M 词)。 "Pretrain once, finetune many times" 成为新范式:预训练贵但只跑一次,微调便宜可在单 GPU 上完成。
| System | MNLI | QQP | QNLI | SST-2 | CoLA | STS-B | MRPC | RTE | Avg |
|---|---|---|---|---|---|---|---|---|---|
| Pre-OpenAI SOTA | 80.6 | 66.1 | 82.3 | 93.2 | 35.0 | 81.0 | 86.0 | 61.7 | 74.0 |
| BiLSTM+ELMo+Attn | 76.4 | 64.8 | 79.8 | 90.4 | 36.0 | 73.3 | 84.9 | 56.8 | 71.0 |
| OpenAI GPT | 82.1 | 70.3 | 87.4 | 91.3 | 45.4 | 80.0 | 82.3 | 56.0 | 75.1 |
| BERT-base | 84.6 | 71.2 | 90.5 | 93.5 | 52.1 | 85.8 | 88.9 | 66.4 | 79.6 |
| BERT-large | 86.7 | 72.1 | 92.7 | 94.9 | 60.5 | 86.5 | 89.3 | 70.1 | 82.1 |
BERT-large 在 GLUE 上平均比之前 SOTA 高 7 个点——这在 NLP 学界几乎是地震级的提升。 2018-2019 整年的 NLP 顶会论文,绝大多数都是 "X + BERT" 的某种组合。
BERT 这类双向 encoder 训练时没有 "left-to-right" 因果约束,所以不能自然地做 autoregressive 生成。 它适合的下游任务格式是:
不适合的:开放式文本生成、对话、翻译、摘要——这些都需要 1-word-at-a-time 的自回归生成能力。
RoBERTa(Robustly Optimized BERT, Liu et al., 2019)做了几个"简单但有效"的改进:
| Model | data | bsz | steps | SQuAD | MNLI-m | SST-2 |
|---|---|---|---|---|---|---|
| BERT-large + Books+Wiki | 13GB | 256 | 1M | 90.9 / 81.8 | 86.6 | 93.7 |
| RoBERTa + Books+Wiki | 16GB | 8K | 100K | 93.6 / 87.3 | 89.0 | 95.3 |
| + additional data | 160GB | 8K | 100K | 94.0 / 87.7 | 89.3 | 95.6 |
| + pretrain longer | 160GB | 8K | 300K | 94.4 / 88.7 | 90.0 | 96.1 |
| + pretrain even longer | 160GB | 8K | 500K | 94.6 / 89.4 | 90.2 | 96.4 |
SpanBERT(Joshi et al., 2020)把"随机 mask 单个 token"改为"mask 连续的 span"。 直觉:连续多个 token 一起被 mask 后,模型必须用"远距离"上下文重建,学到的表示更强。
| BERT 风格 mask | SpanBERT 风格 mask | |
|---|---|---|
| 原句 | It's irresistibly good | It's irresistibly good |
| mask 模式 | [MASK] irr## [MASK] sti## [MASK] good | It' [MASK] [MASK] [MASK] [MASK] good |
| 要预测 | It's, esi##, bly | irr##, esi##, sti##, bly |
SpanBERT 在 SQuAD、coreference、relation extraction 上都比 BERT 更强—— mask span 这个简单改动后来被 T5 的 span corruption 进一步发扬光大。
T5(Text-to-Text Transfer Transformer, Raffel et al., 2020)的设计哲学是 "所有 NLP 任务都是 text-to-text"——把任何任务(分类、翻译、QA、摘要) 都包装成"输入文本 → 输出文本"格式,由 encoder-decoder 架构统一处理。
对 encoder-decoder,最朴素的想法是 prefix language modeling:
Raffel et al. 实验后发现,span corruption 比 Prefix LM 效果更好:
Span corruption 的关键点:
| Architecture | Objective | Params | GLUE | SQuAD | EnDe (翻译) |
|---|---|---|---|---|---|
| ★ Encoder-decoder | Denoising (span corruption) | 2P | 83.28 | 80.88 | 26.98 |
| Enc-dec shared | Denoising | P | 82.81 | 80.63 | 26.72 |
| Language model (decoder) | Denoising | P | 74.70 | 61.14 | 25.09 |
| Prefix LM | Denoising | P | 81.82 | 78.94 | 26.43 |
| Encoder-decoder | Standard LM | 2P | 79.56 | 76.02 | 26.27 |
| Language model (decoder) | Standard LM | P | 73.78 | 53.81 | 25.23 |
两个清晰结论:
T5 还有一个引人入胜的发现:它可以做 "closed-book QA"—— 不给任何参考文档,直接问问题,让模型从参数里检索知识:
且随着模型规模增长,闭书 QA 准确率单调上升:
| Model | Params | NQ | WQ | TQA dev | TQA test |
|---|---|---|---|---|---|
| Karpukhin et al. (2020) (open-book + retrieval) | — | 41.5 | 42.4 | 57.9 | — |
| T5.1.1-Base | 220M | 25.7 | 28.2 | 24.2 | 30.6 |
| T5.1.1-Large | 770M | 27.3 | 29.5 | 28.5 | 37.2 |
| T5.1.1-XL | 3B | 29.5 | 32.4 | 36.0 | 45.1 |
| T5.1.1-XXL | 11B | 32.8 | 35.6 | 42.9 | 52.5 |
| T5.1.1-XXL + SSM | 11B | 35.2 | 42.8 | 51.9 | 61.6 |
T5-XXL + SSM (Salient Span Masking) 11B 在 TriviaQA 上达到 61.6%,超过了带检索的 open-book 系统! 这证明足够大的 LM 把训练数据中的事实知识"压缩"到了参数里—— 这是 GPT-3 之后所有 LLM"涌现知识"现象的先声。
Decoder-only 模型只能看过去(因果 mask),天然适合 autoregressive LM:
用法 1:作为分类器(GPT-1 风格)
用法 2:作为生成器(GPT-2/3 风格)
NLI 任务需要判断 (premise, hypothesis) 是 entailment / contradiction / neutral。 GPT 把它包装成一段连续 token 序列:
[START] The man is in the doorway [DELIM] The person is near the door [EXTRACT][EXTRACT] token 的最终 hidden state 上接一个线性分类器输出 3 个类别 logit。
| Method | MNLI-m | MNLI-mm | SNLI | SciTail | QNLI | RTE |
|---|---|---|---|---|---|---|
| ESIM + ELMo (5x ensemble) | — | — | 89.3 | — | — | — |
| CAFE (5x) | 80.2 | 79.0 | 89.3 | — | — | — |
| Multi-task BiLSTM + Attn | 72.2 | 72.1 | — | — | 82.1 | 61.7 |
| Finetuned Transformer LM (GPT) | 82.1 | 81.4 | 89.9 | 88.3 | 88.1 | 56.0 |
GPT-1 在 5/6 个 NLI 数据集上击败之前的 SOTA(其中很多是 ensemble),且不需要任何任务特定架构。
GPT-2 是 GPT-1 的10× 放大版(117M → 1.5B),训练数据扩展到 WebText(40GB 文本)。 它最著名的演示是这段"瑞士独角兽"补全:
当时这段生成震动了 NLP 社区——它语法完美、逻辑连贯、风格类似新闻稿、还能保持人物名字一致性。 OpenAI 因此一度延迟发布完整 1.5B 权重,称"担心被滥用"(后来还是发布了)。
GPT-3(Brown et al., 2020)的尺寸又是 GPT-2 的100×—— 175B 参数,比当时最大的 T5-XXL(11B)大一个量级。 但 GPT-3 真正的革命不在于尺寸,而在于一种全新的使用方式:
"Very large language models seem to perform some kind of learning without gradient steps simply from examples you provide within their contexts."
这就是 in-context learning (ICL)——也叫 few-shot prompting。
不再需要 fine-tune,直接在 prompt 里给几个示例就能"教会"模型做新任务:
thanks -> merci
hello -> bonjour
mint -> menthe
otter -> loutre
GPT-3 从 3 个例子中"领悟到"任务是"英语 → 法语单词翻译",然后给出正确答案。 关键是:没有任何梯度更新——模型参数完全没变,所谓"学习"只发生在 forward pass 的 attention 中。
ICL 能力在小模型上几乎不存在,超过某个临界规模(~10B)才突然出现。这就是 emergent capabilities 的典型:
ICL 的机制至今仍是开放研究问题。最有影响力的解释之一(Akyürek et al., 2023; von Oswald et al., 2023)是: Transformer attention 在 forward pass 中近似实现了一步梯度下降或岭回归。也就是说,模型"学会了在 forward pass 里做学习算法"。
GPT-3 175B 的"涌现"现象让一个核心问题浮上台面: 给定算力预算,如何在"模型大小"和"训练数据量"之间分配,才能拿到最低的 test loss? 这就是 scaling laws 研究的核心。
Kaplan et al. (2020, OpenAI) 的开创性工作"Scaling Laws for Neural Language Models" 通过在大量不同尺寸的 Transformer 上做实验,发现:test loss 随 compute、dataset size、parameters 三者 分别呈现幂律关系(power-law)。
这些幂律意味着:
Kaplan 的另一个关键发现:在固定 compute 预算下,最佳策略是训一个比"完全收敛"更大的模型,但训得不完全。 也就是说,与其让一个 1B 模型见完所有数据,不如让一个 10B 模型只见 1/10 的数据——后者的最终 loss 更低。
Kaplan 论文之后两年,DeepMind 的 Chinchilla 论文(Hoffmann et al., 2022, "Training Compute-Optimal Large Language Models") 重做了 scaling law 实验,得出了截然不同的结论: Kaplan 严重低估了数据的重要性,"模型大小:训练 token 数"的最优比应是 1:20,而不是 GPT-3 实际的 1:1.7。
| Model | Size (Params) | Training Tokens | tokens/param |
|---|---|---|---|
| LaMDA | 137B | 168B | ~1.2 |
| GPT-3 | 175B | 300B | ~1.7 |
| Jurassic | 178B | 300B | ~1.7 |
| Gopher | 280B | 300B | ~1.1 |
| MT-NLG 530B | 530B | 270B | ~0.5 |
| Chinchilla | 70B | 1.4T | ~20 |
关键实验:DeepMind 给 Chinchilla 和 Gopher (280B) 同等 compute 预算,但 Chinchilla 只有 70B 参数 + 4× 训练数据。 结果:Chinchilla 在几乎所有评测上都击败了 4 倍大的 Gopher。
后续研究表明 Kaplan 的主要问题是learning rate schedule—— 他用固定 cosine schedule,而该 schedule 对大模型小数据更友好。 Chinchilla 调整 LR 后,最优配比从 1:1 变成 1:20。
更新更细致的研究(Sardana & Frankle, 2024, "Beyond Chinchilla-Optimal")指出: 如果考虑推理成本,应当训得比 Chinchilla 还要小、更多数据。 这就是 LLaMA-3 8B 用 15T tokens(远超 Chinchilla 的 160B)的合理性—— 因为它要部署给亿级用户用,推理算力是训练算力的几十倍。
Kaplan 等还研究了不同架构的 scaling 行为:
核心结论:
| 预算 | 推荐配方 (基于 Chinchilla + 2026 经验) |
|---|---|
| 1 张 A100 / H100 (~100 GPU-hours) | SFT/LoRA 微调 7-8B 现成预训练模型,不要从零训 |
| ~1000 GPU-hours | 训一个 ~1B 模型 + 20B tokens(如 TinyLlama) |
| ~10k GPU-hours | 训一个 ~7B 模型 + 140-300B tokens(如 LLaMA-1 7B、Mistral 7B) |
| ~100k GPU-hours | 训一个 ~30B 模型 + 600B-1T tokens(如 LLaMA-2 30B) |
| ~1M GPU-hours | 训一个 70B 模型 + 1.4T+ tokens(Chinchilla, LLaMA-2 70B),或 Mixture-of-Experts |
| ~10M+ GPU-hours | frontier LLM 训练(GPT-4, Claude Opus, Gemini Ultra);通常是 MoE + 多轮 post-training |
回顾我们前面看过的完形填空例子,可以系统地总结预训练让模型学到的语言知识层次:
| 例子 | 正确填空 | 需要的能力 |
|---|---|---|
| "Stanford University is located in ___, California." | Palo Alto / Stanford | 百科 / Trivia |
| "I put ___ fork down on the table." | my / the | 句法 / Syntax |
| "The woman walked across the street, checking for traffic over ___ shoulder." | her | 指代 / Coreference |
| "I went to the ocean to see the fish, turtles, seals, and ___." | dolphins / whales | 词汇语义 / Topic |
| "... the popcorn and the drink. The movie was ___." | bad / terrible | 情感 / Sentiment + 推理 |
| "Iroh went to the kitchen to make some tea. Standing next to Iroh, Zuko pondered his destiny. Zuko left the ___" | kitchen | 多步推理 / Reasoning |
| "1, 1, 2, 3, 5, 8, 13, 21, ___" | 34 | 算术 (LM 通常学不到 Fibonacci!) |
预训练在前 5 类能力上表现出色——这些是语言统计规律能编码的知识。 但对真正的算法性推理(如 Fibonacci 序列、长除法、长公式求值)则力不从心—— 这就是 chain-of-thought、tool use、code execution 等后续技术想填补的空缺。
许多能力呈现"涌现"(emergence)行为——在小模型上几乎为零,超过某个临界规模才突然出现:
| 能力 | 涌现规模 (近似) | 典型基准 |
|---|---|---|
| 3-digit 加法 | ~13B | arithmetic in BIG-Bench |
| Few-shot in-context learning | ~10B | GPT-3 paper, various tasks |
| Chain-of-thought reasoning | ~60B | Wei et al. 2022 (GSM8K) |
| Following complex instructions | ~70B + SFT | FLAN-T5, InstructGPT |
| Theory of mind | ~175B | Kosinski 2023 (有争议) |
| Code self-debugging | ~GPT-4 级 | SWE-Bench |
预训练是双刃剑——它从互联网数据中无差别学习,因此互联网中的偏见、错误、隐私信息全部被吸收。
Bender et al. (2021, "On the Dangers of Stochastic Parrots") 系统论证了 LLM 会 学习并放大训练数据中的偏见:
2023-2024 年的法律纠纷揭示了:大模型会逐字记忆训练数据中频繁出现的段落。 The New York Times 在起诉 OpenAI 的诉状中展示了 100 多段 GPT-4 输出与 NYT 文章几乎完全一致的例子。
Carlini et al. (2021, USENIX) 演示了从 GPT-2 中提取训练数据片段的攻击:
这种 membership inference(成员推断)攻击的实务影响: