跳转至

可复现项目候选清单

预计阅读:15 分钟 | 前置知识:了解无人机基础、Python环境配置

本文档收录与无人机+VLA/VLM/世界模型方向贴合的、可单机复现的开源项目。 每个项目标注了难度、硬件需求、预计耗时和与无人机方向的贴合度。 供后续选择实际复现时参考。


选择标准

维度 说明
方向贴合 必须与无人机/UAV + VLA/VLM/世界模型直接相关
可复现性 有完整代码、文档、数据集,社区活跃
硬件门槛 单 GPU(RTX 4060/4070 级别)或纯 CPU 可跑
学习价值 能帮助理解核心概念,不只是跑通 demo
耗时合理 1-7 天可完成,不是需要数周训练的大项目

链接说明:本清单里的 21 个 GitHub 链接逐条过了 API,全部存在(无 404),star 数取的是核查当日值。其中两个仓库已改名,旧链接仍会重定向:utiasDSL/gym-pybullet-drones → learnsyslab/gym-pybullet-drones、utiasDSL/safe-control-gym → learnsyslab/safe-control-gym;THUDM/CogVLM 现在归在 zai-org/CogVLM 下。各条目的「项目简介」也与仓库实况逐条核过。

另外提示一句:这张清单的其余字段(难度、预计耗时、贴合度)是编者判断,不是仓库里的事实,随版本推进会漂。


A 类:直接无人机项目(强烈推荐)

A1. gym-pybullet-drones — 无人机 RL 控制仿真

项目 信息
GitHub utiasDSL/gym-pybullet-drones
Stars ~2,000
硬件需求 纯 CPU 即可(PyBullet 物理引擎)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★★ 无人机控制核心

项目简介:基于 PyBullet 的四旋翼 Gymnasium 仿真环境,支持单机/多机 RL 训练。提供 PID 控制示例和 PPO 训练脚本,可对接 Betaflight 固件做 SITL 测试(README 标注 Ubuntu only)。

为什么推荐: 门槛最低的一个:纯 CPU、代码量小,而且它是 C1 的起点——在同一个环境上接 DreamerV3 就是 C1,换个策略头就变成 VLA 控制器的试验场。

复现内容: 1. 运行 PID 悬停 demo 2. 用 PPO 训练悬停策略 3. 可选:多机编队、加入视觉观测


A2. safe-control-gym — 安全约束无人机控制

项目 信息
GitHub utiasDSL/safe-control-gym
Stars ~879
硬件需求 纯 CPU(测试环境为 i7 无 GPU)
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★★ 安全飞行核心

项目简介:PyBullet 四旋翼环境 + CasADi 符号动力学,内置 PID/LQR/iLQR/MPC/SAC/PPO 等多种控制器和安全滤波器(MPSC、CBF)。

为什么推荐: 这批项目里唯一能把 PID、LQR、MPC、SAC/PPO 和安全滤波器(MPSC、CBF)放进同一个环境对比的。想动手验证研究空白与机会 2.3 节「在动作输出端接 CBF」那个想法,这里是现成的试验台。

复现内容: 1. 对比 PID vs LQR vs MPC 控制效果 2. 训练 SAC/PPO 策略 3. 加入安全约束(CBF)观察效果差异


A3. UAV-Flow — 语言条件无人机控制

项目 信息
GitHub buaa-colalab/UAV-Flow
Stars ~173
硬件需求 推理需 GPU(~8GB),训练需更大
难度 ★★★★☆ 高级
预计耗时 3-5 天
贴合度 ★★★★★ VLA 直接用于无人机

项目简介:北航 CoLab 的语言条件无人机控制项目。提供 UAV-Flow 数据集(真实+仿真轨迹)、OpenVLA-UAV 模型(基于 OpenVLA 微调)、评估环境(基于 UnrealCV)。

为什么推荐: 直接对应 Part 3 的 VLA 论文,数据集、模型、评估环境三样齐全;OpenVLA-UAV 基于 B3 微调,先做 B3 再做它会顺很多。

复现内容: 1. 下载数据集,理解数据格式 2. 用 OpenVLA-UAV 做推理 demo 3. 可选:在仿真环境中评估


