前言
2023年三月前后,大模型突然国内火了起来,笔者就面了一些公司,有大厂有初创。最近挺多朋友聊大模型相关的内容,对面试也感兴趣,想这里综合写一下,也希望能和各位同行交流下。因为有一段时间了(最早面的半年了),所以大部分细节记不清了,列表顺序大概齐按面试时间排的。
后边会大体总结下面试的经验感悟,以及我认为要注重的内容,一家之言仅供参考。
1. 智元机器人(Agibot)(拒)
稚晖君那个。当时面的很早,他们好像还在一边组建团队一边搞东西,一面就是稚晖君本人,问了一些简历的经历,然后问了transformer相关的比较常见的问题比如MHA,复杂度,BERT/GPT这种。然后后边就没有收到回复,应该是挂了。这家是我开始面试的第一家,所以印象还比较深刻。和大佬交流感觉也挺顺畅,很看好他家的以及具身智能这个方向。给稚晖君大佬点赞!
2. 面壁科技/面壁智能(offer)
记得一共两面,技术上问了大模型训练,transformer相关的内容和过往经历,第二面好像就聊offer了如果没有记错。团队很年轻,大部分清华背景。当时感觉是不是有点太年轻了虽然清华背景这样子。印象里他们有说funding还是很足的。PS:包是挺大的。
3. 光年之外 (简历拒)
三月份猎头帮忙推荐的,简历拒。
4. 北京智源人工智能研究院 (消失)
一共3-4面,面试官是不同team的人,有evaluation,训练等团队。面试时总体感觉他们想招偏evaluation这边的人。面到后面记得有一次面试官鸽了约好的面试,然后后面说从新安排时间,但是猎头或者HR就没有再给后续消息了,应该是默拒了。
5. 360(简历拒)
当时猎头说要高P,P8+
6. Minimax (口头offer):
这家面试轮次挺多,具体记不清但是起码4+轮。
前几轮都是考leetcode为主,问了很少很浅的大模型的内容,记得是其中一面是让手写MHA。最后一轮和主管聊完之后被分配到了框架组的offer,和猎头问了一下算法组是不是考虑,回答是不,就没再继续接触。
PS:他家的包还是挺大的(总包说肯定到得了X+),在几家初创里都算大的,但是面试时公司的前景,业务技术方向感觉面试官没有沟通很多。主管面也是20分钟就匆匆结束了,没有交流很多信息。
7. 昆仑万维 (offer)
面试好像问了之前训练大模型的内容,比如模型参数大小,训练一些细节之类的,印象里没有leetcode。面试官记得很乐呵的一个人。当时拿到的包裹相对低一些,比其他公司。不过后边接触到猎头都说他家给的还是很可以的,所以不确定是不是自己记错了或者交流有误。
8. 云从科技 (拒)
两轮面试被拒掉了,印象很深的是第二轮面试超级长,设定1个小时面试聊了2个多小时。面试官问了很多之前的经验,大模型训练的细节之类的,模型端,框架端,之前做的研究都聊到了。感觉聊的是挺开心的,不过后边就被拒了。
9. 阿里夸克(offer)
4论面试,2轮带leetcode,然后浅浅问了相关经验,第三轮主要问了大模型的内容,比较标准的问题(transformer,训练,分布式,如何处理训练一些问题比如loss spike啥的)。第四轮是cross面,推荐组的一个大佬,感觉是象征性面试,因为之前做过搜广推问了相关问题,问了probability和脑筋急转弯,最后问一些OS的问题我不会。
几天后收到offer,和HR接触时感觉不太礼貌,交流有些摩擦。
10. 衔远(offer)
3面左右,问的也比较中规中矩。最后一面是和周伯文老师聊。他家最后给了框架的岗位,但是我相对想做模型相关。包裹挺大的。
11. 潞晨科技(Colossal-AI)(拒)
他家是做框架为主的,一面问了很多框架内容,各种模型切分方式,问的比较深,好像也问了flash-attention的内容,感觉答得还凑合。
后来我表达了想做算法端,他们算法那边确实也在招人不过hc不多,二面是算法组的人面的,问的应用端比较多,感觉可能不做基座?然后面挂了。他家在圈子里感觉框架端名声挺大的,记得公司内部之前有人发他家新闻来着。
12. 蚂蚁(offer)
徐鹏老师团队。一面记不清了,二面是徐鹏老师本人。聊了之前很多经历,大模型,搜广推,本科实习时的前后端。印象深一点是徐鹏老师表达了团队人希望模型研究和工程都要做,research和engineering不分很细,这个和我的观点很像。接下来一轮HR面就发offer了,第一年算上签字 ** 这样子。
13. 腾讯(简历拒)
猎头说要phd。
14. 小红书(简历拒)
猎头说要phd。
15. 商汤(没消息了,被拒)
一共两面,一面记得是leetcode+写MHA,感觉面得不错。二面好像答得不太好,具体问的啥忘掉了。。。后来没消息了,被拒。
16. 百川智能(拒)
猎头推的,安排了面试,第一面过了之后,后面二面我记错了时间,晚了很久(在外边开车)。然后被HR拒掉了,不过理由说的是要3年以上经验的,不知道是不是给我点面子。
17. 百度文心(offer)
这边面了好多轮。一面是数据组的人,问了很多关于大模型数据处理的内容,感觉答得一般,表达了想去模型组,然后面试官应该是和HR交流了,第二组开始就是模型组的人来面试。有没有leetcode不记得了,面试内容也比较中规中矩,transformer,大模型训练这种内容。后边和leader还有HR聊得也比较通畅。和初创不一样他家组分得挺细的,模型,框架,数据啥的都是分开的。(包裹底薪* 万多,几个月忘了)
18. 科大讯飞(拒)
HR先聊的,觉得我不可能来合肥就拒了。
19. IDEA研究院(拒)
这家确实啥也不记得了,记得的就是一面就被拒了,很尴尬。
20. 好未来(offer)
他家感觉团队整体背景在众多公司中相对一般,一面问了一个简单的leetcode没答上来很尴尬,模型轮可能比较好最后还是给offer了。问题也比较中规中矩,包裹没聊。做的项目是数学相关的GPT模型,个人也不是很了解这个方向。
21. 零一万物(拒)
一面是之前阿里的推荐系统那边的大佬,问了leetcode和一些推荐系统的问题,感觉答得还可以。二面也是个大佬有搜广推,NLP相关很多经验,考了个需要动点脑子的leetcode,没答上来,挂了。没有走到很靠后,好奇他家后边面试会不会有大模型的大佬来面。
22. 月之暗面(moonshot)(拒)
这家感觉面试问的广度和深度是国内厂面的里边最相关也最专业的。一面是个大佬,之前Kaiming大神一些高引论文的共同作者。一开始问了包括一些基础的大模型训练的内容,transformer架构。然后开始问一些框架端的内容,分布式训练的切割和device之间交流,后面follow-up的问题问了不同device之间communication怎么做,底层communication算法有啥,我答案里有ring-reduce,然后再深入问了reduce底层如何实现,我就不会了。问了会不会用cuda写东西,我说了解很浅。最后给了比较难的leetcode,题目不记得了,没写出来,挂。看了下他家主页,感觉创始人和员工都很牛。这家虽然只有一面感觉在国内应该是背景很top的一家了。很可惜没有机会多聊一些。
23. 阿里达摩院(新达摩)(offer)
一面考了leetcode,浅问了大模型技术。第二面是团队大老板,海归,之前在北美连续创业成功,汇报行癫。聊了很多高层的对于大模型技术上的愿景和理解,大模型未来市场方向之类的,我其实听不特别懂,不过学到了很多。他家是纯研究方向,算力听意思挺nb的。主要做大语言模型和多模态大模型这两方面的。最后说我一面leetcode不太行,补了一面coding,然后收到了offer。
24. 边塞科技 (拒)
这家专门做RLHF,微调的。清华背景,创始人有openai的经验。聊了两面感觉在RLHF上积累特别多,学到了很多东西。楼主RL是个票友级别就无了。
总结
这段时间面试了很多家,也学到了超级多东西。楼主这边背景是做基座预训练算法端为主的,对框架端和RL的内容有一定了解(面试能凑合),对于后端的知识比如ML compiler,kernel,cuda相关的了解就比较浅了(问到觉大概率挂)。硬件几乎不太懂。感觉一圈聊下来几点感悟:
- 大模型这方向真的卷,面试时好多新模型,新paper疯狂出,东西出的比我读的快。
- Research岗位对工程也有要求,工程端也需要了解模型。
- 感觉比较硬核的岗位,尤其初创公司都是对好几个点都有要求的(应用,模型,框架,底层后端,硬件)。
- 楼主目前是:模型 > 框架 > 底层 > 其他。下一步想不放下模型的前提下,发展底层这边的能力(kernel等)
- 目前市场还看不太清,楼主对市场之前不太关注,也不感兴趣,技术宅。
- RLHF很有前景的方向,强化学习如果经历够的话也要深挖一下。
- 大模型包总体给的相对高一些(同P)。
- 目前大多数公司还是集中在语言模型,偏研究的方向会有多模态的预训练这意思。
考点
一些比较高频的东西(针对基座算法/框架岗位为主,大体按重要性排序):
- 多头注意力,频率太高了。coding轮,概念轮都考。复习的点包括:时间/空间复杂度,优化(kv-cache,MQA,GQA),手写多头代码。各种Norm,这个频率也不低,不过比较标准的内容,没有啥特意要说的,有的考手写,有的考概念和理解(为什么管用)。
- 框架相关内容,各种并行方式,优缺点。DeepSpeed,Megatron可以看看源代码,Flash-Attention等内容。这个点也经常考代码题。
- BERT,GPT等比较主流大模型,一些细节,比如位置编码,训练loss,激活,架构些许不同这种。自回归重点。
- 大模型训练,这个可能主要是工作经验相关,经常问比如训练loss炸掉了,如何解决,一些技巧之类的。面试时有些面试官会问一些很细节的东西,感觉是在确认确实上手跑过基座训练不是吹水。
- 数据预处理,BPE,tokenization,mask相关概念和对模型/训练影响,数据配比(有paper)。
- evaluation,如何评估大模型,安全性,有效性,公开数据,个别考过手写eval框架(多选,生成)。
- 根据投的岗位,多模态和RLHF内容可以适当看看。这俩感觉paper挺重要的,也大多研究岗位。楼主也少面了一些自动驾驶,RL啥的,不过结果不咋地。
PS:有些非基座相关的或者实在没啥印象的就没写。
最后,面试题资料分享
为了助力朋友们跳槽面试、升职加薪、职业困境,提高自己的技术,本文给大家整了一套涵盖AI大模型所有技术栈的快速学习方法和笔记。目前已经收到了七八个网友的反馈,说是面试问到了很多这里面的知识点。
面试题展示
1、请解释一下BERT模型的原理和应用场景。
答案:BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的语言模型,通过双向Transformer编码器来学习文本的表示。它在自然语言处理任务中取得了很好的效果,如文本分类、命名实体识别等。
2、什么是序列到序列模型(Seq2Seq),并举例说明其在自然语言处理中的应用。
答案:Seq2Seq模型是一种将一个序列映射到另一个序列的模型,常用于机器翻译、对话生成等任务。例如,将英文句子翻译成法文句子。
3、请解释一下Transformer模型的原理和优势。
答案:Transformer是一种基于自注意力机制的模型,用于处理序列数据。它的优势在于能够并行计算,减少了训练时间,并且在很多自然语言处理任务中表现出色。
4、什么是注意力机制(Attention Mechanism),并举例说明其在深度学习中的应用。
答案:注意力机制是一种机制,用于给予模型对不同部分输入的不同权重。在深度学习中,注意力机制常用于提升模型在处理长序列数据时的性能,如机器翻译、文本摘要等任务。
5、请解释一下卷积神经网络(CNN)在计算机视觉中的应用,并说明其优势。
答案:CNN是一种专门用于处理图像数据的神经网络结构,通过卷积层和池化层提取图像特征。它在计算机视觉任务中广泛应用,如图像分类、目标检测等,并且具有参数共享和平移不变性等优势。
6、请解释一下生成对抗网络(GAN)的原理和应用。
答案:GAN是一种由生成器和判别器组成的对抗性网络结构,用于生成逼真的数据样本。它在图像生成、图像修复等任务中取得了很好的效果。
7、请解释一下强化学习(Reinforcement Learning)的原理和应用。
答案:强化学习是一种通过与环境交互学习最优策略的机器学习方法。它在游戏领域、机器人控制等领域有广泛的应用。
8、请解释一下自监督学习(Self-Supervised Learning)的原理和优势。
答案:自监督学习是一种无需人工标注标签的学习方法,通过模型自动生成标签进行训练。它在数据标注困难的情况下有很大的优势。
9、解释一下迁移学习(Transfer Learning)的原理和应用。
答案:迁移学习是一种将在一个任务上学到的知识迁移到另一个任务上的学习方法。它在数据稀缺或新任务数据量较小时有很好的效果。
10、请解释一下模型蒸馏(Model Distillation)的原理和应用。
答案:模型蒸馏是一种通过训练一个小模型来近似一个大模型的方法。它可以减少模型的计算和存储开销,并在移动端部署时有很大的优势。
11、请解释一下LSTM(Long Short-Term Memory)模型的原理和应用场景。
答案:LSTM是一种特殊的循环神经网络结构,用于处理序列数据。它通过门控单元来学习长期依赖关系,常用于语言建模、时间序列预测等任务。
12、请解释一下BERT模型的原理和应用场景。
答案:BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的语言模型,通过双向Transformer编码器来学习文本的表示。它在自然语言处理任务中取得了很好的效果,如文本分类、命名实体识别等。
13、什么是注意力机制(Attention Mechanism),并举例说明其在深度学习中的应用。
答案:注意力机制是一种机制,用于给予模型对不同部分输入的不同权重。在深度学习中,注意力机制常用于提升模型在处理长序列数据时的性能,如机器翻译、文本摘要等任务。
14、请解释一下生成对抗网络(GAN)的原理和应用。
答案:GAN是一种由生成器和判别器组成的对抗性网络结构,用于生成逼真的数据样本。它在图像生成、图像修复等任务中取得了很好的效果。
15、请解释一下卷积神经网络(CNN)在计算机视觉中的应用,并说明其优势。
答案:CNN是一种专门用于处理图像数据的神经网络结构,通过卷积层和池化层提取图像特征。它在计算机视觉任务中广泛应用,如图像分类、目标检测等,并且具有参数共享和平移不变性等优势。
16、请解释一下强化学习(Reinforcement Learning)的原理和应用。
答案:强化学习是一种通过与环境交互学习最优策略的机器学习方法。它在游戏领域、机器人控制等领域有广泛的应用。
17、请解释一下自监督学习(Self-Supervised Learning)的原理和优势。
答案:自监督学习是一种无需人工标注标签的学习方法,通过模型自动生成标签进行训练。它在数据标注困难的情况下有很大的优势。
18、请解释一下迁移学习(Transfer Learning)的原理和应用。
答案:迁移学习是一种将在一个任务上学到的知识迁移到另一个任务上的学习方法。它在数据稀缺或新任务数据量较小时有很好的效果。
19、请解释一下模型蒸馏(Model Distillation)的原理和应用。
答案:模型蒸馏是一种通过训练一个小模型来近似一个大模型的方法。它可以减少模型的计算和存储开销,并在移动端部署时有很大的优势。
20、请解释一下BERT中的Masked Language Model(MLM)任务及其作用。
答案:MLM是BERT预训练任务之一,通过在输入文本中随机mask掉一部分词汇,让模型预测这些被mask掉的词汇。