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

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

3天内不再提示

Tesla自动驾驶芯片负责人Pete Bannon介绍芯片研发的过程

ml8z_IV_Technol 来源:ZF 2019-04-29 15:42 次阅读

在刚刚结束的Tesla Autonomy活动中,Tesla非常“大方”的介绍了自己的Full Self-Driving (FSD) Computer从系统到芯片的很多细节。从芯片来看,其“透明度”超过了除Google第一代TPU之外所有的AI相关芯片。实际上,和Goolge TPU的情况类似,在这次发布之前,Tesla也做了一定的专利布局,这正好让我们可以从不同角度更深入的了解Tesla的FSD芯片。

时间线

Tesla自动驾驶芯片负责人Pete Bannon首先介绍了芯片研发的过程:

Feb. 2016:第一个团队成员入职;

Aug. 2017:第一版流片(经过18个月);

Dec. 2017:芯片返回,点亮;

Apr. 2018:BO Release to manufacturing;

Jul. 2018:Production start;

Dec. 2018:Employee retrofits start;

Mar. 2019:Model S & X production start;

Apr. 2019:Model 3 production start

用Pete的话说,从加入Tesla开始到芯片和系统在实际产品中部署,大约用了3年时间,这可能是他做过的项目中用时最短的了。他把这归功于Tesla很强的垂直整合和并行工作的能力,还特别提到了Tesla有很强的Power supply design,Signal integrity design,Package design,System software,Board design,Firmware,System validation团队。这里Tesla给了我们一个参考,即设计,生产和成功部署一颗SoC芯片所需付出的努力和时间。

系统和芯片设计

在具体介绍系统和芯片设计之前,Pete Bannon首先说了项目的前提,“只有一个客户Tesla”,这就很大程度上降低了芯片需求的复杂性。总结起来,FSD芯片的需求就落到了如下几点,依次是功耗,算力,Barch size(latency),安全性。在后面的Q&A中,Pete进一步提到Model 3的功耗的目标是每英里250W(Elon Musk对此作了补充,实际的功耗和道路环境有一定关系)。

前面几个需求主要反映在芯片设计上,而安全性则在系统层面也有很多考虑,比如大量的冗余设计。同一块板卡上的两颗芯片的供电和数据通道都是独立且互为备份的。而一个很有趣的想法是两颗芯片同时都对同样的数据进行分析,然后对比分析结果(或者相互验证),再得出最终结论。

在这个地方Elon Musk还亲自插进来讲了一下这块板卡上的任何部分如果出现故障都不会影响基本的汽车的行驶(他在之后的Q&A环节还补充说明了这一点)。

之后Pete Bannon就开始对芯片进行非常详细的说明。首先是芯片的外观,硅片和一些总体信息。后面的Q&A环节中透露了该芯片使用的是Samsung的14nm工艺。

然后是SoC芯片的基本组成部分,CPU(12核A72),GPU,各种接口,片上网络。这些部分都是采用第三方标准IP。

此外还专门强调了一个SAFETY SYSTEM(如下图所示),是一个独立的CPU,有最终的控制权。

当然,芯片中自研的最重要的部分是Neural Network Processor,也是发布中重点介绍的内容。首先是整体信息,每颗芯片有两个NNP,每个NNP有一个96x96个MAC的矩阵,32MB SRAM,工作在2GHz。所以一个NNP的处理能力是96x96x2(OPs)x2(GHz) = 36.864TOPS,单芯片72TOPS,板卡144TOPS。

这里比较值得注意的片上SRAM的数量。如果我们对比Google的初代TPU(256 x 256MAC,24MiB SRAM),这个片上存储的数量是相当高的。从下图也可以看到NNP中存储器大概占了总面积3/4以上。Pete Bannon的解释是为了降低功耗,他们的设计目标是将所有的模型都能存储在片上。精度的选择是乘法8bit,加法32bit。之后Pete Bannon介绍了芯片工作的方式,没有太多新鲜的东西。

读256B activation和128B weight,经过变形和buffer,组合成96x96的乘加,然后在MAC矩阵中进行运算,最后结果shift out到专门的ReLU和Pool的硬件模块,然后再以每周期128B的带宽存回memory。由于MAC矩阵是96 x 96,所以在把数据输入给MAC矩阵之前,需要做数据格式的变换。完成这一系列动作,总带宽需求是1TB/Sec。考虑到所有数据都在片上SRAM中,这个带宽比较容易满足。