A4. GeoChat — 遥感 VLM 对话

项目 信息
GitHub mbzuai-oryx/GeoChat
Stars ~759
硬件需求 推理需 GPU(~8GB),LoRA 微调需 ~16GB
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★☆ 无人机遥感理解

项目简介:CVPR 2024 首个遥感 VLM,LLaVA-1.5 微调,语言塔 Vicuna-v1.5-7B,支持遥感图像对话、VQA、目标检测、场景分类。有 LoRA 微调代码。

为什么推荐: CVPR 2024 首个遥感 VLM,LoRA 微调代码完整。它吃的是正射影像,做完正好能体会研究空白与机会 3.1 节说的「FPV 视角需要单独适配」差在哪里。

复现内容: 1. 用预训练模型做遥感图像对话 2. 在自己的无人机图片上测试 3. 可选:LoRA 微调适配特定场景


A5. DeepDrone — LLM 自然语言控制无人机

项目 信息
GitHub evangelosmeklis/deepdrone
Stars ~189
硬件需求 纯 CPU(仿真环境)
难度 ★☆☆☆☆ 极简入门
预计耗时 0.5-1 天
贴合度 ★★★★★ LLM+无人机控制

项目简介:用自然语言控制无人机的 LLM Agent,支持 GPT-4/本地 LLM,通过函数调用映射为飞行动作。是"ChatGPT 控制无人机"最直观的实现。

为什么推荐: 核心不到 500 行,是理解 LLM Agent 架构最短的一条路。换掉 LLM 后端就能对比 GPT-4 与本地模型的行为差异,也正好和 A3 的 UAV-Flow 形成「LLM 函数调用 vs VLA 端到端」的方法论对照。

复现内容: 1. 配置 LLM API,运行自然语言悬停/导航 demo 2. 修改 prompt 模板,观察行为变化 3. 可选:接入本地 LLM(Ollama),实现离线控制


A6. Tello-LLM-ROS — 本地 LLM 控制真实无人机

项目 信息
GitHub GaohaoZhou-ops/Tello-LLM-ROS
Stars ~55
硬件需求 DJI Tello 无人机 + 任意 GPU(Ollama 跑 llama3.1:8b,约 5 GB)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★★ 边缘LLM+真实无人机

项目简介:通过 ROS 框架,使用本地 Ollama LLM 控制 DJI Tello 真实无人机。采用 Tool-Use 模式,LLM 输出结构化飞行动作指令。

为什么推荐: 少见的「本地 LLM 控制真机」方案:Ollama 离线跑,不依赖云 API,走完整 ROS 话题/服务链路。Tello 整机约 500 元,是这批里唯一能低成本碰到真实飞行器的。

复现内容: 1. 搭建 ROS + Ollama 环境 2. 在仿真模式下运行 LLM 控制 3. 可选:连接真实 Tello 无人机测试


A7. FlockGPT — LLM 驱动的无人机集群控制

项目 信息
GitHub Taintedy/flock_gpt
Stars ~22
硬件需求 纯 CPU(仿真环境)
难度 ★★☆☆☆ 入门级
预计耗时 1 天
贴合度 ★★★★☆ LLM+多机协同

项目简介:用自然语言和生成式 AI 控制无人机集群的编队飞行行为。支持群体行为涌现、碰撞避免、目标追踪等场景。

为什么推荐: 少见的 LLM × 多机协同交叉方向,有用户研究论文支撑。重点不在单机轨迹,而在语言指令如何影响群体行为——编队、避碰、追踪这些是单机项目看不到的。

复现内容: 1. 运行基础集群编队 demo 2. 用自然语言指定不同编队模式 3. 可选:修改 LLM prompt 探索新行为


B 类:通用但可迁移到无人机(推荐)

B1. LeRobot — 机器人学习框架

项目 信息
GitHub huggingface/lerobot
Stars ~23,900
硬件需求 训练需 GPU(~8GB),推理可 CPU
难度 ★★★☆☆ 中级
预计耗时 2-4 天
贴合度 ★★★☆☆ 通用机器人→可迁移到无人机

