记本人上周面试一小伙的全过程--AI推理优化方向

最近,正好在面试一些AI推理/大模型推理方向的校招同学,把面试过程按照对话的方式放出来,供各位看着玩玩。

上周,领导又双来给了我一份简历。之前已经面过一次了,见此处

领导:熊猫,这里是一个来自xxxx大学的同学,你看看有没有空去面试一下

我:OK,我看一下

(我看了后发现,这同学的简历虽然感觉写的一般,但是看起来工作量不少,实习应该有在认真工作,大模型推理相关技巧也有接触,在校招生里面,这些经历或许算得上top10%了,没准水平高过我,于是和

上一期

不一样,这次我是心怀忐忑地去“焦作人”)

--------------------------------------分界线-------------------------------------

时间飞逝到面试时刻。

我:你好,同学!我是XX公司的AI推理加速工程师,花名熊猫,首先感谢你今天参加我们的面试,那我们开始吧(本人对颜值依旧比较有信心,所以摄像头一般依旧会主动打开),请你先简单介绍一下自己与AI相关的经历吧

候选人:(此处略去5分钟,候选人非常详细地介绍了简历上自己负责的内容、成果以及对团队的贡献,但是一个自我介绍而已,其实我听得有点累了,但是又不忍心打断他的表演)

我:OK,非常详细哈,看来你应该是有备而来,(我挑了一个自认为有很多聊头的项目来聊一聊)

候选人:我具体用了xxx和xxx和xxx的优化手段解决了xxx性能问题,(这里他详细分析了问题的来源、适用的方法,以及取得的结果,这个是我想听到的)

我:好的好的(接着换一个问题,继续聊项目)

候选人:此处省去n个字(依然难不倒他啊,对简历上东西很熟悉啊)

A FEW MOMENTS LATER...(聊项目时间)

我:(到这里,开始问一下重要的基础知识)shared memory的bank conflict你能描述一下定义吗

候选人:噢,这个xxxxxx(此处省去n个字)

我:(穷追不舍)那你看这种访问方式会有bank conflict吗?(我给了他一张图)

候选人:有

我:你确定吗(我承认bank conflict的概念非常隐晦,很多错误的说法,资料也不好找,且本人也经常误解)

候选人:确定(很遗憾,错误的确定)

我:CUDA stream有听过吗?

候选人:有

我:嗯,那么CUDA的所有stream是否都可以异步执行

候选人:不是,因为xxxx

我:(决定加大一点难度,甩一张图), 你看看下面这张图,每个CUDA stream上都有memcpyh2dasync,kernel,memcpyd2hasync的操作,你觉得这几个stream上的这些操作执行顺序可以是怎么样的?

候选人:emmm..我想想,此处省去n个字

我:(我有兴趣继续问下去)那哪种顺序下,总的latency最低?(这里其实有点难为他了,我没期望他能答出来)

候选人:(这里他想了有个5分钟以上,最终还是没打出来)

我:没事,这个问题其实有点难了,你能说出有哪些执行顺序其实已经很不错了,(差点把人弄自闭了,赶忙安慰一下),再问你一个关于CUDA的吧,我们都知道CUDA里面寄存器数量有限,那么如果kernel使用的寄存器超出了这个数量,会发生什么情况?

候选人:xxxx

我:嗯,还不错,我们来聊聊大模型推理相关的

候选人:嗯好

我:先来个简单的,encoder和decoder推理的区别在于哪里?

候选人:此处省略n个字(基本也答得七七八八还不错)

我:嗯,哪些是encoder模型,有没有encoder-decoder的模型

候选人:xxxxxx

我:好,你能稍微讲讲iter-level schedule解决了什么问题吗?

候选人:(此处略去n个字)

我:那你目前了解过哪些大模型推理引擎,有了解过SGLang吗?