Pete Bannon还提了一下控制逻辑功耗的问题,认为ICache,Register File和Control逻辑消耗的能量要远比运算消耗的能量大,所以NNP的设计就尽量简化了控制逻辑,只做运算。相应的,指令集比较简单,只有8条指令:DMA Read,DMA Write,Convolution,Deconvolution,Inner-product,Scale,Eltwidth,Stop。编程模型(控制流)也非常简单,完成一次运算只需配置4个信息。另外也介绍了编译工具,这个基本也是常见的功能。

最后,Pete Bannon给出了芯片的实际性能指标,2300 帧/秒,72W。当然我们并不知道这是运行什么网络的结果。如果是讲演中给出的如下示例网络,每帧需要35GOPS,每秒是35x2300=80TOPS,即能达到55%左右的利用率。

Tesla自动驾驶芯片负责人Pete Bannon介绍芯片研发的过程

到此我们看到了FSD芯片的一些细节,但还不足以充分了解它的架构设计。实际上,在这次公开之前,Tesla是给NNP申请了一系列专利的[2],我们可以从中看到一些更详细的东西。

专利布局

Tesla目前公开的专利,大体的思路和Google之前给TPU申请专利也是差不多的(Google的神经网络处理器专利),先申请整体框架和方法的专利,然后是具体运算,数据格式准备,Vector处理,包括下面几个。

Accelerated Mathematical Engine(Sep. 2017)

Computational Array Microprocessor system with variable latency memory access(Mar. 2018)

Computational array microprocessor system using non-consecutive data formating(Mar. 2018)

Vertor Computational Unit(Mar. 2018)

这里先要说明一下,专利和实际实现可能是有很大差别的。我们对专利的阅读主要是作为对比和参考。下面我们主要看一下第一个专利,即整体架构和方法的专利。虽然这里的名字叫“ACCELERATED MATHEMATICAL ENGINE”,但权力要求里的说法是,“A matrix processor for accelerating convolutions in a neural network”,基本就是一个CNN加速器。

它的基本硬件架构主要是围绕一个大的矩阵处理器(MATRIX PROCESSOR)做文章(如下图)。

Tesla自动驾驶芯片负责人Pete Bannon介绍芯片研发的过程

Data和Weight分别经过一个FORMATTER进行格式的转换,存入BUFFER,之后有一个硬件电路读出提供给矩阵处理器。专利中提到FORMATTER可以用软件或者硬件实现,它们实际芯片中应该是硬件实现的。由于要有效利用这种规模(96x96)的MAC矩阵,必须把输入数据排好,这个FORMATTER起到了很大作用。因此他们也专门对它申请了专利(Google也是类似情况),有兴趣的同学也可以看看。

在完成了矩阵乘加运算后,结果会移出(shift)矩阵处理器(根据专利里的描述,应该是从上向下逐级移动)进行后续处理,包括累加,ReLU,和Pooling。由Vector Engine和Post-Processing Unit完成。这部分也有专门的专利(申请时间要晚一些),表述上和主架构专利似乎有点不一致。此外就是控制逻辑部分,这部分是一个尽量简单的设计。

下面我们进入矩阵处理器(MAC Array)内部看看运算单元的设计。

Tesla自动驾驶芯片负责人Pete Bannon介绍芯片研发的过程

source:Tesla patent “ACCELERATED MATHEMATICAL ENGINE”

对比一下Google的专利中的计算单元,

Tesla自动驾驶芯片负责人Pete Bannon介绍芯片研发的过程

可以看出主要的区别在于Tesla多了一级累加器ShiftAcc,支持的数据流也能更灵活一些。总得来说,Tesla描述的架构和Google TPU专利描述的NNP("Neural network processor")是类似的,不过看起来在设计和表述上更为完整。在具体实现上,一个主要区别在于,FSD芯片主要使用片上SRAM工作,而不像是Google TPU还需要使用片外的DRAM。当然,还是那句话,专利不代表具体实现,而且Google的专利要早很多。这里只是单纯参考一下。

这几个专利中还有一些有意思的细节,时间关系我每来及细读。大家感兴趣可以自己阅读一下,有趣的信息也欢迎留言分享。我把这四个专利整理了一下,大家可以在后台回复“teslapat”获得下载的链接。回复“googlepat”可以获得Google专利的链接。

Q&A环节的花絮

