0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我们真的还需要更多的AI芯片吗?

张慧娟 来源:电子发烧友网 作者:张慧娟 2019-06-04 16:14 次阅读

任何事物一旦进入泡沫期,就不免让人担心什么时候会崩盘,而当下的 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



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47655

    浏览量

    408571
  • AI
    AI
    +关注

    关注

    87

    文章

    26307

    浏览量

    263905
  • 人工智能
    +关注

    关注

    1775

    文章

    43625

    浏览量

    230432
  • 架构
    +关注

    关注

    1

    文章

    482

    浏览量

    25196
  • 软件框架
    +关注

    关注

    0

    文章

    21

    浏览量

    9763
收藏 人收藏

    评论

    相关推荐

    请问risc-v中断还需要软件保存上下文和恢复吗?

    risc-v中断还需要软件保存上下文和恢复吗?
    发表于 02-26 07:40

    #2024,立Flag了嘛? #学习spinal HDL还需要学习对应的Scala语言

    学习spinal HDL还需要学习对应的Scala语言,但是spinal HDL直接贴近硬件编程,不知道对于学习spinal HDL有什么好的建议?
    发表于 01-21 11:11

    aducm410微处理器还需要接外部晶振和复位电路吗?

    aducm410微处理器还需要接外部晶振和复位电路吗?
    发表于 01-11 07:23

    1200控制V90PN,极限开关接到伺服上,那PLC这边还需要组吗?

    1200控制V90PN,极限开关接到伺服上,那PLC这边还需要组吗 接到V90上,假如绝对定位碰到极限,伺服自己会停止吗
    发表于 01-09 08:26

    退出空载条件后,APNOLOAD和VARNOLOAD是否还需要清零?

    空载条件后,APNOLOAD和VARNOLOAD是否还需要清零,还是说只是上电进行一次清零。 谢谢。
    发表于 12-26 07:14

    数模转换芯片AD7991配置完断电后,还需要再次配置吗?

    这个芯片在使用时,有一些配置寄存器,用于配置芯片的工作方式。这个寄存器,配置完断电后,还需要再次配置吗? 这个芯片有两个型号—0和—1,配置时,地址不一样。在
    发表于 12-22 08:06

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟呢?

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟呢? FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以根据不同需要编程,实现不同的功能。在FPGA
    的头像 发表于 10-25 15:14 1141次阅读

    既然ODR能控制管脚高低电平,为什么还需要BSRR寄存器呢?

    既然ODR能控制管脚高低电平,为什么还需要BSRR寄存器呢? 为什么需要BSRR寄存器 在单片机中,为了控制端口的输出状态,我们需要使用特定的寄存器。其中,ODR寄存器负责直接控制端口
    的头像 发表于 10-24 11:49 2020次阅读

    STM8L在待机模式还需要给独立看门狗喂狗吗?

    STM8L在待机模式还需要给独立看门狗喂狗吗
    发表于 10-15 12:58

    用热敏电阻测温时候还需要放大电路吗?

    用单片机ADC采样这个热敏电阻的温度还需要放大电路吗
    发表于 10-13 07:44

    使用变压器变压的电源还需要滤波器吗

    使用变压器变压的电源还需要滤波器吗
    的头像 发表于 08-31 14:03 529次阅读
    使用变压器变压的电源<b class='flag-5'>还需要</b>滤波器吗

    为什么有了HTTP,还需要RPC协议?

    为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。什么是HTTP协议?HTTP是一种广泛使用的网络传输协议,它定义了客户端(如浏览器
    的头像 发表于 08-14 10:05 651次阅读
    为什么有了HTTP,<b class='flag-5'>还需要</b>RPC协议?

    独立运行esp8266芯片还需要什么其他硬件?如何将程序加载到芯片上?

    esp8266芯片还需要什么其他硬件,以及如何将程序加载到芯片上。我在编程和电路设计方面相当有经验,这不是我第一次使用 8266,但这是第一次没有开发套件。
    发表于 05-15 08:38

    如果USBCAN上已有can总线终端电阻那还需要再连一个吗?

    如果USBCAN上已有can总线终端电阻那还需要再连一个吗?
    发表于 05-09 10:51

    0402元件改成0201甚至01005 除了耐压、精度、贴片工艺 还需要注意哪些细节

    0402元件改成0201甚至01005除了耐压、精度、贴片工艺 还需要注意哪些细节
    发表于 05-05 18:29