大模型技术

LLM · NLP · Transformer

问题定义

大语言模型(Large Language Model)指参数量巨大、训练数据海量的预训练语言模型。核心问题包括:模型规模与计算资源矛盾、长上下文建模能力、多模态融合、推理效率优化、以及模型对齐与安全。

核心算法

Transformer 架构

自注意力机制替代 RNN,通过 Query-Key-Value 注意力计算并行捕获长距离依赖,是 GPT、BERT、T5 等所有主流 LLM 的基础架构。

Attention(Q, K, V) = softmax(QK^T / √d_k) × V
其中 Q ∈ ℝn×d, K ∈ ℝm×d, V ∈ ℝm×d

GPT 系列(自回归语言模型)

预测下一个 token,GPT-3 达 1750 亿参数。损失函数为标准语言建模目标:

L = - Σt log P(x_t | x_{ 其中 x_t 为第 t 个 token,x_{

BERT 系列(双向上下文建模)

通过掩码语言模型(MLM)和下一句预测(NSP)进行预训练:

L_MLM = - E_{(w,M)} [log P(w|M, θ)]
L_NSP = - E_{(s1,s2)} [log P(IsNext(s1,s2), θ)]

RLHF 与对齐

人类反馈强化学习(RLHF)通过 reward model 和 PPO 算法引导模型输出符合人类偏好:

L_RLHF = - E_{(x,y)~π_RL} [r(x,y)] - β × KL[π_RL(y|x) || π_SFT(y|x)]
其中 r 为 reward model,β 控制 KL 散度惩罚强度

算法复杂度分析

模型/组件 时间复杂度 空间复杂度 备注
Transformer (Self-Attention) O(n² × d) O(n²) n 为序列长度,d 为隐层维度
GPT-3 (175B 参数) Forward: O(n × D × H) O(H² × L) D 为解码长度,H 为隐层维度,L 为层数
LLaMA (7B~70B) O(β × n × d × L) O(β × n × d) β 为注意力头数
Flash Attention O(n² × d) (等价) O(n × d) 通过分块计算降低显存
KV Cache O(1) per token O(b × n × d × L) b 为 batch size,n 为上下文长度

工程实践指南

模型部署

参数调优

注意事项

开源项目

Hugging Face Transformers

最广泛的 NLP 预训练模型库,集成 GPT、BERT、T5、LLaMA 等数百个模型,提供 Pipeline、Trainer、Tokenizers 等工具。

Meta LLaMA

Meta 开源的 LLM 系列,驱动了开源大模型生态发展。提供从 7B 到 70B 的多个规模版本,支持研究和企业使用。

LangChain

LLM 应用开发框架,支持 Chains、Agents、Memory、Tools 等模块,便于构建问答、摘要、对话等应用。

vLLM

PagedAttention 高效推理引擎,支持连续 batching 和 KV cache 管理,吞吐量比 HF Transformers 高 24 倍。

llama.cpp

纯 C/C++ 实现,支持 CPU 推理,INT4/INT5/INT8 量化,MacBook 即可运行 7B 模型。

参考文献