Skip to content

大模型核心概念总览

这一页是“大模型基础”章节的总入口。目标不是把每个公式都讲到最深,而是帮你把 LLM 的核心知识串成一张完整地图:文本如何变成 token,token 如何变成向量,Transformer 如何处理上下文,模型如何训练,为什么会幻觉,推理时如何生成,工程里如何部署、评估和控制风险。读完这页,你应该能回答面试里最常见的开放题:“请你系统介绍一下大语言模型。”

如果你刚从 新手入门 过来,可以把本页当成进阶版地图;如果你已经会一些深度学习,可以把本页当成查漏补缺清单。真正深入每个模块时,再进入侧边栏里的 Transformer、Attention、Tokenizer、Embedding、解码、MoE、长上下文等专题。

这页怎么读

建议按三遍来读:

  1. 第一遍看全局:只看标题、表格、流程图,建立“一个 LLM 从输入到输出”的完整路径。
  2. 第二遍看概念:理解 token、embedding、attention、logits、loss、decoding、KV Cache、RAG、Agent 等词之间的关系。
  3. 第三遍看面试:把每节末尾的“面试表达”整理成自己的话,练习用 2 分钟讲清大模型。

你不需要一次性记住所有细节。基础知识最好的学习方式是反复遇到、反复回看:第一次知道它是什么,第二次知道它为什么重要,第三次能在项目和面试里说清它怎么用。

一句话理解大语言模型

大语言模型(Large Language Model,LLM)是基于海量文本和代码训练出来的神经网络语言模型。它的核心目标是:给定前面的 token,预测下一个 token 的概率分布

这句话里有四个关键词:

  • token:模型真正处理的单位,不一定等于一个汉字或一个英文单词。
  • 前面的 token:也就是上下文,模型根据上下文决定下一个 token。
  • 概率分布:模型不是直接给唯一答案,而是给词表中每个 token 一个分数。
  • 预测下一个 token:自回归语言模型逐个 token 生成,直到生成结束符或达到长度上限。

比如输入:

text
大模型的核心能力是

模型会计算下一个 token 是“生成”“理解”“预测”“推理”等的概率。选出一个 token 后,再把它接回上下文,继续预测下一个 token。你看到的完整回答,就是这个过程重复很多次的结果。

这个机制看似简单,却能在大规模数据、大模型参数、大算力训练下表现出总结、翻译、代码、推理、对话、工具调用等复杂能力。这也是大模型让人惊讶的地方:底层目标是下一个 token 预测,表层能力却像是在理解和思考。

LLM 与传统 NLP 模型有什么不同

早期 NLP 常常为每个任务训练一个模型:情感分类一个模型,命名实体识别一个模型,机器翻译一个模型,问答又是另一个模型。大语言模型改变了这个范式:一个通用模型通过 prompt、上下文、工具和少量样例,就能适配很多任务。

维度传统 NLP / 小模型大语言模型
训练目标常针对单一任务通用下一个 token 预测 + 后训练
数据规模相对有限,常需标注海量无标注文本和代码
使用方式固定输入输出格式prompt、对话、工具调用、RAG
泛化能力任务外能力弱能通过上下文学习新任务
部署成本通常较低参数大、显存和推理成本高
风险可控但能力有限能力强但会幻觉、越权、成本高

面试表达可以这样说:

大模型的关键变化不是“模型变大”这么简单,而是从任务专用模型转向通用基础模型。它通过预训练获得通用语言和知识能力,通过 SFT 和对齐变成可对话助手,再通过 RAG、Agent、工具调用接入外部知识和业务系统。

一个 LLM 是怎样炼成的

可以把大模型生命周期拆成六个阶段:

text
数据收集与清洗
  -> Tokenizer 训练与分词
  -> 预训练 Pre-training
  -> 后训练:SFT / 对齐 / 偏好优化
  -> 推理部署:量化 / KV Cache / 并发服务
  -> 应用增强:Prompt / RAG / Agent / 工具

1. 数据收集与清洗

模型能力首先来自数据。预训练语料通常包含网页、书籍、论文、代码、百科、论坛、问答、数学题、合成数据等。数据不是越多越好,还要看质量、去重、比例、合规和污染控制。

常见处理包括:

  • 语言识别:过滤不需要的语种或低质量混杂文本。
  • 质量过滤:去掉乱码、广告、采集页、模板页、低质量 SEO 文本。
  • 去重:避免模型反复看到相同内容,降低记忆和过拟合。
  • PII 和有害内容处理:降低隐私泄露和安全风险。
  • 评测集去污染:避免测试题混入训练集导致分数虚高。
  • 数据配比:网页、书籍、代码、数学、多语言数据按策略混合。

数据质量会深刻影响模型:高质量代码数据提升编程能力,高质量数学数据提升推理能力,高质量中文语料提升中文体验,低质量数据则会带来幻觉、废话、格式不稳和价值观问题。

2. Tokenizer 与分词

模型不能直接处理原始文字,需要先用 Tokenizer 把文本切成 token,再把 token 映射成整数 ID。比如“人工智能”可能被切成一个或多个 token,不同模型的切分方式可能不同。

