登录注册   忘记密码

听说你要做AI芯片?

如果你有进入AI行业做芯片的想法,那至少要简单思考一下这个问题了。目前所谓AI芯片的产品状态,可能和你想象中高大上的东西有很大差别。

预备篇

有哪些公司在做AI芯片?

正在做AI芯片的公司可以分为几类:初创公司,传统芯片公司,应用设备公司以及软件算法公司。

AI芯片初创公司是第一批冒险家,发现了新大陆上的金矿。例如地平线、寒武纪、启英泰伦等,就是直接以AI芯片为目标的。最初以FPGA为产品形态的深鉴,今年也开始向芯片进军了。这部分,也有正在国内开分部的国外初创公司,例如Kneron。

传统芯片公司是殖民者,听说AI芯片这片土地不但比较肥沃而且富含金矿,于是带着自家的人和枪就冲过来了。国内典型的有华为、杭州国芯、比特大陆等。这类公司也包括一些传统的IP提供方。

应用设备公司和软件算法公司本来是殖民者的合作方,在金矿的诱惑下,也开始招兵买马,开着水陆两栖登陆舰就来抢滩了。典型的如,海康、云知声、云飞励天、依图科技、科大讯飞等等,以及传说中的百度。这些公司中,有的虽然没公开宣布做芯片,但是已经悄悄在招聘了;有的虽然宣布要走芯片路线,但是还不见招聘信息。如果去这些公司有所不便,你可以根据你想去的城市,找找有没有号称要做AI的公司,或者公司分部,然后再去主页看看招聘页面,找找你适合的职位。 

640.webp (17).jpg

AI芯片是怎样的?有什么特别?

如果你有进入AI行业做芯片的想法,那至少要简单思考一下这个问题了。目前所谓AI芯片的产品状态,可能和你想象中高大上的东西有很大差别(可以参考我以前写的并在知乎上不断更新的一篇《地平线谭洪贺:零基础看懂全球AI芯片--详解“xPU”》,做一个大致了解)。


广义上讲,能运行AI算法的,似乎都可以叫AI芯片。这种AI芯片和其他soc芯片也没什么区别。其实,目前任何有编程能力的cpu芯片都可以执行AI算法,只是效率不同的问题。即使一颗386,也可以跑个CNN算法,做个语音识别任务,只是可能几个月以后才有结果。这样的芯片我们一般不好意思称之为AI芯片。

但也有面子大的,有的公司号称推出的智能芯片,其实只是把收集的语音数据通过网络传到了云端,然后从云端拿回结果而已。与之形成对比的是,有些公司并没有将自己的芯片宣传为AI芯片,比如movidius和mobileye(可能是因为当时开发产品的时候AI概念还不火,没法拿来做PR)。这两家的芯片都是做计算机视觉处理的,都集成了多个向量处理器,由于可以运行基于CNN的视觉处理算法来实现一些智能的功能,所以我们也不自觉地将其称为AI芯片了。


狭义上讲,我们可以定义AI芯片为“专门针对AI算法做了特殊加速设计的芯片”。这种芯片的核心就是神经网络加速器,或者叫深度学习加速器。但是,作为IC工程师,大家都知道,仅有一个加速器是没法使用的,所以,除特殊情况外,AI芯片都是包含了特定NN或DL加速器的SOC。例如,华为大打AI概念的手机AP麒麟970中,集成的是寒武纪的专为DL打造的处理器IP;苹果用于iphone-X的A11,集成了其自己研发的Apple Neural Engine。其他的,深鉴的DPU在处理NN计算时使用了独特的压缩技术,比特大陆的“智子”更像是一个GPU。


可以看到的趋势是,集成NN加速器的狭义AI芯片会成为主流。Movidius最新的Myraid X芯片,Mobileye最新的EyeQ5芯片,都在原来的基础上增加了特定的NN加速器。地平线即将发布的第一款芯片,也是针对视觉处理任务的,完全使用自己的NN加速器,没有内置其他的向量处理器。

当你看到某个公司发布了AI芯片,或者公布了AI产品的时候,你需要擦亮眼睛,认清这个新的瓶子里到底装的是旧酒还是新酒。下图,分别是两家公布的NPU结构,大家可以自己分辨一下。当然,如果你不是IC工程师,你在这方面的定义可以更广义一些,比如关注到AI产品的层面。

640.webp (18).jpg


行动篇

 重新看待面试

引用专业人士的话,面试只有三个问题:

Can you do the job? (实力) 

Will you love the job? (意愿) 

Can we tolerate working with you? (个性) 


对于应聘者,面试的过程,就是要说明实力、表达意愿、展现个性的过程。而对于我们面试方,面试的过程,就是在通过各种问题来考察你的实力、确认你的意愿、了解你的个性的过程。展开来说的话,面试是个很大的话题,这里只能简单说说,并针对几个有代表性的问题做些回答。


