大语言模型和自动驾驶应用中,单一人工智能系统与复合人工智能系统的比较
早在2022年11月,ChatGPT因其多功能性和端到端设计,甫一发布便引起广泛关注。彼时版本的ChatGPT的设计中包含了一个单一基础组件,即GPT3.5大语言模型。该模型通过监督学习以及基于人类反馈的强化学习(RLHF)得到持续增强,以支持对话任务场景。
这种一体化的人工智能(AI)方法在特斯拉最新推出的FSD系统中再次得到了强调,该系统被描述为一个端到端神经网络,能够直接处理视觉数据,实现“从光子到驾驶控制决策”的直接转化,且这个过程中无需中间步骤或“粘合代码”。
随着人工智能模型的不断发展,最新一代的ChatGPT已经逐渐摆脱了单一的端到端方法。请看以下与ChatGPT进行对话的示例:
当被要求计算“3456 * 3678等于多少”时,系统首先将问题翻译为一个简短的Python脚本来执行计算,然后将脚本的输出格式化为连贯的自然语言文本。
这表明,ChatGPT并不依赖于单一的、统一的过程。相反,它集成了多个子系统——包括一个强大的深度学习模型(GPT大语言模型)和多个单独编码的模块。每个子系统都有既定的角色、接口和开发策略,所有这些都是由人工设计的。
此外,ChatGPT还使用了“粘合代码”来完成这些子系统之间的协作,这种架构被称为“复合人工智能系统1”(CAIS)。
在深入讨论之前,我们首先必须澄清关于哪些系统架构是“新式的”或“传统的”误解。尽管热度很高,但自动驾驶中的端到端方法并不是一个全新概念;它最初可以追溯到Alvinn项目(Pomeraleau,1989年)2。复合人工智能系统方法也不是新概念,正如我们上文所述,最新版本的ChatGPT已经采用了这种方法。
本文旨在通过深入探讨机器学习和统计学中的偏差-方差权衡3,探索端到端系统和符合人工智能系统之间的细微差别。具体而言,我们将重点讨论自动驾驶系统,但这种联系同样也适用于任何基于人工智能的系统设计。
偏差-方差权衡
推动任何构建数据驱动系统思路的根本问题就是“偏差/方差”权衡。偏差,又称“近似误差”,是指我们的学习系统无法反映现实的全部内容;方差,也称“泛化误差”,是指我们的学习系统对观察到的数据过度拟合,而无法泛化到未见过的例子。
学习模型的总误差是近似误差和泛化误差的总和,因此,为最大程度减少误差,我们需要对这两个误差进行精细控制。我们可以通过限定学习模型必须来自特定的模型族来减小泛化误差,但如果所选择的模型族无法反映现实的全部丰富性,就可能会引入偏差,因此两者之间存在权衡。
基于上述背景,我们可以确定构建自动驾驶系统的两种方法。复合人工智能系统,或称 “工程化系统”,可对自动驾驶系统施加有意识的架构限制,以减少泛化误差,但这样会带来一些偏差。
例如,从“光子”到“感知状态”,这是对主车周围现实的建模:包括道路使用者的位置和测量、道路结构、可行驶路径、障碍物等——以及从“感知状态”到控制决策都会产生偏差。
产生这种偏差的原因是,感知状态可能不足以充分反映现实情况,因此系统的能力受到限制。相反,如果端到端网络跳过感知状态步骤,直接将输入的视频映射到车辆控制决策,这样就不会受到“感知状态抽象”偏差的影响。
但另一方面,端到端方法会产生更高的泛化误差,端到端支持者提倡的方法是用大量数据来弥补这一误差,这反过来又需要在计算、存储和数据引擎方面进行大量投入。
简而言之,以向公众传播的简化描述方式说,端到端方法通过定义一个零偏差的系统,同时使用大量数据训练系统以逐步减少方差,进而逐步消除所有的“极端情况”。
另一方面,在工程化方法中,由于对感知状态和驾驶策略进行了抽象化处理,系统从一开始就具有内置偏差,同时通过将数据输入到各个独立子系统进一步减少方差,并利用高级融合粘合代码进行整合。如此一来,每个子系统所需的数据量远小于单一整体系统所需的数据量。
细节决定人工智能成败
然而,情况要比上述的二分法更加微妙。从偏差因素来看,端到端系统并非完全没有偏差 —— 因为神经网络位于车载计算机上,其规模受到可用算力和内存的限制。因此,汽车中有限的可用算力产生了偏差。
此外,通过精心设计的工程化系统不一定会产生过大的近似误差,原因可能有以下几个:首先,Waymo所展示的成果就清楚地证明了工程化系统的偏差可以小到足以构建安全的自动驾驶汽车;另外,在一个精心设计的工程化系统中,我们可以添加一个子系统,跳过某些抽象(例如:感知状态抽象),从而进一步减少整个系统的偏差。
方差因素则更加微妙。在工程化系统中,抽象概念(例如:感知状态)以及多个子系统的高级融合可以减少方差,而在纯端到端系统中,只能通过越来越多的数据减少方差。但是,这种通过数据管道减少方差的过程仍值得进一步研究。
以平均故障间隔时间(MTBF)为例,并假设故障通过关键干预来衡量。我们以MTBF作为自动驾驶汽车以“无需注视”方式操作的准备度的衡量标准。在Mobileye与汽车制造商的合作中,MTBF目前是107小时的行驶时间。仅供参考:特斯拉最新的FSD V12.3.6版本的公开数据4显示,大约每行驶300英里就需要一次关键干预,相当于约10小时的MTBF,这与目标MTBF相差6个数量级。
假设通过某种方式使MTBF达到了106小时,而我们只希望将其再提高一个数量级,到107小时,我们需要再收集多少数据?这个问题关系到长尾分布的性质。
具体而言,假设我们有100万辆汽车每天在路上行驶一小时,并且相关数据由事件驱动 —— 即当驾驶员干预时,记录事件发生前后的一段时间,并发送给汽车制造商进行进一步训练。一次干预事件代表一例“极端情况”,长尾问题在于这些极端情况是如何分布的。
我们来看以下的场景:
其中B是“不良的”极端情况的集合。严重长尾分布的一个例子是当B = {b_1,...,b_{1000}}时,对每个i来说,b_i出现的概率是10-9。
即使我们假设在发现极端情况后,我们可以通过某种方式重新训练网络并修复该极端情况而不产生新的极端情况,我们也必须消除约900例极端情况,使得P(B) = 10-7。
由于在我们的例子中,MTBF是106小时,我们每天都会遇到一例极端情况,可见我们大约需要3年左右的时间才能完成这项工作。关键是,没有人知道长尾是如何分布的 —— 我们只是给出了一种可能的长尾情景,但实际上可能更糟也可能更好。
如前所述,尽管有先例表明工程化系统的偏差足以构建安全的自动驾驶汽车(如Waymo),但还没有先例表明仅依靠重复的数据引擎来减少方差就足以构建安全的自动驾驶汽车。
由此可见,仅增加数据投入依然具有较大的风险。那么在端到端方法中,我们还能做些什么来减少方差呢?为了引出这个问题,我们可以先问问自己:
(i) 为什么特斯拉FSD的显示屏上会有一个感知状态?端到端系统的理念是无需构建感知状态即可实现从 “光子到控制”。特斯拉这样做只是为了通知驾驶员系统“看到了”什么,或者还有其他更隐秘的目的?
(ii) 为何特斯拉向Luminar购买了2000个激光雷达5?假设这是为了创建用于监督训练的真值(GT)数据。但这又是为什么?
这两个问题当然是相关的。试想一下,一个端到端网络包括一个主干和两个头部,一个用于输出车辆控制,另一个用于输出感知状态。这样的网络在技术上仍然是端到端的,也就是“从光子到控制”,但其中也有一个感知状态的分支。感知状态分支需要在真值数据的监督下进行训练,因此需要2000个激光雷达。
真正的问题在于,是否可以在不进行人工标注的情况下自动创建真值数据。答案是肯定的,因为Mobileye已经做到了,我们有一个可用于训练感知状态的“auto-GT”通道。而且,之所以需要一个输出感知状态的分支,并不仅仅是为了向驾驶员显示感知状态。感知状态分支的真正目的是通过“多任务处理”原理减少系统的方差(更重要的是降低系统的样本复杂度,即训练所需的数据量)。
我们早在2016年6就讨论过这个问题,并以路边的农用车为例。在图像中某处观察到罕见车辆类型的概率远高于当下在眼前观察到此类车辆的概率。因此,如果没有感知状态头部(即使不影响主车的控制,路肩上罕见的车辆类型也能够被检测到),我们就需要更多的数据才能够看到前方的车辆,从而影响主车的控制。
由此可见,感知状态抽象非常重要,因为它能提示神经网络:为了下达正确的控制指令,可能需要理解车辆的概念,并检测周围的所有车辆。重要的是,通过监督学习、使用由精心设计的离线系统自动创建的真值数据,可以习得这种抽象。
流行的端到端叙事中的另一个说法是系统中没有“粘合代码”。没有粘合代码意味着不会出现工程师因粗心而引入错误的情况,但这也是一种误解。其实端到端系统的确存在粘合代码——不是在神经网络中,而是在为端到端训练准备数据的过程中。一个明显的例子是真值数据的自动创建。
Elon Musk举了这样一个例子:人类驾驶员不遵守停车标志,而是进行滑行停车7。这些滑行停车事件必须从训练数据中进行删除,以防止端到端系统模仿这种不良行为,因为端到端系统天然会模仿人类。换言之,粘合代码(以及错误)从系统代码转移到了数据管理代码中。事实上,检测系统代码中的错误可能比检测数据管理中的错误更容易,因为前者至少已经有现成的方法。
不要妨碍解析解的得出
最后,我们想指出的是,当我们对一个问题可以有解析方案时,使用纯粹的端到端机器学习方法肯定不是更好的选择。
例如,本文开头提到的长乘法练习就强调了这样一个事实:ChatGPT+ 会理所当然地使用好用的老式计算器来完成这项任务,而不会尝试从海量数据中“学习”如何进行长乘法运算。
在驾驶策略堆栈中,决定主车应采取的行动并输出车辆控制指令也需要大量的解析计算。因此,知道何时用解析计算代替“学习”,不仅对减少方差至关重要,也有助于提高透明度、可解释性和调优能力8(在这里,单纯模仿人类的驾驶行为存在一定的问题,因为很多人都并非是优秀的驾驶员)。
结束语
人工智能正在以惊人的速度发展。以ChatGPT为代表的基础模型的变革,最初在2022年始于单一的端到端模型,而如今已演变成了“升级版”ChatGPT+9,即建立在包括作为基座的大语言模型、检索插件、代码解释器和图像生成工具等 AI 组件之上的工程解决方案。
关于人工智能的未来正在从单一模型向复合人工智能系统转变10这一观点,日益受到关注和讨论。我们认为,考虑到自动驾驶应用中至关重要的安全因素以及极高的精确性要求,对前述观点在更加广泛层面上的关注和讨论尤为必要。
参考文献:
1 复合人工智能系统
https://bair.berkeley.edu/blog/2024/02/18/compound-ai-systems/
2 Alvinn项目(Pomeraleau,1989)
https://proceedings.neurips.cc/paper/1988/file/812b4ba287f5ee0bc9d43bbf5bbe87fb-Paper.pdf
3 偏差-方差权衡
https://en.wikipedia.org/wiki/Bias–variance_tradeoff
4 特斯拉最新的FSD V12.3.6版本的公开数据
https://www.teslafsdtracker.com/home
5 特斯拉向Luminar 购买2000个激光雷达
https://www.theverge.com/2024/5/7/24151497/tesla-lidar-bought-luminar-elon-musk-sensor-autonomous
6 论端到端训练与语义抽象训练的样本复杂性
https://arxiv.org/pdf/1604.06915
7 人类驾驶员不遵守停车标志,而是进行滑行停车
https://www.teslarati.com/tesla-rolling-stop-markey-blumenthal-letter-elon-musk/
8 Mobileye DXP带来全新方法
https://www.mobileye.com/opinion/mobileye-dxp-as-a-novel-approach/
9 ChatGPT+
https://openai.com/chatgpt/pricing
10 人工智能的未来正在从单一模型向复合人工智能系统转变
https://bair.berkeley.edu/blog/2024/02/18/compound-ai-systems/
【免责声明】本文摘自网络,版权归原作者所有,仅用于技术/信息分享,非商业用途!若有涉侵权等告知,将及时删除,感谢关注!
Mobileye
龚淑娟
李峥
2024-09-06
2024-09-01
2024-09-03
2024-09-03
2024-09-04
2024-09-01
评论
加载更多