Tokenizer 的重要性体现在:

  • 影响上下文长度:同一段中文在不同 tokenizer 下 token 数可能差很多。
  • 影响 API 成本:很多服务按 input token 和 output token 计费。
  • 影响训练效率:序列越短,同样上下文能容纳更多信息。
  • 影响字符级任务:模型看到的是 token,不是每个字符,所以数字母、反转字符串常翻车。
  • 影响中英文体验:中文词表覆盖不足时,中文会更费 token。

深入可看 Tokenizer 与分词。面试里常问:“为什么中文更费 token?”“Tokenizer 和模型能不能随便替换?”答案是:不能。Tokenizer 的 token ID 和模型 Embedding 权重一一对应,随便替换等于输入空间变了。

3. 预训练

预训练是大模型最烧算力的阶段。模型在海量 token 上做自监督学习,最常见目标是自回归下一个 token 预测:

text
输入:今天 北京 的 天气
目标:预测下一个 token

训练时,模型会对每个位置预测真实下一个 token。如果预测错了,就通过损失函数计算误差,再用反向传播调整参数。这个过程重复数万亿 token 后,模型学到了语言结构、事实知识、代码模式、推理套路、写作风格和许多世界知识。

预训练产物通常叫 Base Model。Base 模型很会续写,但不一定会像助手一样回答问题。给它一句“请解释 Transformer”,它可能接着写一段教程,也可能继续生成网页、论文片段或问答格式。这就是为什么后面还需要 SFT 和对齐。

4. 监督微调 SFT

SFT(Supervised Fine-Tuning)用大量“指令 -> 回答”样本继续训练模型,让它学会按人类指令回答。

样本长这样:

text
用户:请用三句话解释 RAG。
助手:RAG 是检索增强生成......

SFT 让模型从“会续写”变成“会对话、会遵循指令、会按格式输出”。你平时用到的 Chat 模型,大多都经过 SFT。

SFT 的关键不只是数量,还包括:

  • 指令是否多样。
  • 回答是否高质量。
  • 是否覆盖目标场景。
  • 是否使用正确的 chat template。
  • 是否避免低质、幻觉、错误格式数据。

5. 对齐与偏好优化

SFT 让模型会回答,但回答不一定符合人类偏好。对齐阶段让模型更有用、诚实、无害。常见方法包括 RLHF、DPO、RLAIF 等。

对齐关注的问题:

  • 哪个回答更有帮助。
  • 哪个回答更安全。
  • 模型是否应该拒绝有害请求。
  • 模型是否过度拒绝无害请求。
  • 模型是否会迎合用户错误观点。

对齐后的模型更适合对话产品,但也可能带来新问题,比如过度拒答、风格变保守、复杂任务不够直接。因此模型评估不能只看 benchmark,也要看真实使用体验。

6. 推理部署与应用增强

模型训练好以后,还要部署成服务。推理阶段关注的是:如何让模型又快、又省、又稳定地生成。

关键技术包括:

  • KV Cache:缓存历史 token 的 K/V,避免每步重复计算。
  • 量化:用更低精度存权重,减少显存和成本。
  • vLLM / SGLang:提升并发、吞吐和长上下文利用率。
  • 连续批处理:把不同请求动态合批,提高 GPU 利用率。
  • 模型网关:统一鉴权、限流、路由、计费和观测。

应用层则常用:

  • Prompt 工程:通过提示词激发模型能力。
  • RAG:接入外部知识库,减少幻觉。
  • Agent:让模型规划步骤、调用工具、完成任务。
  • Function Calling:让模型输出结构化工具调用意图。

从输入到输出:一次完整前向过程

以用户输入“请解释什么是 Attention”为例,一个 decoder-only 大模型大致这样工作:

text
1. 文本输入
   "请解释什么是 Attention"

2. Tokenizer
   文本 -> token ids

3. Embedding
   token ids -> 向量表示

4. 加入位置信息
   通过 RoPE 等方式让模型知道 token 顺序

5. 多层 Transformer Block
   每层包含 Attention、FFN、残差、归一化

6. 输出最后位置的 hidden state
   表示当前上下文下下一步生成的状态

7. LM Head
   hidden state -> 词表大小的 logits

8. Softmax / 解码策略
   logits -> 概率 -> 选出下一个 token

9. 拼回上下文继续生成
   重复 4-8,直到停止

这条路径就是基础章节的主线:Tokenizer 决定文本怎么进入模型,Embedding 决定 token 怎么变成向量,Transformer 决定上下文如何交互,logits 和 softmax 决定概率,解码策略决定最后选哪个 token。

Transformer 为什么重要

Transformer 是现代大模型的核心架构。它的最大贡献是用 Attention 替代 RNN 的串行处理,让模型能够并行训练,并直接建模长距离 token 关系。

一个典型 Transformer Block 包含:

  • Attention:让每个 token 读取上下文中相关 token 的信息。
  • FFN / MLP:对每个 token 的表示做非线性变换,提供容量和知识存储。
  • 残差连接:让深层网络更容易训练。
  • LayerNorm / RMSNorm:稳定数值和训练过程。
  • 位置编码:让模型知道 token 的顺序。

现代主流 LLM 多是 decoder-only 架构,例如 GPT、LLaMA、Qwen、DeepSeek 等。它们用因果掩码保证每个位置只能看到自己和之前的 token,从而符合“预测下一个 token”的训练目标。

