吉林省科学技术协会主办
吉ICP备案号18002506号
吉公网安备 22010402000667号
来源:吉林省科协
2018-01-31 13:52:13
就在AI专用芯片在市场上的呼声不断被推向新高的当下,作为投资人的杨歌也出手了,一举投资鲲云科技。在看AI技术有关的创业中,杨歌在圈内颇有名声,且语言表达能力极强。正好借采访之际,让他用最直白的语言给抖明白,专用芯片到底一个怎样的存在,到底应该怎么理解现在市场的芯片,以及AI芯片的创业者们,到底需要比拼些啥?
以下采用第一人称口述的形式,呈现三个部分内容:
AI芯片为何突然火了?
AI领域真正最最最缺的人才到底是什么?
AI工程师如果选择创业,必须补足哪些功课?
01 AI芯片为何突然火了?
细数芯片的历史,就是一个从专用芯片转向通用芯片,又转为专用芯片的过程。
最早追溯到上世纪60年代,Intel从专用芯片转向通用型芯片中央处理器(CPU),英伟达转成GPU,这两年又产生了TPU。
这个整套体系都是一个把芯片越做越普世化的过程,但这两年由于终端要降低成本,所以又要返回到专用芯片,因为通用芯片相对来说,效率比较低,制作成本比较高。
所以,这两年专用芯片开始火起来。
从通用型的、服务器型的、集成型的芯片,转成专用型的,部分设备使用的,有一定功能的芯片,再加上这两年正好赶上AI大爆发,大家就很自然地把AI的需求烧制到这些芯片里,也就是我们看到的AI芯片异军突起。(编辑:p_vhehwang)
为何终端场景会催生专用芯片?
终端的场景为什么一定要用终端芯片,而不能通过一个捕捉器做网络传输送到云端、送到服务器端,用服务器的CPU、或GPU、或TPU去处理,然后再返回数据呢?
是因为你的网络无论多快,中间都有几百毫秒的时间差,而终端芯片未来都需要做到当机立断、直接分析。
比如一个机器人,它看到你之后,需要迅速分析出你有什么特点,并跟你对话。这个过程中,如果机器人只有接收器,需要传送到云端再回来,无论网络多快,都会有时间差。
所以,为了提高响应速度,终端开始催生自带处理器的需求,比如能做图像识别、语义识别、语音识别,运动机能的一些处理等,那么这个时候,终端就需要具备一定的人工智能能力(AI能力)。
专用芯片起势后,玩家们到底比拼什么?
当专用芯片这个需求起来之后,玩家们就要开始比拼了,具体来说,比的是:
第一,你的硬件结构是不是最优。
硬件行业的特点是:没有最优、只有更优。
硬件永远都在迭代,背后的原因,主要是摩尔定律在起作用。此外,当摩尔定律晶体管变成量子化的东西后,它会继续进化,从分子层面进到原子内部层面,再继续找其它的计算位。
第二,算法是不是最优。
前两年大家非常痴狂的去搞神经网络算法的时候,变体非常多,从最开始简算的RNN变到LSTM,变到更为复杂的结构,从最开始设计CNN,到CNN的复杂结构,再到用CNN做对抗网络…
在大家疯狂竞争算法的时候,2017年又出来一个理论说:神经元的基础单元不应该是神经,而应该是一个胶囊;这样一来,算法底层又改了,Hinton先生把自己30年前的学术成果给推翻了。在Capsule Network中,in&out在单个处理单元上变得更复杂,虽然网络连接过程还是原来的样子。
所以,很多人又只能整个推翻,重来。
第三,工程细节是不是最优。
人们也发明了很多种方法,比如原来是全连接的,后来又有CNN部分模块连接,然后又出现了很多类似Dropout的模式,连接着同时遗忘着,发现比正常的还更好。
第四,工程上的创新每天都在发生。
每个工程师都有工程上的创新。100个工程师里如果有一个工程师有了意义深远的创新,那么对于整个行业来说,又是一场大变革。
无论是怎样的创新,都在不断突破,不断提升效率。比如,在算法上,AlphaGoMaster和AlphaGo Zero,后者的效率相对前者就有突飞猛进的增长。
所以,一旦底层被改变,一切又变得不一样了,又得迭代。比如,原来可能是20秒解决,你能19.8秒解决;但现在,突然底层一变,你变成10秒解决了,就又是一层迭代了。
没办法,这个行业就是这样。
从硬件、软硬结合,软件、算法几个方面来看,每天都在迭代,所以它很难:由于它没有定型,无定型态的结果导致对专用芯片的固定性要求是非常苛刻的。
因为专用芯片很大的问题是一旦定板、开模,这个东西就不能改,这是一个很大的问题。所以,如何做一个适用性最强的专用芯片,这是非常重要的。一般的专用芯片做完之后,比如只服务于某一种语音识别机的芯片,一旦算法更新,底层对模块的要求就又不一样了,那么这个专用芯片就不能用了。于是,只能再做一个新的专用芯片。
这个事情的迭代速度太快了。
芯片的三种类型
前面大致罗列了专用芯片崛起的背景,接下来我们具体聊一下芯片到底有哪三种类型:
集成型的芯片(CPU、GPU、TPU),属于它的模块阵列非常统一的,它能处理几乎所有的事情,又叫通用型芯片
FPGA可编程门阵列
专用芯片
其中,FPGA相当于编写硬件,通过改变硬件可以随时调整功能逻辑,但FPGA有以下几个大问题:
成本比较高,真正好的FPGA要8000元-1万元。
编写复杂,门槛高,修改难度大。
编程过程中的效率比高级算法低,这样就导致开发难度也比较大。
所以,FPGA是个过渡过程,它能够衔接通用型芯片和底层专用芯片。
说完FPGA,再说说专用芯片。
专用芯片的特点是价格极其便宜,只要你开模、打板之后,基本上一片50-100元就搞定了,但开模费500万,而且一旦开模就改不了。(营长注:这里500万为概数,杨歌想表达是开模费很高,对公司来说,是一笔不小的负担。据营长所知,开模费的量级一般在数百万-数千万之间。)
如果用数学的方式来理解这三类芯片,那就是:
专用芯片又叫阶跃函数,意思就是,这个东西开了模之后,下一次你要再改,你就得整个上一等;
FPGA是线性函数,慢慢涨、慢慢涨;
CPU、GPU等集成型芯片是指数函数,成本高,但它是一个好的模式。
专用芯片的成败关键
目前,大家倾向于回归专用芯片,这也是因为专用芯片在2017年有两大推动力:比特币的挖矿机和人工智能。
基于这两股力量,编写专用芯片需求来了,因为FPGA和CPU成本太高了。
但专用芯片的问题也来了,那就是,无论哪个时代,不管你是20世纪70、80年代,还是现在,专用芯片都会有过时的一天,因为技术一直在迭代。这时候,就是考验你对专用芯片把控力的时候了,一句话,你设计的专用芯片到底能支撑业务走多久。
如果你编出来的专用芯片,能持续三年使用,那么同期你就可以去研发另外更新的专用芯片。三年后,当原来的专用芯片产能要下降的时候,你可以拿新的专用芯片顶上。你要能顶上,那这个能力就厉害了。
但如果你的专用芯片半年就过时了,那你的成本就太高了,因为你每个专用芯片的打板就需要500万以上,对初创公司来讲是完全承受不起的。(营长注:此为概数,只是为强调打板花费较大。)如果你还不停地在打板,那你的公司就危险了,你还不如用FPGA和CPU来做,现在多核CPU也能完成。
现在专用芯片的一个竞争在于,你编写出来专用芯片是否鲁棒性、适应性和存续性足够强,是否能够适应更多的人工智能算法模块,是否能扛住算法变体…
比如当CNN一变体,卷积核一变体,这个芯片能不能扛住?当LSTM的循环网络内部结构中,忘记门和记忆门这两个发生变化,你能否扛住?
当然,Capsule Network一出来,不仅你扛不住了,大家都扛不住了。
总的来说,你要让你的专用芯片在容错性和鲁棒性、适应性上做到最强,这样,你的成本才能算得过账来。但大部分技术人员的账,可能算不了三到五年的时间。
还有些人把目光放在非常细的地方,一定要编到极致,保证局部的鲁棒性、容错性提到最高,但长期的、中长期,比如三年期,这样不一定行。
比如,在交通图像监察识别上,你怎么用都不出错,正确率99.9%,但突然过两年算法一升级,你怎么办?
因此,我不建议把目光放到单个场景的适应性上,我认为应该放在一个长期的、场景变革的使用性上,这点非常重要。
这些问题其实是现在AI芯片竞争最重要的底层逻辑。在AI芯片领域,我们投了鲲云科技,他们的联合创始人为斯坦福的客座教授、帝国理工的教授、英国皇家工程院院士,发表300多篇的论文。
他们的特点能把芯片的适用性做得很好,芯片的场景适应性、网络适应性、算法适应性非常强。
同样做的很好的公司还有地平线、寒武纪、深鉴等,不过也有一些公司,场景化的正确率只有95%,甚至85%,那么这些芯片可能就没法用,或者只能调动一定的模块函数,不能调动大部分模块函数。
目前来说,深度学习训练过程是不需要用AI专用芯片的,因为AI专用芯片主要还是在某一个终端应用场景用。一般来说,终端人工智能芯片并不执行训练过程,它只执行使用过程。这是大家容易产生理解误区的一个点。
AI芯片市场距离饱和还很远
说到终端市场,英伟达也在猛攻终端市场。英伟达去年出了一个TX2的新型芯片(也是终端芯片)。但英伟达的终端芯片是一个轻版的集成化芯片,是把它集成化的GPU镶在了一个小的芯片上,形式了一个专用芯片。所以,现在的AI专用芯片还需要扛住英伟达的竞争。
目前,人工智能技术有三层:
基础数学物理层
技术模块中间层
应用层
技术模块中间层(简称模块层)是指图像识别、语言识别、语义识别、运动机能识别;底层,即基础数学物理层,就是芯片,数据传输、数据存储结构、算法结构、算法模块。
而应用层中,几个比较大的场景有:
智能家具、智能房屋、智慧城市
机器人
个人语音助手
这几个场景的入口模块都需要完整的、完全标准的模块层,就是说语音识别、语义识别都则需要非常精准,无论是器械,还是一个机器人,都需要模块层要很成熟,同时需要底层芯片层很成熟。目前,大家都在竞争这个市场。
二十年后,周围的物体可能拍一拍都能动、都能说话,每一个东西都需要两个基础的模块体系。
第一个模块体系:硬件模块体系,就是它的硬环境。
第二个模块体系:也就是软环境。
软环境就是科大讯飞、商汤、旷视等等在做的东西,硬环境就是英伟达、通讯云、鲲云、深鉴等公司在做的。
现在的AI专用芯片市场,如果说市场饱和度满分是10分,现在也就1分不到。
虽然现在才1分不到,但今年的AI芯片公司突然火起来,就是因为大家预期了十年之后的应用场景,十年之后这个市场是很大的,不过大到什么程度不好做预期。
现在市场上的几家公司,显然还是不足以形成大的竞争。
如果做个比喻,现在的市场,也就是刚刚进入体育场,裁判还没有开始吹哨的时候。
对于AI专用芯片来说,应用场景还没有完全开发完,有人去做无人机监测、有人去做道路摄像头监测、有人是做家居环境。总的来说,目前各家的应用场景都还没有锁定,还处在一个恶补基础知识的阶段。
当然,这个阶段完成之后,可能有的转向交通,有的转向家庭环境了,各有各自的立足的垂直领域,并继续迭代。那么等到那时候,可能就不竞争了。
02 AI市场上最稀缺的人才是什么?
首先,我觉得懂人工智能,我是说的是真正懂人工智能的人才,是非常稀缺的。
那么什么叫真正懂呢?
就是了解人工智能物理意义的人,而不仅仅是懂算法。
什么才是真正懂人工智能——庖丁解牛
举个我自身的例子。我在清华大学念书时,就用过神经网络,我会用,但我不懂,不懂它的底层意义到底是什么,不懂这个东西为什么能够训练出来,不理解计算机到底是怎么思考的。
这是一个非常重要的思维门槛。
对于深度学习来说,由于这里面是一个黑箱,你可以不知道机器在某一点到底在思考什么,但机器思考的那套整体逻辑和大概每一层单元在干什么,你要很清楚。
目前,能理解到这个层次的人非常少。
打个比方,有个词叫庖丁解牛。你首先得在眼睛里,大脑里有这头牛的全貌,然后你还必须很会使用这个刀。而不是说你拿着这把刀,你就可以迅速地把这头牛解剖了。
你只有既理解牛、又理解刀的使用方法,你才能达到庖丁解牛的境界。
同样,人工智能也是这么一个工具。
给你一大堆图片,让你训练出一个模型,你用tensorflow跑出来了,但明天让你训练语音,后天训练物流杂乱的数据化信息,你就蒙圈了。
再比如,有个模型是要用CNN加上全连接的,你的模型是用对抗网络更好一点,那么你的模型就可以不使用神经网络,而应该使用Randomforest,有了模型你应该使用这个,你为什么要使用这个,你是通过大量的算法、经验做出来的。
对我来说,最大的帮助是,一个编程的感性认识。我在大学研究生的时候,我做了大量的编程,天天在debug,debug特别锻炼人对于机器底层运转的思考,一套10万行的程序出错了,你怎么能够迅速给他debug出来,这个你要去理解计算机到底容易在什么地方出错。
人工智能更复杂,人工智能在调试的过程中,没有debug的提示器,因为它全是数据和数据之间,它是一个数值计算,不能收敛的过程,就是你算着算着错了,你也不知道什么地方出错了,你只能看到这个数据发散了,这是一个特别要命的问题,因为你的程序一点都没有写错,只是你的数据结构、网络结构弄错了,这个要求程序员对这个算法的物理模型、场景模型极其明确物理意义的过程,这是非常复杂的,很难描述这个事情。
最稀缺人才——人工智能架构师
我有一个特点,我所有学到的东西,我都能从零开始推,就是老师讲的所有东西我都可以从零开始推。这个东西叫元认知。
元认知越底层的人,他在理解一件事情的时候所占用脑子里的内存越少。比如说让我去描绘一个整个的商业案件,有人是背书,从头到尾背下来,我看一遍以后,我可能一个单位我就记住了,然后就忘了,下次让我描述这个事,我把这个单元提出来就可以描述。
人工智能也是,它是一套工具,一个真正好的工程师,他手里所有的人工智能都是算法,比如现已知的,人工智能大类的算法可能有七八类,像支持向量机,神经网络、randomforest,adaboost等一大堆,他在看到一个模型后,能迅速判断哪个模型更适合。
比如说为什么语义识别是用循环网络和LSTM来做识别?因为语义是一个线性的信息流,这个线性信息流里面要记住前面很远的信息,同时要忘掉很大一部分信息,再记住当前的信息,所以,用LSTM能非常完美的解决这个问题,但LSTM在图像识别上就不Work了、在量化金融中的优势也不明显。
这里,很多人会认为股票和语义都是一个时间序列函数,或者是前后序列函数。为什么LSTM训练这个很好用,训练股票就不行了呢?
这个,就需要回到元认知。因为他们的数据结构完全不一样,你得理解什么模型处理什么实体结构。
再比如,CNN适合处理大量数据、超大量的数据,且数据和数据之间有明确相关条件,所以,CNN适合处理图像,因为图像的像素之间具有相关性。
而同样的一个情况,语义又不适合了。比如“我写程序”这四个字,每个字之间一对一的相关性并不是那么强,但他有一个整体相关性,他跟图像识别是不一样的。简单理解的话,语义是一维函数,图像是二维函数。
所以,这些都是很细节的东西。你只有在使用了大量的程序之后,跑着跑着,才能感知到,哦,原来这个应该用什么算法跑,那个不能用什么算法跑。因为人工智能属于黑暗森林,你只能慢慢去摸索,摸索哪个是最适合的。你不可能第一天就调试出来,搞清楚哪种场景,到底该用什么程序,这个程序应该有多少层的网络、结构、单元,每一层单元有什么样的参数,应该跟什么程序进行配合,是否需要两个程序进行嫁接,是否需要高级的比如对抗型的、或者辅助型、或者嫁接型等。你需要不断地锤炼和思考,才能出来这样的感觉,都是一点一点悟出来的。
所以,回到最开始的问题,我觉得如果用一个特定的职位来定义,这个最稀缺的人才是人工智能架构师。
他能抽象出你最应该使用什么样的工具。在他之下,其他人就可以在一个更细的层面上,去琢磨这个工具具体应该怎么来用。
不过,人工智能架构师又分三个层次。
人工智能架构师的三个层次
第一层:物理模型架构。
有的时候大家在训练一件事情的相关性上,可能会把两个事情分开放。其实应该把两个事件放在一起,把相关性作为训练对象来进行训练,这样训练可能会更好。
或者把一个隐藏的物理意义作为训练对象,把相关性和两个事情都放在一起,然后再进行训练。
但很多人就想不到这点,就拿两个事情直接去训练相关性,这是错误的。
物理模型架构,这是最里的一层,需要深刻理解物理意义,当知道各种各样的函数该怎么去用的时候,火候就差不多了。
第二层:当我们确定怎么训练拓扑模型之后,拓扑模型框架出来的时候,基于拓扑框架我选用什么样的网络模块,具体需要训练成什么效果,然后再具体去训练。
第三层:等这些模块全选好了,每一层用多少个单元、多少个参数,你有没有这个能力。第一层的神经元你可以选择100个,第二层的你选10个,第三个选择多少个,然后用卷积你又选择多少个,核有多大,3×3的、5×5的、10×10的,你到处去试,试一年可能才试出结果来。
好的工程师第一刀就可以给你切到差不多的点上,你这个模型基本10层网络,每一层大概10个神经元,卷积核的层数大概3层,全链接层7层就够了,他会一上来就给你做这个东西。
目前,这三种架构人才都很稀缺。
要培养一个这样的人才,很难很难,必须跨界,尤其物理模型架构层面,必须跨界。你必须要能理解这个东西在物理层面上的意义,你必须经历过不一样思维模式的业务,有开阔的眼界,比如从事过社会、社科、商业等多种类型的工作,然后再反过来去看这件事情,就容易了。
为什么说一定要跨界呢?因为跨界会对你补充另外一个部分的素养,跨界就是补足你的数据,这叫“一个向量空间的完备性”,你跨界是用来干这个的。
我见过的特别优秀的能扛起人工智能架构师这类角色的人很少。我很欣赏第四范式的戴文渊,他就可以把银行所需要的算法场景变成一定的函数需求,他属于在工程师里情商比较高,相对比较跨界的稀缺人才。
要成为一个这样的人才,我觉得至少要十年时间。
这类人才,一定是有强感知能力的,他有感知整个社会存在的能力,而不是把眼睛全放在眼前的技术上。
03 AI工程师创业,必须提前补足哪些短板?
未来关于AI的机会太多了,各行各业都需要AI,所有有大量数据的地方都可以用AI进行处理,因此,可能很多AI工程师也会考虑创业。
如果要创业,他们又还应该得到哪些方面的成长呢?
要回答这个问题,我们先来看看程序员到底是一种怎样的存在。
程序员是数据和人类之间的沟通者,这一点非常重要。什么意思呢,就是说,他能把数据翻译成人话,把人想要执行的东西转化成数据、数字。
对这类人群来说,由于长期跟电脑,跟技术打交道,如果要创业,他们必须要有实践经历,要有生活化的感知体验。
这句话怎么理解呢?
AI工程师必须掌握的三个特征
我举个例子,这个例子可能有点抽象了。我把任何一件事分为主要特征、次要特征、长尾特征。
主要特征靠看书是可以学习到的,就是老师告诉你公理一、公理二,社会规律一、社会规律二,你就记住了,这是主要特征。
什么是次要特征呢?一个事件有很多复杂的次要特征,这个老师讲不清楚,你只能通过实践,比如你在干工作的时候,如果财务不留准备金率,那公司就非常危险了;此外,对于合规这件事,在实践中你才能知道为什么要做合规,是因为很多细节,工商、税务、法律等问题都会影响到你的效率。
长尾特征属于感性化的层面了,比如你在人和人接触的时候,你对这个人要稍微好一点,生意就变得更顺畅一点,这个老师都不会教给你。
总的来说,主要特征靠看书解决,次要特征靠实践解决,长尾特征靠情商培养。如果你只有主要特征,你就永远解决不了一个完整的事情。
程序员今后不管是创业,还是说要有更大的发展,需要加强次要特征和长尾特征两个方面。
对于三种特征,如何真正学会和掌握呢?
四种学习方法,AI工程师应补足后三种
为了很好地掌握这三种特征,我有一个很重要的学习方法可以跟大家分享:学习多样性。
具体而言,有四个层面:
第一种:理解;
第二种:理会;
第三种:感受;
第四种:感知。
“理解”:是看书和通过理论化的知识去学习,学习完全结构化的知识叫“理解”,程序员多数有一个很大的问题,程序员的知识结构大都是理解来的。
“理会”:是与人交流,通过跟别人交流学到知识,这点是我从24岁之后大量去做的。因为人和人交流的时候,是别人已经加工过的知识,通过一个相对柔和的、说人话的方式让你听懂了。
与一个智者聊天胜读十年书,因为他把他十年的东西全总结给你了,而且都是精华。
多与智者交谈,你会发现,你的整个世界观都对了。
“感受”:智者不能告诉你的细节,你以实践出真知,从实践中去感受,能感受到细节。
“感知”:主要来自于看不同文化的影片、电影、电视剧和书籍文章等;还有出去旅行。
举个例子,比如你去日本,语言、货币、文化什么都不通,你在那儿待20天,回来之后你发现你身上会有一些日本人的习惯,思维方法跟他们很相似,因为这是一套环境在影响你,这套环境在数学上叫高阶小量。这些东西在不断地影响你的一些行为习惯。久而久之,你的思考方式跟他们很类似,你就能处理一些原来你不能处理的事情,这非常有意思。
我去日本、英国最典型的感受就是这样的。因为这两个国家的文化气息是非常浓烈且集中的,你去了英国之后,你整个人就变成那种状态了,诙谐、思考、谨慎。然后你能想象出来一些东西,为什么这个国家和文化下的人会有这种状态。
此外,电影熏陶也是我常常借助的方法。
当我对一件事情很不理解的时候,我就开始放那一类电影,一直循环播放,熏到一定程度的时候,电影里面的每个言行举止,我都能被强烈地代入进去,然后我就突然就理解了,原来这么干是有原因的,为什么是这样不是那样。
在这四种学习中,AI工程师最应该补齐的是后面三种学习方法,尤其是中国的工程师,应多学学硅谷工程师的跨界,一定要从自己的理解层面的学习方法、相对固化的学习方法中跳出来。
当然,这是一个逐渐丰满的过程,AI工程师,或者其他程序员有志于未来创业,一定要多从这几个方面去锻造自己。