UniAct:清华团队突破!跨平台机器人通用模型,仅需50条数据就能快速适配新环境

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 "机器人开发者必看!清华黑科技打破行业瓶颈:1个模型控制所有机器人类型"

大家好,我是蚝油菜花。当同行还在为不同机器人重复开发代码时,清华团队已经用AI统一了机器人行为范式!

你是否经历过这些崩溃瞬间:

  • 🤖 工业机械臂和服务机器人的控制逻辑天差地别
  • ⏳ 适配新机型要重新标注上千条示教数据
  • 💻 14亿参数的大模型跑起来像老牛拉破车...

今天带来的 UniAct 具身智能框架,正在引发机器人开发范式革命!这个由清华、商汤、北大联合打造的开源项目,通过三大创新点重构行业规则:

  • 原子行为统一编码:把"移动""抓取"等基础动作转化为跨平台通用指令
  • 轻量级高性能架构:0.5亿参数碾压14亿级模型,推理速度提升300%
  • 50条数据快速适配:新机型调试从数月缩短到一杯咖啡的时间

已有开发者用它同时控制机械臂和四足机器人完成协同作业,接下来我们将详解如何用开源版本搭建你的跨平台机器人帝国!

🚀 快速阅读

UniAct 是一个新型的具身基础模型框架,旨在解决不同机器人之间的行为异构性问题。

  1. 核心功能:通过通用行为空间实现跨平台控制,支持快速适应新环境和机器人。
  2. 技术原理:基于向量量化构建通用动作空间,结合视觉语言模型提取通用行为,并通过异质解码器实现跨平台控制。

UniAct 是什么

UniAct 是由清华、商汤、北大、上海AI Lab联合推出的具身基础模型框架,旨在解决不同机器人之间的行为异构性问题。通过学习通用行为,UniAct 能够捕捉不同机器人共享的原子行为特征,消除因物理形态和控制接口差异导致的行为异构性。

UniAct 的架构包括通用行为提取器、通用行为空间和异构解码器。通用行为提取器基于视觉语言模型,通过观察和任务目标提取通用行为;通用行为空间以向量量化码本形式实现,每个向量代表一种原子行为;异构解码器将通用行为翻译为特定机器人的控制信号。

UniAct 的主要功能

  • 通用动作编码:UniAct 将不同机器人的原子行为(如"移动到目标位置"或"避开障碍物")通过向量量化形成一个通用的 codebook,每个 token 代表一种可跨平台共享的通用技能。
  • 轻量化架构与高效性能:UniAct-0.5B 模型仅需 0.5 亿参数,在真实与模拟环境的任务测试中,表现已经超过了参数达到 14 亿的 OpenVLA 模型。
  • 快速适应新环境和机器人:UniAct 仅需 50 条专用示教数据即可完成模型在新环境中的微调,能快速适应新机器人和控制接口。
  • 跨领域数据利用:UniAct 通过通用行为空间,能更好地利用跨领域的数据进行训练,在不同机器人和环境中实现更高效的泛化。
  • 一致的行为模式:在不同的部署场景和机器人类型上,同一个通用动作可以表现出一致的行为模式。

UniAct 的技术原理

  • 通用动作空间(Universal Action Space):UniAct 通过向量量化(Vector Quantization)构建了一个离散的通用动作空间。这个空间被设计为一个向量化的码本(codebook),每个向量嵌入代表一种通用的原子行为。
  • 通用动作提取器(Universal Action Extractor):UniAct 基于视觉语言模型(VLM)的通用动作提取器来识别和提取通用动作。提取器在给定观察结果和任务目标的情况下,输出选择通用动作的概率。
  • 异质解码器(Heterogeneous Decoders):为了将通用动作翻译为特定机器人的可执行命令,UniAct 引入了异质解码器。这些解码器针对不同的机器人平台进行设计,能够根据机器人的具体特征将通用动作转换为具体的控制信号。
  • 轻量化架构与高效训练:UniAct 采用了轻量化的模型架构,即使在低参数设置下也能保持良好的性能。UniAct 通过行为克隆损失进行训练,并根据动作标签的性质选择合适的损失函数。