深入可看 Transformer 架构详解

Attention 的直觉

Attention 可以理解成“按相关性取信息”。每个 token 会生成 Query、Key、Value 三种向量:

  • Query:我想找什么信息。
  • Key:我有什么标签可以被匹配。
  • Value:如果我被关注,应该提供什么内容。

公式是:

$$\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

大白话拆解:

  1. QK^T 算每个 token 和其他 token 的相关性。
  2. 除以 sqrt(d_k) 防止分数过大导致 softmax 饱和。
  3. softmax 把分数变成权重。
  4. 权重乘 V,把相关信息加权取回来。

多头注意力则是在多个子空间里同时做这件事:有的头关注语法,有的头关注实体,有的头关注长距离指代。现代模型为了省 KV Cache,又发展出 MQA、GQA、MLA 等变体。

深入可看 Attention 与变体

Embedding:把离散 token 变成连续语义

token ID 本身只是整数,模型不能直接理解它。Embedding 层把每个 token ID 映射成一个高维向量。这个向量可以理解成 token 在语义空间里的坐标。

Embedding 很重要,因为:

  • 相似词会学到相近表示。
  • RAG 用 embedding 做语义检索。
  • 多模态模型也会把图片、音频等转成向量后接入模型。
  • 推荐、聚类、去重、语义搜索都依赖向量表示。

但要注意:LLM 的输入 embedding 和 RAG 的 embedding 模型不是一回事。前者是语言模型内部的 token 表示,后者通常是专门训练的句向量/文档向量模型,用来计算语义相似度。

深入可看 嵌入层与表示学习

位置编码:为什么顺序很重要

Attention 本身不天然知道顺序。如果不给位置信息,“我打你”和“你打我”可能只是同一组 token 的不同排列,模型无法理解语义差异。因此需要位置编码。

常见方案:

  • 绝对位置编码:给每个位置一个固定或可学习向量。
  • RoPE:把位置以旋转方式注入 Q/K,是当前 LLM 主流方案。
  • ALiBi:通过距离偏置影响注意力分数。
  • 长上下文扩展:通过 RoPE scaling、插值、外推等方法扩展长度。

位置编码不仅影响模型理解顺序,也影响长上下文能力。很多“支持 128K 上下文”的模型,背后都需要位置编码、注意力、训练数据和推理系统一起配合。

深入可看 位置编码(RoPE / ALiBi)长上下文机制

Logits、Softmax、Loss:模型如何学习和输出

模型最后一层会输出一个长度等于词表大小的向量,这个向量叫 logits。每个位置对应一个 token 的原始分数。

然后:

  • 训练时,用 softmax 把 logits 转成概率,再用交叉熵损失衡量“模型给真实下一个 token 的概率够不够高”。
  • 推理时,用解码策略从 logits 或概率里选出下一个 token。

几个关键概念:

  • softmax:把任意分数变成概率分布。
  • 交叉熵 loss:真实 token 概率越低,loss 越大。
  • 困惑度 PPL:可以理解成模型平均在多少个候选里犹豫。
  • 数值稳定:softmax 要避免指数溢出,常用减最大值技巧。

面试里经常问:“训练时为什么用交叉熵?”“PPL 是什么?”“logits 和概率有什么区别?”这些都属于输出侧基础。

深入可看 从 Logits 到损失(Softmax/PPL)

解码:为什么同一个问题回答会不同

模型每一步给的是概率分布,解码策略决定怎么从分布里选 token。

常见策略:

策略直觉适合
Greedy每步选概率最高的 token追求确定性,但容易死板
Beam Search保留多个高概率序列翻译、摘要等较确定任务
Temperature控制随机性低温事实,高温创意
Top-k只在前 k 个候选里采样简单但不够自适应
Top-p保留累计概率达到 p 的候选主流开放生成
Min-p按最高概率比例过滤候选高温生成更稳

如果你做事实问答、抽取、分类,通常用低温度;如果做创意写作、头脑风暴,可以提高温度;如果做结构化 JSON 输出,要降低随机性并加 schema 校验。

深入可看 解码与采样策略

Mask、Padding 与训练实现细节

大模型训练不是一条样本一条样本孤立处理,而是把很多序列组成 batch。这里会出现三个实现细节:

  1. 因果掩码:自回归模型不能看未来 token,所以注意力矩阵上三角要遮住。
  2. Padding 掩码:不同样本长度不同,短样本补 pad 后不能让 pad 参与注意力。
  3. Packing:把多个短样本拼进一个长序列,提高训练效率,但要防止样本之间互相看见。

这些细节很容易被忽略,但在手撕题、训练排错、微调项目里很常见。比如左 padding 和右 padding 对 decoder-only 模型的推理影响不同,attention mask 写错会导致模型偷看答案或 loss 异常。

深入可看 Mask 与 Padding

上下文窗口与长上下文

上下文窗口是模型一次能处理的最大 token 数。8K、32K、128K、1M 都是在说这个窗口长度。

窗口越大,可以放入更多历史对话、文档、代码、检索结果,但代价也更高:

  • KV Cache 显存随长度增长。
  • 注意力计算和访存压力增加。
  • 长文本中间内容可能被忽略,也就是 lost in the middle。
  • 输入越长,成本越高,延迟越大。

