节目都看了,很多人也摸过车了,热闹之后,写点蔚来AD团队是如何做的?以下内容来自去年12月底与任少卿的面对面交流,时间过去很久,凭记忆和自己的理解,写下这些文字,如有错误,请帮忙指正:
任少卿眼中的范式演进:Code 1.0 -> 2.0 -> 3.0
Code 1.0(规则时代): 靠程序员写代码(If-else)解决问题。缺点是代码量爆炸(百万行级),逻辑打架,维护困难,无法穷尽Corner Case。
Code 2.0(数据/模仿学习时代): 给模型看人类驾驶数据,让它模仿。痛点是:数据“脏”:包含违规变道等人类不规范的行为; “平均化”陷阱,导致面对路口博弈时,倾向于保守或随机,缺乏主动性。
什么是平均化陷阱?它把人类两种截然不同但都正确的选择:要么快走,要么停,中和成了一种既不快也不停的“中间态”。而在道路博弈中,“中间态”=“最差的选择”。为了避免这种危险的中间态造成事故,工程上往往会强制叠加安全兜底策略,最终导致车辆表现得极度保守、不敢动弹。
Code 3.0(强化学习RL时代): 不再单纯模仿人类怎么开,而是告诉模型“什么是好的结果”;训练方式: 构建仿真环境(世界模型),设定奖励机制(Reward)。比如:安全通过路口+10分,用时短+5分,压线-2分。
RL的泛化能力强。不需要见过所有路口,只要会解题逻辑;能解决长时序博弈,学会为了长远目标做短期调整,如先让车、再通过;利用量产“脏”数据,通过Reward机制筛选出最优解,改变模型概率分布。
如何实现工程落地:
- 世界模型(World Model)作为考场: 建立一个基于真实数据的仿真器。静态: 自动生成路口地形。动态: 生成会交互的虚拟车辆,不仅仅是回放录像,而是能根据自车的动作做出反应(打游戏,闭环仿真)。
- 数据闭环: 人机共驾收集用户打方向盘的轨迹(正样本)vs 模型原有轨迹(负样本),形成成对数据(Pair),用于训练Reward模型。还有NT2的群体智能,影子模式。
- 量产数据利用: 相比专家数据,量产数据量大但质量参差不齐。强化学习通过“评分”机制,从海量数据中提取有效策略,降低对昂贵专家数据的依赖。
- 算力与芯片: 自研神玑芯片全面上车,与Orin平台代码共线率95%,迭代周期压缩至2周。
这就是蔚来NWM2.0,正在使用的方法。
我们常说的数据驱动,通常包含了模仿学习IL和强化学习RL,其实两者并不互斥,我理解它更像是一个 “预训练(Pre-training)+ 微调(Fine-tuning)” 的组合关系。
通过模仿学习IL进行预训练,模型拥有了基座能力,学会了90%的技能:红灯要停、会跟车、认识车道和交通箭头。预训练保证了模型的行为底色是像人的。
而强化学习RL做的是 “去粗取精” 的工作:人类数据里有犹豫的坏样本,也有果断的好样本。RL不需要创造新动作,只需要调整概率分布——把“果断”的概率提上去,把“犹豫”的概率压下来。
而这里面的难点和挑战是:
仿真世界的真实度要求极高,必须避免出现 Sim-to-Real Gap(仿真与现实的鸿沟),即把仿真中的完美模型,部署到真实世界后,性能大幅度下降或失效的问题。
请教了下专业人士,以他的视角来看,纯仿真训练会面临“数据漂移(Data Drift)”的风险——如果仿真里的物理参数,如摩擦力或NPC博弈逻辑与现实有偏差,模型在虚拟世界里“考了满分”,到了真实马路上可能就会“高分低能”。
此外,相比实车录制的物理数据,仿真生成的数据往往缺乏可追溯性,这在汽车功能安全体系中是一个硬伤。这也是为什么行业谈RL很多,但真正上车的case却很少的原因。
所以,Code 3.0 并非要抛弃真实路测,工程上依然需要海量的实车数据作为“锚点”,而超46万台的NT2量产车,和蔚来早期搭建的数据闭环能力,恰恰提供了这个验证土壤。
任少卿所提到的:蔚来NWM2.0在RL的领先性,大概率是说:蔚来是少数完成从仿真到严格的实车验证后,没有发生逻辑漂移问题,让RL训练后的模型,真正落地到了用户车上。
发布于 北京
