定制计算与智能网联汽车
2020-04-06陆永青
文/陆永青
定制化计算,又叫自定义计算,我们可使用它来进行架构,从而提高芯片的利用率。它能以一种更高效的方式进行数据的处理,而不需要任何的指令。
陆永青 英国皇家工程院院士,鲲云科技首席科学家
智能网联汽车面临挑战
智能网联汽车的挑战到底是什么呢?
在过去几年我非常荣幸有机会跟很多项目进行合作,做了很多项目,包括人工智能的项目、不同智能的项目、不同情形下智能的应用。
你可能会问我,所做的这些项目之间有什么联系,它们与无人驾驶汽车有什么联系。
我个人觉得,这些项目中,它们之间的主要运行,包括本质上的运行是一个物体的识别,我们要去处理飞行的数据,这其实和时间的数据分析有关,对应到的是机器人的任务式学习。
更近一步思考:一些主要的计算到底是什么?我们会发现我们要去做物体的识别,最重要或者最好的计算架构就是卷积的神经网络架构,以时间为限度的神经分析是一种很好的方式,是一种新的、循环式的神经网络。
我们要进行机器人的自主学习和自动学习,在这个过程中,学习是最主要的任务,所以我们用了加强学习的方式。
假如有一种架构能够给我们带来较高的利用率,这就是我们所需要的。下面看一看所谓的定制化计算,或者叫自定义计算,我们可以使用这样的计算方法来进行架构,从而提高芯片的利用率。
首先看一看传统的计算,这是我们非常熟悉的一个流程,从程序开始,然后是软件工具,比如编译器,通过这样的方式把程序转化为指令,把它放置到固定架构当中去,在这儿我们希望把预设的项目与固定的架构进行整合,这是传统的计算机计算方法。
我刚才提及架构是固定的,是不变的,所以会有很多的限制性因素,可能会限制芯片的利用率。我们希望能够增加整个计算流程的灵活性,从而提高计算机效率,这就是我说的定制化计算或者是自定义计算,这种情况下我们看到架构本身是可定制、可定义的。
架构并不是固定不变的,架构本身可进行定制,所以我们不需要把程序固定到架构中,而是将一个可定制的架构与程序来进行对应,这就是我们的基本思想。这样的思想与传统的方式非常不同,其灵活性大大提高,这是由于架构的可定制性,因此我们就能够提高芯片的利用率。
当然,我们也需要有充足的工具,这就不仅仅是软件工具了,我们可能需要软件工具+硬件工具,两者并行来完成这个流程。
开发可定制化架构
有不同的方式能够开发可定制化架构,第一个就是使用芯片,使用那些可编程的芯片进行基础编程。
一些传统架构,我们需要做的就是把程序先转换为指令,只有这样才能够编程整个架构,然后在运行时需要不同的指令进行不同的操作,比如说数据的输入,所以运行时固定架构需要输入数据,需要指令告诉它你要做什么,然后才能够进行相应的操作,如进行数据的处理,这是传统的固定架构的计算。
如果我们来看一看可定制化的计算,我们就会发现因为整个架构是可定制的,不需要任何的指令,所以在运行时我们根本不需要输入指令。整个流程更加高效,我们只需要输入数据就可以了,这也就意味着定制化能够帮助我们以一种更高效,或者最高效的方式进行数据的处理,我们不需要进行任何的指令。
我们可以定制化什么呢?我们来看一下可定制的参数,如数据或者算法的表示,再一个就是特定的参数,如特定应用的参数,或者是特定技术的参数。此外,工具的使用方式,如分区、编译等,也可以根据不同应用、不同设备的情况进行设定。架构本身也可以进行定制,不管是在运行时还是在其它时候,都可以进行这样的定制。
这样做的目的是什么呢?为什么要进行定制化,是希望能够满足最高效完成设计的需求,包括速度、准确率、能源使用情况、能源使用效率等。此外,涉及到车辆,还有一些重要的因素,如安全、隐私以及应急处理能力,如对于自动驾驶车辆而言,可能我们不希望有人黑进车辆控制系统的情况出现,我们希望避免这样的情况,所以我们希望能够定制这个架构,这样就能达到最佳的效果、最大程度化地满足我们的设计需求。
定制化计算前景广阔
我分享一下这个领域中的最新发展,这些发展会带来非常大的影响,会影响到未来的智能网联汽车,包括物体识别还有异常识别以及制造业里面的应用,我们在未来还有什么样的可能性。
在未来汽车的设计中,比如很多汽车都在制造的过程中,使用非常先进的空气流体力学的模拟,他们标识气体的流动状况,我觉得可以用我们的技术对这个过程进行加速。
同时,在汽车本身的使用过程中,我们能够用不同的传感器,支持不同的视觉成像和视觉运营。
对于自动驾驶车辆而言,我们不希望有人能黑进车辆的控制系统,所以我们希望定制架构,达到最佳的效果、最大程度化地满足我们的设计需求。
类似这种系统,可通过技术进行加速。与此同时,我们也发现有很多信息会在车内进行处理,并提供给司机、乘客,尤其是坐在车内的乘客。
对于汽车本身来说,已经成为了一个数据中心,有时也叫轮子上的数据中心。所以我们要把这种数据中心的运行变得非常高效、非常安全。我们不仅要把车联起来,联起来之后,车之间的沟通和交流也必须要非常的安全。
我们要进行汽车的沟通、交流和信息交互,比如各种各样的防火墙、识别病毒等,这些都需要非常高效、安全的技术来确保汽车的信息交互安全,并且不会影响到汽车本身的运营,不会让本身的运营放缓。这里还有其它的可能性,比如汽车有一些异常,不管是汽车本身还是控制汽车的计算基础的问题,我们都可以提供多样的运营方式以及多样化的计算方式,这样的话就能够支持容错率,一旦出现错误不会让汽车的性能大幅度下降,汽车有时甚至可以进行自身的修复。
很多技术今天都谈到了,包括很多制造厂商都在谈合作,这些高级的应用,他们之前都是在汽车当中用,我觉得他们可以逐步迁移到未来的汽车当中。
互联汽车不仅仅是单一的汽车,而是整体的汽车所形成的网络体系,所以我们不仅包含了汽车,也包含了乘客,包含了基础设施、道路、交通运行状况等。我们要非常好地设计交通、规划交通,不管是未来进行实时的交通规划,我们有着非常好的交通流,能够促进道路的行驶和用户的体验,不管是对当下还是未来都有促进,我们要有非常多的计算机去模拟不同的情形,所以我刚刚提到的相应的技术都是非常重要的。
系统自我优化
设计的工具方面,我们的工具就包括了一些运用的描述,还有其他定制化的处理器和固定的处理器,我们也会看到有一种反馈的过程,有了这个反馈之后,我们就能够让这个个性化的处理机器进行实时的编译,我们希望实现这样的能力,这样的话我们能够弥补各种各样的纰漏。
对于应用开发者来说,能够更容易找出设计架构中的问题,并去解决这些问题。长期来看,我们会设计汽车,包括整个汽车的生态体系,他们能够对自身进行优化,这样的话我们设计的体系能够去支持自我优化,同时也能够优化这样的模型和建模的过程,模型的外部环境还有整体架构的模型可以进一步升级,能够实时地进行适应。
除此之外,系统能够自我优化的话,这一点非常重要,能够扩大相应的能力,更好地识别优化是否是正确的,如果是正确的话就能够支持这样的优化,因为有的时候会有一些黑客会侵入到优化的过程中,会留下一些纰漏和漏洞,所以我们就需要自我优化的过程帮助这些汽车。
我们也相信自我优化的操作和自我识别、自我纠正的系统能够提供非常高效和非常可信赖、非常安全的体系,这对于未来的智能网联汽车而言非常有用。