CombatVLA: An Efficient Vision-Language-Action Model for Combat Tasks in 3D Action Role-Playing Games¶
会议: ICCV 2025
arXiv: 2503.09527
代码: https://combatvla.github.io/
领域: 机器人
关键词: Vision-Language-Action, 3D游戏, 实时决策, Action-of-Thought, 高效推理
一句话总结¶
提出CombatVLA,一个针对3D动作角色扮演游戏战斗任务的高效3B参数VLA模型,通过Action-of-Thought数据格式和截断推理策略,实现比现有VLM游戏框架快50倍的推理速度,且战斗成功率超越人类玩家。
研究背景与动机¶
近年来VLA模型在具身智能领域取得了显著进展,但在复杂3D环境中的实时决策方面仍面临巨大挑战。以《黑神话:悟空》为代表的3D ARPG战斗任务,对模型提出了三项严苛要求:(1)高分辨率视觉流的实时处理;(2)对动态变化的敌人行为进行战术适应;(3)秒级动作执行能力。
现有方法存在明显不足:基于API的方法(如Voyager)虽然可取得较好效果但无法模拟人类视觉交互方式;基于RL的方法需要大量预定义奖励函数和反复试错训练;基于GPT-4o等大规模VLM的框架(如Cradle、VARP)虽有潜力但单次推理延迟高达60-90秒,根本无法满足实时战斗需求。这些痛点驱动了CombatVLA的诞生。
方法详解¶
整体框架¶
CombatVLA的整体流程包含四个核心环节:(1)动作追踪器收集人类玩家的操控数据;(2)将数据构造为Action-of-Thought(AoT)格式用于训练;(3)采用三阶段渐进学习范式训练3B参数模型;(4)将训练好的模型集成到动作执行框架中进行实时推理。
关键设计¶
-
动作追踪器(Action Tracker): 开发了一个轻量级Python工具,在游戏后台运行,通过两个独立线程分别监控键鼠操作和截取游戏画面。关键技术是基于时间戳的帧-动作对齐:对于每个动作 \(a_j\),找到满足 \(i_j = \arg\min_i (t_{f_i} \geq t_{a_j})\) 的最近未来帧进行配对。这保证了每个动作与其对应的视觉上下文正确关联。
-
Action-of-Thought(AoT)数据格式: 受CoT启发,将追踪器收集的帧集合 \(F\) 和动作集合 \(A\) 及其对齐关系转化为JSON格式的AoT数据。每条数据包含[action](如"press space")和[explanation](描述当前敌人状态和动作的物理含义)。特别引入了 \(\langle\text{TRUNC}\rangle\) 特殊token,用于在推理时截断输出以加速。
-
三阶段渐进学习:
- Stage 1 - 粗粒度Video-AoT微调: 每段视频含 \(n=20\) 帧,帧率 \(m=10\) fps,将各帧对应的动作按时间顺序排列生成video-AoT数据对。模型学习战斗环境的整体理解,训练3个epoch。
- Stage 2 - 细粒度Frames-AoT微调: 创建动作-帧对齐数据,从当前动作时间戳向前回溯 \(k=4\) 帧,形成精确的因果推理序列。模型学习战斗场景的时序逻辑,训练1个epoch。
- Stage 3 - 截断Frames-AoT微调: 引入 \(\langle\text{TRUNC}\rangle\) token重组AoT数据,将action放在explanation之前。实时推理时在遇到该token后停止生成,从而将推理速度提升约2倍,训练3个epoch。
-
自适应动作加权损失: 最终训练损失包含三个组成部分:语言建模损失 \(\mathcal{L}_{lang}\)、动作对齐损失 \(\mathcal{L}_{align}\) 和模态对比损失 \(\mathcal{L}_{con}\)。采用优先级感知的匹配准则 \(\mathcal{M}(A_l, A_o)\) 判断模型输出动作与标签动作是否匹配,依据匹配结果调整视觉EOS嵌入和动作EOS嵌入之间的距离。权重 \(\alpha_i = 2^{(k-i-1)}\) 按优先级指数递减归一化到[0.1, 1.0],确保高优先级的稀有关键动作(如闪避、回血)获得更多关注。
损失函数 / 训练策略¶
总损失为 \(\mathcal{L} = \mathcal{L}_{lang} + \alpha \cdot \mathcal{L}_{act}\),其中 \(\mathcal{L}_{act}\) 根据匹配结果在拉近(\(\mathcal{L}_{con}^{pull}\))和推远+对齐(\(\mathcal{L}_{con}^{push} + \mathcal{L}_{align}\))之间切换。骨干网络为Qwen2.5-VL-3B,学习率1e-5,batch size为1,温度0.7。训练冻结视觉编码器参数,仅微调语言模型参数。推理时使用截断策略,通过pyautogui库将动作转化为键鼠操作。
实验关键数据¶
主实验¶
| 模型 | CUBench Avg. | 推理延迟(s) | 模型调用次数 |
|---|---|---|---|
| GPT-4o | 57.29 | 61.68(Cradle) | 5 |
| Gemini-2.0-flash | 57.90 | - | - |
| Qwen2.5-VL-3B(骨干) | 55.87 | - | - |
| CombatVLA-3B | 63.61 | 1.85 | 1 |
| VARP框架 | - | 90.23 | 10 |
| 任务类型 | CombatVLA | Cradle | VARP | 人类 |
|---|---|---|---|---|
| Easy零样本(BMW) | ~90% | ~30% | ~60% | ~80% |
| Hard(BMW) | ~80% | ~10% | ~30% | ~70% |
| Very Hard(BMW) | ~60% | 0% | 0% | ~50% |
| 跨游戏零样本(SSDT) | ~70% | ~10% | ~20% | ~60% |
消融实验¶
| 训练阶段 | Gathering | Comprehension | Reasoning | Avg. | 推理时间(s) |
|---|---|---|---|---|---|
| Stage1 | 53.89 | 57.35 | 60.57 | 57.27 | 3.73 |
| Stage2 | 59.17 | 62.25 | 62.86 | 61.43 | 3.73 |
| Stage3(完整) | 60.83 | 60.29 | 69.71 | 63.61 | 1.85 |
| 损失设置 | Reasoning | Avg. |
|---|---|---|
| 完整模型 | 69.71 | 63.61 |
| 去掉 \(\mathcal{L}_{con}\) | 63.14 | 61.58 |
| 去掉 \(\mathcal{L}_{align}\) | 63.71 | 61.64 |
关键发现¶
- 在高阶推理任务上,CombatVLA超过第二名Claude3.5-sonnet达14.28分,归功于AoT数据增强的推理能力
- 截断策略使Stage3推理速度约为Stage2的2倍(1.85s vs 3.73s),同时性能反而提升
- 通用benchmark(MME/VideoMME/OCRBench)上与骨干模型表现持平,证明特定任务训练未损害通用能力
- 跨游戏(BMW→SSDT)零样本测试成功率高,验证了良好的泛化性
亮点与洞察¶
- AoT数据格式巧妙融合了CoT的推理增强和截断策略的效率优势,是"先思考再行动"与"只取行动丢弃思考"的最佳折中
- 仅在Very Hard任务上训练,就能零样本泛化到Easy-Hard任务,甚至跨游戏泛化,说明高难度战斗中学到的战术逻辑具有可迁移性
- 模态对比损失通过对齐视觉和动作语义空间,有效缓解了动作类别不均衡问题
局限与展望¶
- 推理时需要暂停游戏等待模型输出,尚未实现真正的实时操控
- 训练数据仅约5K条高质量AoT,数据规模有限
- 仅验证了两款游戏,对更多游戏类型的泛化性有待检验
- 动作空间相对固定(10个动作),更复杂的连招系统可能需要扩展
相关工作与启发¶
- 与RT-2等机器人VLA模型的思路类似,但针对游戏场景做了实时性优化
- AoT格式可推广到其他需要实时决策的具身AI场景(如自动驾驶、机器人操控)
- 截断推理策略的思想可应用于任何需要降低VLM推理延迟的场景
评分¶
- 新颖性: ⭐⭐⭐⭐ 首个面向3D ARPG战斗的高效VLA,AoT+截断推理是亮点
- 实验充分度: ⭐⭐⭐⭐ 多维度评测(benchmark+实战+跨游戏),消融全面
- 写作质量: ⭐⭐⭐⭐ 结构清晰,图表美观,故事线完整
- 价值: ⭐⭐⭐⭐ 为游戏AI和具身智能的实时决策提供了实用方案