OccLLaMA:首个结合3D占用预测、语言、行为构建的生成式世界模型

导读:

OccLLaMA是首个结合3D占用预测作为视觉表征的生成式世界模型。大量实验表明,OccLLaMA在多个任务上实现了不错的性能,包括4D占用预测、运动规划和视觉问答,展示了其作为自动驾驶基础模型的潜力。

多模态大型语言模型(Multimodal Large Language Models,MLLMs)的兴起促进了它们在自动驾驶中的应用。目前基于MLLMs的方法是通过学习感知与动作之间的直接映射来执行动作,忽略了世界的动态性以及动作与世界动态之间的关系。因此,探索如何构建智能体的世界模型对于具身智能(Embodied AI)的进步至关重要。

以自动驾驶为代表的具身智能应用,也不乏有对世界模型的研究。目前,自动驾驶的世界模型主要集中在诸如视频预测、点云预测和占用预测等传感器预测任务上。然而,现有模型无法同时实现场景演变的预测、语言推理和与真实世界的交互。相比之下,本文作者提出了一种能够统一视觉、语言和行动建模(VLA)的模型。然而,构建VLA世界模型面临两个关键挑战,亟待解决:

●构建一种通用的三维视觉表征,以促进理解和生成;

●开发一种能够容纳VLA模态的多模态框架。

基于上述背景,本文提出OccLLaMA框架用于解决上述两个关键挑战,该模型是一种统一的三维占用-语言-行动生成世界模型,并且统一了与VLA相关的任务,包括但不限于场景理解、规划和4D占用预测,如图1所示。

本文主要贡献如下:

1)本文提出一种占用-语言-行动生成世界模型OccLLaMA,它使用Occ作为视觉表征,通过基于LLaMA的统一多模态词汇和增强的自回归模型涉及多个任务。

2)该模型利用一种新型场景分词器,能够高效地离散化和重构Occ场景,同时考虑稀疏性和类别不平衡。

3)在与最先进的方法进行了对比实验,在多个任务(包括4D占用预测、运动规划和视觉问答)中,表现超过现有方法。

▲图1|OccLLaMA框架示例

■2.1 MLLMs in Autonomous Driving

大语言模型(LLMs)在自动驾驶的应用包括场景理解和端到端决策制定。基于LLM的决策制定方法在解决基于学习的系统中的可解释性和推广性挑战方面有很大潜力,通过在文本空间中进行推理。在自动驾驶场景中,LLMs主要任务是将环境信息传达给模型,以及研究如何更有效地扩展输入模态。例如,基于模板的自然语言场景描述、与语言提示结合的向量嵌入输入、基于相机感知的图像嵌入等。

■2.2 World Model in Autonomous Driving

世界模型旨在基于动作和观察预测未来场景。在自动驾驶中,世界模型通常用于数据生成和决策制定。各种模型以不同的方式表示场景,可以分为2D图像表示、3D点云表示和3D占用表示。使用2D图像表示的视觉世界模型由于传感器的灵活性提供了可扩展性,但缺乏3D场景理解。虽然3D点云表示解决了这个问题,但它们缺乏语义信息。一些研究关注多模态表示,但生成的不同模态的结果之间的特征对齐仍然困难。因此,整合3D场景表示和语义理解是建模场景演变的一种有前景的方法。

■2.3 Autoregressive Visual Generation

自回归(AR)视觉生成是指使用自回归方法生成图像的模型。早期模型如VQVAE、VQGAN和Dalle将图像转换为离散标记并顺序生成,面临输出性能和可扩展性方面的限制。随后,扩散模型(Diffusion Models)因其独特的范式主导了视觉生成领域。最近,自回归模型的简洁性使得统一理解和生成成为可能,能有效扩展大数据。VAR模型使得基于GPT的自回归模型在图像生成方面超越了扩散模型。Llama-Gen在条件图像生成方面超越了扩散模型,表明纯自回归模型可以作为没有视觉信号归纳偏差的图像生成基础。将AR语言模型与视觉生成整合仍然具有挑战性,特别是在为语言和视觉任务创建统一模型方面。

▲图2|OccLLaMA框架概览

■3.1 方法概述

如图2所示,OccLLaMA作为一个统一的占用-语言-动作框架,它的核心组件包括场景分词器(Scene Tokenizer)和占用-语言-动作生成世界模型。为了实现多任务,作者引入了一个三阶段的训练方案,用于场景分词器的训练、占用-语言-动作预训练和指令调优。

■3.2 场景分词器