候选人:(主要是vllm,SGLang没听过。。

我:(开始问一些vllm)你觉得vllm最大的创新在于哪里?

候选人:xxxx

我:(还不错)OK,那你觉得vllm现有的调度机制有没有可以改进的地方(这个我估计对他就有点难了)

候选人:想了一时半会,没想出来,感觉vllm挺牛逼的(想不出来实属正常,要我我也想不出来啊)

我:再问点量化吧,现有的Weight only量化主要针对哪些算子,哪些数据类型

候选人:xxxxx

我:你确定吗?

候选人:确定!

我:(还不错)那你觉得为什么只量化weight,不量化activation

候选人:(想了一会没想出来)

我:(慢慢引导)如果量化activation,你觉得模型性能是否会有提升

候选人:应该有

我:嗯,那你再想想为什么不量化activation

候选人:答出来了

我:好嘞,聊了这么多,最后再做个题吧,单链表反转,这个没问题吧

候选人:没问题

A FEW MOMENTS LATER...

我:感谢同学的时间,后续会有HR联系你,88

点评

这个同学的基础也是不错的,大模型推理/量化/CUDA的一些基础都能答上来,leetcode题也写对了,对写在简历上的项目也能清楚的描述出来,相关的引申知识点也能答出来,对一些做法的理解也是比较深刻,当然也有理解不太深刻的地方,比如CUDA stream schedule、activation的量化等等,但是整体也在校招生上等水平了,对一些前沿技术也有一定了解,技术之间的优缺点也有自己的理解,我这一面其实我是愿意给√的。

全部评论
请问楼主是达摩院大佬吗
点赞 回复 分享
发布于 09-04 00:20 上海

相关推荐

【华为2012实验室AI推理方向秋季招聘】对AI大模型推理系统加速、应用优化、架构设计等感兴趣且想加入华为的同学欢迎联系我,有一定深度学习基础即可,我们更看重学习能力,一起研究共同进步,推荐丰厚的职业机会。地点:北京、上海、合肥、杭州、深圳联系人:李学长,私聊加微信联系一、AI系统软件工程师岗位职责:1、面向大模型、搜索推荐、自主无人系统等关键行业AI应用场景,负责昇腾平台AI软件系统瓶颈分析以及优化方案的设计开发; 2、负责AI训练/推理系统的优化方案设计和开发,结合AI算法对系统的要求,通过网络、IO、调度等方面优化,提升AI系统性能; 3、构建面向AI的系统性建模、瓶颈分析及仿真能力,持续优化昇腾AI软硬件系统,提高昇腾AI平台的竞争力。岗位要求:1、计算机、软件、自动化、电子、通信、机器人等相关专业; 2、编程基础扎实,熟悉掌握python/C/C++编程语言,有良好的架构设计和编程习惯; 3、具备独立工作能力和解决问题的能力、善于沟通,乐于合作,热衷新技术,善于总结分享,喜欢动手实践; 4、有AI模型训练、模型应用部署相关开发和性能优化经验;5、有AI训练框架、AI推理引擎的开发经验,或算法硬件加相关经验者优先。二、AI推理加速工程师岗位职责:1、面向AIGC类大模型,主流商业场景的CV/NLP/语音/推荐类的AI模型推理场景,负责通用的推理加速和量化压缩算法的设计、开发、落地;2、结合昇腾硬件特性,设计昇腾亲和的推理加速算法,构建昇腾推理算法竞争力;3、面向大模型场景,研发高倍率的模型压缩算法,减少大模型部署成本。4、把握业界和学术界最新研究进展和技术趋势,持续提升算法竞争力。岗位要求:1、熟悉计算机视觉/自然语言处理/搜索推荐等方向主流的AI模型及模型推理加速算法,有丰富的推理加速和模型压缩经验,主导过完整的算法研发、优化及落地;2、熟悉通用的参数类、结构类AI模型压缩与加速算法,包括量化、剪枝、蒸馏、网络结构搜索、图优化等;善于自动组合各类模型压缩算法达到最佳的压缩比和推理性能收益,有Transformer大模型的加速经验为佳。3、熟悉业界常见的推理引擎,如TensorRT、vllm、TGI等,熟悉常用的推理加速技术;4、具备较强的算法研究能力,可快速跟踪洞察业界最前沿AI领域技术,主导算法的持续领先。
投递华为等公司10个岗位
点赞 评论 收藏
分享
4 21 评论
分享
牛客网
牛客企业服务