项目简介:HuggingFace 机器人学习框架,支持 ACT、Diffusion Policy、Pi0Fast、SmolVLA 等多种策略。有标准化数据集格式和仿真评估(LIBERO、MetaWorld)。

为什么推荐: HuggingFace 维护,是这批里代码质量最好的。LeRobotDataset 格式和 LIBERO/MetaWorld 评估流程正在成为通用机器人领域的默认约定——先熟悉这套,再去看无人机数据集,差异在哪一目了然。

复现内容: 1. 跑通 ACT/Diffusion Policy 在 LIBERO 上的 demo 2. 理解 LeRobotDataset 数据格式 3. 思考如何迁移到无人机控制


B2. YOLO OBB — 航拍目标检测

项目 信息
GitHub ultralytics/ultralytics
Stars ~57,000
硬件需求 训练需 GPU(~4GB+),推理可 CPU
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★☆☆ 无人机视觉感知基础

项目简介:YOLO 系列最新版本,支持旋转目标检测(OBB),已在 DOTA 航拍数据集上预训练。

为什么推荐: 旋转框(OBB)是航拍检测相对通用检测的主要区别,DOTA 是标准基准。API 极简,是这批项目里最快能拿到「自己数据上的结果」的一个。

复现内容: 1. 用预训练 YOLO-OBB 在 DOTA 上做推理 2. 在自己的航拍图片上测试 3. 可选:微调适配特定无人机场景


B3. OpenVLA 微调 — VLA 模型理解

项目 信息
GitHub openvla/openvla
Stars ~6,100
硬件需求 LoRA 微调需 ~24GB(A100/4090),推理 ~16GB
难度 ★★★★☆ 高级
预计耗时 3-5 天
贴合度 ★★★★☆ VLA 核心架构理解

项目简介:UC Berkeley 开源 VLA 模型(7B 参数),基于 Prismatic VLM + 动作 token 化。支持 LoRA 微调和 REST API 部署。

为什么推荐: UAV-Flow 的 OpenVLA-UAV 就是基于它微调的。想搞清 VLA 的动作 token 化和输入输出格式,先跑通它比直接啃论文快。注意 LoRA 微调要 24GB 显存。

复现内容: 1. 下载预训练模型,跑通推理 demo 2. 理解 VLA 的输入输出格式 3. 可选:LoRA 微调(需较大 GPU)


B4. CogVLM — 通用 VLM 用于航拍理解

项目 信息
GitHub THUDM/CogVLM
Stars ~6,700
硬件需求 推理需 ~16GB GPU
难度 ★★★☆☆ 中级
预计耗时 1-2 天
贴合度 ★★★☆☆ 通用 VLM→可测航拍

项目简介:清华开源 VLM(10B 视觉参数 + 7B 语言参数),支持图像描述、VQA、视觉定位。

为什么推荐: 它的价值主要在做对照组:拿它和 A4 GeoChat、D3 Falcon 在同样几张无人机图片上跑一遍,通用与领域专用 VLM 的差距就有体感了。

复现内容: 1. 用预模型对航拍图片做描述/VQA 2. 对比通用 VLM vs 遥感 VLM(GeoChat)效果 3. 可选:在无人机数据上微调


B5. Flightmare — 高保真无人机仿真器

项目 信息
GitHub uzh-rpg/flightmare
Stars ~1,356
硬件需求 CPU 可跑,Unity 渲染可选(需 GPU)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★☆ 无人机仿真基础设施

项目简介:苏黎世大学 RPG 实验室开发的高保真四旋翼仿真器。支持 Unity 渲染、Gymnasium 接口、多机仿真。被大量无人机 RL 论文引用,是 Dream to Fly 论文的基础仿真环境。

为什么推荐: Dream to Fly(ICRA 2026)的仿真底座,也是无人机 RL 论文里引用最多的仿真器之一。Gymnasium 接口可直接对接 Stable-Baselines3,Unity 渲染用来观察视觉逼真度对 sim-to-real 的影响。

复现内容: 1. 安装并运行基础悬停 demo 2. 用 PPO 训练简单的导航策略 3. 可选:启用 Unity 渲染,观察视觉差异


B6. PegasusSimulator — NVIDIA Isaac Sim 无人机仿真

