随着人工智能时代到来,做芯片的兄弟们心中往往有三大疑问:
·IC 这个行业在人工智能时代到底会怎样?
·IC Design这个工作是否会被人工智能取代?
·我们到底要不要转码农?
这篇文章就和大家探讨这三个问题,也欢迎大家在后台和我们继续探讨 :)
目前的行业景气程度可以说是人工智能相关行业非常热门,而半导体行业除了中国以外都是不温不火;那么,IC designer这个行当在人工智能时代到底怎么样呢?
“人工智能时代”要从一个更宏观的角度去考虑。人工智能是不是只是深度学习算法的革命?是不是只是码农的工作?我认为,并不是这样。所谓的“人工智能”,本质上是要让机器更加自动化,所以说“人工智能时代”更好的表达是“人工智能机器时代”。在未来,智能机器可以是有形的,也可以是无形的;例如,物联网的智能交通灯控制系统,在各个角落铺开海量传感器随时监控各条道路的交通流量,汇总信息到云端服务器,经过人工智能算法计算后智能调整每个交通灯的红绿灯时间。这一整个系统就符合智能机器的定义,但是这个机器的很多部分是无形的。我们即将进入的的人工智能机器时代,就会有许多这样规模庞大而又神龙见首不见尾的机器来改善我们的生活。既然是做机器,那么就不会仅仅是CS人的事情,而是做EE的同学们也将会有很大的贡献。一个智能机器,如果将其与人体相类比的话,会需要以下部分:
*大脑:核心处理器芯片,负责执行算法。深度学习中使用的计算芯片和通常的CPU甚至GPU都有很大不同,因此需要重新设计,这也是处理器领域的一个新机遇。Google推出了TPU,Nvidia即将推出开源的DLA,Amazon和微软都在使用FPGA加速云计算,而在终端边缘计算如何设计效率最高的芯片目前还没有定论,目前和未来几年内可以说是深度学习相关处理器芯片发展的黄金时期。
*五官:传感器芯片,负责从环境中感知信息。海量的物联网节点需要的传感器根据不同的感应信号和功耗、灵敏度需求会有一个巨量的长尾市场,“长尾”的意思就是不同的品类都有属于自己的小市场,而不会有一款通用的传感器来吃下整个市场。
*神经:无线连接芯片,负责把传感器的信号传回云端。无线连接需要做到低功耗,目前的IoT无线连接技术在人体植入芯片等地方还无法达到要求,所以还有许多路要走,同时也会出现许多新的公司和新的技术,为射频市场带来新的活力。
由此可见,智能机器离不开IC,而且随着机器的进化,IC也会随之进化,IC这一行并不会缺活干。随着机器用途、种类的越来越多,IC的需求也会大量增长。我们不妨回顾一下,之前的IC和机器发展之间的关系。在上世纪80年代到本世纪初,半导体领域的强劲增长来源于个人电脑PC的普及;在本世纪初随着互联网泡沫破灭,半导体行业萎靡了几年,但是之后随着智能手机的普及,半导体行业再次恢复了强劲增长。PC,智能手机等都是典型的新机器;而下一代智能机器则会比PC和智能手机的市场量远远要大,因此对于半导体集成电路市场的驱动力要远远大于之前的两波增长。
现在的关键就在于,智能机器时代什么时候到来了。孙正义在前两天2017软银世界大会的演讲中表示“信息革命的新世界正在到来,连睡觉都觉得浪费”,“在20年内连接1万亿个节点的物联网就会实现,这些海量数据将会促使超级人工智能诞生,到达技术奇点”,然而,他同时也表示这个技术奇点到来的时间估计“可能会有数十年的偏差”,因此准备在IC领域继续奋战的兄弟们也要做好持久战的心理准备。
孙正义表示由物联网驱动的人工智能很快会到达技术奇点
总结:在机器革新时代,芯片作为机器的核心部分,一定也会迎来很大的增长。
IC Design会在人工智能时代有很大发展,但是,会不会到时候就不需要人工设计,而是用人工智能就行了?目前,人工智能已经进入了许多传统的高大上行业,不少行业甚至已经开始了下岗潮。举例来说,原来金融行业中负责风险控制和审批贷款的信审员,最近就已经在慢慢被人工智能取代,因为机遇大数据的人工智能算法在决定是否批准贷款方面甚至比真人还要准确,而且速度快得多,最关键是便宜。另一个人工智能快速入侵的行业是媒体编辑,随着今日头条这样几乎完全使用人工智能分发内容的App的崛起,不少传统媒体也开始尝试使用人工智能算法而非依赖真人编辑来发布内容,内容编辑的工作正在慢慢被机器取代。
我认为人工智能目前尚无能力取代芯片设计工程师,但是可以帮助工程师简化工作。宽泛的人工智能就是机器自动解决问题的能力,或者说机器在解决问题的过程中需要多少人工干预。
首先我们来看看数字电路。对于数字电路,举例来说要设计一个计数器,最早设计需要工程师自己根据需求画卡诺图搭电路,需要几个触发器几个与非门怎么连接都得自己设计。后来自动综合工具出现后,主流设计流程变成了工程师输入用硬件描述语言(HDL)描述的rtl级设计,由机器把HDL翻译成实际电路。如果把人工智能定义为机器解决问题的能力,那么这可以说是人工智能在电路方向的重大进展。人工智能在数字电路方面的作用巨大,有两个原因。第一,硬件描述语言是完整的。“完整”的意思是,任何可以用数字电路能实现的功能都可以用抽象HDL语言来描述。第二,数字电路设计目前都是基于标准单元库,非常规整。智能工具可以根据设计约束把高级硬件描述语言翻译成由标准单元库里面的单元实现的电路。比如你输入一个3-8译码器的HDL描述,智能工具输出由tsmc 28nm lvt std lib实现的电路网表(其中包括一堆与非门)。
对于模拟电路,智能工具面临几个问题。第一,针对模拟电路的硬件描述语言不可能同时做到抽象和完整。举例来说,目前的模拟电路硬件描述语言是spice,它是完整的但并不抽象:一个由spice描述的电路和一个由电路图描述的电路是一模一样的,每个spice语言描述的元件与电路图是一一对应的。但HDL语言描述的数字电路可能对应无数种具体实现(例如你写a=b+c;可能会被综合成行波加法器,进位旁路加法器,Kogge-Stone加法器等等,取决于你的设计约束)。但如果模拟电路的硬件描述语言是抽象的,就不可能是完整的。比如你要用抽象的语言描述一个放大器,该怎么描述?你可以用增益,带宽,输入输出阻抗来大致描述,但是这样必然是不完整的。先不说工程师不可能输入放大器在每一个频点的增益,带宽,输入输出阻抗;请问放大器的延迟怎么描述?大信号特征怎么描述?噪声怎么描述?随着新电路的加入,会有新的性能指标需要被描述,所以针对模拟电路的硬件模拟语言不太可能是抽象且完整的。
如果我们退而求其次,不求数学上的完美,只求智能工具帮我们自动把硬件描述语言映射到具体电路实现,那么模拟电路的机器智能设计也是可能的。我们需要的是一个模拟电路的IP单元库,每个IP的特性都很要很清楚。于是你可以说我需要一个工作在2.4 GHz的接收机,噪声系数是4 dB,IIP3是10dBm,功耗限制是20 mW,面积小于1mm^2,工具根据你的约束自动分析从单元库里选择合适的LNA,mixer和LPF帮你生成电路。只是这样做你就没法用各种trick,比如你很难教会智能工具什么时候应该用Cartesian feedback,什么时候应该在某个节点加一个harmonictrap,人工智能能做的只是遍历搜索。我觉得以目前的电路设计方法论,模拟电路用人工智能设计出一个能用的电路是完全可行的,但是要设计出一个高性能的非常难。
因此,总结上面的讨论,人工智能在EDA领域能帮助IC工程师简化工作,但是还缺乏工程师的一些重要特质(定义问题,提出解决方法,甚至创新电路或系统结构),因此更可能成为设计师的帮手而非取代工程师。事实上,在EDA工具中使用人工智能机器学习确实是趋势,TSMC在2017年ISSCCPlenary Talks中也提到了这个潮流并积极在这个领域和各大EDA公司合作。所以大家不用太担心下岗!
IC designer最关心也是纠结的第三个问题是:要不要转码农?
其实这个问题没有一个确定的答案,因为未来没有人能估计得到。大家最关心的还是待遇问题,关于待遇我有两个想法:
第一,近期来看,软件工程师,尤其是人工智能相关的算法工程师收入存在很大泡沫,未来有较大的可能下调回归理性值。现在是人工智能泡沫的高峰期,许多互联网巨头愿意花大价钱投入人工智能以抢占先机,而各大从事人工智能领域的初创公司也很容易从从风险投资那边拿到资金,另一方面人工智能算法工程师的人数尚存在一些缺口,因此就造成了相关职位愿意开大价钱招人,甚至工资会远高于工程师所创造的价值。之后,随着价值回归理性,以及众多人才流入,人工智能相关的工程师身价必然也会回归理性——当然不是说每个人都会降低工资,而是会回归到接近你能为公司创造的价值,对于大牛来说随着自己能创造越来越多的价值其收入不会降低反而会升高。
根据Gartner最近的分析,人工智能目前正处于泡沫的高峰,预期几年后就会回归理性
第二,CS的工资从长远看会略高于IC Design。这是由行业决定的:CS从事的IT业属于服务业,离终端消费者近,意味着能更高效率地赚钱;IC Design则是制造业,离消费者稍远,因此收入会略低于CS。但是,ICDesign的门槛要远高于CS,一般至少需要研究生才能胜任,而CS的门槛则要低不少。这也就使得人才更容易往CS方向去,从而使得这两个行业的工资差变小。因此,IC Design的合理收入应当只是平均略低于CS,但是不应当低太多(10%-20%之间)。
那么,这对于我们来说又意味着什么呢?最重要的是,coding的工资和IC的工资大概率差距不会特别大,因此在IC业做到前20%的人的工资一定会比在CS行业中等水平高。换句话说,如果你在IC业已经有一定积累做得还不错(例如,前20%),那么除非你确认在CS行业也能做到相似的水准,否则转行去CS如果只是一个普通工程师的话,转行未必是最好的选择。那么,如果对于这两行都是新接触,该如何选择呢?其实,这又牵扯到另一个问题,就是如何能保证自己在业界做得不错?很多人会说“兴趣”,在我看来,“兴趣”这个东西太虚无飘渺,我觉得更好的说法是“能持续学习进步的能力和意愿”。如果能保证有很强的动力保持学习,那么,只要方向正确,你一定能在行业里做得不错。有些人保持学习的意愿来自于意志力,还有很多人来自于兴趣。因此,如果你是新人的话,就不妨评估一下对于IC和CS哪一行你更有可能保持学习的能力和意愿吧!