所以工程上不会简单把所有资料都塞进上下文,而是会用摘要、RAG、滑动窗口、记忆系统、长上下文优化等方法组合。

面试可以这样说:

长上下文解决的是“能不能放得下”,但不等于“模型一定用得好”。生产系统还要考虑检索、压缩、引用、成本、延迟和中间信息丢失。

MoE:为什么模型可以很大但推理不那么贵

MoE(Mixture of Experts,混合专家)把模型中的部分 FFN 换成多个专家网络。每个 token 只激活其中少数几个专家,而不是跑完整个模型。

直觉:

text
Dense 模型:每个 token 都走全部参数
MoE 模型:每个 token 只走少数专家

优点:

  • 总参数量可以很大,容量强。
  • 每次推理只激活部分参数,计算成本相对可控。
  • 不同专家可能学习不同模式。

难点:

  • 路由负载均衡。
  • 专家并行通信。
  • 训练稳定性。
  • 小 batch 推理效率。

DeepSeek 等模型让 MoE 成为面试热点。深入可看 MoE 混合专家模型

为什么大模型会幻觉

幻觉不是偶然 bug,而是语言模型机制和训练目标带来的自然风险。模型训练目标是“生成高概率文本”,不是“只说可验证事实”。

常见原因:

  • 训练数据里有错误或矛盾。
  • 模型对长尾事实记忆不牢。
  • 用户问题缺少上下文,模型补全了不存在的信息。
  • prompt 要求它必须给答案,诱导它编。
  • 解码随机性带来不稳定。
  • 模型不知道最新或私有信息。

缓解方式:

  • 对事实问题要求引用来源。
  • 用 RAG 提供检索材料。
  • 对关键答案做规则或工具校验。
  • 降低温度,减少随机性。
  • 让模型表达不确定性。
  • 建立评测集和 bad case 回归。

面试里不要只说“幻觉是模型编造”,还要说“如何工程化缓解”:RAG、工具、校验、评估、人工复核、监控反馈。

Prompt、RAG、Agent 的关系

这三个词经常一起出现,但层级不同。

方法核心思想解决的问题
Prompt把任务、背景、约束说清楚激发模型已有能力
RAG先检索资料,再让模型基于资料回答外部知识、私有知识、减少幻觉
Agent模型规划步骤并调用工具多步任务、动态决策、执行动作

三者不是互斥关系。一个企业级知识库 Agent 可能同时使用:

  • Prompt 定义角色、输出格式和安全边界。
  • RAG 检索制度文档和知识库。
  • Function Calling 调订单、工单、权限等工具。
  • Agent 编排多步任务。

生产系统里,越靠近执行和写操作,越需要服务端权限、审计、人审和评测门禁。Prompt 不是安全边界。

大模型应用的工程闭环

一个能上线的大模型应用,不只是“调 API + 返回答案”。至少要考虑:

text
用户请求
  -> 鉴权与租户上下文
  -> Prompt / RAG / Tool 编排
  -> 模型调用
  -> 输出校验与安全过滤
  -> 日志、trace、token 成本
  -> 用户反馈与评测回归

关键工程能力:

  • 鉴权:谁能访问哪些数据和工具。
  • 限流:防止突发请求打爆模型或预算。
  • 超时与重试:模型慢、网关失败、工具异常时如何恢复。
  • 成本统计:按 app、tenant、model、token 计费。
  • 观测:记录 prompt_version、model、latency、tokens、retrieved_docs、tool_calls。
  • 评测:上线前和变更后跑 golden set、bad case、安全集。
  • 回滚:模型、prompt、RAG 参数、工具 schema 都要能回退。

这也是为什么大模型应用开发不是简单“会调用模型 API”,而是传统软件工程能力和 AI 能力的结合。

参数、数据、算力:大模型三角

理解大模型基础,不能只盯着“参数量”。模型能力通常来自三个要素的共同作用:参数、数据、算力。

要素作用常见误区
参数决定模型容量,承载模式和知识参数越大一定越好
数据决定模型学到什么、学得是否干净数据越多一定越好
算力决定能训练多大、训练多久、推理多快显卡越多就能直接训练好模型

参数:容量不是全部

参数可以理解为模型内部可调的“旋钮”。训练就是不断调整这些旋钮,让模型对下一个 token 的预测更准确。参数越多,模型理论容量越大,能表示更复杂的模式。但参数不是魔法:如果数据质量差、训练配比差、对齐差,参数再多也可能输出废话、幻觉或不稳定。

面试里可以这样回答:

参数量决定容量上限,但最终效果还取决于数据质量、训练 token 数、模型结构、后训练和评估。一个小而干净、针对场景优化的模型,可能在特定任务上比通用大模型更实用。

数据:质量决定上限

大模型会从数据里学习语言、事实、代码、推理模式和价值倾向。数据质量差会带来很多后果:

  • 垃圾网页太多:模型学会啰嗦、套话和低质表达。
  • 重复数据太多:模型容易记忆和复读。
  • 错误数据太多:事实能力下降,幻觉增加。
  • 有害数据太多:安全风险上升。
  • 代码数据不足:编程能力弱。
  • 中文语料不足:中文表达和文化语境弱。

