具身智能VLA学习路线全解析:从RT-1到RDT,零基础入门到实战
具身智能 VLA 最近的火爆程度正在从论文圈扩散到工业界和招聘市场。但失真信息也很多有把 VLA 讲成“下一个 ChatGPT”的有把 RT-1 说成万能操作模型的也有人以为 VLA 就是把图像和文本拼在一起再做一次监督学习。真正想从零开始学的人往往不知道这条路线应该从哪里切入手里一堆论文和代码库反而无从下手。这篇内容会围绕一套完整的 VLA 学习路线展开覆盖 RT-1、RoboFlamingo、MDT、RDT、LAPA 等主流算法把每一类模型的定位、解决的问题、适合的场景讲清楚再给出从环境搭建、数据组织、训练调优到真机部署的实操路径。先说一个核心判断VLA 学习的真正门槛不在“调库”而在于你能不能建立一条完整的技术认知链条——从问题背景、数据组织、模型设计到部署评测和工程约束。只跑通一个开源仓库并不等于学会 VLA能把一个模型放到具体机器人任务里说清楚“为什么选它、数据怎么构造、失败在哪一步”才算真正入门。读完这篇文章你会知道主流 VLA 算法之间是什么关系零基础应该如何规划学习路线也能拿到一套可以直接落地的最小代码框架。1. 为什么说 VLA 是具身智能的关键突破口具身智能不是一个新概念但过去很长一段时间机器人控制的主流做法都是“感知、规划、控制”三段式流水线先做目标检测和状态估计再走运动规划最后生成关节指令。这套方案在结构化场景里表现稳定但一旦遇到环境变化、物体种类繁多、指令多样的情况工程成本会迅速膨胀因为每个模块都要单独适配规则。VLAVision-Language-Action Model本质上改变了这件事的建模方式它把视觉、语言和动作放在同一个模型里输入是相机图像和自然语言指令输出直接是动作。也就是说过去需要拆成多个子问题分别求解的任务现在变成一个端到端的“输入-输出”映射问题。这个转变带来的实际收益有三点泛化性提升。语言指令具备天然的组合能力模型见过的任务可以组合出新的任务形式比硬编码规则更容易应对开放场景。多任务共享。多个操作任务可以共用一套模型参数不必每个任务单独训练一套视觉和规划模块。交互方式简洁。人类可以直接用自然语言给出指令不再需要针对每个机械臂动作编写底层脚本。当然VLA 不是万能的。它对数据质量和数量的要求极高训练成本也不低真机部署时还会遇到仿真到现实的迁移问题。但它确实把“机器人如何理解任务”这个核心问题的研究范式改变了。从学习角度看VLA 是一个把计算机视觉、自然语言处理、强化学习、机器人学串起来的方向对学习者的知识广度要求高但也正因为如此它的学习路径非常清晰只要你知道要补什么进度会很快。2. 必须先搞懂的两个核心概念Token 与动作空间在进入具体算法之前有两个概念必须理解清楚否则看任何 VLA 论文都会卡住。2.1 TokenToken 这个概念来自自然语言处理意思是把文本切分成一个个基本单元。VLA 沿用了这个思路图像不再是完整的一张图直接输进网络而是会被切分成若干视觉 token指令文本也会被编码成 token 序列动作则被离散化成动作 token 或直接用连续向量表示。为什么要切分因为 Transformer 架构的输入要求是序列。无论图像、语言还是动作都得先转换成固定维度的序列才能放进注意力机制里计算。不同模型的区别在于“怎么切”和“切完之后怎么排列”。RT-1 把动作离散成固定数量的 bin 再做分类预测RDT 这样的扩散模型则直接对轨迹 token 做去噪属于另一种思路。理解 Token 是理解 VLA 结构的一把钥匙。看到任何模型结构图先去问三件事输入被切成了哪些 token这些 token 在注意力层里怎么交互动作 token 是怎么解码成真实控制指令的搞清这三个问题模型结构基本就理解了七成。2.2 动作空间动作空间描述的是“模型输出的动作到底是什么”。同一个“把物体拿起来”的任务可以表达成末端执行器的位姿也可以表达成每个关节的角度还可以表达成夹爪的开合状态。VLA 模型通常不只输出一个动作而是输出一段动作序列。这就带来一个实际问题不同机器人平台的动作标定方式不同同一个预训练模型往往不能直接迁移到另一台机器人上。RDT 这类预训练大模型之所以被关注一个重要原因就是它在预训练阶段通过大规模多机器人数据学会了把不同动作空间的轨迹都 token 化从而具备了一定的跨形态迁移能力。但这并不是没有代价的它需要非常强的对齐设计才能让不同动作空间在共享表示空间里不冲突。对这个领域的初学者建议先熟悉两种最常见的动作表示末端执行器 6D 位姿 夹爪状态工业界最常用直观且容易部署。关节角序列灵活性更高但数据标定更复杂。选哪种取决于你的机器人平台和目标任务没有绝对优劣。3. 快速盘点 VLA 算法家族从 RT-1 到 RDT、LAPA很多人学习 VLA 时最容易犯的错是把所有模型当成“同一个东西的不同版本”然后挨个读论文结果越读越乱。实际上这些模型解决的问题侧重点不同技术路线也有明显差别。下面用一张表快速梳理主流算法的定位算法技术路线核心特点适合场景RT-1分类式 VLA首个大规模 Robotics Transformer动作离散化后做 token 分类多任务操作端到端策略学习RoboFlamingo视觉-语言预训练迁移继承 Flamingo 架构把 VLM 能力迁移到机器人控制数据较少时利用 VLM 先验MDT多模态扩散 Transformer用扩散模型生成操作轨迹支持多模态条件需要高灵活性轨迹生成的操纵任务RDT扩散 Transformer 预训练大模型大规模预训练 跨机器人形态迁移轨迹 token 化减少真机数据量的预训练阶段LAPA语言辅助规划用冻结 VLM 生成子目标底层策略执行长时序任务分解与语言引导规划下面逐个说清楚。3.1 RT-1把 VLA 变成可行问题的奠基工作RT-1 是这一波 VLA 热潮中最重要的奠基工作之一。它在结构上采用了“视觉编码器 文本编码器 Transformer”的经典组合把当前图像、历史图像和语言指令一起编码输出离散化的动作 token。它的核心工程贡献是证明了“用大规模数据训练一个端到端的机器人操作模型”是可行的。在此之前多数机器人操作模型都是针对单一任务单独训练的。RT-1 在一个真实机器人平台上同时学习数百个任务表现出了相当不错的多任务泛化能力。理解 RT-1 时要特别注意它的动作离散化设计连续动作被切分为离散区间模型本质上是在做分类预测。这个设计的优势是训练稳定、实现简单缺点则是动作精度的上限受离散化粒度限制。这也是后来扩散模型的路线能够迅速崛起的原因之一。3.2 RoboFlamingo把视觉-语言预训练能力带进机器人RoboFlamingo 的路线与 RT-1 不同它更强调把成熟的视觉-语言模型VLM预训练能力迁移到机器人控制上。它的基本思路是大型 VLM 已经学会了很好的视觉语义和语言理解能力机器人控制可以站在这个肩膀上只需要在少量机器人数据上做微调而不是从零训练。这种思路的现实价值在于高质量机器人操作数据非常昂贵如果能复用互联网级规模的视觉-语言预训练知识就可以显著降低对机器人演示数据量的要求。它在当时验证了一个方向VLA 不必从零训练也可以通过“视觉-语言预训练 机器人微调”的方式落地。这个思想后来在不少工作中得到延续。对于没有大量真机数据的研究团队来说这类路线更值得关注。3.3 MDT让轨迹生成更自由的多模态扩散模型MDTMulti-modal Diffusion Transformer走的是另一个路线用扩散模型来生成操作轨迹而不是直接对离散动作做分类。扩散模型的特点是生成能力强能建模多模态的动作分布。操作任务天然存在多模态比如同一个“拿起杯子”的任务既可以从左上抓也可以从右上抓。分类式模型往往只能输出一个平均动作或贪心动作而扩散式模型可以保留这种多样性生成更自然的轨迹。MDT 把扩散模型和 Transformer 结合利用 Transformer 处理多模态条件信息再利用扩散过程生成连续轨迹。它更适合那些对动作灵活性要求较高的操纵任务比如需要绕开障碍物、或者在多物体场景里自主选择操作策略的情况。3.4 RDT面向预训练大模型的扩散 TransformerRDT 是近年来非常有代表性的工作它的目标更宏大让机器人操作模型像大语言模型一样先在海量数据上预训练再低成本适配到新任务、新机器人。RDT 的做法是把多种机器人的操作轨迹统一 token 化然后用扩散 Transformer 进行预训练。由于它在训练阶段见过大量不同的动作空间和机器人形态预训练完成后可以以相对较小的数据量适配到新的机器人平台上。这种“预训练 微调”的范式对行业的意义很大因为对于一般团队来说直接从零训练一个 VLA 的成本高到难以承受而基于预训练模型做二次开发成本会低很多。这也是近几年“具身智能大模型”被反复讨论的原因之一。3.5 LAPA语言作为规划器策略作为执行器LAPA 和前几个模型不太一样它不直接端到端地输出动作而是先用一个冻结的视觉-语言模型将用户的自然语言指令转换成中间的子目标再交给底层策略去执行。举个例子“把桌上的苹果拿给那个人”这样一个长时序任务LAPA 会先生成“靠近桌子”“抓取苹果”“移动到目标人身边”“放下苹果”这一系列子目标底层再逐步执行。这类路线回答了一个很实际的问题直接把长指令映射成动作序列模型很难训练。不如让擅长语言理解的模型去规划让擅长动作生成的模型去执行。这种“规划-执行分离”的思想在真实的机器人应用里往往比纯端到端更可靠。4. 具身智能 VLA 学习路线四个阶段从零到实战回到学习本身。很多人问“我是零基础能不能学 VLA应该按什么顺序学”答案是能但前提是别跳步。VLA 涉及的领域链条长如果基础概念没建立很容易在某个中间环节卡死。下面是一条经过验证的通用路线对应“从零基础小白到能独立做 VLA 项目”的过程。4.1 阶段一补齐核心基础这一阶段的目标不是精通而是“用到时不陌生”。需要掌握的基础包括Python 编程重点是数据处理的套路。深度学习基础重点是 CNN、Transformer、注意力机制的核心思想。Linux 基本操作因为训练模型几乎都在服务器上完成。PyTorch 的基本用法能读懂模型训练代码。不用花太多时间在数学推导上先建立直觉后面遇到问题再回头查。4.2 阶段二建立机器人与操作任务直觉很多做 CV 和 NLP 出身的人学习 VLA 时最容易在这一阶段出问题。因为你可能不理解什么是末端执行器、什么是相机标定、什么是运动规划、什么是示教数据。这个阶段建议做两件事系统学习基础机器人学包括坐标变换、正逆运动学、位姿表示。找一个仿真环境比如 MuJoCo 或 Isaac Sim亲手控制一个虚拟机械臂观察运动轨迹。目标不是让你成为机器人专家而是让你面对“动作空间”“末端位姿”这些词时不会一头雾水。4.3 阶段三跑通一个 VLA 全流程基础建立后就应该动手了不要一直在理论里打转。建议选择一个有完整开源数据的 VLA 项目完成以下全流程下载并理解训练数据搞清楚每个字段的含义。加载预训练模型跑一遍推理。在开放数据集上完成一次微调训练。使用仿真环境或真机平台验证模型效果。完成这个闭环后你对 VLA 的理解会比读十篇论文都深。4.4 阶段四选题深耕与二次开发当你能完整跑通一套流程后就需要结合自己的方向深耕。比如你可以选一个具体场景去做 VLA 模型接入把模型连接到自己的机械臂或仿真平台也可以研究对抗攻击防御、力觉模态融合等更垂直的方向。值得注意的是当前 VLA 领域已经出现了一些新的研究趋势例如 ForceVLA 这类研究把末端六维外力作为 VLA 模型的一等模态让模型不只依赖视觉还能感知接触力。这意味着后续学习不仅需要关注视觉-语言模型还需要关注多模态物理量比如力觉、触觉。5. 环境搭建与最小推理示例进入实操环节。这里给出一套通用环境准备方案和最小代码示例不绑定某个特定开源项目重点是帮助你理解 VLA 的输入输出和数据组织方式。5.1 基础环境建议使用 Linux 系统配置好 NVIDIA 驱动和 CUDA。依赖安装命令如下conda create -n vla python3.10 -y conda activate vla pip install torch --index-url https://download.pytorch.org/whl/cu118 pip install transformers diffusers einops opencv-python注意PyTorch 版本和 CUDA 版本请以你的实际驱动为准如果用的是更新版本的 CUDA需要到 PyTorch 官网选择对应的安装命令。5.2 VLA 训练数据格式示例无论哪个 VLA 项目数据都离不开三个要素指令、观测、动作。下面是一个通用格式示例{ instruction: 把红色方块放到蓝色杯子里, image: obs_rgb_000123.png, state: [0.82, 0.11, -0.03, 0.72, 0.15, 0.66], action: { type: ee_pose, position: [0.42, 0.18, 0.63], orientation: [0.03, -0.40, 0.91, -0.08], gripper: 1 } }上面的state是机器人当前状态向量action是末端执行器位姿和夹爪状态。不同数据集的字段会有差异但核心逻辑一致。拿到一份新数据时第一步永远是搞清楚 action 代表什么、动作空间是什么而不是急着写训练代码。这个习惯非常重要。很多人在迁移模型到自己的机器上时发现效果很差最后排查下来是动作空间的含义理解错了。5.3 加载 VLA 模型做动作推理的示意代码下面是一段加载 VLA 模型、输入图像和指令、输出动作的示意代码。具体 API 以你使用的模型仓库为准这里展示的是通用流程import torch from transformers import AutoModel, AutoProcessor model_path your-vla-model-path model AutoModel.from_pretrained(model_path).to(cuda) processor AutoProcessor.from_pretrained(model_path) # 模拟一帧观测图像 current_rgb load_image(obs_rgb_000123.png) instruction 把红色方块放到蓝色杯子里 inputs processor( imagecurrent_rgb, instructioninstruction, return_tensorspt ).to(cuda) with torch.no_grad(): action_token model.generate(**inputs, max_new_tokens8) action processor.decode_action(action_token) print(预测动作:, action)这里有两个容易踩坑的地方第一模型推理时一定要保持与训练一致的数据预处理包括图像尺寸、归一化方式、指令模板。很多开源仓库的 README 里写了“用户指令需要包装成固定模板”这个细节不能省。第二model.generate是自回归生成动作 token 的过程和语言模型生成文本在原理上一致。如果模型输出的是连续动作就不会走generate而是直接前向输出动作向量。5.4 评测逻辑最小示例模型训练完成后你不能只看训练集 loss要在测试环境里跑真实任务。下面是通用的评测逻辑total_episodes 0 success_count 0 for task in eval_tasks: obs env.reset(task) done False steps 0 while not done and steps max_steps: action vla_policy.get_action(obs) obs, reward, done, info env.step(action) steps 1 if info.get(success, False): success_count 1 total_episodes 1 success_rate success_count / total_episodes print(fSuccess Rate: {success_rate:.2%})评测指标不只有端到端成功率还应看平均完成步数、单步推理时延、指令执行一致性等。如果只是看成功率很容易被个别任务的偶然因素误导。6. VLA 训练与验证数据、模型、评测三步法VLA 项目的开发流程可以抽象成“数据、模型、评测”三个环节每个环节都有独立的难点。一个典型的训练流程如下表阶段关键动作常见问题数据准备采集或下载演示数据统一动作空间数据字段理解错误、动作空间不一致模型选择根据任务复杂度选择分类式或扩散式模型模型规模与数据量不匹配训练调优设置学习率、batch size、训练轮数显存不足、训练不收敛评测反馈在仿真或真机环境跑测试集仿真可行但真机效果差训练时要注意小数据量场景不要一上来就训大型模型。如果你的演示数据只有几千条使用预训练模型做微调是更稳妥的选择如果只有几百条甚至应该考虑冻结大部分参数。这里还要提一个容易被忽略的点VLA 模型的“动作粒度”问题。有些模型每次输入一张图输出一个动作有些则输出一整段动作序列。前者更稳但需要频繁推理后者效率高但对轨迹预测能力要求更高。你要根据控制频率和目标任务的实时性要求来选择。7. 常见问题与排查思路VLA 项目在开发和部署过程中会遇到很多看起来奇怪的问题。这里整理了几个最常见的供你按图索骥问题现象可能原因排查方式解决方案训练 loss 不下降学习率过大或过小数据预处理错误打印每一步输入输出对比训练集样本重置学习率检查图像归一化与指令模板模型能训练但仿真里动作很怪动作空间理解错误可视化模型输出的动作序列对照数据采集代码确认 action 的实际含义仿真表现好真机完全不可用仿真与现实的视觉域差异逐步对比仿真和真机的图像分布加入随机化增强或收集少量真机数据微调GPU 显存不足批量大小或图像分辨率过高查看模型参数量和显存占用降低 batch size、半精度训练、梯度累积中文指令加载后效果很差指令模板不一致或分词器未适配中文检查指令编码结果使用支持中文的文本编码器并统一模板模型推理速度慢控制频率达不到要求模型过大动作步长过长统计单步推理耗时模型蒸馏、动作 chunk 长度折中、TensorRT 加速如果模型在真机上表现差第一步不是调模型而是先对比仿真和真机的观测分布。很多时候问题出在相机位置、光照、物体外观不一致上而不是模型本身有问题。8. 工程最佳实践与安全边界从“能跑通”到“可上线”中间隔着大量工程问题。8.1 数据管理是 VLA 项目的生命线VLA 项目的数据量通常很大而且需要持续迭代。以下几点值得一开始就做好每个数据样本必须有明确版本信息包括采集时间、机器人型号、相机位置、操作员编号。指令文本建议统一模板避免“同一任务十种说法”导致模型学习混乱。数据清洗时必须检查动作空间是否合理夹爪是否越界图像是否异常。8.2 真机部署必须设置安全护栏VLA 模型是概率模型输出存在不确定性。在真机部署时必须加入多层安全保护设置机械臂关节角度限位和速度限制。在运动执行层加入碰撞检测和急停逻辑。对模型的输出动作做合理性检查异常大位移或越界动作直接拒绝。控制逻辑的逻辑图如下模型输出动作先经过安全检查再下发到执行器任何一步失败都需要立即停止。这一点不是可选项而是底线。尤其是在没有人工实时监督的自动化场景里模型幻觉可能导致机械臂做出危险动作。8.3 从仿真到真实迁移要循序渐进完整流程建议先在高质量仿真环境里验证再迁移到真机。迁移过程中不要一次性替换所有环节而是先人工操作演示对比模型输出和真实轨迹的差距。如果仿真和真机的视觉差异较大可以在仿真中加入域随机化也可以采集少量真机数据做微调。迁移不是“能不能成功”的二元问题而是一个逐步逼近的过程。8.4 关注模型鲁棒性和对抗攻击防御随着 VLA 模型接入实际系统模型安全问题越来越重要。攻击者如果能够篡改图像输入或指令内容模型可能输出完全错误的动作。在实际项目中要考虑以下问题指令输入是否来自可信通道是否需要增加内容校验相机图像是否存在被遮挡、注入的可能性模型对异常输入的应对策略是什么默认安全动作还是拒绝执行现阶段 VLA 对抗攻击防御的研究还在早期但工程上至少应该做异常输入检测和行为边界约束。9. 总结与后续学习方向回到开头的问题。VLA 学习之所以难不是因为它需要背大量公式而是因为它横跨视觉、语言、决策、机器人多个领域任何一块知识缺失都会在某个环节突然卡住。但反过来说一旦你通过“基础补课、动手跑通、评测反馈、项目深耕”这条路径形成完整认知再去看新的 VLA 论文基本上都能在半小时内定位到它的核心创新点。这里也建议你把视频教程作为路线参考之一而不是唯一依赖。真正让你学会 VLA 的是你亲手处理数据、跑通训练、在仿真和真机上反复调试的完整过程。后续值得继续深入的方向有这么几个你可以根据自己的兴趣选择力觉与触觉模态融合。ForceVLA 这类研究把末端六维外力作为 VLA 的一等模态意味着 VLA 正在从“视觉-语言驱动”走向“多物理量融合驱动”。如果你对机器人接触操作感兴趣这会是一个非常有价值的切入点。预训练模型与二次开发。RDT 为代表的预训练大模型降低了下游团队的定制成本。关注如何在自己的机器人平台上接入和大模型适配是目前工业界需求很高的技能。模型轻量化与部署。VLA 模型要在真实机器人上实时运行需要考虑模型规模、推理速度和硬件约束。这是一个偏工程的方向但价值很大。具身智能标准体系。随着行业逐步成熟人形机器人与具身智能领域已经开始形成标准体系文件。关注标准动态能让你在项目设计和交付时减少踩坑。如果你准备入局这个方向我的建议很直接不要追求把所有论文读完先跑通一个最小闭环再在闭环基础上逐渐扩展。VLA 这个领域的门槛没有想象中那么高但它需要用实践去验证认知而不是用收藏夹去积累资料。收藏几十篇论文不会让你进步亲手训练一个模型、调试一个失败案例才会。