项目 信息
GitHub PegasusSimulator/PegasusSimulator
Stars ~790
硬件需求 NVIDIA RTX GPU + Isaac Sim
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★☆ 下一代无人机仿真

项目简介:基于 NVIDIA Isaac Sim 的无人机仿真框架,支持 PX4 飞控对接。提供 GPU 加速的物理仿真和光线追踪渲染,是目前开源社区最好的 Isaac Sim 无人机集成方案。

为什么推荐: PX4 飞控可直接对接,GPU 物理加速加光追渲染,视觉逼真度是这批里最高的,也自带 domain randomization。代价是必须有 RTX 显卡和 Isaac Sim 环境,装起来不轻。

复现内容: 1. 安装 Isaac Sim + PegasusSimulator 2. 运行 PX4 SITL 悬停 demo 3. 可选:接入 RL 训练流程


B7. XTDrone2 — PX4+ROS2+Gazebo 中文无人机平台

项目 信息
GitHub andy-zhuo-02/XTDrone2
Stars ~80
硬件需求 CPU(Ubuntu 22.04+)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★☆ 国内用户首选

项目简介:基于 PX4、ROS2 和 Gazebo Ignition 的无人机仿真平台,是经典 XTDrone 的升级版。中文文档完善,支持多机编队、视觉 SLAM、目标检测等多种任务。

为什么推荐: 中文文档最全的 PX4 + ROS2 平台。走的是 PX4 官方工具链(ROS2 + Gazebo Ignition),以后要接真机,这套生态是接得上的,不是仿真专用的一次性环境。

复现内容: 1. 安装 PX4 + ROS2 + Gazebo Ignition 2. 运行单机悬停和航线飞行 3. 可选:多机编队、接入 YOLO 目标检测


B8. AirsimDRL — AirSim 深度强化学习无人机导航

项目 信息
GitHub sunghoonhong/AirsimDRL
Stars ~292
硬件需求 GPU + AirSim/Unreal Engine
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★☆ 视觉DRL+无人机

项目简介:在 AirSim(Unreal Engine 4)中使用深度强化学习训练无人机自主避障导航。仓库里的策略都是循环版:Recurrent DQN、Recurrent A2C、Recurrent DDPG、Recurrent DDPG+PER、Recurrent TD3+PER。端到端视觉输入→动作输出,是 DRL+无人机的经典基准。

为什么推荐: DQN、A2C、DDPG、TD3 几种算法跑在同一个环境里,便于横向对比收敛速度和成功率;README 把 TD3+PER 标为表现最好的一档。AirSim 的视觉逼真度也让它的 sim-to-real 结论比 PyBullet 系更有参考价值。

复现内容: 1. 安装 AirSim + 下载环境 2. 运行训练脚本(README 给的例子是 python td3_per.py) 3. 对比不同算法的收敛速度和成功率


C 类:世界模型方向(可选)

C1. gym-pybullet-drones + Dreamer 架构

项目 信息
方案 在 A1 基础上接入 DreamerV3 世界模型
硬件需求 训练需 GPU(~8GB)
难度 ★★★★★ 高级
预计耗时 5-7 天
贴合度 ★★★★★ 世界模型+无人机

方案简介:将 gym-pybullet-drones 环境对接到 DreamerV3 框架,实现"在世界模型想象中训练无人机策略"。参考我们文档中 Dream to Fly 的思路。

为什么推荐: 唯一一个要求你从零搭起世界模型训练链路的:环境对接、世界模型训练、想象中训策略,三段都要自己写。做完对 RSSM 的理解不会是「看过论文」的程度。

复现内容: 1. 搭建 gym-pybullet-drones → DreamerV3 接口 2. 训练世界模型学习飞行动力学 3. 在想象中训练策略,迁移到真环境


C2. DIAMOND — 扩散世界模型

项目 信息
GitHub eloialonso/diamond
硬件需求 训练需 GPU(~16GB+)
难度 ★★★★★ 高级
预计耗时 5-7 天
贴合度 ★★★☆☆ 世界模型通用→可迁移到无人机

