主流预训练模型
好的,我们来梳理一下这些主流预训练模型的特点、适用场景和预训练方式。这是一个庞大且快速发展的领域,我会尽量概括核心信息。
核心概念理解:
- 预训练 (Pre-training): 在大规模无标签文本数据上进行训练,让模型学习通用的语言知识和模式。
- 微调 (Fine-tuning): 在特定任务的有标签小数据集上,对预训练好的模型进行进一步训练,使其适应特定任务。
- MLM (Masked Language Modeling): 随机遮盖输入句子中的一些词,让模型预测这些被遮盖的词。主要用于 Encoder 架构。
- NSP (Next Sentence Prediction): 给模型两个句子,让模型判断第二个句子是否是第一个句子的下一句。BERT 早期使用,后被发现效果不佳或有更好替代。
- CLM (Causal Language Modeling / Autoregressive Language Modeling): 从左到右预测下一个词。主要用于 Decoder 架构(或 Decoder-only 架构)。
- Encoder-only 架构 (如 BERT): 擅长理解输入文本的上下文,输出每个词的表示。适用于自然语言理解 (NLU) 任务,如分类、问答(抽取式)、命名实体识别。
- Decoder-only 架构 (如 GPT): 擅长生成文本,因为它们是自回归的。适用于文本生成、对话、摘要(生成式)。
- Encoder-Decoder 架构 (如 T5, BART): 结合了两者的优点,既能理解输入,也能生成输出。适用于序列到序列 (Seq2Seq) 任务,如翻译、摘要、问答(生成式)。
1. GPT 系列 (Decoder-only)
- GPT (Generative Pre-trained Transformer)
- 特点:
- 基于 Transformer 的 Decoder 结构。
- 单向(从左到右)的语言模型。
- 预训练方式:
- CLM (Causal Language Modeling): 预测序列中的下一个词。
- 适用场景:
- 文本生成 (故事、诗歌、代码)
- 摘要 (生成式)
- 机器翻译 (生成式)
- 对话系统
- 特点:
- GPT-2:
- 特点: GPT 的放大版,参数量和训练数据量都远超 GPT-1,展现了惊人的零样本 (Zero-shot) 和少样本 (Few-shot) 学习能力。证明了通过扩大模型和数据规模可以显著提升语言模型的性能和泛化能力。
- GPT-3:
- 特点: 进一步扩大模型规模 (1750亿参数),展现了更强的上下文学习 (In-context Learning) 能力,即在提示 (Prompt) 中给出少量示例,模型就能理解任务并完成。
- InstructGPT / ChatGPT (基于 GPT-3/3.5/4):
- 特点: 在 GPT 的基础上,通过人类反馈的强化学习 (RLHF - Reinforcement Learning from Human Feedback) 进行微调,使其输出更符合人类的指令、偏好,并且更安全、更真实。这是对话式 AI 的重大突破。
- 预训练/微调方式:
- 有监督微调 (Supervised Fine-tuning, SFT): 使用人工标注的高质量对话数据微调预训练的 GPT 模型。
- 奖励模型训练 (Reward Model Training, RM): 收集人类对模型多个输出的排序数据,训练一个奖励模型来预测哪个输出更好。
- 强化学习微调 (RL Fine-tuning): 使用奖励模型作为强化学习环境的奖励信号,通过 PPO (Proximal Policy Optimization) 等算法进一步微调 SFT 模型。
- GPT-4:
- 特点: 目前最强大的 GPT 模型,多模态能力(能处理图像输入),更强的推理能力,更长的上下文窗口,更难产生不当内容。具体架构和训练细节未完全公开,但延续了大规模预训练和 RLHF 的思路。
2. BERT 及其变体 (Encoder-only)
- BERT (Bidirectional Encoder Representations from Transformers)
- 特点:
- 基于 Transformer 的 Encoder 结构。
- 真正的双向表示:通过 MLM 任务,模型在预测被遮盖的词时,可以同时利用其左右两边的上下文信息。
- 预训练方式:
- MLM (Masked Language Modeling): 随机遮盖输入中 15% 的 token,模型预测这些被遮盖的 token。
- NSP (Next Sentence Prediction): 输入一对句子 A 和 B,模型判断 B 是否是 A 的下一句。
- 适用场景:
- 句子/文本分类 (情感分析、主题分类)
- 命名实体识别 (NER)
- 问答 (抽取式,答案是原文中的一段)
- 句子对任务 (语义相似度、自然语言推断 NLI)
- 变体:
- RoBERTa (Robustly Optimized BERT Pretraining Approach):
- 特点: 对 BERT 的预训练过程进行了优化和改进,性能通常更好。
- 改进:
- 移除了 NSP 任务(发现其对下游任务帮助不大,甚至有害)。
- 使用更大的 batch size 训练。
- 使用更多的训练数据。
- 动态 MLM (每次将数据送入模型时,遮盖模式都不同,而不是像 BERT 那样在数据预处理阶段固定)。
- ALBERT (A Lite BERT for Self-supervised Learning of Language Representations):
- 特点: 参数效率更高的 BERT 版本,通过参数共享等技术减少模型大小,但可能需要更长的训练时间来达到同等性能。
- 改进:
- 参数共享 (Parameter Sharing): 跨层参数共享(所有 Encoder 层的参数相同)。
- 词嵌入参数化 (Factorized Embedding Parameterization): 将大的词嵌入矩阵分解为两个较小的矩阵。
- SOP (Sentence Order Prediction): 替代 NSP,判断两个连续句子的顺序是否被调换,比 NSP 更难也更有效。
- ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately):
- 特点: 引入了新的预训练任务——替换词元检测 (Replaced Token Detection, RTD),计算效率更高。
- 预训练方式: 使用一个小的生成器 (Generator, 通常是 MLM) 来替换输入中的一些词,然后让一个判别器 (Discriminator, 即 ELECTRA 模型本身) 来判断每个词是原始的还是被生成器替换过的。判别器需要对所有词进行判断,而不仅仅是被遮盖的词,因此学习信号更强,效率更高。
- RoBERTa (Robustly Optimized BERT Pretraining Approach):
- 特点:
3. T5, BART (Encoder-Decoder)
- T5 (Text-to-Text Transfer Transformer)
- 特点:
- 将所有 NLP 任务都统一为 "Text-to-Text" 格式,即输入是文本,输出也是文本。例如,分类任务的输出是类别标签的文本形式。
- 标准的 Transformer Encoder-Decoder 架构。
- 预训练方式:
- 受 MLM 启发的填空任务 (Span Corruption / Denoising Objective): 从输入文本中随机移除连续的片段 (span),并用一个特殊的哨兵标记 (sentinel token) 替换。模型的任务是预测被移除的片段,并在输出时使用哨兵标记来分隔不同的片段。
- 适用场景:
- 几乎所有 NLP 任务,因为它被设计为通用的 Text-to-Text 模型:翻译、摘要、问答、分类等。
- 特点:
- BART (Bidirectional and Auto-Regressive Transformers)
- 特点:
- 标准的 Transformer Encoder-Decoder 架构。
- 结合了 BERT 的双向编码器(用于破坏输入)和 GPT 的自回归解码器(用于重建原始文本)。
- 预训练方式 (Denoising Autoencoder):
- 对原始文本进行各种方式的“破坏”(noise functions),例如:
- Token Masking (类似 BERT 的 MLM)
- Token Deletion (随机删除 token)
- Text Infilling (类似 T5 的 span corruption,随机采样一段文本并用单个 MASK 替换)
- Sentence Permutation (打乱句子顺序)
- Document Rotation (随机选择一个 token 作为文档的开头)
- 模型的任务是使用 Decoder 重建原始的、未被破坏的文本。
- 对原始文本进行各种方式的“破坏”(noise functions),例如:
- 适用场景:
- 特别擅长文本生成任务 (摘要、对话)。
- 也适用于文本理解任务 (通过微调 Encoder 部分)。
- 特点:
4. LLaMA 系列及其开源生态 (主要是 Decoder-only)
- LLaMA (Large Language Model Meta AI)
- 特点:
- Meta AI 开源的大语言模型系列,专注于在相对较小的模型尺寸下达到高性能。
- 采用了 GPT-3 之后的一些架构改进(如 SwiGLU 激活函数, RoPE 位置编码, RMSNorm)。
- 在大量公开可用的数据上进行预训练。
- 预训练方式:
- CLM (Causal Language Modeling),与 GPT 类似。
- 适用场景:
- 文本生成、对话、问答等,是许多后续开源指令微调模型的基础。
- 特点:
- LLaMA 2:
- 特点: LLaMA 的升级版,训练数据量更大,上下文窗口更长,并发布了经过指令微调和 RLHF 的对话优化版本 (LLaMA 2-Chat)。可商用。
- Alpaca, Vicuna:
- 特点: 早期基于 LLaMA 进行指令微调 (Instruction Fine-tuning) 的代表性开源项目。
- 微调方式: 使用 OpenAI
text-davinci-003
(Alpaca) 或 ChatGPT (Vicuna) 生成的指令-响应数据对 LLaMA 进行微调,使其能够更好地遵循人类指令。 - 启发意义: 表明即使使用相对较小的模型和合成数据,也能达到令人印象深刻的指令遵循能力,极大地推动了开源大模型的生态发展。
- Mistral 7B:
- 特点:
- 由 Mistral AI 公司发布的强大的 70 亿参数模型,在许多基准测试中表现优于许多更大的模型 (如 LLaMA 2 13B)。
- 采用了分组查询注意力 (Grouped-query Attention, GQA) 和滑动窗口注意力 (Sliding Window Attention, SWA) 来提高推理效率和处理更长序列的能力。
- Apache 2.0 开源协议,允许商用。
- 预训练方式: CLM。
- 特点:
- Mixtral 8x7B:
- 特点:
- 基于 Mistral 7B 的稀疏混合专家模型 (Sparse Mixture-of-Experts, SMoE)。
- 它有 8 个 "专家" 网络 (每个专家都是一个类似 Mistral 7B 的前馈网络块),对于每个 token,一个路由网络会选择激活其中的 2 个专家进行计算。
- 总参数量约 46.7B,但推理时每个 token 只使用约 12.9B 参数,因此推理速度与 13B 模型相当,但性能远超。
- 开源,性能非常强大,接近 GPT-3.5。
- 预训练方式: CLM,但在 MoE 架构上进行。
- 特点:
总结表格 (简化版):
模型系列 | 架构 | 主要预训练任务 | 特点与优势 | 主要适用场景 |
---|---|---|---|---|
BERT & 变体 | Encoder-only | MLM, (NSP/SOP/RTD) | 强大的上下文理解能力,双向表示 | NLU 任务 (分类, NER, 抽取式问答) |
GPT 系列 | Decoder-only | CLM | 强大的文本生成能力,上下文学习,RLHF (Instruct/Chat) 使其更符合人类偏好 | 文本生成, 对话, 摘要, 少样本/零样本学习 |
T5 | Encoder-Decoder | Span Corruption (Text-to-Text) | 将所有任务统一为 Text-to-Text 格式,通用性强 | Seq2Seq 任务 (翻译, 摘要, 生成式问答, 分类等) |
BART | Encoder-Decoder | Denoising Autoencoding (多种噪声函数) | 结合双向编码和自回归解码,擅长文本生成和理解 | 文本生成 (摘要, 对话), 文本理解 |
LLaMA 系列 | Decoder-only | CLM | 高效的开源大模型,许多指令微调模型的基础,LLaMA 2 可商用 | 文本生成, 对话, 作为指令微调的基础模型 |
Mistral/Mixtral | Decoder-only | CLM (Mixtral 采用 SMoE 架构) | 高性能开源模型,Mistral 7B 高效,Mixtral 8x7B (SMoE) 性能强大且高效 | 文本生成, 对话, 要求高性能和高效率的场景 |
这个领域发展非常快,新的模型和技术层出不穷。理解它们的核心架构、预训练目标和设计理念,是跟上这个浪潮的关键。希望这个梳理能帮助你建立一个清晰的认知框架!
No comments to display
No comments to display