任何事物一旦进入泡沫期,就不免让人担心什么时候会崩盘,而当下的 AI 芯片已经进入公认的泡沫期。
从 ASPLOS'14 上寒武纪的 DianNao,到当下 Google 的 TPUv3,AI 芯片只花了五年时间就取得了巨大的成功。搭上 AI 算力爆发的快车道,叫嚷着摩尔定律终结,Domain Specific Architecture(领域定制架构) 似乎成了唯一的出路。
可是当无数的巨头和初创公司设计出一块又一块大同小异的 AI 芯片,我们需要回答这样一个问题:真的需要这么多 AI 芯片吗?
软件复杂度
AI 芯片的快速发展,其中一个回避不了的问题就是软件复杂度的指数级提升。很多公司花了两年甚至更短的时间做出一款芯片,却发现需要更长的时间支持繁多的框架、紧跟算法的进步,适配从手机到数据中心的各类平台。当错过了部署和量产的窗口期,即便做出了芯片也会很快落伍。与设计通用架构不同,设计 AI 芯片这样的专用架构需要同时考虑到软件的设计和优化。芯片公司往往乐观估计了软件适配和优化的成本,指望通过中间件和编译器来解决所有问题。事实上,从 Intel 到 Google 再到 Nvidia,大量的软件工程师正被投入到适配各种平台,手动优化网络性能当中。而对于初创公司,芯片早已 tapeout 却一再延期交付的问题比比皆是。
从本质来看,当我们开始不断挖掘芯片架构的潜力时,软件层的抽象也会变的越来越困难,因为其不得不在上层抽象中引入底层的架构的模型或参数。现在的通常做法是做底层芯片架构与上层软件之间的中间件,然而开发这些中间件的代价也往往被低估。前段时间某芯片初创公司的同学咨询我,开发一套类似 TensorRT 这样的 Inference 中间件需要多少人力和多长时间?这并不是一个容易回答的问题,于是我反问他们有多少资源可以做这个项目。
令人意外的是,他的老板只给了三四个人头,因为他们假设自己已经有了一套底层的编译器和一套上层的模型转换工具,于是这样一个用于架构抽象的中间件并不需要太大力气。我猜这样的投入应该可以做出一个功能完好的产品,但我不相信最终的产品在实际应用中可以达到理想的性能指标,毕竟做芯片并不只是用来跑 ResNet-50 这样的 Benchmark。
碎片化
只需要编写一套代码即可运行在不同平台,是软件工程师们的长久诉求。不同架构的 AI 芯片带来的碎片化会极大的打击他们在实际软件产品中应用 AI 的积极性。与以往的经验不同,深度学习糟糕的解释性会带来许多意想不到的缺陷。比如这样一个常见的困扰,一个私有的模型可以在本地 CPU 上得到满意的结果,然而却在部署到某款设备后性能大幅下降。如何调试这些问题,谁来负责调试,通过怎样的工具来调试,甚至调试的工程师能否拿到私有的模型?这些问题都难以回答。碎片化还表现在,专有架构为了挖掘绝对性能往往会放弃向前兼容性。如上文提到的中间件,它的一端是碎片化的 AI 软件框架,另一端则是一代又一代的芯片架构。如何同时维护多个部分不兼容的指令集架构,并保证每一次软件更新都能完整的覆盖所有的设备?除了投入更多的人力,别无他法。一个常见的论调是像当下的消费级芯片一样只保持一个短期的(2-3年的)软件支持,然而当下 AI 芯片的常见应用领域,如智能摄像头、工业智能、以及自动驾驶,一款芯片的生命周期可能长达十年。很难想象一家公司需要多大的量级才能提供持久的技术支持,如果预估一家初创公司活不过两三年,如何才能放心的部署其产品到一款面向消费者的量产车上?
AI 芯片只是过渡期产物
从一个软件工程师的角度,我个人坚信定制化的 AI 处理器只会是一个过渡期产物。一个统一的、可编程的、高并发的架构才应该是我们追求的方向。回想过去的二十年,我们见证了专用架构的小型机市场的萎缩,图形处理器到通用向量处理器的发展,甚至连我们的手机和电脑的平台都将趋于统一。有理由相信,现在再把资源投入到定制化的 AI 芯片绝不是一个好的投资。来源:知乎 Max Lv
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
芯片
+关注
关注
455文章
50795浏览量
423497 -
AI
+关注
关注
87文章
30859浏览量
269030 -
人工智能
+关注
关注
1791文章
47263浏览量
238432 -
架构
+关注
关注
1文章
513浏览量
25470 -
软件框架
+关注
关注
0文章
21浏览量
9868
发布评论请先 登录
相关推荐
DAC5681z从FPGA读数据,为什么还需要一个DCLKP/N呢?
以DAC5681z为例,DAC芯片从FPGA读数据,然后按照自己的采样速率CLKIN/CLKINC 每隔16bit转换成1个电平值,为什么还需要一个DCLKP/N呢?
发表于 12-11 07:52
电机控制使用AMC1200或AMC1306等芯片,在线上采样电流时是否还需要做PWM的触发同步?
电机控制使用AMC1200或AMC1306等芯片,在线上采样电流时是否还需要做PWM的触发同步?
在线上采样电流,电流应该是连续的,是否能一直读取电流信号而忽略PWM的开关时刻。
如果这么做,是否有必要担心大功率的开关噪声会影响电流采样
发表于 12-10 08:12
新思科技探索AI+EDA的更多可能性
芯片设计复杂性的快速指数级增长给开发者带来了巨大的挑战,整个行业不仅要向埃米级发展、Muiti-Die系统和工艺节点迁移所带来的挑战,还需要应对愈加紧迫的上市时间目标、不断增加的制造测试成本以及人才短缺等问题。早在AI大热之前,
有了MES、ERP,为什么还需要QMS?
有了MES、ERP,质量管理为什么还需要QMS? 在制造业,质量管理始终是企业管理中永恒的主题。品质管理要想做得更好,企业必须掌握足够多、足够有用的数据和信息,实现质量管理信息化。很多中小企业
大数据起步之前我们还需要注意些什么?
超级传感器的企业就意味着其掌握了对大数据应用至关重要的用户信息数据。那么,在真正开始其大数据应用之前,我们还需要在起步时注意些什么? 创意比技术更重要 在谈到大数据时很多人会把它看作是一个技术问题,其实这是
ESP-IDF Tools Offline5.0下的离线安装包,为什么安装时还需要从github中下载?
如题
我都已经下载的是离线的安装包了为什么安装时还需要从github中下载????
半个小时了 才下载2%
发表于 06-13 08:14
使用esp32c3开发matter时,开发好的产品还需要走matter官方认证流程获得认证吗?
使用esp32c3开发matter时,(SDK使用esp-matter),使用这个芯片开发matter的话,开发好的产品还需要走matter官方认证流程获得认证吗?询问其他人时他们说是需要经过一个
发表于 06-11 07:46
stm8如果使用到多功能引脚,用stvd调试仿真的时候,是否还需要设置option byte 来使功能正常使用?
各位前辈,请问一下如果使用到多功能引脚,其中的一个功能比如tim2_ch1 。用stvd调试仿真的时候,是否还需要设置option byte 来使功能正常使用。
我记得用stvp下载程序的时候需要
发表于 05-08 07:23
#2024,立Flag了嘛? #学习spinal HDL还需要学习对应的Scala语言
学习spinal HDL还需要学习对应的Scala语言,但是spinal HDL直接贴近硬件编程,不知道对于学习spinal HDL有什么好的建议?
发表于 01-21 11:11
1200控制V90PN,极限开关接到伺服上,那PLC这边还需要组吗?
1200控制V90PN,极限开关接到伺服上,那PLC这边还需要组吗
接到V90上,假如绝对定位碰到极限,伺服自己会停止吗
发表于 01-09 08:26
评论