Deep learning (DL) plays a key role in autonomous driving systems. DL models support perception modules, equipped with tasks such as object detection and sensor fusion. These DL models enable vehicles to process multi-sensor inputs to understand complex surroundings. Deploying DL models in autonomous driving systems faces stringent challenges, including real-time processing, limited computational resources, and strict power constraints. To address these challenges, automotive DL frameworks (e.g., PaddleInference) have emerged to optimize inference efficiency. However, these frameworks encounter unique quality issues due to their more complex deployment environments, such as crashes stemming from limited scheduled memory and incorrect memory allocation. Unfortunately, existing DL framework testing methods fail to detect these quality issues due to the failure in deploying generated test input models, as these models lack three essential capabilities: (1) multi-input/output tensor processing, (2) multi-modal data processing, and (3) multi-level data feature extraction. These capabilities necessitate specialized model components, which existing testing methods neglect during model generation. To bridge this gap, we propose Scalpel, an automotive DL frameworks testing method that generates test input models at the model component level. Scalpel generates models by assembling model components (heads, necks, backbones) to support capabilities required by autonomous driving systems. Specifically, Scalpel maintains and updates a repository of model components, generating test inputs by selecting, mutating, and assembling them. Successfully generated models are added back to enrich the repository. Newly generated models are then deployed within the autonomous driving system to test automotive DL frameworks via differential testing.
翻译:深度学习在自动驾驶系统中发挥着关键作用。深度学习模型支持感知模块,配备诸如目标检测和传感器融合等任务。这些深度学习模型使车辆能够处理多传感器输入以理解复杂环境。在自动驾驶系统中部署深度学习模型面临严峻挑战,包括实时处理、有限的计算资源和严格的功耗限制。为应对这些挑战,汽车深度学习框架(例如PaddleInference)应运而生,以优化推理效率。然而,由于更复杂的部署环境,这些框架遭遇独特的质量问题,例如因有限调度内存和错误内存分配导致的崩溃。遗憾的是,现有深度学习框架测试方法未能检测到这些质量问题,原因在于无法部署生成的测试输入模型,因为这些模型缺乏三种关键能力:(1)多输入/输出张量处理,(2)多模态数据处理,以及(3)多级数据特征提取。这些能力需要专门的模型组件,而现有测试方法在模型生成过程中忽略了这些组件。为弥补这一不足,我们提出Scalpel,一种在模型组件级别生成测试输入模型的汽车深度学习框架测试方法。Scalpel通过组装模型组件(头部、颈部、骨干网络)来生成模型,以支持自动驾驶系统所需的能力。具体而言,Scalpel维护并更新模型组件库,通过选择、变异和组装组件来生成测试输入。成功生成的模型将添加回组件库以丰富其内容。新生成的模型随后在自动驾驶系统中部署,通过差分测试来测试汽车深度学习框架。