方案简介:NeurIPS 2024 论文,用扩散模型作为世界模型在 Atari/CSGO 环境中生成未来帧并训练策略。

为什么推荐:扩散世界模型这条线的代表工作。和 C1 的 RSSM 对照着看,能分清「像素空间生成未来帧」和「隐空间推演」两种范式各自的代价在哪。

复现内容: 1. 在 Atari 环境跑通 DIAMOND 2. 理解扩散世界模型的训练流程 3. 思考如何迁移到无人机仿真环境


D 类:航拍/遥感基础模型(新增)

D1. RemoteCLIP — 遥感视觉语言基础模型

项目 信息
GitHub ChenDelong1999/RemoteCLIP
Stars ~550
硬件需求 GPU(~8GB VRAM)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★☆ 遥感视觉语言基础

项目简介:IEEE TGRS 论文,将 CLIP 针对遥感/航拍图像做领域适配。支持零样本航拍图像检索、分类、跨模态检索。

为什么推荐: 遥感领域的 CLIP 适配(IEEE TGRS),零样本即可用,不用微调。作为无人机视觉的预训练骨干,是这批 D 类里最快能接进自己 pipeline 的一个。

复现内容: 1. 下载预训练模型,运行零样本分类 demo 2. 在自己的航拍图片上测试检索效果 3. 可选:微调适配特定无人机场景


D2. RSPrompter — SAM 适配遥感实例分割

项目 信息
GitHub KyanChen/RSPrompter
Stars ~656
硬件需求 GPU(~16GB VRAM)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★☆ 航拍实例分割

项目简介:通过 prompt 工程将 SAM(Segment Anything Model)适配到遥感图像实例分割。在航拍/卫星图像上实现精准的目标分割。

为什么推荐: 重点不在分割精度,而在它演示的方法:怎么用 prompt 工程把一个通用基础模型(SAM)低成本地适配到新领域,而不重训主干。这套思路可以直接搬到无人机的其他任务上。

复现内容: 1. 用预训练模型在遥感图像上做实例分割 2. 测试不同 prompt 策略的效果差异 3. 可选:在自己的无人机数据上微调


D3. Falcon — 遥感视觉语言基础模型

项目 信息
GitHub TianHuiLab/Falcon
Stars ~372
硬件需求 GPU(~16GB VRAM)
难度 ★★☆☆☆ 入门级
预计耗时 1-2 天
贴合度 ★★★★☆ 航拍VLM

项目简介:专为遥感/航拍设计的视觉语言基础模型,支持图像描述、VQA、场景分类。在多个遥感基准上达到 SOTA。

为什么推荐: 和 A4 GeoChat 互补:GeoChat 靠对话交互,Falcon 侧重描述、VQA、分类这些基础能力。两个都在同样图片上跑一遍,能看清遥感 VLM 的不同设计取向。

复现内容: 1. 用预训练模型对航拍图片做描述/VQA 2. 对比 Falcon vs GeoChat vs 通用 VLM 效果 3. 可选:在特定场景数据上微调


D4. SkySense++ — 多模态遥感基础模型(Nature MI 2025)

项目 信息
GitHub kang-wu/SkySensePlusPlus
Stars ~219
硬件需求 多 GPU 推荐(训练),单 GPU 可推理
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★☆ 顶级期刊+多模态遥感

项目简介:Nature Machine Intelligence 2025 论文,多模态(RGB+SAR+DEM)遥感基础模型。在语义增强方面达到地球观测 SOTA。

为什么推荐: 唯一一个多模态(RGB + SAR + DEM)遥感基础模型(Nature MI 2025)。研究空白与机会 3.2 节说无人机上的 IMU、深度信息都没被 VLM 利用起来——这里有一个已经被验证过的跨模态融合范式可参考。

复现内容: 1. 了解多模态数据预处理流程 2. 运行推理 demo,观察多模态融合效果 3. 可选:对比单模态 vs 多模态性能差异


D5. CrossEarth — 跨域遥感语义分割(TPAMI 2025)

项目 信息
GitHub VisionXLab/CrossEarth
Stars ~187
硬件需求 GPU(~16GB VRAM)
难度 ★★★☆☆ 中级
预计耗时 2-3 天
贴合度 ★★★★☆ 跨域泛化+遥感

