先认识模型:Transformer 和它的「家族」

几乎所有大模型,都长在同一棵树上

今天的大模型,底层几乎都是 Transformer。可以把它想成一条「流水线」:文字进来,一层层加工,最后变成下一个词的概率。

几个反复听到的词:

自注意力(Self-Attention)
一句话里,每个词都要看看「我和谁关系大」。比如「小明把苹果给了小红,她很开心」——「她」更该连「小红」还是「苹果」?自注意力就是在算这种关联权重。

多头注意力(MHA)
不只算一遍,而是好几组「注意力头」并行:有的偏语法,有的偏指代,有的偏长距离依赖。像多个专家同时读同一段话,各看各的重点。

因果掩码(Causal Mask)
生成式模型(GPT、LLaMA 这类)是从左往右一个字一个字猜的。训练时不能偷看右边的答案,所以要把「未来 token」挡住——这就是因果掩码。

位置编码
注意力本身不自带「第几个词」的位置信息,所以要额外告诉模型顺序。老办法是正弦位置编码;现在更流行的是 RoPE(旋转位置编码),LLaMA、Qwen 等都在用,外推长上下文时往往更顺手。

前馈网络(FFN)
注意力层后面通常跟一个 MLP:先升维、再激活、再降维。激活函数里 SwiGLU 已经成了主流;归一化则常见 RMSNorm(比 LayerNorm 简单一点,LLaMA 系列模型常用)。再加上 残差连接(把输入加回输出),深层网络才训得动、不容易梯度消失。

三种「体型」,各干各的活

Encoder-Only:代表模型是BERT;擅长理解,如分类、相似度、抽取等任务。

Decoder-Only:代表模型是GPT、LLaMA;擅长生成,如对话、续写、代码等任务。

Encoder-Decoder:代表模型是T5;擅长序列到序列,如翻译、摘要等任务。

目前主流架构,涉及聊天、写作、代码补全,基本都是 Decoder-Only 这条线。

新晋的「新面孔」:

  • MoE(混合专家):模型里有很多「专家子网络」,每次只激活一小部分。参数量可以很大,但单次推理算得少,相当于「大模型体量、小模型成本」。
  • SSM(状态空间模型):有人把它看作 Transformer 的潜在替代,长序列上有时更省算力。
  • 多模态:同一条链路里吃文本、图像、音频,GPT-4V、LLaVA 都属于这类。

买模型、看规格时常用的「行话」

  • 参数量(7B、70B):可训练权重大概有多少,越大通常越强、也越吃资源。
  • 上下文长度(4K、128K):一次最多能塞多少 token,决定你能塞多长的文档或对话历史。
  • 隐藏维度、头数、层数:决定模型「多宽、多深」。
  • FLOPs:浮点运算量,粗算训练和推理贵不贵。
  • 吞吐量:每秒能吐多少 token,部署时很实在。

数据工程:模型吃啥,长成啥样

书籍PDF及配套代码可点赞文章后添加小助手获取

预训练数据:海量、要干净、要配比

预训练就像让模型读整个互联网——Common Crawl、书籍、论文、代码仓库都会上。但 raw 数据很脏,所以需要有一整套「清洗」流程:

  • 清洗:去垃圾页、模板站、低质内容
  • 去重:精确去重(哈希)+ 模糊去重,避免模型背课文
  • 安全与合规:毒性、偏见过滤;隐私脱敏(身份证、手机号等 PII)
  • 数据配比:比如 70% 网页 + 20% 书 + 10% 代码,比例会明显影响模型「性格」
  • 课程学习:先简单后难,像教小孩先识字再读名著

微调数据:教模型「听人话」

预训练完,模型会续写,但不一定听指令。后面要靠「标注数据」:

  • 指令数据:(指令, 输入, 输出) —— 教它按任务做
  • 偏好数据:(prompt, chosen, rejected) —— 给对齐、RLHF、DPO 用
  • 思维链(CoT):答案里带推理步骤,对数学、推理任务特别有用
  • 人类标注数据:质量高、贵
  • 合成数据:用 GPT-4 等强模型给小模型「出题+写答案」,成本低但要控质量

Tokenization:文字该怎么切成模型认识的块

模型不认识「字」,只认识 「token」。
BPE(GPT 系常用)、SentencePiece(LLaMA 常用,不依赖空格)都是子词切分。词表大小(3.2 万、10 万等)会影响中英文效率。特殊符号如 <pad><eos><bos> 用来标记边界和填充。

实用提醒:上下文塞太长会 OOM(显存爆了),这是工程里最常见的坑之一。


预训练:在集群上「读书读到吐」

基础设施:钱和卡

预训练通常是 几百上千张 GPU(H100、A100)组网。单机放不下,就要 分布式训练

  • 数据并行(DP):每张卡一份完整模型,各吃不同 batch
  • 模型并行(MP):模型切开放在不同卡
  • 张量并行(TP):单层里的矩阵运算切开
  • 流水线并行(PP):不同层在不同卡上,像工厂流水线
  • ZeRO / FSDP:把优化器状态、梯度、参数分片,省显存
  • 混合精度(FP16/BF16):算得快、占得少;BF16 数值范围接近 FP32,往往比 FP16 稳

在学什么、怎么学

Decoder 预训练的核心就一件事:因果语言建模(CLM)——给定前面 n-1 个 token,猜第 n 个。损失一般是 交叉熵;困惑度(PPL) 越低越好,大致是 exp(loss)。