所以训练数据工程不是简单爬网页,而是清洗、去重、过滤、配比、去污染、合规处理的系统工程。很多模型能力差异并不来自结构,而来自数据。

算力:训练和推理都要花钱

训练阶段需要大量 GPU 进行矩阵乘法和反向传播。推理阶段也需要算力,因为每生成一个 token 都要经过多层 Transformer。

训练和推理的算力差异:

阶段目标主要成本
训练调整参数,让 loss 下降GPU 时间、数据管线、分布式通信
推理用固定参数生成回答显存、KV Cache、输出 token、并发调度

新手常以为“模型训练完就不贵了”,其实热门应用的推理成本可能长期高于训练成本。每个用户每次对话都要消耗 token、显存和 GPU 时间,输出越长越贵,并发越高越难。

缩放定律与涌现能力

大模型发展背后有一个重要经验:在一定范围内,模型越大、数据越多、算力越多,loss 会按可预测规律下降,这就是缩放定律。它解释了为什么业界愿意持续扩大模型规模,也解释了为什么“更多数据 + 更多算力 + 更大模型”曾经是主路线。

但缩放不是无脑堆:

  • 参数大但数据不足,会欠训练。
  • 数据多但质量差,会学到噪声。
  • 上下文长但训练不足,会“标称长上下文,实际不会用”。
  • 推理时算力增加,会带来成本和延迟问题。

所谓涌现能力,是指模型规模达到一定程度后,某些能力突然表现明显,例如多步推理、上下文学习、复杂指令遵循。是否“突然”仍有争议,但面试里你可以把它理解为:模型规模和数据规模提升后,原来很弱的能力变得可用。

更深入可看 缩放定律推理模型与慢思考

训练、微调、提示词、RAG:四种“让模型更适合任务”的办法

新手常问:我想让模型懂我的业务,到底该训练、微调、写 prompt,还是做 RAG?可以用下面这张表判断。

方法是否改参数适合解决不适合解决
Prompt不改指定任务、角色、格式、风格大量新知识、稳定复杂能力
RAG不改私有知识、实时知识、引用溯源、权限控制改变模型内在行为习惯
SFT/LoRA改少量或部分参数固定格式、领域风格、任务流程高频更新知识、严格权限
继续预训练改大量参数注入大量领域语料和语言能力小团队快速应用

Prompt 适合什么

Prompt 是最轻量的方法。你通过指令告诉模型:你是谁、要完成什么、基于什么材料、输出什么格式、不要做什么。它适合快速试验和日常使用。

但 prompt 有边界:如果模型完全不知道某个私有事实,prompt 不能凭空让它知道;如果任务要求稳定执行复杂格式,单靠 prompt 也可能不够。

RAG 适合什么

RAG 适合知识类应用。它不要求模型记住所有资料,而是在用户提问时检索相关资料,再让模型基于资料回答。它的优势是知识可更新、可引用、可权限过滤。

典型场景:

  • 企业制度问答。
  • 客服知识库。
  • 法律条文问答。
  • 投研资料问答。
  • 项目文档助手。

微调适合什么

微调适合让模型学会某种稳定行为,例如特定输出格式、行业术语风格、客服话术、代码生成习惯。LoRA / QLoRA 降低了微调成本,但微调仍然需要数据、评估和上线流程。

如果只是“让模型知道最新价格表”,不要优先微调;价格表会更新,RAG 更合适。

继续预训练适合什么

继续预训练适合有大量领域文本、希望模型吸收领域语言和知识的团队。它成本高、风险大,需要训练经验和评估体系。多数应用团队不从这里开始。

面试表达:

Prompt 解决任务表达,RAG 解决外部知识,微调解决行为习惯,继续预训练解决领域底座。四者不是互斥,而是成本、风险、更新频率和可控性的取舍。

模型选型:不要只看榜单第一

实际项目里选模型,要看任务、成本、延迟、合规和工程约束。

维度该问什么
能力是否擅长中文、代码、数学、长文、工具调用
成本input/output token 单价,是否支持缓存
延迟首 token 延迟、输出速度、并发能力
上下文是否真的能处理长文档,不只是标称长度
稳定性API 可用性、限流、错误率
合规数据能否出境,是否需要私有化
生态SDK、工具链、社区、部署方案
可评估是否能在自己的测试集上稳定胜出

一个常见选型流程:

text
定义任务和指标
  -> 准备 100-300 条真实样本
  -> 统一 prompt 和解码参数
  -> 对比多个模型
  -> 记录质量、延迟、成本、失败类型
  -> 选择主模型和备用模型
  -> 上线后持续监控

不要只说“某模型榜单高,所以选它”。面试官更想听你能否按业务指标评估模型:这个模型是否满足场景,失败在哪里,成本是否可接受,出了问题能否 fallback。

常见基础排错:模型为什么答不好

当大模型回答不好时,新手容易直接说“模型不行”。更专业的排查方式是分层定位。

问题表现可能原因排查方向
答非所问Prompt 目标不清、上下文缺失补背景、约束输出、拆任务
编造事实缺少资料、模型知识过时RAG、引用、事实校验
输出格式不稳示例不足、随机性高few-shot、JSON schema、低温度
长文漏重点上下文太长、中间丢失检索、摘要、分段处理
工具调用错schema 设计差、权限不清参数校验、错误恢复、工具评测
成本过高prompt 太长、输出过长、重试多压缩上下文、限制 max_tokens、缓存
延迟高模型太大、输出太长、并发高流式输出、路由小模型、推理优化
线上退化prompt/model/schema 变更版本管理、评测回归、灰度

