interleaved-umm-new
收藏Interleaved Multimodal Reasoning Dataset 数据集概述
数据集简介
这是一个用于空间推理任务的数据集生成框架,涉及静态3D物体的相机视点预测和排序。该框架生成多模态思维链推理轨迹,用于教导模型在轨道旋转过程中相机视图如何变化。
核心任务
- 任务1:相机视点预测
- 给定初始视图和旋转参数(角度+方向),预测从新视点观察到的物体外观。
- 任务3:相机视图排序
- 给定一个参考帧和打乱顺序的候选图像,重建相机视图的正确时间顺序。
关键特性
- 自动地平面估计:基于PCA的几何校准,无需手动调整。
- Oracle链生成:创建包含中间真实视图的逐步推理路径。
- LLM思维链:生成模仿人类空间思维的自然语言推理。
- 多后端支持:支持OpenAI兼容的API和本地vLLM推理。
- 集群部署:支持通过Determined AI进行分布式GPU执行。
数据集生成与使用
快速开始
-
生成任务元数据
- 执行脚本
scripts/action_state/task1/run_gen_task1_v3.sh。 - 从CO3D序列中采样相机姿态对。
- 验证几何约束(角度范围、间隔)。
- 生成包含中间视图的Oracle链。
- 将JSONL文件保存至
data/questions/task1_metadata_v3/。
- 执行脚本
-
生成思维链推理
-
选项A(使用OpenAI兼容API): bash python scripts/run_llm_cot.py --input_file data/questions/task1_metadata_v3/train/train_1.jsonl --output_file data/questions/task1_v3/train/train_1.jsonl --image_root /path/to/project/root --model gpt-4o
-
选项B(使用本地vLLM服务器): bash python scripts/run_llm_cot_vllm.py --input_file data/questions/task1_metadata_v3/train/train_1.jsonl --output_file data/questions/task1_v3/train/train_1.jsonl --image_root /path/to/project/root --model /path/to/Qwen3-VL-32B-Instruct --tp_size 2 --gpu_memory_utilization 0.9
-
任务生成参数
- 任务1(相机视点预测):
MIN_ANGLE=60.0:最小旋转角度(度)。MAX_ANGLE=125.0:最大旋转角度(度)。MIN_INTERVAL=25.0:选项之间的最小角度间隔。NUM_SAMPLES=3:每个序列的样本数。
- 任务3(相机视图排序):
MIN_INTERVAL=15.0:每步旋转的最小角度。MAX_INTERVAL=40.0:每步旋转的最大角度。MAX_ANGLE=170.0:轨迹总跨度的最大角度。
数据预处理
- 数据过滤:在生成任务前,使用
scripts/filter/filter_v4.py对序列进行质量过滤。 - 可视化:使用
scripts/visualize_traj_pca.py可视化相机轨迹。
技术细节
生成流程
- 几何管道:
CO3DDataLoader加载帧标注。get_sequence_geometry_pca()通过PCA估计地平面。get_relative_yaw()计算角度差。decompose_angle()将旋转分解为多个步骤。
- CoT生成管道:
CoTGenerator接收Oracle链。- 为每个步骤构建上下文信息。
- 使用“小抄”(目标视图+物理提示)调用LLM。
- LLM生成看似推导出动作的推理。
- 组合成最终的
<think>...</think>轨迹。
关键概念
- Oracle链:包含中间视图的真实推理路径。
- 小抄机制:LLM能看到目标,但必须写出推导过程。
- 视差规则:“相机向右移动 → 视图向左偏移”。
- 鸟瞰图:旋转方向从俯视角度定义。
依赖与配置
前提条件
- Python 3.12
- CUDA 11.8+(用于GPU支持)
- 访问CO3D数据集
- (可选)Determined AI集群用于分布式训练
环境变量
| 变量 | 描述 | 示例 |
|---|---|---|
BASE_URL |
OpenAI兼容API端点 | https://api.openai.com/v1/chat/completions |
API_KEY |
API认证密钥 | sk-... |
QWEN_API_KEY |
Qwen API密钥(可选) | sk-... |
QWEN_BASE_URL |
Qwen API端点(可选) | https://dashscope.aliyuncs.com/compatible-mode/v1 |
项目结构
interleaved-umm/ ├── src/ # 源代码 │ ├── action_state/ # 任务生成逻辑 │ ├── llm_generation/ # 思维链生成 │ └── utils/ # 工具函数 ├── scripts/ # 运行脚本 │ ├── action_state/ # 任务生成运行器 │ ├── run_llm_cot.py # LLM CoT生成(API) │ ├── run_llm_cot_vllm.py # LLM CoT生成(vLLM) │ └── ... ├── deploy/ # 部署配置 ├── configs/ # 配置文件 ├── data/ # 生成的数据集 └── ...
故障排除
- 问题:图像
FileNotFoundError- 解决方案:检查
IMAGE_PREFIX和image_root路径是否与实际路径匹配。
- 解决方案:检查
- 问题:PCA中的
LinAlgError- 解决方案:序列帧数过少或几何退化。过滤器会捕获这些情况。
- 问题:vLLM OOM错误
- 解决方案:降低
gpu_memory_utilization或limit_mm_per_prompt。
- 解决方案:降低
- 问题:未生成有效样本
- 解决方案:放宽
MIN_ANGLE、MAX_ANGLE或MIN_INTERVAL约束。
- 解决方案:放宽
引用
如果使用此数据集或代码库,请引用: bibtex @misc{interleaved-umm, title={Interleaved Multimodal Reasoning Dataset}, author={Your Name}, year={2024} }




