自动驾驶(AV)研究正在经历快速的转变。该领域正被具备推理能力的视觉-语言-行动(VLA)模型所重塑,这些模型将类人思维带入了自动驾驶决策。这些模型可被视为在语义空间中运作的隐式世界模型,使自动驾驶汽车能够逐步解决复杂问题,并生成反映人类思维过程的推理轨迹。这一转变超越了模型本身:传统的开环评估已不足以严格评估此类模型,因此需要新的评估工具。
近期,某中心推出了Alpamayo,这是一系列模型、仿真工具和数据集,旨在支持基于推理的自动驾驶架构的开发。其目标是向研究者和开发者提供一个灵活、快速且可扩展的平台,用于在真实的闭环环境中评估并最终训练基于推理的现代自动驾驶架构。
本博客将介绍Alpamayo,以及如何开始基于推理的自动驾驶开发: 第一部分:介绍某中心Alpamayo 1,一个开放的、拥有100亿参数的推理VLA模型,以及如何使用该模型生成轨迹预测并查看相应的推理轨迹。 第二部分:介绍Physical AI数据集,这是目前可用的最大且地理多样性最丰富的开放自动驾驶数据集之一,用于训练和评估这些模型。 第三部分:介绍某中心AlpaSim,一个专为评估端到端模型设计的开源端到端仿真工具。 第四部分:集成整个生态系统,在AlpaSim中使用重构数据对Alpamayo 1进行闭环驾驶。
这三个关键组件为开始构建基于推理的VLA模型提供了必要的要素:基础模型、用于训练的大规模数据以及用于测试和评估的仿真器。
图1. Alpamayo 1模型在AlpaSim中,使用来自某中心Physical AI – AV NuRec数据集重构的场景进行闭环驾驶。
第一部分:Alpamayo 1,一个面向自动驾驶的开放推理VLA模型
只需三步即可开始使用Alpamayo推理VLA模型。
第1步:获取Alpamayo模型权重和代码
Hugging Face仓库包含预训练的模型权重,可通过GitHub上的相应代码加载。
第2步:准备环境
Alpamayo的GitHub仓库包含了设置开发环境的步骤,包括安装uv(如果尚未安装)和创建Python虚拟环境。
# 安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
# 设置虚拟环境
uv venv ar1_venv
source ar1_venv/bin/activate
# 在虚拟环境中安装pip(如果缺失)
./ar1_venv/bin/python -m ensurepip
# 安装Jupyter notebook包
./ar1_venv/bin/python -m pip install notebook
uv sync --active
最后,由于模型需要访问受限制的Hugging Face资源,请在此处申请访问权限:
- PhysicalAI-AV数据集
- Alpamayo-R1-10B模型权重 然后,使用以下命令进行认证:
hf auth login
并在此处获取您的Hugging Face令牌。
第3步:运行Alpamayo推理VLA模型
模型仓库中包含一个Jupyter notebook,它将下载Alpamayo模型权重,从某中心PhysicalAI-AV数据集中加载一些示例数据,在其上运行模型,并可视化输出轨迹及其相关的推理轨迹。
特别是,示例数据包含了自车通过一个施工区域的情况,下图展示了四个摄像头(分别为前左、前宽、前右、前长焦)在四个时间步(列)上的可视化画面。
图2. 示例数据样本的可视化,包含一个施工区域,将被输入模型。具体展示了来自4个摄像头(前左、前宽、前右、前长焦)的4个时间步(跨列)。
通过Alpamayo模型处理后,您可能在notebook中看到的示例输出是“向左微调以增加与侵占车道的施工锥桶的间距”,并附带如下所示相应的预测轨迹和真实轨迹的可视化。
图3. 模型输出的轨迹(蓝色)与真实轨迹(红色)对比的可视化。
如果您想生成更多轨迹和推理轨迹,请随意将推理调用中的num_traj_samples=1参数更改为更高的数字。
第二部分:用于大规模、多样化自动驾驶数据的Physical AI AV数据集
PhysicalAI-Autonomous-Vehicles数据集为自动驾驶研究者提供了最大、地理多样性最丰富的多传感器数据集合之一,用于构建下一代基于物理AI的端到端驾驶系统。
图4. Physical AI AV数据集片段,这是最大、地理多样性最丰富的多传感器自动驾驶数据集合之一。
它总共包含在25个国家和2500多个城市记录的1,727小时驾驶数据(覆盖范围如下所示,颜色表示每个国家的片段数量)。该数据集捕捉了环境中多样化的交通、天气条件、障碍物和行人。总体而言,它包含310,895个片段,每个片段长度为20秒。传感器数据包括所有片段的多摄像头和激光雷达覆盖,以及163,850个片段的雷达覆盖。
图5. Physical AI AV数据集的地理覆盖范围。它总共包含在25个国家和2500多个城市记录的1,727小时驾驶数据(颜色表示按国家划分的片段数量)。
要开始使用Physical AI AV数据集,physical_ai_av GitHub仓库包含一个Python开发者工具包和文档(以wiki形式)。事实上,这个包在第一部分中已经被用来为Alpamayo 1加载数据集样本。
第三部分:AlpaSim,一个用于自动驾驶评估的闭环仿真器
AlpaSim概述
图6. AlpaSim围绕中央运行时(Runtime)的微服务架构高层概览。每个服务在独立的进程中运行,实现了灵活的扩展性和模块化。 AlpaSim构建在围绕运行时(Runtime)的微服务架构之上(见图6),运行时负责协调所有仿真活动。独立服务,如驾驶员(Driver)、渲染器(Renderer)、交通仿真(TrafficSim)、控制器(Controller)和物理引擎(Physics),在独立的进程中运行,并可分配给不同的GPU。这种设计带来两大优势:
- 通过gRPC提供清晰、模块化的API,使得集成新服务变得容易,且无依赖冲突。
- 实现任意的水平扩展,允许研究者将计算资源分配在最关键的地方。例如,如果驾驶员推理成为瓶颈,只需启动额外的驾驶员进程。如果渲染是瓶颈,则分配更多GPU给渲染。如果一个渲染进程无法同时处理多个场景,可以在同一GPU上运行多个渲染器实例以最大化利用率。
但仅有水平扩展还不够。AlpaSim的真正强大之处在于运行时如何实现流水线并行(见图7)。 在传统的顺序执行(rollout)中,组件必须相互等待,例如,驾驶员在每个推理步骤后必须暂停,直到渲染器生成下一个感知输入。AlpaSim消除了这个瓶颈:当一个场景正在渲染时,驾驶员可以为另一个场景运行推理。这种重叠极大地提高了GPU利用率和吞吐量。进一步扩展,驾驶员推理可以在多个场景间进行批处理,而多个渲染进程并行生成感知输入。 图7. AlpaSim实现流水线并行执行以优化GPU利用率并提高吞吐量。
共享生态系统
我们为核心服务提供了初始实现,包括通过某中心Omniverse NuRec 3DGUT算法的渲染、参考控制器和驾驶员基线。未来我们还将添加额外的交通模型,如CAT-K。 该平台最初还附带大约900个重构场景,每个场景20秒长,以及Physical AI AV数据集,为研究者提供了在现实闭环场景中评估端到端模型的直接方法。此外,AlpaSim提供了广泛的可配置性,从摄像头参数和渲染频率到人工延迟以及许多其他仿真设置。 除了这些内置组件,我们希望AlpaSim发展成为一个更广泛的协作生态系统。最终,实验室可以无缝地插入他们自己的驾驶、渲染或交通模型,并在共享基准上直接比较方法。
AlpaSim实践
AlpaSim已经支持了我们内部的几项研究工作。 首先,在我们最近提出的Sim2Val框架中,我们证明了AlpaSim的执行足够真实,能够有意义地改进现实世界的验证。通过将仿真轨迹纳入我们的评估流程,我们能够将关键现实世界指标的方差降低高达83%,从而实现更快、更自信的模型评估。 其次,我们依赖AlpaSim对我们的Alpamayo 1模型进行闭环评估。通过回放重构场景并允许策略端到端驾驶,我们计算反映真实交通条件下性能的驾驶分数。 除了评估,我们还利用AlpaSim,使用我们同时发布的RoaD算法进行闭环训练。RoaD有效缓解了开环训练和闭环部署之间的协变量偏移,同时比传统的强化学习数据效率显著更高。 图8. 真实世界驾驶(x轴)与重新仿真驾驶(y轴)之间的指标相关性。我们测量了到最近物体的最近距离(左)和到车道中心的距离(右)。
开始使用Alpasim
只需三步即可开始使用AlpaSim评估您自己的模型。
第1步:访问AlpaSim
开源仓库包含必要的软件,场景重构工件可从某中心Physical AI开放数据集中获取。
第2步:准备环境
首先,请确保按照ONBOARDING.md中的入门步骤操作。 然后,使用以下命令执行初始设置/安装:
source setup_local_env.sh
这将编译protos,下载一个示例驾驶员模型,从Hugging Face下载一个样本场景,并安装alpasim_wizard命令行工具。
第3步:运行仿真
使用向导构建、运行和评估仿真执行:
alpasim_wizard +deploy=local wizard.log_dir=$PWD/tutorial
仿真日志/输出可在创建的tutorial目录中找到。对于结果的可视化,会在tutorial/eval/videos/clipgt-05bb8212..._0.mp4中创建一个mp4文件,其外观将类似于下图。
图9. AlpaSim的输出可视化,显示具有智能体边界框和地图(如果可用)的俯视语义视图、平均和每时间步指标,以及叠加了预测和真实轨迹的前置摄像头视图。
有关输出的更多详细信息,以及使用AlpaSim的更多信息,请参阅TUTORIAL.md。
总之,此示例展示了如何使用端到端策略回放真实世界驾驶,包括原始场景中的所有静态和动态物体。从这个起点以及AlpaSim灵活的即插即用架构出发,用户可以调整候选智能体行为、修改摄像头参数并迭代策略。
集成您的策略
通过通用API可以轻松交换驾驶策略,允许开发者测试他们最先进的实现。
第1步:gRPC集成
AlpaSim使用gRPC作为组件之间的接口:驾驶员组件的示例实现可作为遵循驾驶员接口的灵感。
第2步:重新配置并运行
AlpaSim通过yaml文件描述高度可定制,包括仿真运行时使用的组件规范。为您的模型创建一个新的配置文件(下面可以找到一些示例):
# driver_configs/my_model.yaml
# @package _global_
services:
driver:
image: <user docker image>
command:
- "<command to start user-defined service>"
并运行:
alpasim_wizard +deploy=local wizard.log_dir=$PWD/my_model +driver_configs=my_model.yaml
使用CLI进行自定义的示例:
您可以在运行向导示例时更改配置:
# 不同的场景
alpasim_wizard +deploy=local wizard.log_dir=$PWD/custom_run \
scenes.scene_ids=['clipgt-02eadd92-02f1-46d8-86fe-a9e338fed0b6']
# 更多执行次数
alpasim_wizard +deploy=local wizard.log_dir=$PWD/custom_run \
runtime.default_scenario_parameters.n_rollouts=8
# 不同的仿真长度
alpasim_wizard +deploy=local wizard.log_dir=$PWD/custom_run \
runtime.default_scenario_parameters.n_sim_steps=200
配置通过Hydra管理——有关所有可用选项,请参阅src/wizard/configs/base_config.yaml。
扩展您的运行
AlpaSim通过服务的协调和并行化来适应您的硬件配置,有效地促进大型测试套件、扰动研究和训练。
alpasim_wizard +deploy=local scenes.test_suite_id=public_2507_ex_failures wizard.log_dir=$PWD/tutorial_suite runtime.default_scenario_parameters.n_rollouts=16
图10. 由于自车运动或其他智能体行为的变化,可以从同一个起点获得多个场景实现。本示例显示了从相同初始状态开始的四个不同执行。
第四部分:综合运用
在这最后一部分,我们将把上述所有内容整合起来,在AlpaSim中对Alpamayo 1进行闭环驾驶。
在AlpaSim中驾驶Alpamayo 1
第1步:准备环境
执行与第三部分类似的初始AlpaSim设置/安装(如果已经完成,可以跳过):
source setup_local_env.sh
第2步:下载模型
huggingface-cli download nvidia/Alpamayo-R1-10B
此命令将把检查点从HuggingFace下载到系统缓存位置。如果缓存中可用,AlpaSim将找到该检查点,否则会在需要时即时下载。
第3步:运行仿真
要将AlpaSim配置为使用Alpamayo 1策略,只需按如下方式指定配置覆盖:
alpasim_wizard \
+deploy=local \
wizard.log_dir=$PWD/tutorial_alpamayo \
driver=[ar1,ar1_runtime_configs] \ # 修改驾驶员模型
eval.video.video_layouts=['DEFAULT','REASONING_OVERLAY'] # 修改视频布局
有关配置AlpaSim的更多详细信息,请参阅TUTORIAL.md。 下图是Alpamayo 1在AlpaSim中通过施工区域进行闭环驾驶的示例,展示了模型的推理和驾驶能力,以及AlpaSim在各种真实驾驶环境中评估自动驾驶模型的能力。 图11. Alpamayo 1在AlpaSim中闭环驾驶,导航通过施工区域,其推理轨迹和轨迹预测被可视化。
结论
自动驾驶的未来依赖于强大的端到端模型,而AlpaSim提供了快速测试和迭代这些模型的能力,从而加速研究工作。在本博客中,我们介绍了Alpamayo:一个完整的基于推理的自动驾驶系统开发生态系统,包含Alpamayo 1模型、Physical AI AV数据集和AlpaSim仿真器框架。我们期待社区利用它们构建出更多成果! 祝编码愉快!FINISHED