工程上还会用:Warmup + Cosine 学习率、AdamW、梯度累积(小 batch 模拟大 batch)、梯度裁剪(防爆炸)、定期 Checkpoint 和 断点续训。

BERT 那套 掩码语言建模(MLM)、下一句预测(NSP) 是 Encoder 时代的玩法,现在生成式大模型主战场不在这了。

训练时盯什么、怕什么

  • Loss 曲线:应大致平滑往下;突然「尖峰」,可能马上要 NaN
  • 梯度范数:太大爆炸、太小消失
  • 过拟合 / 欠拟合:该加数据还是该加容量
  • NaN/INF:常见原因是学习率过大、脏数据、数值不稳定

微调:从「会写字」到「会办事」

全量微调 vs 省参数微调(PEFT

  • 全量微调:所有权重都更新,效果最好,也最吃卡、最容易 「灾难性遗忘」。
  • PEFT:冻住原模型,只训一小撮额外参数。
    • LoRA:最流行,在权重旁加低秩矩阵,像给模型挂个小外挂。
    • QLoRA:LoRA + 4bit 量化,单卡微调 70B 成为可能。
    • 还有 Adapter、Prefix Tuning、Prompt Tuning、(IA)³ 等,LoRA 仍是默认首选。

微调在解决什么问题

  • 指令微调:学会听懂「翻译这段」「总结下文」
  • 对话微调:多轮上下文、角色、礼貌格式
  • 领域微调:医疗、法律、金融——专业术语和套路
  • 任务 / 多任务微调:单任务极致或多任务泛化

对齐:不仅要聪明,还要「像个人」

预训练模型可能口无遮拦;对齐 是让输出更有用、更安全。

  • RLHF:人类标偏好 → 训 奖励模型 → 用 PPO 等强化学习调策略。效果好,链路长、难调。
  • DPO:直接用偏好对优化,省掉奖励模型和 RL 循环,现在很常用。
  • KTO:更新的思路,有时只要正样本也能对齐。

两个常被提到的目标:有用性 和 无害性 ——既要能帮忙,又要在该拒绝时拒绝。


推理与部署:让用户觉得「快」

书籍PDF及配套代码可点赞文章后添加小助手获取

训练是一次性烧钱;推理是每天都在烧——优化重点往往在这里。

怎么跑得更快、更省显存

  • KV Cache:生成时前面 token 的 Key/Value 算过了就缓存,别重复算。
  • 批处理:多个请求一起算,提高吞吐;连续批处理 是 vLLM 的招牌——请求陆续进、陆续出,GPU 少闲着。
  • FlashAttention / PagedAttention:注意力算得更省 IO;KV 像操作系统分页一样管理,长上下文更稳。
  • 投机解码:小模型先猜一串,大模型批量验证,有时能加速。
  • 量化:INT8/INT4、FP8、GPTQ、AWQ、GGUF(llama.cpp)——用更低精度换更小显存和更高吞吐,略损精度。

常见部署工具

  • vLLM:高吞吐 serving,PagedAttention + 连续批处理
  • TensorRT-LLM:NVIDIA 官方,追求极致
  • TGI:Hugging Face 生态友好
  • llama.cpp / Ollama:本机、CPU、量化友好
  • FastAPI:包一层 HTTP API 很常见

流式输出(一个字一个字蹦)对聊天体验很重要——用户不用干等整段生成完。

上线后看什么指标

  • TTFT:首 token 多久到(用户感知的「有没有反应」)
  • TPOT:每个后续 token 间隔
  • 吞吐量 / QPS:机器扛不扛得住
  • 显存:权重 + KV Cache + 激活,长上下文时 KV 往往占大头

评估与应用:怎么知道模型行不行

考卷从哪来

  • 自动指标:BLEU、ROUGE(翻译、摘要);生成质量还会用 BERTScore 等。
  • 人工评测:有用、真实、无害——贵但准。
  • 模型评模型:用 GPT-4 当裁判(如 AlpacaEval)。
  • 公开基准:MMLU(综合)、CEval(中文)、GSM8K(数学)、HumanEval(代码)、MT-Bench(多轮对话)、HellaSwag(常识)、TruthfulQA(少胡说)……

基准分数要会看:刷榜和真实体验可能不是一回事,尤其对话、安全、长文档场景。

应用层常用招式

  • RAG:先查知识库再生成,减轻幻觉、接私有数据。
  • 提示工程:系统提示、少样本示例、输出格式约束。
  • Few-shot / Zero-shot:给不给示例的区别。
  • 思维链(CoT):让模型「先想再说」,推理题常有效。
  • 自洽性(Self-Consistency):同一题采样多次,投票取众。

安全侧要心里有数:提示注入(用户指令盖过系统指令)、提示泄露(套出 system prompt)——上线 RAG 和 Agent 时尤其常见。


简单回顾:一条线串起来

用一张「人生阶段」类比整条链路:

预训练:海量阅读,学语言和世界知识(像通识教育)

微调:学听指令、做任务、聊得像产品(像职业培训)

对齐:学价值观和边界(像岗前合规培训)

推理优化 + 部署:又快又稳地服务千万用户(像开店营业)

评估 + RAG/Agent:持续考试、持续迭代(像运营和质检)

书籍PDF及配套代码可点赞文章后添加小助手获取

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