项目简介:IEEE TPAMI 2025 论文,解决遥感图像跨域语义分割问题。处理不同传感器、不同地域、不同光照条件下的域偏移。

为什么推荐: 跨域泛化正是 sim-to-real 难题的另一面。它处理传感器、地域、光照三种域偏移,和无人机从仿真迁移到真实遇到的偏移同源,方法可以互相借。

复现内容: 1. 在标准遥感分割基准上运行推理 2. 测试跨域场景(不同传感器/地域)的泛化效果 3. 可选:对比有/无域适配的性能差异


推荐复现路径

快速体验路线(1 周,纯 CPU/轻量 GPU)

第1天: A1 gym-pybullet-drones(PID + PPO 悬停)
         ↓ 理解无人机 RL 基础
第2天: A5 DeepDrone(LLM 自然语言控制无人机)
         ↓ 理解 LLM→无人机的映射
第3天: B2 YOLO-OBB 航拍检测
         ↓ 理解无人机视觉感知
第4天: A4 GeoChat 遥感 VLM 推理
         ↓ 理解 VLM 在遥感中的应用
第5天: D1 RemoteCLIP 遥感 CLIP
         ↓ 理解视觉语言对齐
第6天: D3 Falcon 航拍 VLM
         ↓ 对比不同 VLM 效果
第7天: B5 Flightmare 无人机仿真
         ↓ 理解高保真仿真环境

深度学习路线(2-3 周,需 GPU 16GB+)

第1周: 快速体验路线(同上)
第2周: A3 UAV-Flow VLA 推理 + B3 OpenVLA 理解
         ↓ 理解 VLA 端到端控制
第3周: D2 RSPrompter 航拍分割 + D4 SkySense++ 多模态
         ↓ 理解航拍基础模型前沿
可选进阶: C1 Dreamer+无人机 或 B6 PegasusSimulator

硬件需求汇总

项目 CPU GPU 8GB GPU 16GB GPU 24GB
A 类:直接无人机
A1 gym-pybullet-drones ✅ ✅ ✅ ✅
A2 safe-control-gym ✅ ✅ ✅ ✅
A3 UAV-Flow ❌ ✅推理 ✅推理 ✅微调
A4 GeoChat ❌ ✅推理 ✅LoRA ✅全量
A5 DeepDrone ✅ ✅ ✅ ✅
A6 Tello-LLM-ROS ✅ ✅ ✅ ✅
A7 FlockGPT ✅ ✅ ✅ ✅
B 类:通用可迁移
B1 LeRobot ✅推理 ✅训练 ✅ ✅
B2 YOLO-OBB ✅推理 ✅训练 ✅ ✅
B3 OpenVLA ❌ ❌ ✅推理 ✅LoRA
B4 CogVLM ❌ ❌ ✅推理 ✅
B5 Flightmare ✅ ✅ ✅ ✅
B6 PegasusSimulator ❌ ❌ ✅ ✅
B7 XTDrone2 ✅ ✅ ✅ ✅
B8 AirsimDRL ❌ ✅ ✅ ✅
C 类:世界模型
C1 Dreamer+Drone ❌ ✅ ✅ ✅
C2 DIAMOND ❌ ❌ ✅ ✅
D 类:航拍基础模型
D1 RemoteCLIP ❌ ✅推理 ✅ ✅
D2 RSPrompter ❌ ❌ ✅推理 ✅
D3 Falcon ❌ ❌ ✅推理 ✅
D4 SkySense++ ❌ ❌ ✅推理 ✅训练
D5 CrossEarth ❌ ❌ ✅推理 ✅

动手验证:汇总表里那些「8 GB 能推理」,靠什么装下?

上面的汇总表给每个项目标了最低能跑在哪档卡上,而且区分了 ✅推理 / ✅LoRA / ✅全量。这个区分很有用,但有一格容易被误读:「8 GB ✅推理」不等于「这个模型 8 GB 装得下」,它通常预设了量化。权重是纯算术,先把它算出来。

光权重就要多少:fp16 / int8 / int4

