Appearance
基础概念
这一组文章回答“大模型到底在做什么”,是后续提示词、工具调用和 Agent 机制的共同基础。
| 文章 | 重点 |
|---|---|
| 大模型是怎么工作的 | token、上下文窗口和推理参数 |
| 训练流程鸟瞰:模型是怎么炼成的 | 从数据准备、预训练到对齐、评估和部署,理解模型能力如何一步步形成 |
| 机器学习概念一页纸 | 损失函数、梯度下降、过拟合等高频术语 |
学习清单
大模型是怎么工作的
用
tiktoken把一段中英文混合文本分词,直观感受 token参考答案:同一段文本会被拆成 token 字符串和整数 id,中文、英文、数字、标点以及代码的切分粒度可能不同;字符数、词数和 token 数不是一回事。记录总 token 数,并分别观察中文短句、英文长单词、数字串和代码的变化。验收时要能解释 token 为什么影响上下文容量和 API 计费,并在换模型时使用对应 tokenizer,而不是直接套用另一个模型的估算。
照着数据流图,用自己的话说清 token 从输入到输出流经的 6 个部件,每步把数据变成了什么
参考答案:Tokenizer 把文本变成 token id;Embedding 把 id 查成向量并加入位置信息;Transformer 的注意力和 FFN 结合上下文处理向量;LM Head 把隐藏状态变成词表大小的 logits;Softmax 将 logits 转为概率分布;采样策略选出下一个 token,再追加回序列。训练时 causal mask 保证当前位置看不到未来 token,生成时重复这条流程。还要能指出
temperature/top_p发生在采样阶段,输出 token 仍需解码才能变回文本。想清楚“上下文越长、推理越慢越贵”的两个根源
参考答案:输入越长,注意力要处理的 token 关系更多,朴素全注意力的计算和中间结果会随序列长度显著增长;生成时 KV Cache 能复用历史 Key/Value,但缓存本身会随上下文线性占用显存。长上下文还增加输入 token 费用,可能让有效信息被噪声淹没。应能区分计算成本和显存成本,并提出裁剪、摘要、检索、分层记忆或滑动窗口等缓解方式。
查一个常用模型的参数量,分辨它是不是 MoE
参考答案:记录总参数量、每 token 激活参数量、上下文窗口、精度或量化方式,并注明模型版本和来源。总参数代表潜在容量,激活参数代表一次前向实际参与计算的大致规模;只有一个参数量时不能仅凭大小断言是稠密模型。MoE 也不自动等于低延迟,路由、通信和显存仍会影响部署。
同一个问题分别用 temperature 0 / 1 / 2 各调 5 次,观察输出差异
参考答案:固定模型、提示词和其他参数,低 temperature 通常更稳定,高 temperature 通常有更多表达变化;参数 2 是否被支持取决于服务商。至少记录 15 次输出,从事实一致性、格式稳定性、重复率和创造性比较,并说明随机性增加不等于准确率增加,结构化抽取通常偏向低随机性。
故意超出上下文窗口,看 API 报什么错
参考答案:记录模型名、输入 token 数、预留输出上限和错误信息。实际可用上限要扣除输出预算,有些服务会直接报错,有些可能截断。应设计处理策略:优先保留系统约束和用户问题,再压缩历史、降低检索结果数量,并记录被裁剪内容。
问模型一个知识截止之后的问题,观察幻觉长什么样
参考答案:模型可能拒答、猜测,或生成语气自信但没有依据的答案。应把回答与可信来源逐项比对,标出事实、猜测和无法验证的部分,说明知识截止、实时数据和幻觉的区别;可靠系统需要搜索、实时数据库或 RAG,而不是只在提示词里写“不要幻觉”。
训练流程鸟瞰:模型是怎么炼成的
能不用术语讲清楚大模型从原始数据到上线的大致流程
参考答案:先收集和治理数据,再用 tokenizer 转成 token;预训练让模型学习语言和知识模式;SFT 用示范数据教它听指令;RLHF、DPO 和安全训练让它更符合人类偏好;随后用验证集、测试集和红队评估,最后做量化、缓存和服务化部署。上线后还要结合提示词、RAG、工具和业务系统持续改进。
为什么预训练的核心任务是预测下一个 token?它为什么能学到语言能力?
参考答案:程序给模型前面的 token,让它预测下一个 token,根据正确答案计算 loss 并更新参数。为了降低海量文本上的预测错误,模型必须学习语法、词义、上下文关系、代码结构和常见事实模式,因此获得多种语言能力;但这些是参数化模式,不是实时、绝对可靠的数据库。
用例子解释 loss、梯度下降、学习率、batch、step 和 epoch
参考答案:模型对“我喜欢吃__”预测“苹果”时,正确 token 概率越低,loss 通常越高;梯度告诉参数往哪个方向改,优化器沿此方向更新;learning rate 决定每次改多大;batch 是一次处理的一批样本;step 是处理一批并更新一次;epoch 是完整遍历训练集一次。
基座模型为什么通常不像成熟的聊天助手?
参考答案:预训练主要优化“续写下一个 token”,没有充分教模型理解用户意图、遵循角色、输出固定格式和处理拒答。它可能续写文章、补全对话或模仿语料格式;SFT 和后续对齐训练才让它更适合交互和任务执行。
SFT 的训练数据为什么不能只是随便收集一批问答?
参考答案:SFT 会模仿示范行为,事实错误、格式混乱、拒答过度或工具调用不正确都可能被学进去。数据需要覆盖真实任务、多轮上下文、边界条件、结构化输出、工具调用和安全替代方案,并经过质量筛选和版本化。
RLHF 和 DPO 的共同目标是什么?主要区别是什么?
参考答案:两者都利用人类偏好,让模型更倾向有帮助、诚实、安全的回答。RLHF 通常包含偏好数据、奖励模型和强化学习优化;DPO 直接用 chosen/rejected 答案对优化模型,省去典型流程中的部分在线奖励模型和 PPO。效果仍取决于数据和评估。
为什么不能把所有拒答都归因于 RLHF?
参考答案:拒答可能同时来自 SFT 安全示范、偏好优化、安全训练、系统指令、Moderation、Guardrail、工具权限和产品策略,是训练与部署多层机制共同作用的结果。
训练集、验证集和测试集分别做什么?如何发现过拟合?
参考答案:训练集更新参数,验证集用于调参和选择 checkpoint,测试集用于最终估计泛化能力。训练 loss 持续下降但验证 loss 或验证指标变差,说明可能过拟合;还要排查数据泄漏和测试集污染。
什么情况下优先用 RAG、工具调用或提示词,而不是微调?
参考答案:知识经常更新时用 RAG、搜索或数据库;需要实时事实或改变外部系统时用工具;固定格式和流程问题先用提示词、结构化输出、验证器和运行时控制。只有行为稳定、样本足够且工程优化仍不足时,才考虑微调,并先证明问题确实来自模型行为。
LoRA 为什么省显存?它解决不了什么问题?
参考答案:LoRA 冻结基座权重,只训练低秩增量矩阵,因此梯度和优化器状态显著减少,产物较小。它不能自动提供高质量数据、实时知识、权限和评估,也不保证任务质量不下降。
为什么模型上线后仍需要 RAG、工具、权限和评估?
参考答案:训练知识有时间边界,参数不是实时数据库;RAG 提供证据,工具访问事实或执行动作,权限限制副作用,评估和 trace 发现质量、成本和安全问题。模型本身不能替代这些系统能力。
机器学习概念一页纸
能用自己的话说出损失函数、梯度下降、学习率、训练/验证/测试集、epoch、超参数、参数、embedding、GPU 和显存分别做什么
参考答案:损失衡量预测错误;梯度下降利用梯度更新参数;学习率决定更新步长;训练/验证/测试集分别用于学习、调参和最终泛化评估;epoch 是遍历一遍训练数据;超参数由人设定,参数由训练得到;embedding 把离散对象表示成可比较的向量;GPU 和显存决定训练、推理能否以及多快完成。回答时要说明它们之间的关系,而不是只背翻译。
能用一句话解释为什么损失越低越好、学习率过大或过小各会怎样
参考答案:损失被定义成预测错误的数值化度量,同一任务下越低表示越接近目标;梯度给出下降方向,学习率决定走多远。学习率过大会震荡、发散或越过较优点,过小则收敛慢,常配合 warmup 和衰减调度。
能说清过拟合是什么、用什么手段发现它
参考答案:过拟合是模型记住训练样本甚至噪声,导致训练集指标好但新样本泛化差。常见信号是训练损失持续下降而验证损失或指标变差;可用早停、增加高质量数据、正则化、数据增强或减少训练轮数缓解,最终判断应保留独立测试集。
重点确认理解 embedding,因为后面的 RAG 直接依赖它
参考答案:Embedding 模型把文本、图片或其他对象映射到固定维度向量,语义相近对象在选定距离度量下通常更接近;它负责表示,不负责直接生成答案。RAG 会用它召回候选,但效果还受切分、元数据、查询改写、距离函数和重排影响,向量相近不等于事实正确。