快速计算丨在混合云上使用Alluxio可为您节省的基础设施投入成本 →

关于WeRide文远知行

文远知行是全球领先的L4级自动驾驶技术研发公司。文远知行成立于2017年,总部位于中国广州,并在北京、上海、南京、郑州、深圳以及美国圣何塞设有研发和运营中心。文远知行文远知行推出国内首个商用Robotaxi服务,并于2019年全面向公众开放。目前,文远知行文远知行在Robottaxi、Mini Robotbus、Robotvan等领域提供全方位的产品组合。我们提供网约车、按需交通和城市物流等多种服务。
 
WeRide Raises $310 Million in Series B Funding After Completing Series B2 and B3 | by WeRide.ai | Medium

文远知行是如何使用Alluxio的?

  • 自动驾驶开发
上图展示了文远知行自动驾驶开发的典型流程。从数据收集开始,每天从测试车队收集传感器数据。收集数据后,会将其上传到云端。然后对数据进行处理和分析。之后会做数据标注、高精地图标注、开发。接下来,将对AI算法开发进行机器学习模型训练,还将进行模拟和验证,最后,将部署上车车队和下车服务器。
 

文远知行拥有循环中的硬件和软件。最大的挑战是数据的大小,因为每天都会生成许多 TB 的数据,并积累了数百万公里的里程,因此整个大小以 PB 为单位。这需要大量的存储和强大的计算能力。

 
  • 数据标记
标签有时会与标签混淆。在自动驾驶中,标签通常表示场景,而标签可以是障碍物或盒子。例如,下图左图为变道场景,右图为右转场景。我们将使用变道或右转标签来标记一系列帧。这里的标签是车道、周围车辆、障碍物、红绿灯,与标签不同。
图片来源: CARLA
 
在数据驱动的自动驾驶工作流程中,数据标记在数据分析中起着至关重要的作用。根据标记结果,我们可以进行数据选择以支持下游管道,包括模型训练、基准测试和长尾评估。
 

Kubernetes 中的 Alluxio + Spark

端到端标记管道是从测试车辆收集并上传 ROS(机器人操作系统)包文件,然后将其转换为 Parquet 格式。之后,我们可以运行 Spark 作业来执行数据分析算法。从那里,我们可以将标记结果导出到下游管道。
 
从上面可以看出,该系统架构相当典型。我们在公有云和本地数据中心的混合云上构建和运行应用程序,出于以下考虑:本地数据中心更具成本效益且可定制,而公有云易于扩展。在公有云和本地数据中心中,我们都使用 Kubernetes 来管理 CPU 和 GPU 集群的计算资源,并调度工作流程和任务。在存储层,我们使用MinIO构建S3兼容的对象存储服务。Alluxio 提供了一个快速、简化、统一的数据层,可以桥接 S3、MinIO 和 Spark 以及其他数据分析应用程序,从而通过 Alluxio 的引入加速数据标记工作流程
 
检测结果
 
 
我们遵循Alluxio文档进行部署。使用 Helm Chart 跨 CPU 和 GPU 集群部署了一个测试集群,用于 42 个工作负载。我们使用了分层存储——零级是50G的内存,一级是200G的SSD。基于 42 个工作节点,最终获得了 2TB 内存和 8TB SSD。对于数据标记测试,只需更改一行配置,非常易于使用。我们已将 Alluxio 添加到命令行工具中,但 Alluxio 默认情况下启用并对最终用户隐藏。
总体而言,测试显示,引入 Alluxio 后,执行标记任务的速度提高了大约 7倍。