ai-algorithm · git:20260920.a4843f5 · 2026-09-20 · sha256 745851c085ac5c0e
ai-algorithm git:20260920.a4843f5A
Immutable. This exact content is served forever at /api/v1/blob/745851c085ac5c0e.
--- name: ai-algorithm description: 大模型算法怎么面:Transformer、预训练、后训练与对齐、RL、微调、Embedding、评测。LLM 算法岗读。 keywords: [大模型算法, llm算法, 大模型研究, 预训练, pretraining, post-training, 后训练, sft, rlhf, dpo, grpo, 对齐, alignment, 强化学习, rl, 奖励模型, lora, 微调, transformer, embedding, 多模态, vlm, 评测, benchmark] layer: domain --- ## 面试官在意什么 大模型算法工程师(LLM 算法、大模型研究、后训练 / 对齐、多模态算法)做的是模型本身:造数据、定训练目标、跑预训练或后训练、做对齐、建评测、分析失败样本。和大模型应用岗的区别是:应用岗问"你怎么知道它效果好、坏了怎么查",算法岗问"为什么这个目标、这份数据、这个算法能让模型变好,你怎么证明是它起的作用"。真实面试三到四轮:一面考 Transformer 与训练基础加手撕(attention、交叉熵、RoPE、DPO loss 这类组件),二面深挖项目里的数据配比、训练曲线、消融与评测,三面考对预训练 / 后训练 / RL 路线的判断与近一年方法的理解,主管面看方向匹配。 面试官最在意三件事:第一,基础能否推导而不是背结论——缩放点积为什么除以根号 d、RoPE 怎么外推、DPO 从 RLHF 目标怎么推出来、GRPO 去掉 critic 靠什么估计优势;第二,实验是否可信——数据有没有泄漏进评测集、消融有没有做、涨点是不是噪声、基线选得公不公平;第三,对"为什么有效"的判断——这份数据为什么该加、这个奖励为什么会被 hack、这个方法在什么规模下会失效。 校招候选人的项目多是复现、比赛、实验室课题或实习里的一段流程,不期待大规模训练经验,看基础推导、对实验的诚实评估、能否解释每个设计的理由;社招必须交代规模(多少卡、多少 token、多少步)、数据管线、评测体系、一次真实的训练事故(loss 尖峰、奖励 hack、评测污染)和当时怎么处理。 怎么问才像这个方向的面试官: - 基础题追到公式或机制层面(推导、复杂度、梯度的方向),只会背名字按不理解处理;手撕以模型组件与损失为主。 - 项目题的核心是实验可信度:评测集与训练集有没有重叠、基线是否公平、涨点是否超过噪声、有没有消融,任何一项答不出都要深挖。 - 不考论文时效性名词("最新的 SOTA 是什么"),考方法的动机、假设与失效条件;候选人熟悉的方法与题目不同时用他的方法替代。 - 每个训练决策都追"怎么验证":数据配比、奖励设计、超参,说了任何改动立刻追评测与对照。 - 结合规模出题:几张卡微调 7B 的项目不问千卡并行与 MoE 负载均衡;参与过预训练的必须追数据管线、稳定性与 scaling 判断。 - 2026 年后训练的主线已经从"SFT + RLHF 偏好标注"转到"SFT + 可验证奖励的 RL(GRPO / DAPO 一类)+ 合成数据自博弈":面试官会追候选人知不知道为什么 RLHF 的人工偏好标注不再是主流、可验证奖励在什么任务上不成立、GRPO 去掉 critic 的代价是什么。只会背 RLHF 三段的按过时处理。 ## 项目 / 实习怎么深挖 简历上出现下面这类经历时从哪里切、追什么。追到候选人能说出机制、数字的来源与一次真实的故障或取舍才算实;只有框架名与结论、说不出自己那一段的,记为危险信号。通用的追问方法见 project-deep-dive。 - 简历出现 SFT / 指令微调 → 追数据量与来源、清洗与去重流程、配比怎么定、为什么不用提示或 RAG、微调前后的评测对比、通用能力有没有下降 - 简历出现 RLHF / DPO / GRPO → 追偏好数据怎么来、奖励模型或规则怎么建、有没有观察到 reward hacking、KL 系数怎么调、和 SFT 基线比涨在哪 - 简历出现预训练 / 继续预训练 → 追数据配比与去重、tokenizer、学习率与 warmup、loss 尖峰怎么处理、多少卡多少 token、怎么判断该停 - 简历出现推理模型 / 长思维链 → 追可验证奖励怎么设计、答案抽取与判分、长度膨胀怎么控、在不可验证任务上怎么迁移 - 简历出现 LoRA / 参数高效微调 → 追 rank 与目标层怎么选、显存账、和全参对比差多少、合并回权重后有没有回归 - 简历出现 Embedding / 检索模型 → 追训练对怎么构造、难负例怎么挖、评测集(MTEB 之类还是自建)、领域偏差怎么处理 - 简历出现多模态 / VLM → 追视觉编码器与连接层怎么选、图文数据怎么对齐与清洗、分辨率与 token 数的取舍、幻觉怎么评 - 简历出现"评测 / benchmark 提升 X" → 追评测集有没有被训练数据污染、few-shot 设置、跑了几个种子、涨幅是否超过方差 - 简历出现数据合成 / 蒸馏 → 追教师模型是谁、合成数据怎么过滤、有没有验证过合成数据的多样性与错误率 - 简历出现论文复现或比赛 → 追复现结果与原文差距、差异归因、自己改动的部分、有没有过拟合榜单 ## 常见失守与危险信号 - Transformer 与注意力机制:说不出除以根号 d 的原因;多头只答"多个视角";不知道 attention 是二次复杂度;KV cache 只会说"缓存" - 预训练:数据、目标与 scaling:把预训练等同于"喂很多数据";不知道去重与数据配比的影响;没听过 scaling law 或只会背结论;说不出 loss 尖峰的常见原因 - 后训练:SFT 与数据工程:把微调当成"让模型学会知识"的手段;说不出训练数据从哪来、质量怎么控;不知道全参微调和 LoRA 的显存账;评测集和训练集混在一起 - 偏好对齐:RLHF、DPO 与变体:只会背名字;说不出 DPO 相对 PPO 省掉了什么、代价是什么;不知道 KL 约束的作用;把对齐等同于"更礼貌" - RL for LLM:奖励与推理模型:说不出 GRPO 与 PPO 的差别;不知道奖励可以被 hack;没考虑过长度偏好与格式奖励;把"思维链更长"当能力更强 - 长上下文与位置编码:只答"用 RoPE";说不出外推为什么会崩、插值与 YaRN 解决什么;不知道长上下文评测(大海捞针)的局限 - 评测与基准:评测靠"看起来不错";只报一个总分;不知道 few-shot 设置与提示模板对分数的影响;judge 用被评估的模型且没校验 - 多模态模型:把 VLM 当"接个视觉编码器";说不出图像 token 数与分辨率的取舍;幻觉评测没有方案 - 推理效率与模型压缩:只知道"用 vLLM 快";量化后没做质量回归;说不出 prefill 与 decode 阶段的差异;投机解码只会说"小模型猜" ## 常考主题清单 只列名字、阶梯与答实的标志,作"问到哪一层算实"的参考;问哪些、问几道由这份 JD 与这份简历定,不是配额。 ### Transformer 与注意力机制 - 阶梯:self-attention 的计算与复杂度 → 为什么除以根号 d、多头的作用、位置编码(绝对、相对、RoPE)、Pre-Norm 与 Post-Norm → 长序列下的显存与速度问题、KV cache 的作用、GQA / MQA 省了什么 → decoder-only 为什么成为主流,MoE 的动机与代价(负载均衡、通信) - 答实的标志:能推导 softmax 饱和与缩放的关系;知道 FlashAttention 的思路(分块 + 在线 softmax);能解释 RoPE 的相对位置性质;能算 KV cache 的显存占用 ### 预训练:数据、目标与 scaling - 阶梯:预训练目标(下一词预测)为什么能学到通用能力 → 数据管线:抓取、去重、质量过滤、配比、tokenizer 训练 → loss 尖峰、发散、数据顺序敏感怎么处理;怎么判断该加数据还是加参数 → scaling law 的用法与失效处(数据耗尽、领域数据、推理时算力);继续预训练与灾难性遗忘 - 答实的标志:知道去重与质量过滤对下游的影响大于模型细节;能说出 warmup、学习率衰减与 batch size 的关系;有 loss 尖峰的处理清单(回退 checkpoint、跳 batch、降 lr);能讨论 Chinchilla 式取舍 ### 后训练:SFT 与数据工程 - 阶梯:什么问题该微调而不是 RAG 或提示 → SFT 数据的来源、清洗、去重、配比;指令多样性与回答质量哪个更重要 → 微调后模型"变傻"(通用能力下降)、过拟合、评测集污染怎么发现和缓解 → 数据成本、维护成本与基座升级后的沉没成本;合成数据的边界 - 答实的标志:微调偏向学格式、风格、行为,知识靠检索;评估集独立于训练集且检查了重叠;提到混合通用数据抗遗忘;能说出一份数据加进去前怎么验证它值得加 ### 偏好对齐:RLHF、DPO 与变体 - 阶梯:为什么 SFT 之后还要对齐 → RLHF 三段(SFT、奖励模型、PPO)各做什么,KL 约束的作用 → DPO 怎么从 RLHF 目标推出来、省掉了什么、代价是什么(离线数据、过优化);IPO / KTO / ORPO 这类变体改了哪一项假设 → 偏好数据怎么构造与质检;对齐税;在线与离线对齐的取舍 - 答实的标志:能写出 DPO 的损失并解释隐式奖励;知道 reward hacking 与长度偏好;偏好数据有一致性检查;能说出什么时候 DPO 够用、什么时候必须在线 RL ### 长上下文与位置编码 - 阶梯:为什么模型在训练长度外会崩 → RoPE 的旋转与相对位置、位置插值、NTK-aware / YaRN 各改了什么 → 长上下文训练的数据与显存问题;"中间丢失"现象 → 长上下文评测的局限(大海捞针 vs 真实任务);长上下文与 RAG 的边界 - 答实的标志:能解释外推失败的频率视角;知道扰动基频与插值的差别;有长文评测超出大海捞针的方案 ### 评测与基准 - 阶梯:怎么证明这个模型变好了 → 通用基准(知识、推理、代码、数学)各测什么、few-shot 设置与提示模板对分数的影响 → 分数涨了是能力还是污染或过拟合榜单;跑几个种子、方差多大 → LLM-as-judge 的偏差与校准;面向业务的自建评测集怎么建与维护 - 答实的标志:报分带设置与方差;有污染检查;judge 与人工做一致性检验;评测集覆盖典型、边界、对抗三类 ### 多模态模型 - 阶梯:VLM 的三段(视觉编码器、连接层、语言模型)各做什么 → 图像 token 数、分辨率、动态切图的取舍;图文对齐数据怎么来 → 幻觉(说出图里没有的东西)怎么评与缓解;OCR 与文档理解的特殊性 → 原生多模态与拼接式的差别;视频与音频的扩展成本 - 答实的标志:能说出连接层训练与全模型训练的阶段划分;有多模态幻觉评测方案;知道分辨率对 token 数与延迟的影响 ### 推理效率与模型压缩 - 阶梯:为什么 LLM 推理是显存带宽瓶颈,prefill 与 decode 阶段有何不同 → KV cache、continuous batching、PagedAttention 解决什么;量化(INT8 / INT4 / FP8)、蒸馏、剪枝的原理与精度代价 → 量化后质量怎么回归、投机解码的加速来自哪、什么情况下不加速 → 推理成本对算法决策的反向影响(模型大小、MoE、长思维链) - 答实的标志:区分 TTFT 与 TPOT;量化前后有评测对比;能解释投机解码的接受率与加速比关系;知道推理侧的系统优化(调度、KV cache、并行、算子)在 ai-infra 包里,算法侧要为它留什么(模型大小、MoE、量化友好性)