可以用一句话总结:

大模型问题要先分清是输入问题、检索问题、模型问题、解码问题、工具问题还是工程问题。不要一上来就改模型,也不要所有问题都靠 prompt 硬修。

从基础到项目:概念如何落地

基础概念不是为了背,而是为了指导你做项目。下面用一个“企业知识库问答”的例子串起来。

text
用户提问
  -> Tokenizer 计算输入 token
  -> Embedding 模型把问题转成向量
  -> 向量库检索相关文档 chunk
  -> Prompt 把问题和资料组织给 LLM
  -> Transformer 处理上下文并生成 logits
  -> 解码策略生成回答
  -> 引用来源、做安全校验、记录 trace

这里每个基础概念都有位置:

  • Tokenizer 决定上下文和成本。
  • Embedding 决定检索相关性。
  • RAG 决定资料是否进入上下文。
  • Transformer 决定模型如何处理上下文。
  • Logits 和 decoding 决定输出稳定性。
  • 评测决定系统是否真的好用。
  • 工程闭环决定能否上线。

如果是 Agent 项目,还会加上工具 schema、Function Calling、权限、审批、审计、轨迹评测。基础越扎实,越能在复杂项目里定位问题。

模型评估:怎么判断好坏

大模型评估分很多层:

层级关注什么例子
基础能力知识、数学、代码、推理MMLU、GSM8K、HumanEval
语言质量是否流畅、有帮助人评、LLM-as-Judge
事实可靠是否幻觉、引用是否正确RAGAS、事实核查
安全对齐是否拒绝有害请求红队、安全集
工程指标延迟、成本、吞吐TTFT、TPOT、P95、goodput
业务效果是否解决用户问题转化率、解决率、满意度

不要只看榜单。榜单可能受数据污染、题型偏差、prompt 差异影响。生产选型更应该看自己的业务评测集:同样的问题、同样的解码参数、同样的成本口径,对比不同模型的质量、延迟和稳定性。

大模型基础知识地图

下面是基础章节各页的定位:

页面你会学到什么适合什么时候看
Transformer 架构详解Transformer Block、Decoder-only、残差、FFN想理解模型骨架
Attention 与变体Q/K/V、MHA、GQA、MLA、KV Cache面试高频、推理优化前置
线性注意力与混合架构SSM、Mamba、线性注意力关注新架构趋势
位置编码RoPE、ALiBi、长上下文外推理解上下文长度
归一化与激活函数LayerNorm、RMSNorm、SwiGLU理解训练稳定性
Tokenizer 与分词BPE、SentencePiece、中文 token 成本理解输入和计费
嵌入层与表示学习向量、语义空间、相似度RAG 和检索前置
解码与采样策略temperature、top-p、beam search控制输出稳定性
从 Logits 到损失softmax、交叉熵、PPL理解训练目标
Mask 与 Padding因果掩码、padding、packing手撕题和微调排错
MoE专家路由、稀疏激活理解 DeepSeek 等模型
长上下文KV Cache、lost in the middle长文档和 Agent 场景

推荐顺序:先看本页,再看 Transformer、Attention、Tokenizer、Embedding、Logits/Loss、Decoding;之后根据兴趣看位置编码、归一化、MoE、长上下文。

面试中如何组织“大模型总览”回答

遇到“介绍一下大模型”“你对 LLM 的理解是什么”这类开放题,可以按四段回答:

第一段:定义

大语言模型是基于海量文本和代码预训练的 Transformer 神经网络,核心目标是根据上下文预测下一个 token。经过 SFT 和对齐后,它从 Base 模型变成能遵循指令的 Chat 模型。

第二段:训练流程

训练流程通常包括数据清洗、Tokenizer、预训练、SFT、RLHF/DPO 等对齐。预训练获得语言和世界知识,SFT 学会按指令回答,对齐让输出更符合人类偏好和安全要求。

第三段:应用方式

应用层通常有 Prompt、RAG、Agent 三条线。Prompt 负责描述任务,RAG 接外部知识减少幻觉,Agent 让模型调用工具完成多步任务。生产系统还要做权限、日志、评测、成本和安全。

第四段:问题与工程化

大模型会幻觉、上下文有限、成本高、延迟不稳定,也不能替代权限控制。工程上通过 RAG、工具校验、模型网关、评测集、监控和人工复核来降低风险。

这样回答既有原理,也有工程意识,比单纯背 Transformer 公式更完整。

基础部分学习路线与掌握标准

大模型基础内容看起来多,但可以分成三个层次学习,不必一开始平均用力。

第一层:能讲清主链路

这是所有方向都必须掌握的最低要求。你要能把下面这条链路讲顺:

text
文本 -> token -> embedding -> Transformer -> logits -> softmax -> decoding -> 输出

这一层的掌握标准:

  • 知道 token 不是汉字或单词本身,而是分词器切出来的单位。
  • 知道 embedding 是把离散 token 变成连续向量。
  • 知道 Transformer 通过 Attention 和 FFN 处理上下文。
  • 知道 logits 是词表分数,softmax 后变成概率。
  • 知道解码策略会影响确定性、多样性和复读。
  • 知道模型逐 token 生成,所以输出越长越慢、越贵。

