千问c端LLM搜索 一面
介绍一下BPE算法流程是什么样的?你这里预训练词表的大小选择的是多少?有什么依据?你有进行不同大小词表的尝试吗?
BPE是先做
pre-tokenization,得到相应的输出字符之后,进行多次合并。合并的逻辑为先依次统计相邻的token对的出现频率,遍历到最后结束之后把频率最高的token对给合并成一个新token,更新整个编码序列,词表最大容量+1,然后反复进行这个行为。预训练词表大小选择的是6400这个大小,主要是用来控制embedding层和后续用来训练模型的层之间的大小差异,如果使用其他开源模型的10几w的参数,在dim=512的情况下就已经超过了模型参数。调试之后采用3m左右的嵌入层即可。
你有看过你这个BPE词表 special token等等的占比是什么样的吗?
你这里说使用了RoPE来做位置编码,请问RoPE相较于传统的位置编码到底有什么样的好处?
统一了绝对和相对位置;能够很好的进行外推;同时方便加速。
除了能够体现相对位置之外呢?难道传统的sin cos处理就不包含相对位置信息了吗?
传统Vanilla PE是直接做加法注入,就是词向量和位置向量相加。但在实际计算query和key点积的时候,中间项相乘会出现内容和位置的交叉项,这些是噪声向量并不需要;
而RoPE是直接做乘法注入,只有最干净的相对位置距离,不存在任何的交叉噪声杂项。同时处理的时候,RoPE是每一层都能够注入位置信息,而传统正余弦编码则是在一开始embedding层进行注入。
你这里说使用了YaRN做外推处理,你讲一讲YaRN是怎么做的?
你简历上写这个项目,是在百亿级 Token 指令集上深度挖掘小模型在复杂指令遵循上的性能上限, 你是怎么评估这个所谓复杂指令遵循的性能的?上限又在于何处?
介绍一下ppo和grpo的区别?
你这里用到了dpo,简历上说的 高质量偏好对数据集 你这个数据是什么样的呢?如何来构建的呢?怎么样才能够体现你后面写的 显著提升了模型的回复逻辑一致性与安全性?有做具体的评测吗?
构建的过程是,首先混入高质量的SFT数据,同时对数据进行严格的长度控制,计算chosen和reject的差值,剔除那些 Chosen 比 Rejected 长太多的样本,同时进行on-policy Hard Negatives(Iterative DPO,针对当前样本生成4-8个回答,采用一个外部模型进行打分,分数第一的作为chosen)
首先是看DPO的loss在持续下降,这表明模型越来越契合与偏向chosen的样本对,
- 在逻辑一致性上:chosen 样本包含了严密的思维链(CoT)推导和正确的计算结果,而 rejected 样本则故意包含了计算错误或跳跃性的逻辑漏洞。
- 在安全性上:对于恶意诱导或不合规的 Prompt,chosen 样本是得体且安全的拒绝回复,而 rejected 样本是顺从恶意指令的有害回复。 通过 DPO 损失函数的优化,模型从概率上拉开了这两者的差距。
因为这是一个轻量级的 Mini 模型,跑常规的庞大 Benchmark可能区分度不够或者成本过高。因此,我从验证集中单独抽样了大约 100-200 条高难度的长逻辑推理和安全边界测试题,利用 GPT-4 作为裁判进行双盲对比测试
GRPO本质上是对采样的数据进行了排序处理,那是不是就能够看成chosen 和 reject 两两配对的数据,那能不能够用dpo算法,使用这个采样的数据来进行RL调整呢?GRPO相较于DPO这样的优势在于什么呢?
确实是可以这样做的,是Iterative DPO的做法。
GRPO优势:
- GRPO相较于Iterative DPO的优势在于,他能够产生连续的优势,能够精确传达“好多少”和“差多少”;
- 直接利用 Group 内全体样本需组合 Pairs,面临组合爆炸或数据浪费
- 如果存在同分情况,DPO就无法构造有效的 Chosen/Rejected 对;而GRPO 做了 Group 内部的标准化,当所有样本得分一样(方差为 0)时,Advantage 会被置为 0。模型知道“这批数据没有区分度”,从而在这一步不产生任何剧烈的梯度更新,有效防止了模型在错误数据上过拟合。
DPO的 /beta是一个超参数,你调整过这个超参吗?调整前后对模型会有什么样的影响?
DPO的Loss可以看成是 $-E[log \sigma( \beta (Margin) ]$
其中,Margin是 $\mathrm{Margin}=\log\frac{\pi_\theta(y_w|x)}{\pi_{ref}(y_w|x)}-\log\frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)}$
因此,/beta太大,一旦模型学到了一点chosen和reject之间的差别,就会直接把loss降低到很低,梯度直接消失,会停留在 SFT 模型(ref模型)附近;
同理,/beta太小,会导致即使chosen和reject之间差距明显,但是由于/beta太小,会导致loss仍然很大,梯度永远不饱和,模型没有办法进行收敛,会无休止地推大偏好差值,最终导致严重的 Reward Hacking 和模型崩坏。
你的MoE架构是什么样的?是把所有FFN层都更换了吗?
你觉得在一个模型训练的过程中,预训练,sft,强化学习分别起到了什么样的作用?
预训练:预训练是让模型从海量的语料中学到知识,是无监督的 Next-token prediction。训练收敛可以查看PPL(PPL就是ntp的cross-entropy loss的指数形式,用来衡量预测下一个词语的时候,模型平均处在多少个等概率候选词中盲猜的困惑状态),;
SFT:是通过高质量的指令数据,将预训练模型中的无序知识收敛到特定的交互范式中。
RL:则是解决 SFT 只能模仿,无法寻优的问题。通过引入偏好数据或基于规则的奖励(Reward),RL 约束模型不偏离基础策略(通过 KL 散度)的同时,去探索出一条胜率更高的推理路径。
智力题:
10瓶子每个里面都有若干药丸,其中存在一瓶次品,这个次品里面的所有药丸都比其他要轻1g,请问怎么通过一个电子秤找到这个次品管子?
思路是第1个瓶子取1个,第2个取2个,以此类推,如果都一样应该是55x g的重量,不是的话应该是55x-i g重量,i就是对应次品的瓶子;
拓展到2瓶次品,怎么找?
思路是第1个瓶子取1个,第2个取4(2^2)个,第3个取8(2^3)个,以此类推,如果都一样应该是1023x g的重量,不是的话应该是1023x-i g重量,i能够被拆分成(2^m+2^n)就是对应次品m和n的瓶子;
算法:用rand7实现rand10
商汤科技LLM 一面
- 介绍一下论文
- 介绍一下项目
- 这里的专家迭代是怎么做的?实际上就是让模型自蒸馏?那为什么不用一个大一点的模型直接蒸馏呢?
- 简历上的 系统的超参搜索与 Verified Reward 函数设计 是什么意思?怎么做的?
- 算法题:实现MHA
平安科技 一面
如何来评测大模型在做RL的时候效果到底怎么样,可以看哪些指标?你项目训练的时候出现reward hacking的现象了吗?reward hacking是什么样的?如果出现reward hacking应该如何去解决?
指标:reward曲线,kl散度曲线,response length,pass@1
没有出现,但是reward hacking就是通过无限堆砌废话或钻代码规则空子来骗取奖励
解决方法:首先在算法层收紧约束,如调大 KL 惩罚参数或严格执行早停;其次在奖励层打补丁,引入长度惩罚与多维度的逻辑/格式奖励;最后在数据层兜底,回退并提升 SFT 的指令质量
介绍一下ppo grpo,并且说一说他们的区别
grpo缺点
grpo如何改进
你这里说实现了带clip的grpo,请问这个clip有什么作用?
- 控制更新步长,保证训练稳定性;Clip 机制将新旧策略的概率比值限制在 $[1-\epsilon, 1+\epsilon]$ 之间,从数学上限定了单步梯度更新的上限,防止模型参数因某些高分样本而产生剧烈抖动,避免了策略崩塌。
- 防止对局部优势的过度消费; 当某个优秀样本的概率提升已经达到了 Clip 上限时,该样本的梯度流就会被截断。这能有效防止避免过度拟合特定的奖励捷径。
- 优化群组内的梯度分布; 在 GRPO 的 Group 内部,样本优势是有正有负的。Clip 机制通过让‘已经学得足够好’的极端样本‘闭嘴’(贡献梯度归零),迫使优化器将注意力转移到组内其他表现微瑕、但仍有提升空间的样本上。
训rl的时候通常看什么指标,如何来实时监测rl训练的效果,rl过程中模型熵会怎么变化?
训练指标同上,熵会逐渐减小,因为熵代表不确定性,本质是模型从‘多样化表达’向‘确定性高分路径’收敛的过程
你的MoE模型架构是什么样的?是把所有FFN层都更换了吗?
做MoE模型的时候有没有在训练的过程中遇到什么问题?怎么解决的?
虾皮LLM搜索 一面
详细说一说自动驾驶轨迹预测论文
介绍一下GRPO项目
讲一讲GRPO原理
GRPO中那个group size超参数怎么选呢?选大选小分别有什么样的后果?
那如果GRPO采样的一组都是一样的或者都是错的,有什么方法可以解决吗?
提升一下在rollout时的temperature以及
top_p等,避免样本完全一致;改成分级奖励,比如通过单元测试比例、关键字匹配、格式正确度、部分得分等。即使全错,也能有“谁更不差”的差别。GRPO里面的clip有什么作用?
算法题:leetcode40 组合数字 II
360多模态算法 一面
介绍论文
你这里做cross attention的时候,有考虑直接进行两层MLP的实验吗?在多模态大模型做融合的时候,现在通常都是直接做两层MLP
介绍GRPO项目
看过一些GRPO的改进工作吗?或者你觉得GRPO有什么缺点可以怎么优化呢?
DAPO GSPO 等等吟唱
你觉得SFT和RL两个过程有什么区别?从数据上来看又是什么样的呢?
你训RL的时候,通常会检测哪些指标呢?
场景题:你在训DPO的时候,如果chosen和reject都下降,模型对齐效果又是一般,怎么办?
算法题:MHA