技术巡猎 小鹏汽车 自动驾驶仿真慢如蜗牛?小鹏用”残差复用”给扩散模型做了一次加速。自动驾驶的终极测试场不在公路上,而在仿真系统里,工程师需要让虚拟车辆在各种极端场景里跑上千万公里,暴雨夜路、浓雾高速、施工路段、鬼探头等等等等,才能放心交给真实的用户。但仿真画面需要足够的真实,道路纹理、光影变化、其他车辆的运动都得像真的一样,才能训练出靠谱的驾驶模型。
于是这就引出了一个技术矛盾:画面越真实,计算量越接近爆炸,仿真速度也就越慢。小鹏这项专利(CN 122264120 A)瞄准的正是这个瓶颈,他们给基于扩散模型的视频生成推理装了一个”加速器”。
扩散模型是当下图像和视频生成领域最火的技术路线,它能从噪声中逐步”雕刻”出逼真的画面。在自动驾驶仿真里,扩散模型被用来生成连续的驾驶场景视频,输入当前帧,预测下一帧,循环往复就形成了一段虚拟行驶画面。这套机制也叫”世界模型”,是端到端智驾的核心基础设施。但代价也很明显,生成每一帧都需要经过数个”去噪步骤”,每个步骤都要做一次完整的神经网络前向传播,涉及多头注意力机制、前馈网络、归一化等大量运算。在需要连续生成视频流的仿真场景中,逐帧独立计算的冗余量非常惊人。
想想看,仿真中相邻两帧的画面差异有多大?车辆往前挪了一小段,周围建筑几乎没变,天空还是那个天空,只是路面纹理和光影有细微推移。两帧之间的特征相似度极高(经验上神经网络中间层的余弦相似度能到0.98以上),意味着神经网络各层的输入输出变化极小。如果每帧都从头算一遍,大部分计算都是在”重复劳动”,算力砸进去之后,产出的增量却很少。
小鹏的方案叫”残差复用”。核心思路很朴素:既然相邻帧变化不大,那就只算变化的部分。具体来说,系统在首帧做完整计算,把每一层神经网络的输入特征和输出特征的差值(即”残差”)存进缓存库。处理下一帧时,先比较当前帧和上一帧在对应层的输入特征相似度,通过降维后的余弦相似度和局部偏差双重指标来判断。如果足够相似,就直接把上一帧的残差加到当前帧的输入上,得到输出特征。一次加法替代了一次完整的前向传播,计算量从”重型运算”降级为”轻量级叠加”。
这个判定过程是完全不能马虎的。专利设计了一套双指标门控机制:余弦相似度衡量特征整体方向的一致性,捕捉全局层面的稳定;局部偏差则监控每个像素点的数值突变,捕捉局部异常。两个指标同时过关才触发复用,避免了”整体相似、局部骤变”导致的错误,比如突然冲出来的行人、变道的车辆,哪怕整体场景变化不大,局部偏差也会报警,强制做完整计算。这种双重验证在安全性上很必要,毕竟自动驾驶仿真中漏掉一个关键变化,训练出来的模型就可能存在盲区。
降维处理是这个方案的巧思之一。原始特征张量的维度极高(比如序列长度256、隐藏维度1024,总维度超过25万),直接比对开销太大,光是相似度计算就可能成为新瓶颈。专利在序列维度上做均匀采样、在隐藏维度上做均值聚合,把维度压缩数千倍(比如压缩到64×1=64维),同时保持降维前后距离的比例有界,意思是压缩后的相似度能忠实反映原始相似度,不会因为降维而误判。这一步让跨帧比对成为真正的”轻量级操作”。
缓存库的设计也很有工程考量。它跨帧持久化存在,不像传统方案那样每帧处理完就清空,真正利用了相邻帧之间的时序连续性。同时支持多会话隔离,一个模型实例可能同时服务多个仿真场景(A场景晴天城市道路、B场景雨天高速、C场景夜间乡村),每个场景有独立的缓存实例,避免数据串流污染导致画面伪影。相似度判定细化到每一层独立决策——浅层变化大就重算浅层、高层稳定就复用高层,不会出现”全算”或”全不算”的脉冲式延迟波动,单帧计算延迟更加平稳可控。
对自动驾驶仿真来说,这个加速的意义非常实际。扩散模型生成的画面质量高、泛化能力强,但推理慢是最大阻碍。通过残差复用,仿真帧率可以显著提升(专利示例中12个Transformer块有9个触发复用,延迟降低约75%),单位时间内能跑的测试里程就多了。对急于验证算法安全性的车企来说,仿真效率就是迭代速度,迭代速度就是竞争力。在仿真里多跑一千万公里,上路就少一分风险。
从更宏观的视角看,扩散模型加速不只是为了仿真,未来车载世界模型实时预测、座舱AR场景渲染、甚至AIGC内容生成,都需要低延迟的扩散模型推理。现在把推理引擎做扎实,将来上层应用才有发挥空间。


