一、地平线黎明时分讲了什么 背景故事及剧情深度解析
《地平线黎明时分》讲述了在遥远未来地球被高度智能化且拥有自我意识的机器威胁后,人类幸存者之一——主人公艾洛伊的成长与冒险故事。以下是背景故事及剧情的深度解析:
一、背景故事
科技发展与机器人叛乱:206X年,科技大幅度进步,泰德·法罗旗下的法罗公司转型自动化军事科技,创造出使用生物能源的军事机器人。然而,这些机器人出现漏洞,不接受人类指令,只能机器间互相传播指令,并具备自我创造能力,威胁到地球生物的存在。
零之曙光计划:为应对机器人威胁,伊丽莎白·索贝克提出“零之曙光计划”,旨在保留生命种子,等待地球环境改善后重新繁衍。同时,设计终极智能盖亚来保存种子并代替人类生存下去。另外,还实行奥德赛计划,将同样的种子运往外太空寻求机会。
盖亚与黑底斯的矛盾:在设计盖亚时,为应对环境改善失败的情况,科学家们设计了“黑底斯”模块来毁灭一切。但黑底斯与盖亚的核心思想相违背,科学家们为此设置了屏蔽协议。
二、剧情深度解析
主人公的诞生:800万年后,地球环境恢复,但黑底斯突然失控,盖亚决定自爆与黑底斯同归于尽。临死前,盖亚用伊丽莎白的DNA孕育了主人公艾洛伊,希望她能阻止黑底斯。
艾洛伊的成长:艾洛伊在诺拉部族长大,因养父罗斯特是被逐者而备受欺凌。她在一次意外中发现了旧日人类的高科技结晶“Focus”,并因此掌握了机器的路径和规律。
试炼与冒险:艾洛伊为了解开自己的身世之谜并找到妈妈,决定参加诺拉部族的试炼。在试炼中,她凭借高超的技艺和胆量成为了第一名。然而,庆典上却遭到蒙面人的袭击,艾洛伊与同伴奋力抵抗,最终保全了部分族人。
真相揭露与决战:艾洛伊在冒险中逐渐揭露了黑底斯的真相,并意识到自己是阻止黑底斯的关键。在最终的决战中,她凭借智慧和勇气,成功阻止了黑底斯的毁灭计划,拯救了地球和人类。
综上所述,《地平线黎明时分》不仅是一部充满科幻元素的游戏作品,更是一部关于勇气、智慧、成长与冒险的传奇故事。
二、2022年中国人工智能公司前十名?
2022年中国人工智能公司前十名包括:
深兰科技有限公司:深兰科技在人工智能领域有着深厚的技术积累和创新实力,致力于推动人工智能技术的商业化应用。
科大讯飞股份有限公司:作为语音识别和自然语言处理领域的领军企业,科大讯飞在人工智能领域具有显著的技术优势和市场份额。
旷视科技有限公司:旷视科技专注于计算机视觉和深度学习技术,为多个行业提供智能化解决方案。
深圳市图灵机器人有限公司:图灵机器人在机器人技术和人工智能领域有着丰富的研发经验,致力于推动智能机器人的普及和应用。
北京中科寒武纪科技有限公司:中科寒武纪专注于人工智能芯片的研发和生产,为人工智能应用提供高效、可靠的硬件支持。
北京市商汤仿伏凳科技开发有限公司:商汤科技在人脸识别、图像识别等领域拥有世界领先的技术,为多个行业提供智能化解决方案。
北备旅京云知声信息技术有限公司:云知声致力于语音识别和自然语言处理技术的研发和应用,为智能家居、智能客服等领域提供智能化解决方案。
广州云从信息科技有限公司:云从信息科技在人脸识别和智厅清能安防领域有着显著的技术优势,为公共安全、金融等多个行业提供智能化服务。
北京深鉴科技有限公司:深鉴科技专注于深度学习加速技术的研发和应用,为数据中心、边缘计算等场景提供高效的深度学习解决方案。
地平线机器人科技有限公司:地平线机器人在自动驾驶和边缘计算领域有着深厚的技术积累和创新实力,致力于推动自动驾驶技术的商业化应用。
三、地平线「你好,开发者」上海车展特别活动全程回顾
4月21日,地平线「你好,开发者」上海车展特别活动在「智东西公开课」裂乎漏的联合顺利完结。本次活动邀请到地平线算法平台总架构师穆黎森、地平线软件平台总架构师宋巍两位技术专家,分别以《详解BPU-智能机器人时代“最强大脑”》、《TROS·A如何支持智能驾驶从Demo走到量产开发》为主题展开了分享。
本文是两位技术专家的分享的全程文字整理。如果对完整直播回放有需求,可以点击阅读原文前去观看。
01
地平线穆黎森:详解BPU-智能机器人时代“最强大脑”
大家好,欢迎各位来到地平线策划推出的「你好,开发者」上海车展特别活动。我是地平线算法平台总架构师穆黎森,今天分享的题目是《详解BPU-智能机器人时代“最强大脑”》。
穆黎森,地平线算法平台总架构师
不同时代有不同的计算架构,在PC时代,核心的计算平台是CPU。CPU承载了PC时代人们所需要的所有的应用和计算。进入智能手机时代,仍然是以CPU为核心计算平台,但会更看重功耗、体积、成本。在云计算时代,一个非常核心的计算平台就是GPU。它提供了非常可观的计算密度和算力密度,可以非常好地支撑云端运行的各项业务所需的繁重计算任务。
图一
到了智能机器人时代,我们认为其中非常核心的一个计算架构就是BPU (Brain Processing Unit)。可以看到,其中非常重要的一个形态和应用场景是自动驾驶汽车。
图二
从汽车诞生之初,科学家和工程师从未停止过对于自动驾驶功能的想象和探索。早在几十年前,就有实验室做过从视觉输入到自动驾驶的实验,且局部Demo也较为成功。但是直到近期,作为一个普通的用户,我们才能真正感受到自动驾驶以及辅助驾驶应用的大爆发,大家逛一逛车展也能感受到。其中一个非常核心的原因,是终于找到了正确的处理物理世界层出不穷的配置方式,也就是用数据驱动来解决。肆烂
传统上的编程是用规则去实现,由专家把解决问题的规则翻译成机器可以理解的语言,进而形成计算机系统。这种方式其实不能很好地解决机器人时代的问题,无论是感知问题,还是现在看到的规控问题。因此,现在迫切需要一个计算平台来支撑智能计算架构2.0,不仅需要数据来驱动推理的系统,也需要去驱动软件的设计、编译器的设计,甚至包括硬件的设计。
图三
自动驾驶系统与机器人系统一样,Pipeline都很类似。机器人首先要理解和感知周围的环境。那么对于车来说,需要知道自己去哪,需要知道前方的路况,并融合地图;接下来,需要规划到达这个目的地所需要follow的路径,最后去控制车辆。沿着规划路径走叫控制,这是一个非常传统的 Pipeline。
现在一个非常明显的趋势是Pipeline的各个环节都是不断的向数据驱动去靠拢。那么感知是well defined一个问题。计算机视觉其实是一个发展很久的领域,所以是最先被数据驱动的。但后面的环节我们也观察到一个几乎是不可逆的趋势,就是不断地提升数据驱动的比重,进而驱动系统实现进化。在数据驱动的技术发展趋势之下,也需要相应的由数据驱动的智能计算架构来支持各项计算任务的达成。所以拥有了智能进化能力的BPU——Brain Processing Unit,可谓是智能驾驶的“最强大脑”。
图四
其实所谓的各种PU大家可能都听得比较多。Brain Processing Unit是针对机器人的应用场景而设计的。而机器人的应用场景就有很多的特点,比如说运行时的工况,如果用GPU来举例,它的batch size通常是1,输入的信号要及时处理和反馈,不会等到一个batch再处理。需要非常强大的 AI计算功能,这当然是最基本的。还需要非常完善的功能安全,这不仅是汽车行业的要求,更是保证自动驾驶安全性的非常重要的条件,因为自动驾驶是与人的生命安全息息相关。当然还有一些其他的特点,比如它是顷凳车载专用的,移动实时的,并且低能耗的,这也是区别BPU和其他的计算单元的一个重要的特性。
通过软硬结合的极致优化,地平线的BPU其实是在持续迭代的。首先,驱动BPU迭代的原初是算法。算法不断向前发展演进,并且要不断用算法去解决更复杂的问题,从感知到规控,那么我们就需要通过编译器不断去优化。我们的硬件设计其实得益于从算法到编译器的优化,持续去探索怎样的硬件平台能够更好地支持算法的运行,能够符合未来算法的趋势。
当BPU架构确定了以后,在这一代的BPU上,我们会让编译器和算法去做极致的优化,让算法能够发挥出在这一代BPU上极致的性能,达到一个最终的目标,就是所谓的效能,也即单位成本,可能包括功耗,包括实际花的钱,能达到算法的最终效果,这个效果涉及感知,也包括规控的效果。
BPU主要演进了三代,今天重点讲的是最新一代BPU®Nash。
图五
驱动BPU架构迭代的因素,是源于我们对应用场景,以及应用场景背后的智能计算架构的深刻理解。最初,BPU是用来做一些感知的任务,包括基于前视的自动驾驶的一些功能。在这种情况下,需要支持的是相对稀疏的卷积。我们观察到高效率的卷积,像MobileNet,EfficientNet这样的一些结构,所以对于这些结构后面的算子也做了非常高效的支持,使得在BPU®Bernoulli架构下的芯片,可以以非常低的成本和功耗,达到和当时的主流显卡类似的一个感知的性能表现。
接下来是BPU®Bayes架构。在这个时代,我们发现汽车逐渐地走向了中央计算平台,不仅要处理前视,汽车周围各种各样的摄像头、各种Sensor也必须综合起来处理,才能够去应对高速上的各种各样路况。在这种情况下,我们发现背后的算法演变了。我们不仅要去做多摄像头融合,也需要去做不同传感器融合,也需要做时序的融合,才能对周围的环境做一个非常好的完整的建模。其背后的算法,我们也做了一个非常好的支持。比如在这个时代,Transformer崭露头角,所以也对这样的算法做了一个非常好的支持。对于背后的算子,比如Warping、Vector、Softmax,也做了很好的优化。
BPU®Nash架构是我们新发布的。作为中央计算平台,其实整个自动驾驶的链路,无论是感知还是规控,都需要用AI来驱动其进步。一个非常显著的趋势是,Transformer作为一个非常优秀的算法架构,可以将感知、规控等各种任务,统一到Transformer框架下;甚至之后可能一些大模型涌现出来的随机应变、举一反三的能力,也需要部署在车上。所以对于这类的算法,比如大规模的Transformer也做了一个非常良好的支持,包括这上面的搜索树。
纳什均衡,大家应该听过这个词。实际上,车在路上自动驾驶,特别是在城区,也是一种和他车、他人的博弈。我怎么样的行为会影响他人,他人什么样的行动会影响我,是一个交互博弈的决策过程,也需要我们做一个很好的支持。所以大家可以从应用的角度来看,应用其实是会变得越来越复杂,AI的任务也变得越来越复杂,不仅仅是从网络的规模,也从要处理的任务上。
在这期间编译器就成了一个非常核心的工具。那么,编译器的任务其实就是把我们算法开发人员开发出来的神经网络模型,能够转化成可以在我们计算平台、芯片上运行的一个指令序列。转化的过程其实有很多可能性,最终的指令序列也许都是和最初的神经网络在语义上是等价的,但运行效率、运行的延迟、FPS会千差万别。所以,编译器其实是解决这样的一个问题:在这样大的一个搜索空间里,找到一个最优的在BPU上运行的一个指令序列。而这个问题,随着网络规模的不断扩大,问题变得越来越复杂。
所以,第一代编译器的技术是这种启发式搜索加动态规划。它其实是相对传统的一个策略,好处是可以把我们一些编译器专家的Know-How,放在我们整个搜索的过程中去指导搜索,当然整个空间还是非常巨大的。在其中,也是需要这样的一些启发知识,来指导我们进行搜索,最后可能会找到一个解。这个解应该是性能还不错的解,但可能并不是最优解。
第二代编译器引入Policy Network。所谓的 Policy其实就是一个AI驱动模块,能够以人或专家写的规则,将最后找到的解当做一个专家的演示,然后让Policy Network去学习专家知识。这样Policy Network就可以直接推断在当前节点的下一个合理选择是什么,这就起到了一个非常好的剪枝作用。这就像在围棋里,围棋大师会有所谓的棋感,知道落到这个子大概是可以的,那个子是很不行的。如果没有这样的棋感,下棋可能需要考虑非常多的步骤;如果有这样的棋感,我们的搜索会更加有效率,这样对比第一代策略就大大缩减了搜索时间和编译时间。
第三代编译器就引入了Value Network和蒙特卡洛树搜。不管是第一代还是第二代编译器,都有一个问题,就是也许会无法逃脱局部最优解。这里我们可以看到一个随机的过程,通过Policy和Value的判断,具有一定的随机性,通过这种蒙特卡洛树搜的框架,可以跳出局部最优解,并且更加有可能寻求到全局的一个最优解。在编译时间不会过多增加的情况下,能够提升最后找到的模型的指令序列的运行效率。
图六
最终,就会达到这样的一个收益:通过引入Policy Network这种类似于专家的网络,能够大大缩短模型编译的时间。再通过引入蒙特卡洛树搜,强化学习框架下的一些技术,可以使在编译时间不会大大增加的情况下,编译模型的性能至少提升20%。随着算法的发展,编译问题会变得越来越复杂,可以观测到的收益其实会越来越高。所以,编译器为算法开发者提供了一个非常强大的武器。
纳什架构面向开发者提供了一个更加友好的武器,就是对于先进的编程模型的支持,包括列出的DSL和HPL。之前,我们通常是针对某一些业界的所谓指令集做优化和支持,但我们发现这样做对于面向开放的算法,效率也许不高。因此在上层提供了DSL、在下层提供了HPL给开发者们,让他们能够以更高的效率去进行新的算法支持。这不仅仅是指AI模型中新的算法,还有整个系统里面,乃至整个Pipeline上的。我们传统上可能认为这个计算是属于模型的,而下一个计算通常用CPU对模型的输出进行一些处理。在整个系统中,我们发现它会不断地在BPU和CPU的workload中间切换,无论是调度复杂性,还是数据传输,代价都是非常高的。
图七
通过这种DSL和HPL、高层和底层的一些开放的编程接口,可以做到让开发者把自己在系统整个Pipeline上的workload向BPU下沉。这样无论是整个系统的延迟,还是系统调度的复杂性,都会有非常明显的收益。当然,我们也会在用户体验上来做更多优化,支持用户可以用C语言,甚至像Python这种高层的编程界面,方便他们在纳什架构上去做编程。
图八
之后简单介绍一下我们几代 BPU架构。第一代其实是个相对简单的架构,对刚才提到的稀疏卷积做了比较好的支持,有一些简单的调度。进化到第二代时,支持的算子会更多,而且加入了一定的异构计算的支持,也加入了一些对Power&Perf的监控模块,并且支持了ASIL-B。第三代纳什架构,可以看到它更复杂。直观上可以看到对数据处理这部分明显变复杂了:不光是支持多级存储,也有数据变换引擎,灵活支持transformer细小算子,同时有多脉动立方加速引擎,对计算本身做了支持和加强,另外在Monitor等各种方面的一些功能性的feature,也做了一个非常完整的支持。
图九
以上就是最新一代的BPU纳什架构,这里列举了8个创新点。可以看到,其中很多都是以数据为核心的,包括存储架构、数据变换引擎等。我们观察到,未来特别是大型Transformer网络,对于数据搬运和访问的优化需求,其实是非常多的。同时,我们增加了对于浮点向量加速单元的支持,这对于提升整个用户体验,尤其是未来比较复杂的大规模Transformer网络,从训练到在芯片上部署的用户体验是至关重要的。将来我们会更加友好地支持用户自己训练的浮点模型,使其可以更方便地在我们芯片上做部署。针对这种Transformer计算的特点,我们会针对性地优化它的功耗。这其实深入到了硬件实现的一些底层,包括Feature Activision响应、比特分布响应。我们会仔细分析这些响应,并且针对这些响应的动态特点去做针对性优化。
这里还想提两点:一个是紧耦合异构计算,刚才提到的这种交互式的蒙特卡洛树搜。我们在路面上跟他车进行博弈时,其实需要各种各样的异构单元支持,所以希望整个蒙特卡洛搜索树都能够在BPU上运行;二是虚拟化,纳什架构未来会支撑中央计算平台。而一个计算平台会支撑各种各样的应用,包括但不限于自动驾驶、座舱等领域。
图十
我们最终追求的一个目标是希望用户可以感知到,我们的系统在满足某种精度的FPS下运行时,最终到底花了多少的代价,包括实际花费成本和自身的功耗。为了达到最终用户可感受的最优解,我们需要在三个方面做极致的优化:
硬件层面,优化理论峰值的计算效能;
算法层面,要去优化算法的效率;
软硬结合编译器和架构层面,去优化整个利用率。
这三个方面并不是说三群人各自把各自的工作做到最好,而是通常是一个联合优化的问题。有时是在优化硬件的时候,需要编译器和算法的同学一起参与;有时是在优化算法的时候,需要编译器和硬件的同学一起参与,最终才能达到真实计算效能的最优。
<p class=ql-a【本文来自易车号作者车东西,版权归作者所有,任何形式转载请联系作者。内容仅代表作者观点,与易车无关】