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

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

3天内不再提示

深度解析Tesla FSD自动驾驶芯片

电子工程师 来源:fqj 2019-04-29 13:44 次阅读

在刚刚结束的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个信息。另外也介绍了编译工具,这个基本也是常见的功能。

深度解析Tesla FSD自动驾驶芯片

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

深度解析Tesla FSD自动驾驶芯片

到此我们看到了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 FSD自动驾驶芯片

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

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

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

深度解析Tesla FSD自动驾驶芯片

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

深度解析Tesla FSD自动驾驶芯片

可以看出主要的区别在于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的目标和执行策略是清晰和实际的,这是系统厂商自研芯片的最大优势。

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

    关注

    447

    文章

    47772

    浏览量

    409076
  • Tesla
    +关注

    关注

    0

    文章

    130

    浏览量

    15575
  • 自动驾驶汽车

    关注

    4

    文章

    374

    浏览量

    40701

原文标题:大曝光!深度解析Tesla FSD自动驾驶芯片

文章出处:【微信号:wc_ysj,微信公众号:旺材芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来已来,多传感器融合感知是自动驾驶破局的关键

    /L4级自动驾驶赛跑的元年。 马斯克评论FSD 12.3版本的左转弯操作就像人类司机一样。如果FSD 12.3版本成功,将基本颠覆目前市场上的智能驾驶技术路线。基于“数据/算法/算力”
    发表于 04-11 10:26

    【话题】特斯拉首起自动驾驶致命车祸,自动驾驶的冬天来了?

    `特斯拉首起自动驾驶致命车祸,自动驾驶的冬天来了?“一个致命的事故一定是由多个小的错误组成的。”  7月初,特斯拉发表博客叙述了NHTSA(美国国家公路交通安全管理局)正在着手调查第一起Tesla
    发表于 07-05 11:14

    自动驾驶真的会来吗?

    自动驾驶和背后技术有了更广泛地讨论、更深刻地认知;另一方面则是让不少风投看到了机会,认为传感器芯片为代表的硬件研发,以及计算机视觉为支撑的软件技术,将会迎来更大的关注度。特斯拉的autopilot
    发表于 07-21 09:00

    细说关于自动驾驶那些事儿

    越来越便宜和普及,让自动驾驶车终能成形。拆解自动驾驶技术Toyota研究机构负责人Gill Pratt列出几点和无人车相关的技术。首先是智能手机,其相关技术、低电压计算机处理器、计算机视觉芯片和摄影
    发表于 05-15 17:49

    自动驾驶的到来

    距离,更宽的速度探测范围,以及更高的距离、速度及角度分辨率。  另外,随着V2V,V2X的普及,自动驾驶所需要处理的实时数据将呈现级数增长,这对处理芯片的性能也提出了更高的要求。ADI可以提供独具特色
    发表于 06-08 15:25

    AI/自动驾驶领域的巅峰会议—国际AI自动驾驶高峰论坛

    已经渗透到了社会生活的方方面面。人工智能在自动驾驶领域将对整个汽车出行领域产生颠覆性变革。汽车的人工智能技术和数据后端的最新突破使自动驾驶成为可能。深度学习、高级数字助理和动态电子视野方面的新科技
    发表于 09-13 13:59

    如何让自动驾驶更加安全?

    最近,国内多个城市开始发放自动驾驶的开放道路测试牌照,意味着自动驾驶的汽车可以在公共道路上进行测试。不过,驾驶安全性仍是社会关注的焦点,美国优步公司进行自动驾驶技术测试发生致命撞击事故
    发表于 05-13 00:26

    自动驾驶汽车的处理能力怎么样?

    作在未来20 - 30年中,自动驾驶汽车(AV)将改变我们的驾驶习惯、运输行业并更广泛地影响社会。 我们不仅能够将汽车召唤到我们的家门口并在使用后将其送走,自动驾驶汽车还将挑战个人拥有汽车的想法,并
    发表于 08-07 07:13

    自动驾驶AI芯片现状分析

    自动驾驶AI芯片到位了么?
    发表于 12-04 06:13

    关于特斯拉自动驾驶FSD芯片NPU你想知道的都在这

    关于特斯拉自动驾驶FSD芯片NPU你想知道的都在这
    发表于 06-17 06:41

    汽车自动驾驶产业链深度研究报告:自动驾驶驶向何方 精选资料分享

    (报告出品方/作者:国金证券,翟炜)报告综述产业链与市场空间:当前我国自动驾驶正处于 L2 向 L3 级别转化的阶段,预 计 2025 年 L2.5 级别自动驾驶车辆渗透率为 50%,2030 年
    发表于 08-27 07:21

    自动驾驶系统设计及应用的相关资料分享

    作者:余贵珍、周彬、王阳、周亦威、白宇目录第一章 自动驾驶系统概述1.1 自动驾驶系统架构1.1.1 自动驾驶系统的三个层级1.1.2 自动驾驶系统的基本技术架构1.2
    发表于 08-30 08:36

    自动驾驶技术的实现

    k随着汽车电子的日益复杂化以及汽车电子电气架构(EEA)的升级,人们对于联网智能汽车的需求也在逐步上升,大量先进技术往汽车上应用,如高级驾驶辅助系统(ADAS)、自动驾驶等,这些新技术也对车载网络
    发表于 09-03 08:31

    中国自动驾驶规模将突破万亿美元,有望成为最大的自动驾驶汽车市场

    芯片领域,布局最严谨的就是特斯拉,为自家车型打造了芯片组,全称是全自动驾驶FSD)计算机(也就是 Autopilot 硬件 3.0)。全新的芯片
    发表于 07-15 11:36 1524次阅读

    FSD召回挽回不了对自动驾驶的信心

    特斯拉FSD Beta召回事件大大削弱了自动驾驶的可信度。
    的头像 发表于 04-18 09:48 1147次阅读