本方法采用类似于VQVAE的架构,通过使用离散标记(Discrete Tokens)来表示场景。然而,占用中的网格大约90%都充斥着空气,导致显著的稀疏性。现有的方法对空气类别应用密集卷积运算既昂贵又效率低下。此外,各类别之间的不平衡进一步也阻碍了学习效率。为了解决这些问题,本文在编码器中引入了一种稀疏编码策略(一种类似于点云处理技术)。同时,将非占用类别与其他语义类别解耦,从而实现更高效的场景重建。

◆编码器(Encoder)

原始场景表示为,其中3D空间被划分为密集的体素,每个体素被分配一个语义标签。将进行稀疏化处理,得到,通过丢弃空气体素,并将语义占用体素表示为沿BEV方向排列的1D伪点云集,其中是当前支柱内的非空气体素的数量。每个点是一个向量,其中是高度,是语义标签。然后,利用支柱嵌入(pillars embedding)聚合伪点云特征,并使用swin-transformer块获得BEV特征图,其中是下采样率,是潜在特征维度。

◆量化(Quantification)

为了获得离散表示,通过向量量化将转换为一组字典条目。可学习的字典由个向量组成,每个向量的维度为。量化过程用其最近的字典条目替换每个,表示为:

◆解码器(Decoder)

由于在量化后BEV特征图中高度信息丢失,解码器通过堆叠卷积块和上采样层恢复密集的3D体素特征。具体来说,为了解决类别不平衡问题,作者分别实例化轻量体素头(voxel head)和类别头(class head),以解码占用的几何和语义信息。其中,体素头为类别头提供了一个占用掩码,允许仅监督占用体素的语义就行。

◆损失(Loss)

要训练这个场景分词器,作者参考OccWorld的做法,利用三种损失函数进行优化,其中合成交叉熵损失和Lovasz-softmax损失用于几何和语义的重建学习,以及嵌入损失用于字典学习。

←左右滑动查看完整公式→

■3.3 生成世界模型

统一词汇(Unified Vocabulary):通过使用场景分词器,占用场景可以被映射并展平为一个序列,其中,这允许与原始大型语言模型中的相似语言词汇进行联合表示。具体而言,首先将场景标记表示为一个索引序列,其中对应于场景标记的代码索引编号。因此,通过构建一个场景词汇,它与场景字典保持顺序一致。由于一般的大型语言模型很难输出细粒度的数值,本文根据轨迹集的统计经验性地将航点的坐标划分为个区间,并将航点映射到最近的区间,以构建一个动作词汇。此外,作者还添加了若干特殊的功能标记,如 <occ></occ><act></act> 来表示模态边界;<que_i> 用于辅助下一个场景预测。因此,最后构建一个统一的占用-语言-动作词汇,以生成格式表述多种任务,其中输入和输出可以是这三种模态之一或混合,具体取决于要解决的任务。

下一个标记/场景预测(Next Token / Scene Prediction):由于语言和动作都是时间序列,这使得这些序列中的标记自然适合使用原始因果掩码和下一个标记预测机制进行时间注意力。然而,场景序列中的标记并不固有地遵循时间顺序,并且序列长度往往大于语言和动作。如果在场景中逐行执行下一个标记预测,它无法捕捉空间关系,并会产生高计算成本。为了解决这些问题,本文引入了下一个场景预测,同时保留下一个标记预测。

如图2所示,在与场景标记对应的位置上实现空间注意力,以更好地捕捉场景内的空间关系。相应地,通过初始化可学习的场景查询,以在一次前向步骤中预测整个场景,从而使场景内标记之间的交互更好,并显著减少推理时间。标记/场景预测的机制如算法1所示:

▲算法1|标记/场景预测的机制

■3.4 训练过程

整个框架训练包括三个阶段:

1)场景分词器的训练:首先专注于学习场景字典,以将占用表示为离散标记,使用在公式2中定义的目标函数。一旦优化,场景分词器在后续阶段的管道中保持不变。

2)3D占用-语言-动作预训练:在这个阶段,对占用、语言和动作模态进行对齐。通过使用世界模型目标和场景描述目标进行全面的参数预训练,前者监督占用和动作之间的对齐,以学习世界的演变,后者监督占用和语言之间的对齐,以学习3D场景的语义理解。

3)指令调优:在这个阶段,通过LoRA基于提示的指令对模型进行微调,以应对不同的场景理解和规划任务。

■4.1 实验设置

◆数据集

