MiniMax AI Infra 实习 一面 (1)


Q: 介绍你熟悉的大模型架构,比较它们在注意力结构、训练策略和推理优化上的主要差异?

以LLaMA和DeepSeek-V3为例:

注意力结构:LLaMA使用GQA(Grouped Query Attention),多个query head共享一组KV head,平衡效率和质量。DeepSeek-V3使用MLA(Multi-head Latent Attention),将KV压缩为低维latent,极大减少KV Cache。

训练策略:LLaMA是标准Dense模型训练;DeepSeek-V3使用MoE(细粒度专家+共享专家)+ FP8混合精度 + Multi-Token Prediction辅助目标。

推理优化:GQA通过减少KV head数降低显存;MLA通过低秩压缩KV Cache大幅减少解码时的访存量。


Q: 为什么MoE架构能在参数规模继续扩大的情况下保持训练效率?

MoE模型虽然总参数量大,但每个token只激活部分专家(如8选2),实际计算的参数量远小于总量。因此:

  • 单token的计算FLOPs与Dense小模型相当,训练速度不会因总参数增大而线性减慢。
  • 模型容量(知识存储能力)随总参数增长,但计算成本只随激活参数增长。
  • 稀疏激活使得同等计算预算下可以训练更大容量的模型,获得更好的loss。

Q: MoE的路由机制是怎么工作的?为什么会出现专家负载不均?

路由机制:对每个token,路由网络(通常是一个线性层+softmax)计算其与每个专家的亲和度分数,选择top-k个专家处理该token,输出为各专家结果的加权和。

负载不均原因:路由网络倾向于将更多token分配给少数”强”专家(马太效应),因为这些专家已经学得更好。这导致部分专家过载(计算瓶颈)、部分专家欠训练(参数浪费),形成恶性循环。


Q: 如果专家利用率很低,怎么优化路由策略?

  • Auxiliary Loss:添加负载均衡辅助损失,惩罚路由分布的偏斜。
  • Expert Choice路由:让专家选择token而非token选专家,保证每个专家处理固定数量token。
  • 无辅助损失方法(DeepSeek-V3):通过可学习bias调节路由概率,无需额外loss。
  • Token Drop:超出容量的token随机丢弃或分配给其他专家。
  • Hash路由/随机路由:确定性分配避免学习偏差。

Q: SFT和RLHF在训练目标上有什么本质区别?为什么SFT后仍需RLHF?

SFT:监督微调,目标是最大化人类标注数据的似然(模仿学习),学的是”如何像人一样回答”。

RLHF:强化学习对齐,目标是最大化人类偏好奖励(学习人类判断),学的是”如何让人满意”。

仍需RLHF的原因:SFT只能学到标注数据的分布,无法泛化人类未覆盖的偏好。SFT可能学到有害但存在于数据中的模式。RLHF通过奖励模型对任意输出评分,能更好地对齐开放式生成的质量、安全性和有用性。


Q: RLHF中PPO的核心优化目标是什么?解释目标函数每一项的意义?

PPO目标函数:L = E[min(r(θ) * A, clip(r(θ), 1-ε, 1+ε) * A)] - β * KL(π_θ || π_ref)

  • r(θ) = π_θ(a|s) / π_old(a|s):新旧策略的概率比。
  • A:优势函数,衡量动作相对于平均水平的好坏。
  • clip:将概率比限制在[1-ε, 1+ε]内,防止策略更新过大。
  • KL项:约束新策略不偏离参考策略(SFT模型)太远,防止reward hacking。
  • β:KL惩罚系数,平衡奖励最大化和策略稳定性。

Q: 手撕:实现K个有序数组的中位数?

(编程题)