如何运行 UniAct

1. 安装依赖

bash 复制代码
git clone https://github.com/2toinf/UniAct-Preview.git
cd UniAct-Preview
pip install -r requirements.txt

2. 加载模型

首先从 [Model Zoo](#Model Zoo "#model-zoo") 下载预训练的 UniAct 模型。

python 复制代码
import models.UniAct_V1
from timm.models import create_model
uniact_model = create_model("UniAct_05B_CodeBook_256_V1")

# 加载预训练的通用动作提取器 / 视觉骨干 / 码本
uniact_model.load_state_dict(torch.load("model path here"), strict=False)

# 加载特定机器人的解码器
uniact_model.load_state_dict(torch.load("decoder path here"), strict=False)

3. 准备输入

python 复制代码
from datasets.utils import LLAVAOV_PREPROCESSOR, R18_PREPROCESSOR
from PIL import Image

proprios = None # 默认禁用 proprios,用于 ACT 解码器(需要归一化)
language_instruction = "your language instruction here"
image_list = ["image-view1 path here", "image-view2 path here"]
img_np = []
img_tensor = []
for image in image_list:
    with Image.open(image) as img: 
        img = img.convert('RGB')
    img_np.append(np.asarray(img))
    img_tensor.append(R18_PREPROCESSOR(img))

img_np = np.stack(img_np),
img_tensor = torch.stack(img_tensor),

text = [LLAVAOV_PREPROCESSOR.apply_chat_template([
            {
                "role": "user",
                "content": [
                    {"type": "video"},
                    {"type": "text", "text":  language_instruction},
                ]
            }], add_generation_prompt=True)]

video = [np.expand_dims(img_np[0], axis=0)] # 仅使用主视图进行提取!
inputs = LLAVAOV_PREPROCESSOR(videos=video, text=text, return_tensors="pt", padding=True)

inputs = {'inputs': inputs.to('cuda', torch.bfloat16),
        'images': img_tensor.unsqueeze(0).to('cuda', torch.bfloat16),
    }
if proprios is not None: inputs['proprios'] = proprios.to('cuda', torch.bfloat16)

4. 模型推理

python 复制代码
pred_action = uniact_model.infer(
    domain_name = "libero-1-rgb", # 检查 model_config.py 中的 domain_name
    **inputs
)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关推荐
重生之我要成为代码大佬3 分钟前
神经网络基础
人工智能·深度学习·神经网络
cxr8285 分钟前
龙虾长程任务测试 —— 撰写零人公司自动化运营实践研究报告
运维·人工智能·自动化·openclaw
key_3_feng6 分钟前
PolarDB for AI RAG系统建设方案
人工智能·polardb
mit6.8247 分钟前
生成式推荐GR4AD
人工智能
网络工程小王8 分钟前
【提示词工程和思维链的讲解】学习笔记
人工智能·笔记·学习
我的Doraemon16 分钟前
大模型是怎么被训练出来的?
人工智能·深度学习·机器学习
SomeB1oody17 分钟前
【Python深度学习】1.1. 多层感知器MLP(人工神经网络)介绍
开发语言·人工智能·python·深度学习·机器学习
枕石 入梦20 分钟前
【源码解析】OpenClaw 多渠道 AI 助手网关的架构设计与核心原理
人工智能·openclaw·小龙虾
财经资讯数据_灵砚智能28 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月6日
大数据·人工智能·python·信息可视化·语言模型·自然语言处理·ai编程
逻极35 分钟前
Windows平台Ollama AMD GPU编译全攻略:基于ROCm 6.2的实战指南(附构建脚本)
人工智能·windows·gpu·amd·ollama