NuScenes是自动驾驶领域广泛认可的基础数据集。该数据集包含700个训练视频和150个验证视频,每个视频长度为20秒,关键帧率为2Hz。Occ3D是一个基于NuScenes的大规模3D占用数据集,为每一帧提供语义占用表示。NuScenes-QA是一个基于NuScenes的多模态视觉问答数据集。它包含五类问题:存在性、计数、查询对象、查询状态和比较,这些问题又根据复杂性进一步细分为零跳和一跳。为了对齐占用和语言模态,作者收集了一个基于NuScenes的大型描述数据集。具体来说,这个数据集将占用帧与出现的对象的位置、类别、状态和未来轨迹进行匹配。

◆实现细节

在大多数比较中,将语言模型基础设为LLaMA-3.1-8b,场景分词器参数设为50× 256×2048。对于视觉问答(VQA)比较,将语言模型基础设为LLaMA-2-7b,场景分词器的分辨率设为25×25,以确保公平性。对所有训练使用AdamW优化器。场景分词器的训练使用学习率,批量大小为4,

λλ,λλ,以及λ,而生成模型在预训练阶段使用学习率和批量大小为1,在指令调优阶段使用学习率和批量大小为4。

■4.2 结果分析

◆4D占用预测

该任务旨在给定少量历史占用输入预测未来的3D占用场景。具体来说,通过使用2秒的历史帧来预测随后的3秒,同时使用mIoU和IoU作为主要评估指标。如表1所示,在两种设定下比较OccLLaMA与最先进的方法OccWorld:使用真实的3D占用(-O),使用基于相机数据的FBOCC预测结果(-F)。

▲表1|4D占用预测定量实验结果

实验结果表明,本文设计的场景分词器在场景重建能力上表现出色。此外,OccLLaMA在1秒内实现了具有竞争力的预测结果,并在较长时间内显著超越OccWorld,突显了其增强的长期预测能力。此外,OccLLaMA-F可以被视为一个端到端的管道,因为它以相机作为输入。尽管任务复杂,OccLLaMA始终表现出强大的预测性能。图3中为可视化结果。

▲图3|4D占用预测定性实验结果

◆运动规划

如表2所示,研究者们将OccLLaMA的运动规划能力与几种利用各种输入和监督的强基线进行比较,以及与4D占用预测任务相同的设置下将OccLLaMA与OccWorld进行比较。

▲表2|运动规划定量实验结果

◆视觉问答

作者使用占用数据与文本指令作为输入,并在自动驾驶中实施一系列3D任务的多模态大型语言模型(MLLM),然后选择LiDAR-LLM,作为比较基线。此外,还分别使用深度图像和原始图像作为输入,对NuScenes-QA基准测试中的一个强大的2D LLM进行了评估。Top-1准确率作为评估模型性能的指标,并对不同问题类型进行单独评估。

▲表3|NuScenes-QA定量实验结果

如表3所示。与LiDAR-LLM相比,OccLLaMA能够更好地捕捉3D空间中的语义信息,这对和对象相关的问题至关重要。此外,OccLLaMA将空间信息作为输入,自然地对齐语义和空间数据,这对涉及空间关系的问题是有益的。

■4.3 消融实验

◆场景分词器参数

表4比较了不同超参数对场景分词器重建性能的影响,包括潜在空间分辨率、特征维度和字典大小。结果表明,更大的字典会导致过拟合和字典利用效率低下。较小的字典和特征维度无法有效建模场景分布。分辨率与重建能力正相关,并且对重建性能有最显著的影响。然而,更大的分辨率会导致重建一个场景所需的标记数量增加,从而增加了预测的负担。

▲表4|分词器参数消融实验结果

◆生成模型组件

本文还比较了生成模型中不同组件对预测和规划性能的影响。如表5所示,缺少空间注意力意味着一个场景中的标记根据扁平化序列顺序维持其原始的因果注意力。缺少动作标记化意味着航点是通过连接原始语言词汇的标记形成的。实验结果显示,使用特定于动作的标记而不是依赖语言词汇,能够提高预测和规划的性能。此改进可以归因于:特定动作的标记保留了航点的物理先验,同时避免了语言词汇中的归纳偏差。此外,实验还表明使用空间注意力来建模场景内的空间依赖关系对于预测至关重要。然而,这会导致规划性能的轻微下降,这可能是由于空间注意力在局部上干扰了全局因果注意力。

▲表5|模型组件消融实验结果

◆预训练的好处

表6对比了不同训练设置对问答(QA)性能的影响,从预训练开始的指令微调与从零开始的指令微调。实验结果显示,为模态对齐进行的预训练总体上改善了视觉问答(VQA)性能。这表明,当OccLLaMA对基本3D场景和世界动态有更深入的理解时,它能够更好地完成高级QA任务。

▲表6|描述预训练消融实验结果

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值