如果你只能准备一天基础面试,就优先把这一层讲熟。

第二层:能解释关键“为什么”

面试官往往不会只问“是什么”,而会追问“为什么”。这一层要能解释:

  • 为什么 Transformer 比 RNN 更适合大模型:并行训练、长距离依赖、可扩展性更好。
  • 为什么 Attention 要有 Q/K/V:解耦查询、匹配和取值三种角色。
  • 为什么要除以 sqrt(d_k):防止点积过大让 softmax 饱和。
  • 为什么 decoder-only 成为主流生成架构:天然适合自回归生成和统一文本接口。
  • 为什么需要位置编码:Attention 本身不知道顺序。
  • 为什么需要 KV Cache:自回归生成时避免重复计算历史 K/V。
  • 为什么模型会幻觉:训练目标是生成高概率文本,不是事实数据库。
  • 为什么 RAG 能缓解幻觉:给模型提供可检索、可引用的外部依据。

能回答这些“为什么”,说明你不是只背术语,而是真理解了结构动机。

第三层:能联系工程和项目

真正拉开差距的是把基础概念讲到项目里。比如:

  • 你能从 token 讲到上下文成本、中文成本、长 prompt 优化。
  • 你能从 embedding 讲到向量检索、RAG、相似度和召回质量。
  • 你能从 decoding 讲到事实问答低温度、创意写作高温度、结构化输出要约束。
  • 你能从 KV Cache 讲到长上下文显存、并发吞吐和 vLLM。
  • 你能从幻觉讲到 RAG、引用、评测集、人工复核和线上 bad case。
  • 你能从模型评估讲到业务指标,而不是只背 MMLU、GSM8K。

这一层是面试和项目复述最有价值的部分。很多候选人会背 Attention 公式,但讲不清“为什么我的知识库问答成本变高”“为什么长文档放进上下文仍然答错”“为什么换模型后 JSON 输出不稳定”。如果你能把基础知识用于排查这些问题,就已经超过纯背八股的水平。

一个月基础训练法

建议按四周推进:

周次目标输出物
第 1 周搞懂 token、embedding、Transformer 主链路画一张从输入到输出的流程图
第 2 周深入 Attention、位置编码、FFN、归一化写一篇“Transformer 为什么有效”的笔记
第 3 周学 logits、loss、decoding、KV Cache做一个解码参数对比实验
第 4 周把基础用于 RAG/Agent/推理项目复盘一个小项目的成本、延迟和错误来源

每周都要有输出物。没有输出物的学习,很容易停留在“我好像看懂了”。大模型基础尤其需要用图、表、代码、项目复盘来固化。

高频基础名词速查

  • Token:模型处理文本的最小单位,由 Tokenizer 切分。
  • Vocabulary:模型词表,包含所有可能 token。
  • Embedding:把 token ID 映射成向量。
  • Hidden State:模型每层输出的中间表示。
  • Attention:按相关性从上下文取信息。
  • FFN / MLP:Transformer 中对每个位置做非线性变换的网络。
  • Residual:残差连接,让深层模型更容易训练。
  • LayerNorm / RMSNorm:归一化,稳定训练。
  • RoPE:主流旋转位置编码。
  • Logits:模型输出的词表分数。
  • Softmax:把 logits 转成概率。
  • Cross-Entropy:训练语言模型常用损失。
  • PPL:困惑度,衡量语言模型预测能力。
  • KV Cache:缓存历史 token 的 K/V,加速推理。
  • Temperature:控制生成随机性。
  • Top-p:保留累计概率达到 p 的候选集合。
  • Base Model:只预训练的基座模型。
  • Chat Model:经过 SFT/对齐、适合对话的模型。
  • RAG:检索增强生成。
  • Agent:能规划并调用工具的模型应用形态。

基础高频 FAQ

Q1:大模型为什么叫“大”? 通常指参数规模大、训练数据大、计算量大。参数从数十亿到数千亿不等,训练 token 可达万亿级。大规模带来更强泛化和涌现能力,但也带来高成本和部署难度。

Q2:参数越多一定越好吗? 不一定。参数量通常和能力正相关,但数据质量、训练方法、对齐质量、推理配置也很关键。一个训练充分、数据好的小模型,可能在特定任务上超过粗糙的大模型。

Q3:Base 模型和 Chat 模型有什么区别? Base 模型只做预训练,擅长续写;Chat 模型在 Base 上做 SFT 和对齐,学会听指令、按对话格式回答。直接拿 Base 聊天,容易答非所问。

Q4:为什么预训练用自监督学习? 因为互联网文本没有人工标注,但可以自然构造“预测下一个 token”的训练目标。这样才能利用万亿级无标注数据。如果全靠人工标注,规模根本上不去。

Q5:模型的知识存在哪里? 主要隐式存储在权重里,是训练数据的有损压缩。它不是数据库,所以会记错、过时、混淆长尾事实。实时和私有知识通常要用 RAG 或工具接入。

