第 14 章 · 大模型算法岗
编程与系统设计题
把知识落到代码、容量估算、RAG 与推理服务设计,训练结构化澄清和权衡表达。
如何手写一个带 Mask 的多头注意力?
30 秒口述版
先明确输入形状,完成 QKV 投影、拆头、缩放点积、mask、softmax、加权 V、并头和输出投影。
原理与推导
实现重点是维度、mask 广播、数值稳定与 contiguous/transpose。
公式、代码或工程案例
用小张量与框架参考实现做 allclose。
高频追问
- 怎样加入 KV cache?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要先 softmax 再 mask。
权威来源
如何估算模型参数量与训练显存?
30 秒口述版
按 embedding、每层 attention/FFN、norm 和 lm head 分解参数,再分别计算梯度、优化器、激活和缓冲。
原理与推导
给出假设和峰值余量比追求一个伪精确数字更重要。
公式、代码或工程案例
对给定 L、d、V、d_ff 逐项列式。
高频追问
- MoE 参数怎样计?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要漏掉是否 weight tying。
权威来源
如何设计企业知识库 RAG?
30 秒口述版
先澄清数据、权限、更新、查询和 SLO,再设计解析切分、索引、混合召回、重排、生成、引用和评测。
原理与推导
权限过滤与数据版本必须贯穿链路,离线黄金集和线上反馈形成闭环。
公式、代码或工程案例
给出失败追踪所需日志字段。
高频追问
- 多租户怎样隔离?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要从选择向量数据库开始设计。
权威来源
如何设计高吞吐 LLM 推理服务?
30 秒口述版
从模型大小、请求分布和 SLO 推导并行、量化、batch、KV 管理与调度,再设计限流和观测。
原理与推导
prefill/decode 特性、p99 与故障余量决定真实容量。
公式、代码或工程案例
画网关→调度器→worker→cache 的结构。
高频追问
- 流量突增怎样降级?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要只讨论 GPU kernel。
权威来源
如何定位一次线上回答质量下降?
30 秒口述版
先按模型、prompt、检索索引、工具和数据版本切片,复现请求并逐阶段比较。
原理与推导
质量问题与延迟、截断、模板或权限变更都可能相关,需要可追踪版本。
公式、代码或工程案例
用 canary 样本和上一版本做差分。
高频追问
- 没有用户原文时怎样保护隐私又排障?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要直接回滚所有组件而失去根因。
权威来源
如何为微调项目设计实验?
30 秒口述版
定义目标与 baseline,固定数据切分,选择全参/PEFT,做少量关键消融并同时评估回归与成本。
原理与推导
每次实验只改变可归因因素,记录代码、权重、数据和随机种子版本。
公式、代码或工程案例
先在小规模验证数据管线再扩展。
高频追问
- 怎样判断提升显著?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要以训练 loss 作为唯一成功标准。
权威来源
系统设计题应该怎样组织回答?
30 秒口述版
先澄清目标、规模、SLO、数据与安全,再给主链路、容量估算、关键取舍、故障和评测。
原理与推导
面试官关注的是假设透明和权衡能力,不是堆砌组件名。
公式、代码或工程案例
使用“需求→估算→架构→瓶颈→演进”五段式。
高频追问
- 被追问替代方案时怎么答?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要一上来画复杂架构而未确认问题。