GB = 2 ** 30
def weights_gb(n_params, bits):
    """权重显存 = 参数量 x 每参数字节数。和 batch、输入长度都无关。"""
    return n_params * bits / 8 / GB
# 参数量取自本文各项目的说明(B3 写明 7B,B4 写明 10B 视觉 + 7B 语言)
models = [
    ("A3 UAV-Flow", 7.0e9, 8.0),
    ("A4 GeoChat", 7.0e9, 8.0),
    ("B3 OpenVLA", 7.0e9, 16.0),
    ("B4 CogVLM", 1.7e10, 16.0),
]
print("项目              参数量     fp16     int8     int4   文档标的最低档")
for name, p, card in models:
    w = [weights_gb(p, b) for b in (16, 8, 4)]
    need = "fp16 够" if w[0] <= card else ("要 int8" if w[1] <= card else "要 int4")
    print(f"{name:<16} {p/1e9:>5.1f}B {w[0]:>7.1f}G {w[1]:>7.1f}G {w[2]:>7.1f}G   "
          f"{card:>2.0f}G/{need}")
kv_per_tok = 2 * 32 * 4096 * 2 / 2**20     # K 和 V x 32 层 x 4096 维 x fp16
print(f"\n推理还要加 KV cache:{kv_per_tok:.2f} MB/token,2048 token 的上下文就是 "
      f"{kv_per_tok * 2048 / 1024:.1f} GB")

本地实测结果

项目              参数量     fp16     int8     int4   文档标的最低档
A3 UAV-Flow        7.0B    13.0G     6.5G     3.3G    8G/要 int8
A4 GeoChat         7.0B    13.0G     6.5G     3.3G    8G/要 int8
B3 OpenVLA         7.0B    13.0G     6.5G     3.3G   16G/fp16 够
B4 CogVLM         17.0B    31.7G    15.8G     7.9G   16G/要 int8

推理还要加 KV cache:0.50 MB/token,2048 token 的上下文就是 1.0 GB

这个 need 列只看「权重装不装得下」,所以它比真实情况宽松——KV cache 和激活都还没算进去。把 KV cache 加上去再看:

A3 UAV-Flow 和 A4 GeoChat 标在 8 GB 档的 ✅推理,至少要 int8 量化才成立。 两个都是 7B 级 VLM(GeoChat 是 LLaVA-1.5 微调,语言塔 Vicuna-v1.5-7B;UAV-Flow 的 OpenVLA-UAV 是在 OpenVLA 上微调的),fp16 光权重 13.0 GB,已经超过 8 GB 这张卡本身。换 int8 权重塌到 6.5 GB,再加 1.0 GB 的 2048 token KV cache,7.5 GB —— 刚好卡进 8 GB,一点余量都没有。想留余量得走 int4,权重只有 3.3 GB。

B4 CogVLM 标在 16 GB 档的「推理需 ~16GB GPU」,也要量化,而且 int8 都不够。 它自己的说明写着 10B 视觉参数 + 7B 语言参数,合计 17.0B,fp16 权重 31.7 GB,是 16 GB 的两倍。int8 是 15.8 GB —— 单看权重能塞进 16 GB,可加上 KV cache 就溢出了。这一档要真的跑顺,得走 int4(7.9 GB)。

B3 OpenVLA 标在 16 GB 档的「推理 ~16GB」是唯一不加量化也成立的:7B fp16 权重 13.0 GB,16 GB 卡剩下的 3 GB 够短上下文的 KV cache 和激活。它和 A3 是同一个主干,对照着看很清楚:同一份 7B 权重,标 16 GB 的成立、标 8 GB 的不成立 —— 差的不是模型,是有没有把量化这一笔算进去。

限制:上表按各项目公开的参数量估算,没有把视觉编码器、投影层单独拆出来算(OpenVLA 那套 DINOv2 + SigLIP 是额外的零点几 B)。KV cache 按 LLaMA-2 7B 的结构算(32 层、隐藏 4096、fp16),换算成 0.50 MB/token;实际框架还会留显存池和碎片,所以「装得下」和「跑得顺」之间仍有距离。