回到Tesla的活动,在芯片发布之后还进行了Q&A环节,这部分其实也很有意思。首先,Elon Musk说了如下一段话(大意),“我们今天之所以要提供如此详细的信息,就是因为,在一开始,对于Tesla这样从没做过芯片的公司来说,要研发一颗世界最先进的芯片看起来是不可能的。我们的目标就是这样,而且我们的目标不仅仅是领先一点,而是大幅度的领先。”从这段话可以看出,Tesla自研芯片应该是有必要性和能力上的质疑的。对于系统和应用厂商来说,这种质疑也是很正常的。必要性比较容易讲,如问答环节所说,Telsa如果每年卖上百万辆车,而自研芯片能让整车成本降低,当然就值得去做。而针对芯片研发的能力的质疑,这次发布算是一个回答。所以,虽然这颗芯片目前还谈不上世界领先(指标上和Nvidia的对比是不太科学的,这个Nvidia已有回应),Musk也要硬着头皮去说。从另一个角度,这颗芯片至少可以证明自研的可行性。而且Musk也很认真强调了这套系统的优势在于它的软硬件都是专门为Tesla的自动驾驶定制的。对比Nvidia,他是这么说的,“Nvidia is great company, but they have many customers, as they apply their resources, they need to do a generalized solution. We care about one thing so private. It was designed to do that increadibly well and the software was also designed runing on that hardware increadibly well. The combination of hardware and software I think is unbeatable.” 看起来Tesla会在这条路上继续走下去。在被问道工艺问题的时候,Elon Musk专门提到下一代芯片正在研发当中(已经halfway done)。

在被问道是否使用Lidar,Elon Musk说“lidar is fool's errand, anyone luck reliant on lidar is doomed.”在后面关于神经网络和软件的talk里,AI网红Andrej Karpathy也解释了这个观点,"Lidar只是回避了关键的图像识别问题,只是给我们一个技术进步的假想,虽然可以做一些快速DEMO,最终肯定失败"。

还有一个关于实际路测和仿真的问题,Elon Musk说,“Tesla也做很好的仿真,不过还是很难模拟真实环境发生的各种情况,如果仿真环境能够模拟真实情况(这里他顿了一下)我们也不知道自己是不是生活在仿真环境中。”好像他确实认真的感知了一下。

总结

Tesla的自动驾驶芯片是FSD系统的最重要部分,其对标的产品应该是Nvidia的Nvidia Xavier SoC芯片(参考Hot Chips 30 - 巨头们亮“肌肉”中相关部分)。客观来看,Tesla的芯片和NvidiaXavier SoC芯片在各方面还是有差距的。Tesla的SoC设计中,除了自研的Neural Network Processor部分之外,其它都是用业界标准IP,并没做太多定制工作,只能说中规中矩。而NNP也是一个比较简单的架构,也很难说做了很多架构和技术上的创新。从另一个角度来看,这款芯片如果真的大量使用了,那它至少也是合格的。可以看到,Tesla的目标和执行策略是清晰和实际的,这是系统厂商自研芯片的最大优势。

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

    关注

    773

    文章

    12894

    浏览量

    162909

原文标题:多角度解析Tesla FSD自动驾驶芯片