Q6:上下文窗口是不是越大越好? 不完全是。长窗口能放更多信息,但成本、延迟、KV Cache 显存都会增加,而且模型可能忽略中间内容。生产系统更关注“有效上下文”,常结合 RAG、摘要和压缩。

Q7:为什么模型会幻觉? 因为训练目标是生成高概率文本,不是天然保证事实正确。当问题缺少依据、知识过时或模型不确定时,它仍可能生成看似合理的内容。缓解靠 RAG、工具、引用、校验和评测。

Q8:Temperature 设为 0 就完全稳定吗? 不一定。低温或贪心解码会更稳定,但底层并行计算、动态 batching、服务实现也可能带来微小差异。严格复现需要固定种子、后端和推理配置。

Q9:RAG 和微调有什么区别? RAG 是把外部资料检索出来放进上下文,不改模型参数;微调是用数据继续训练模型,改变模型行为。知识频繁更新、需要引用和权限时优先 RAG;要改风格、格式、领域习惯时考虑微调。

Q10:Agent 和普通聊天有什么区别? 普通聊天主要生成回答;Agent 会规划步骤、调用工具、读取环境反馈,再继续行动。Agent 更强,也更容易出错,因此要做工具权限、人审、审计和评测。

Q11:为什么推理部署这么难? 因为大模型生成是逐 token 的,输出 token 越多越慢;同时权重和 KV Cache 占显存,高并发需要复杂调度。要用量化、KV Cache、动态 batching、vLLM、模型网关等优化。

Q12:面试基础部分最容易被追问什么? 最常见的是:Transformer 为什么替代 RNN,Attention 公式含义,Tokenizer 为什么重要,softmax/交叉熵怎么训练,KV Cache 如何加速,为什么会幻觉,RAG 和微调怎么选,Base 和 Chat 模型有什么区别。

自检清单

读完本页,你可以用下面问题检查自己是否真正理解:

  • 能否用 1 分钟解释 LLM 是什么?
  • 能否说清 token、embedding、logits、softmax 的关系?
  • 能否画出从输入文本到输出 token 的流程?
  • 能否解释 Transformer 中 Attention 和 FFN 的分工?
  • 能否说出预训练、SFT、对齐分别解决什么问题?
  • 能否解释为什么模型会幻觉,以及工程上怎么缓解?
  • 能否说明 RAG、Agent、Prompt 的区别和组合方式?
  • 能否说出推理成本为什么高,KV Cache 为什么重要?
  • 能否按“定义 -> 训练 -> 应用 -> 风险”组织一段面试回答?

如果这些问题能回答到七成,你就已经掌握了大模型基础的主干。后面要做的是沿着每个专题深入,而不是在总览页里死背所有细节。

下一步怎么学

按目标选择路线:

最后记住一句话:大模型基础不是孤立知识点,而是一条链路。输入如何表示、模型如何计算、训练如何优化、推理如何生成、应用如何落地、风险如何控制,这条链路串起来,你就真正入门了。

基础篇的横向复盘:把知识点接成决策

学完单页概念后,建议再做一次横向复盘。面试官往往不会按目录问:“请解释 RoPE,再解释 Softmax。”更常见的是给出一个现象,要求你从底层推到系统方案。下面的映射能帮助你把零散术语变成排查路径。

现象先问的基础问题常见工程动作应继续阅读
中文长提示成本异常高token 是如何切分的?上下文预算如何分配?tokenizer 统计、压缩历史、限制输出Tokenizer长上下文
输出 JSON 偶尔不合法解码如何采样?模型是否学过该模板?schema 约束、重试、停止词和 validator解码与采样Logits 与损失
模型漏掉长文档中间证据注意力与位置编码能否有效利用该长度?检索分段、重排、摘要、长度分桶评测Attention位置编码
并发一高就变慢或 OOM权重、激活、KV Cache 分别占多少?限制上下文、分页缓存、动态批处理、量化模型架构谱系
换模型后产品风格和工具调用变了chat template、SFT、对齐与采样版本是否一致?版本锁定、回归集、灰度和回滚LLM 全链路
想靠更大模型解决所有问题缺的是通用能力、最新知识、确定性计算还是权限?路由、RAG、工具、微调与人工确认组合缩放规律与能力边界

一道综合题的回答骨架

例如面试官问:“企业知识助手把五十页合同直接塞给模型后,成本升高且经常漏答,怎么处理?”可以按以下顺序回答:

  1. 先把页面长度换算成 token,明确预留输出、system、历史与证据的上下文预算;这对应 tokenizer 和长上下文成本。
  2. 检查模型是否能在该长度可靠定位信息,不能只看最大窗口标称值;用合同类型和关键条款切片评测。
  3. 对高价值段落做结构化解析、分块、检索和 rerank,再把带页码/条款号的最小充分证据放进 prompt。
  4. 对金额、日期、责任主体等关键字段使用结构化 schema、单位校验和必要的人工复核,不让自然语言流畅度冒充准确性。
  5. 记录模型、prompt、检索索引、输入/输出 token、引用覆盖和失败切片,以便灰度比较、回滚和 bad case 回流。

这个回答同时用到了 Tokenizer、Attention、RAG、解码、评测和可观测性。基础知识的价值,正是让你知道每一个优化为什么有效、又会牺牲什么。

新增专题的学习顺序

基于 MIT 许可发布