用项目经历说明你的实力

如果你能在简历中突出地展示出你的实力,尤其是对公司的产品有用的实力,这是一个好的开始。不过更重要的是,在面试过程中体现出来。


举例来说,如果你要去一家做AI芯片的公司应聘,必然要先了解一下公司产品的大概情况。然后,你可以在面试中突出你与之相关的实力和项目经验。例如,你做过图像信号处理(ISP),这对做视觉处理器的公司是有用的经验。


同时你会发现,VPU芯片都有MIPI接口,都有DDR接口。OK,这方面的经验也是加分项。再多看看,这些xPU绝大多数都不是单纯的算法硬化的加速器,而是复杂的SOC,因此,一定要告诉面试官你所做过的SOC项目情况。


比如,在奥巴马应对扣扣熊的面试问题(注意,面试官还给了重要提示):“Can you tell me about some of your accomplishment?”时:

640.webp (19).jpg640.webp (20).jpg

奥巴马给出了上面这一长串回答,但是真正对雇主有用的呢?好像只能提炼出一条:

640.webp (21).jpg

当然,如果你能像《当幸福来敲门》中的威尔·史密斯一样,当着BOSS的面快速搞定魔方,也是能力的有力展示。


表达个人意愿同时了解公司的意愿

意愿包含很多方面,应该抓住有限的面试时间,告诉对方你看重的是什么。户口?薪酬?福利?还是职位空间或工作内容?至少,要说说你对自己职业的规划、对工作内容的期望。


你可能觉得这对获得offer没什么用,但是,注意我上面写的“要了解公司的意愿”。


公司在组建团队时,绝对不是组建一个标准化的游行方阵,而是在组建一个足球队,每个人都有自身的位置,并且,要是一个有层次有梯度的团队。所以,公司在每招一个队员的时候, 都预先有一个团队定位,这就是公司的意愿。如果你的意愿和公司的意愿不匹配,那很可能导致不愉快的相处过程。


举个例子来说,虽然大家都想做AI芯片中的神经网络加速器部分,但是现实是不可能安排每个人都去做这部分。如果你不介意做些其他的design或verification的工作,你也会有机会参与神经网络加速器的设计验证工作。


当然,你也可以表示对工作内容没有什么要求,服从组织安排。这部分不深入说了,可以找一些面试文章理解一下。


 我不懂AI算法,可以吗?

这是个障碍性问题,只要解决了就好办。先说答案:完全可以。

初级解决途径:

如前面所说,一颗AI芯片上可能只有加速器直接和算法有关,其他部分还是基本的芯片概念。你完全可以做DDR、USB等接口之类的工作,还可以做MIPI部分,以及SOC架构,或者纯粹的验证、flow、后端等等。

高级解决途径:

保持不断学习的状态。在CNN、RNN这些算法出来之前,没人懂。现在每一个做CNN加速器的,都要经历从不懂到懂的过程,只要你有不断学习的韧性。我也是从不懂开始的,其实现在也是半懂不懂的样子,但这并没有妨碍我在这条路上继续学习和进步。


我想转来做AI芯片,需要掌握哪些技能?

“关于IC的设计、验证、集成、FLOW、封装、测试等等,这一切都需要”。

sorry,just kidding!这些技能是一个完整的团队所需要的,每一个队员只要match到自己的工作岗位上就可以了。对于个人,先把AI这个概念丢掉,掌握了一个IC工程师该掌握的东西,再加上接受挑战的决心,这足够用于当做敲门砖了。

如果能先了解一下AI的基本概念,当然很好。但是,做芯片不像搞算法和应用,你不可能在家里自己先做个芯片project练习一下,时间和精力可能都不允许。想来接受挑战,就行动吧。你在家里看书一个月所学的新技能,可能不如你入职后一个星期在这个环境中所学到的。


我不是做IC的,也不是研究算法的,有可能吗?

如前所说,AI芯片终归是一颗SOC芯片,所以除了IC工程师,常规的FPGA人员、驱动开发人员也是不可缺少的。有些AI公司的最终产品形态不是芯片,而是turn key的解决方案,所以,除了算法,还需要应用开发人员、硬件方案人员等等。当然,IT人员、行政人员就不多说了。


你为什么从上一家公司离职?

这是一个会被经常提及的问题,也是你不得不面对的问题。但是,可千万别学《friends》里的菲比,倒是可以参考一下《布达佩斯大饭店》里面zero的回答 :)

640.webp (22).jpg640.webp (23).jpg

640.webp (24).jpg


我可以私聊你一些问题吗?

当然可以,一定尽量回答,你可以私聊小编姐姐转达或在知乎搜索“鸿鹤”找到我。

您的评论:

0

用户评价

  • 暂无评论