这里只算了推理。训练侧的账在 01-环境搭建、06-复现指南-GeoChat 里有完整的一份;汇总表里 ✅LoRA / ✅全量 那几格同样要在量化、batch 和序列长度都确定之后才谈得上准确。

显存的三项是精确算术,第四项激活随规模走,而序列长度是那些表从没写过的自变量

运行完整脚本

py -3.9 code/o_budget.py    # 约 2 分钟,CPU 即可,只需 torch 与 torchvision

思考题

  1. 查表找矛盾:"快速体验路线"标称是"1 周,纯 CPU/轻量 GPU"。把它列的 7 天项目逐个对照上面的硬件汇总表 —— 这条路线真能在一张 8 GB 卡上走完吗?哪一天会卡住?

  2. 路线设计:两条路线(快速体验 1 周 / 深度学习 2-3 周)是按什么划分的?为什么 A3 UAV-Flow 被放在第 2 周而不是第 1 周?

  3. 读表方法:硬件汇总表里用的是"✅推理 / ✅LoRA / ✅微调 / ✅全量"这种动词,而不是简单的"能跑/不能跑"。为什么要做这个区分?选项目时它帮你避免了什么误判?

  4. 标准反思:选择标准里有一条"1-7 天可完成,不是需要数周训练的大项目"。这条标准排除了哪一类项目?它对"学习"来说是合理的,但可能付出什么代价?

  5. 缺口判断:C 类(世界模型方向)只有两个项目,且整体标注为"可选"。对照 A 类和 D 类的规模,这个数量差说明了什么?如果你想补一个 C 类项目,你会从什么方向找?

参考答案 1. **走不完,会卡在第 6 天。** 路线里第 6 天是 D3 Falcon,而硬件汇总表把它标成 8 GB ❌、16 GB 才 ✅推理 —— 也就是说它需要 16 GB 卡。其余六天都对得上:A1、A5 和 B5 Flightmare 在 CPU 列就是 ✅,B2 YOLO-OBB 在 8 GB 已经是 ✅训练,A4 GeoChat 和 D1 RemoteCLIP 在 8 GB 是 ✅推理。所以这条路线实际是"1 周 + 一张 16 GB 卡"。 2. 划分标准是**硬件门槛**:快速体验路线标称纯 CPU/轻量 GPU,深度学习路线要求 GPU 16 GB+。A3 UAV-Flow 放第 2 周有两个原因 —— 一是硬件,表里它在 8 GB 只能推理、24 GB 才能微调;二是认知顺序,它对应第 2 周"理解 VLA 端到端控制"这个目标,需要先有前面 VLM/VLA 的概念铺垫。 3. 因为这个领域"能跑起来"和"能改得动"是两种完全不同的门槛。同一张 8 GB 卡,A3 只能做推理,A4 只能推理,而在 16 GB 上 A4 已经能跑 LoRA。如果表里只写"能跑",很容易带着"我 8 GB 也能复现 GeoChat 微调"的预期开工,然后卡在 OOM 上。**写清动词,等于提前告诉你这张卡允许你做到哪一步**,也顺带说明升一档卡能解锁什么。 4. 排除的是**需要从头训练大模型**的项目 —— 数周训练、多卡、大数据集那一类。对学习阶段合理:目标是理解机制而不是刷指标,短周期才能快速建立"改一个东西 → 看到结果变化"的反馈闭环。代价是容易停在"跑通":只做推理和微调,对训练动态(数据规模怎么影响收敛、loss 长什么样、失败模式有哪些)的体感不足,而这恰恰是研究里最难、也最需要经验的部分。 5. 说明**世界模型方向的可复现性明显更差** —— A 类有 7 个、D 类有 5 个,C 类只有 2 个。原因不难推:训练一个世界模型本身就要大规模数据、算力和长时间,与上面"1-7 天可完成"的选择标准天然冲突,所以只能标"可选"。要补 C 类,应该往**门槛被削平过的**方向找:已经放出了预训练权重、或本来就设计成小规模可训的项目(比如基于现成仿真器做小规模世界模型实验),而不是那些复现一次要几百 GPU 小时的论文。

本文档最后更新:2026-05-11。项目信息基于调研时的 GitHub 状态,实际复现前请确认最新版本和依赖。