蚂蚁 网银 NLP算法面经
4.21 投简历
4.23 约后天一面
4.25 一面
无手撕,上来先拷打论文,其中有个地方用了rag,面试官问我这里是怎么把文本转换成向量储存的。(我以为是问我工程上的实现,这是去年做的一个小模块,回忆了半天细节,答得支支吾吾,面完了之后结合下一个问我才意识到其实是问我embedding过程)
看我支支吾吾就直接问transformer是怎么把token处理成向量的。
transformer的self-attention和cross self-attention区别在哪里。
pre-norm和post-norm的区别?进一步,为什么现在主流大模型都用post-norm。
lora的实现过程。
大模型用的Loss函数是什么(交叉熵)?进一步,使用teaching forcing训练时使用真实标签作为输入,而推理时则是使用模型的输出作为输入,这导致了训练阶段和推理阶段之间的不一致性,为什么会用这个gap。(我在想不是都把原因说出来了吗...这个问题也答得不太好)
然后开始介绍业务,大概是做网上银行的客服机器人。
反问:
如果我有幸能进入你们部门,大概会分配给我什么样的工作:不确定,要等来了之后才知道。
从今天的面试来看,你觉得我有什么地方需要改进的吗:去熟悉熟悉自己的论文和项目吧(因为一开始被问到那个确实答得不太好。)
面试官全程给的压力有点大,本来都以为凉了,结果居然五分钟后约二面。
4.27 二面
无手撕,直接拷打两篇论文,期间问了一点点八股。
简述DPO、PPO、GRPO的区别。
问我在读研期间学习后最擅长的技能是什么,我回答数据集构造和强化学习,于是出了一道场景题:如果部门上线的客服机器人,和人工相比不仅语气僵硬而且可能会有不安全回复或者幻觉,如何解决?(感觉答得也不太好,一面之后稍微了解了下客服机器人的内容,但是答得太浅了)
反问:
作为行业中的前辈,你能给一些我为了之后工作可以学习的内容的建议吗:这得看你自己,基础知识要你自己学,针对性的技术要看你之后的业务,不能给一个宽泛的建议。
总共有几面:就两个技术面,这轮面试我就会决定结果。
一小时后公众号显示二面过,目前等约hr面。
总结:蚂蚁效率真的快,投简历到二面过不到一个星期,第一位面试官虽然有点严肃但也没为难我,第二位面试官人也很好。全程除了笔试没有手撕,八股文问的不多也比较简单,有点白准备了。由于暑期实习开始准备的很晚还以为和大厂无缘了,要是能去蚂蚁我以后只用支付宝。