文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    小鹏汽车迎来新AI负责人研发XNGP技术

    小鹏汽车近日迎来新的AI团队负责人——Cruise公司前高级资深机器学习工程师LiuXianming。他将带领小鹏AI团队研发XNGP技术,为公司的自动驾驶领域注入新的活力。
    的头像 发表于 03-26 10:43 148次阅读

    高通自动驾驶靠软件开发革新力压英伟达自动驾驶芯片

    抛开价格不谈,英伟达自动驾驶芯片毫无疑问是最强的,设计范围在2019年底确定的Orin至今仍是量产最强的自动驾驶芯片,但除了奔驰外的欧美大厂更倾向于选择高通平台
    的头像 发表于 02-20 13:50 808次阅读
    高通<b class='flag-5'>自动驾驶</b>靠软件开发革新力压英伟达<b class='flag-5'>自动驾驶</b><b class='flag-5'>芯片</b>

    华为自动驾驶技术怎么样?

    强大,主要体现在以下几个方面: 强大的研发团队:华为拥有一支专业的研发团队,专注于自动驾驶技术的研发和创新。这支团队汇聚了众多顶尖的技术专家和工程师,具备丰富的
    的头像 发表于 02-02 16:58 715次阅读

    超算负责人离职,特斯拉下一代自动驾驶何去何从?

    Peter Bannon 领导。特斯拉的 Dojo 项目不仅在为其自动驾驶技术提供大量的算力,也在特斯拉人形机器人 Optimus 项目开发的算力来源。   Dojo超算负责人离职   近日,Ganesh
    的头像 发表于 01-02 09:19 1073次阅读

    LabVIEW开发自动驾驶的双目测距系统

    精确的距离信息,从而提高车辆的主动安全性能。这一系统的开发和应用有望在自动驾驶领域取得更多突破性进展。 ​ 这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。
    发表于 12-19 18:02

    特斯拉超级计算机Dojo项目负责人离职,对自动驾驶技术影响显著

    该超级计算平台 Dojo 专为人工智能机器学习研发,旨在提升特斯拉自动驾驶的视觉技术。值得注意的是,Dojo 使用了由 Ganesh、Peter 及其他行业精英设计的定制 D1 芯片
    的头像 发表于 12-11 16:04 250次阅读

    传因芯片未达标 特斯拉Dojo超级计算机负责人被辞退

    早前,特斯拉首席执行官埃隆·马斯克(Elon Musk)成立了一支专门的芯片研发团队支援自动驾驶系统,其中包括“芯片架构师传奇人物”吉姆·凯勒(Keller)以及引荐VENKATARA
    的头像 发表于 12-11 14:35 220次阅读

    L1~L5 自动驾驶芯片有何变化?

    随着自动驾驶技术的不断演进,不仅车载芯片的数量在逐步增加,在跨域集中式和中央计算式架构中,大芯片正在成为标配,芯片设计的复杂性急剧升高。
    发表于 11-29 16:57 259次阅读

    理想自研芯片新进展:AI推理芯片是关键,团队总规模已超160人

    理想的芯片组属于“系统和计算组”,该组的负责人是理想的cto谢炎。芯片组设置了设NPU架构、SoC、后端设计、验证等部门,芯片研发
    的头像 发表于 11-22 09:31 424次阅读

    自动驾驶芯片的低功耗设计

    的前装标配。当前我国量产乘用车的自动驾驶级别也在从L2向L3+过渡,甚至很多科技公司已经开始研发L4级别的自动驾驶芯片及其解决方案。随着市场对汽车
    发表于 08-04 10:09 360次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>芯片</b>的低功耗设计

    高科技之巅:汽车芯片自动驾驶中的角色

    自动驾驶技术的飞速发展使得汽车行业面临着历史性的转折。这个全新的驾驶模式使汽车从一个简单的交通工具转变为一个拥有智能化处理能力的移动计算平台。在这个重大的转变中,汽车芯片,尤其是用于自动驾驶
    的头像 发表于 06-15 14:27 613次阅读
    高科技之巅:汽车<b class='flag-5'>芯片</b>在<b class='flag-5'>自动驾驶</b>中的角色

    车路协同式的自动驾驶(VICAD)

    系统和处理芯片驾驶员的双手、双脚、双眼将被解放,出行过程中的娱乐、社交、消费场景被彻 底打开,开辟万亿级市场。 自动驾驶目前有【单车智能自动驾
    发表于 06-06 10:56 0次下载
    车路协同式的<b class='flag-5'>自动驾驶</b>(VICAD)

    自动驾驶介绍、应用、前景

    自动驾驶介绍、应用、前景
    发表于 06-02 16:17 0次下载
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>介绍</b>、应用、前景

    如何定义一款好的自动驾驶芯片

    导读自动驾驶领域,传统处理器的竞争规则正发生急速的变化。一般来说,人工智能的发展主要取决于两大基本要素:算力和算法。自动驾驶作为目前技术投入较大、商业落地较早、市场前景广阔的人工智能应用,其主控芯片
    的头像 发表于 04-25 15:03 343次阅读
    如何定义一款好的<b class='flag-5'>自动驾驶</b><b class='flag-5'>芯片</b>?

    如何定义一款好的自动驾驶芯片

    工智能应用,其主控芯片的算力也被业内拿来作为评价优劣的主要标准。 为何自动驾驶需要的算力越来越大 仅仅还在几年之前,ADAS智能驾驶辅助的芯片AI算力才几个TOPS,但转眼间100TO
    的头像 发表于 04-20 15:55 354次阅读
    如何定义一款好的<b class='flag-5'>自动驾驶</b><b class='flag-5'>芯片</b>?