大语言模型(Large Language Models, LLMs)核心概念分类整理
一、基础架构与原理
1. Transformer 架构
- 核心组件:自注意力机制(Self-Attention)、前馈网络(FFN)、层归一化(LayerNorm)、残差连接(Residual Connection)。
- 多头注意力(Multi-Head Attention):并行计算多组注意力权重,捕捉不同语义关系。
- 位置编码(Positional Encoding):为输入序列添加位置信息(如绝对编码、相对编码或旋转位置编码RoPE)。
2. 模型类型
- 自回归模型(Autoregressive):单向生成(如GPT系列),逐词预测下一词。
- 自编码模型(Autoencoding):双向上下文建模(如BERT),通过掩码语言模型(MLM)重建输入。
- 序列到序列模型(Seq2Seq):编码器-解码器结构(如T5、BART),适用于翻译、摘要等任务。
3. 模型规模
- 参数规模:从百万级(小型BERT)到万亿级(如GPT-4、PaLM)。
- 稀疏专家混合(MoE):如Switch Transformer,动态激活部分参数以降低计算成本。
二、训练方法与流程
1. 预训练(Pre-training)
- 任务类型:
- 掩码语言建模(MLM,BERT)、因果语言建模(CLM,GPT)、置换语言建模(XLNet)。
- 下一句预测(NSP,BERT)、跨度预测(SpanBERT)。
- 数据来源:大规模无标注文本(如Common Crawl、书籍、网页)。
- 目标函数:交叉熵损失(Cross-Entropy Loss),优化模型对文本的概率分布建模能力。
2. 微调(Fine-tuning)
- 领域适应:在特定领域数据(如医学、法律)上继续训练。
- 任务适配:添加任务特定层(如分类头、生成头)并更新参数。
3. 高效训练技术
- 混合精度训练(FP16/FP8):加速计算并减少显存占用。
- 分布式训练:数据并行(DP)、模型并行(MP)、流水线并行(PP)。
- 梯度检查点(Gradient Checkpointing):用时间换空间,缓解显存压力。
三、关键技术与策略
1. 生成与解码
- 解码策略:
- 贪心搜索(Greedy Search):选择概率最高的词,速度快但易陷入重复。
- 束搜索(Beam Search):保留多个候选序列,平衡质量与多样性。
- 采样方法:Top-k采样、Top-p(核)采样、温度调节(Temperature Scaling)。
- 长度惩罚(Length Penalty):抑制过长生成结果。
2. 提示工程(Prompt Engineering)
- 零样本(Zero-Shot):直接通过自然语言指令引导模型输出。
- 少样本(Few-Shot):提供示例(In-context Learning)增强模型理解。
- 思维链(Chain-of-Thought, CoT):引导模型分步推理,提升复杂任务表现。
3. 对齐与安全
- 人类反馈强化学习(RLHF):通过偏好数据微调模型(如ChatGPT)。
- 红队测试(Red Teaming):模拟攻击以发现模型有害行为。
- 价值观对齐:确保输出符合伦理规范(如Anthropic的Claude模型)。
四、应用场景
1. 生成类任务
- 文本生成(故事、代码、诗歌)、对话系统、创意写作。
2. 理解类任务
- 文本分类、情感分析、实体识别、问答系统。
3. 多模态扩展
- 图文联合模型(如GPT-4V、Flamingo)、音频-文本模型(Whisper)。
五、评估与挑战
1. 评估指标
- 生成质量:BLEU、ROUGE、METEOR(基于重叠度)。
- 语义相似度:BERTScore、BLEURT。
- 任务特定指标:准确率、F1值、困惑度(Perplexity)。
2. 核心挑战
- 计算资源:训练万亿参数模型需千卡集群与TB级内存。
- 幻觉(Hallucination):生成与事实不符的内容。
- 偏见与毒性:模型可能放大训练数据中的偏见。
六、典型模型示例
- GPT系列(OpenAI):自回归模型,通过缩放模型参数和数据规模突破性能(GPT-3: 175B参数)。
- BERT(Google):双向Transformer,开创MLM预训练范式。
- T5(Google):统一文本到文本框架,将所有任务转换为生成任务。
- LLaMA(Meta):开源高效模型(7B-65B参数),推动社区研究。
七、代码示例(使用Hugging Face库)
from transformers import AutoTokenizer, AutoModelForCausalLM
# 加载模型与分词器(以GPT-2为例)
model_name = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 生成文本
input_text = "Artificial intelligence is"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(
inputs.input_ids,
max_length=50,
temperature=0.7,
top_p=0.9,
num_return_sequences=3
)
# 解码输出
for seq in outputs:
print(tokenizer.decode(seq, skip_special_tokens=True))
总结
大语言模型的核心在于通过海量数据和Transformer架构学习通用语言表示,结合预训练、微调和提示工程适应多样化任务。其发展依赖算法创新(如稀疏注意力)、硬件优化(如TPU/GPU集群)和安全性研究(如RLHF)。