12月20日,地平线将正式发布中国首款全球领先的嵌入式人工智能视觉芯片及基于芯片的“大脑”解决方案,地平线资深IC工程师谭洪贺特约供稿,为大家带来AI芯片直观解读和相关从业建议。
最近总是被人当面或私信咨询AI芯片相关职位的问题,也面试了很多前来应聘的工程师,索性写篇文章,希望对想进入AI行业的IC工程师有所帮助。
预备篇有哪些公司在做AI芯片?
正在做AI芯片的公司可以分为几类:初创公司,传统芯片公司,应用设备公司以及软件算法公司。
AI芯片初创公司是第一批冒险家,发现了新大陆上的金矿。例如地平线、寒武纪、启英泰伦等,就是直接以AI芯片为目标的。最初以FPGA为产品形态的深鉴,今年也开始向芯片进军了。这部分,也有正在国内开分部的国外初创公司,例如Kneron。
传统芯片公司是殖民者,听说AI芯片这片土地不但比较肥沃而且富含金矿,于是带着自家的人和枪就冲过来了。国内典型的有华为、杭州国芯、比特大陆等。这类公司也包括一些传统的IP提供方。
应用设备公司和软件算法公司本来是殖民者的合作方,在金矿的诱惑下,也开始招兵买马,开着水陆两栖登陆舰就来抢滩了。典型的如,海康、云知声、云飞励天、依图科技、科大讯飞等等,以及传说中的百度。这些公司中,有的虽然没公开宣布做芯片,但是已经悄悄在招聘了;有的虽然宣布要走芯片路线,但是还不见招聘信息。如果去这些公司有所不便,你可以根据你想去的城市,找找有没有号称要做AI的公司,或者公司分部,然后再去主页看看招聘页面,找找你适合的职位。
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产品的层面。
行动篇
重新看待面试
引用专业人士的话,面试只有三个问题:
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?”时:
奥巴马给出了上面这一长串回答,但是真正对雇主有用的呢?好像只能提炼出一条:
当然,如果你能像《当幸福来敲门》中的威尔·史密斯一样,当着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的回答 :)
-
机器视觉
+关注
关注
161文章
4348浏览量
120136 -
人工智能
+关注
关注
1791文章
46896浏览量
237672 -
地平线
+关注
关注
0文章
338浏览量
14919
原文标题:听说你想进入AI行业做芯片?
文章出处:【微信号:GeWu-IOT,微信公众号:物联网资本论】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论