abstract
大型语言模型 (LLM) 的空前进步对自然语言处理产生了深远的影响,但尚未完全涵盖 3D 理解领域。本文介绍了 PointLLM,这是填补这一空白的初步努力,使 LLM 能够理解点云,并提供了超越 2D 视觉数据的新途径。PointLLM 通过人类指令理解彩色物体点云并生成适合上下文的响应,说明其对点云和常识的掌握。具体而言,它利用具有强大 LLM 的点云编码器有效地融合几何、外观和语言信息。我们收集了一个由 660K 个简单和 70K 个复杂点文本指令对组成的新数据集,以实现两阶段训练策略:对齐潜在空间,然后对统一模型进行指令调整。为了严格评估 PointLLM 的感知和泛化能力,我们建立了两个基准:生成式 3D 对象分类和 3D 对象字幕,通过三种不同的方法进行评估,包括人工评估、GPT-4/ChatGPT 评估和传统指标。实验结果表明,PointLLM 的性能优于现有的 2D 和 3D 基线,在人工评估的对象字幕任务中取得了显著成就,在超过 50% 的样本中超越了人工注释者。代码、数据集和基准可在 https://github.com/OpenRobotLab/PointLL 上找到
introduction
近年来,大型语言模型 (LLM) [6, 8, 42–44, 50, 56, 57] 不断涌现,在自然语言处理方面展现出令人惊叹的能力。这些模型已成为多功能工具,充当通用接口 [22] 来执行一系列复杂任务 [6, 50]。然而,对基于文本的任务的掌握只是 LLM 可以实现的一个方面。随着研究人员开始探索能够处理各种形式数据(如音频 [26] 和图像 [1, 27, 35, 37, 43, 70, 72])的多模态 LLM,一个新的视野出现了。这一演变的下一步是理解 3D 结构。想象这样一个场景:人们可以通过口头命令 [31, 41] 以交互方式创建和编辑 3D 内容,或者指示机器人使用自然语言操纵物体 [12]。这些应用需要 LLM 对 3D 结构有细致入微和准确的理解。 虽然现有的将 LLM 与 2D 图像集成的努力[9、12、37、72] 为理解 3D 结构提供了一条途径,但它们面临着诸如深度模糊遮挡和视点依赖性等困难。选择最佳视图或使用多视图图像等解决方案是存在的,但由于物体的任意方向,它们可能难以捉摸,并且会增加模型的复杂性。相比之下,点云提供了一种高效且通用的 3D 表示。它们提供直接的几何和外观数据,使人们能够更全面地了解 3D 形状、有效的遮挡管理和独立于视点的分析。尽管有这些好处,但点云与 LLM 的集成仍然是一个相对未知的领域。
在这项工作中,我们为大型语言模型理解点云铺平了道路,初步重点关注 3D 对象。具体来说,我们提出了 PointLLM,它接受带有人类指令的彩色物体点云并生成准确的响应,反映了它对点云和常识的理解,如图 1 所示。增强 LLM 对 3D 物体点云的理解存在三个问题:缺乏训练数据、构建合适模型架构的必要性以及缺乏全面的基准和评估方法,每个问题都得到以下解决。 数据收集。我们收集了一个大规模的点文本指令以下数据集,其中包含 660K 条简短描述指令和 70K 条复杂指令。指导模型从点云中提取有意义的表示并响应用户指令的训练数据在物体点云的背景下尤其罕见,手动收集既费时又费钱。为了解决这个问题,我们利用了最近推出的 Cap3D [40],这是一个基于 Objaverse [11] 构建的大型 3D 对象字幕数据集。利用 GPT-4[43] 的推理能力和世界模型,我们提示 GPT-4 根据字幕提供的上下文根据数据生成不同的指令。 模型和训练。我们引入了 PointLLM,它使用预先训练的点云编码器将点云编码为标记,并使用强大的预训练大型语言模型进行推理和生成响应。 我们的训练采用两阶段策略[37]:对齐编码器和 LLM 之间的潜在空间,然后对统一模型进行指令调整。这种方法确保将点云的几何和外观信息与语言模型的语言能力有效融合。我们还提供了一些关于模型设计选择的实证研究。
基准和评估。我们建立了两个不同的基准:生成式 3D 对象分类和 3D 对象字幕,并附带一个全面的评估框架,以评估模型对点云的理解。由于生成性质,我们的模型直接被提示在 ModelNet40[64] 和 Objaverse[11] 上进行对象分类,以及基于 Objaverse 的字幕。由于为生成任务定义单一评估指标很困难,我们采用三种类型的评估方法,包括人工评估、GPT4/ChatGPT[42] 评估和传统指标[4, 15, 36, 45, 51] 来严格评估我们模型的感知和泛化能力。 实验结果表明,我们的 PointLLM 在 2D 和 3D 基线上表现出明显更好的性能,并且在超过 50% 的对象字幕样本中,它在人工评估中获得的分数高于人类注释者。为了补充这些定量评估,我们提供了一系列定性示例,为 PointLLM 的实际性能提供了更广阔的视角。
方法论
本节阐述了我们自动生成点文本指令跟踪数据的策略。然后,我们深入研究了我们的模型 PointLLM 的架构,该模型将对象点云和用户指令作为输入,并输出相应的响应。最后,我们详细介绍了我们的损失函数和两阶段训练策略。 3.1. 点文本指令跟踪数据 端到端多模态 LLM 开发面临的艰巨挑战是获取大规模多模态指令跟踪数据,这对于表示学习、对齐潜在空间和引导模型遵循人类意图至关重要[1, 9, 34, 37, 72]。然而,手动标记此类数据成本高昂且劳动密集。为了解决这个问题,我们提出了一种利用大规模点云字幕数据集 Cap3D[40] 和 GPT-4[43] 的自动数据生成技术。生成的数据集遵循统一的指令遵循模板,如表 1 所示,由简短描述指令和复杂指令组成,分别有助于潜在空间对齐和指令调整。 简短描述说明。Cap3D[40] 数据集为 Objaverse[11] 中的 3D 对象提供了两种字幕变体:由图像字幕模型生成的字幕和由人类注释的字幕。虽然有 660K 个对象附带生成的字幕,但只有 40K 个样本具有人工注释的字幕。对于简短描述指令,我们利用模型生成的分割,因为需要更大的数据量来对齐点云和文本模态的潜在空间 [37]。我们创建了一个包含 30 条指令的列表,用于指示模型提供给定 3D 对象点云的简洁描述。从此列表中随机选择一条指令作为用户指令,并将 Cap3D 中的标题直接用作模型响应,形成单轮指令跟踪样本。这会产生 660K 条简短描述指令数据,每条数据对应一个唯一的对象点云。 表 1. 指令跟踪模板。{System Prompt} 是预训练的 LLM 使用的系统提示,{p tokens} 是点 token,{Instruction} 和 {Response} 表示用户指令和模型响应。仅计算模型响应和句末 token 的损失。 {系统提示} 用户:{p tokens>{指令 1} 助手:{响应 1} 用户:{指令 2} 助手:{响应 2} 用户:{指令 3} 助手:{响应 3} 复杂指令。除了简短的描述之外,模型学会从各种角度理解物体,准确响应各种人类指令也至关重要。为了实现这一点,我们使用 GPT-4 来生成复杂的指令跟踪数据。具体来说,Cap3D 的标题用于刺激 GPT-4 制作更全面的描述,以识别物体的类型、外观、功能和任何其他可推断的信息。与生成简短描述指令的过程类似,我们还策划了一组 30 个不同的提示,每个提示都促使模型深入描述 3D 对象。 其中一个提示与新编写的描述随机配对,形成训练样本。GPT-4 进一步用于生成对话(即问答对),根据标题深入探讨物体的不同方面,例如物体的功能或材料,相应的答案应具有信息量且全面。对于每个物体,GPT-4 生成 3 个单轮对话和 1 个多轮对话,其中包含 3 个问答对,全部确保逻辑相关性。我们注重数据质量,从 Cap3D 人工注释分割中选择了 15K 个标题用于数据生成,每个标题包含五个以上的单词。在过滤掉不正确的 GPT-4 输出后,我们收集了 70K 条复杂指令,包括 15K 条详细描述、40K 条单轮对话和 15K 条多轮对话。指令列表、GPT-4 提示、数据示例和分布分析可在 App. A 中找到。
3.3
损失函数。我们通过最小化每个位置的文本标记的负对数似然来训练 PointLLM。我们的损失函数仅针对构成模型响应的文本标记(包括句末标记)进行计算。我们从人工指令中排除标记,确保模型专注于学习生成准确且连贯的响应。这种训练方法的端到端特性使 PointLLM 能够有效地整合点云和文本模态。 两阶段训练。我们的训练过程包括两个阶段,每个阶段都侧重于模型的不同方面。 在第一阶段(称为特征对齐阶段),我们冻结点云编码器和 LLM 的参数,并仅训练 MLP 投影仪。在此阶段,训练过程使用简短描述指令,旨在有效地将点特征与文本标记空间对齐。此阶段还包括调整两个新添加的特殊标记 和 的标记嵌入。 在第二阶段,称为指令调整阶段,我们冻结点云编码器,同时联合训练投影仪和 LLM。第二阶段使用复杂指令,帮助模型建立理解和响应复杂指令(包括点云数据)的能力。