Blog(으)로 돌아가기

오픈 엑스 인보디먼트: 모든 것을 바꾼 로봇 데이터 세트

오픈 X-Embodiment은 다음과 같이 설명했습니다. 22개의 로봇 실시예, 1M+ 궤도, RT-X에서 교차 실시예 전송 증거, 데이터 세트를 어떻게 접근하고 사용하는지, 제한 사항, 그리고 다음으로 무엇을 할 것인가.

[← 블로그]

오픈 X-Embodiment은 가장 큰 오픈 콜라보레이션 로봇 학습 데이터 세트입니다. 그것은 많은 다양한 로봇의 데이터에 대한 훈련이 단일 로봇 훈련보다 새로운 로봇에 더 나은 정책을 전달하는 정책을 생산한다는 첫 번째 엄격한 증거를 제공했습니다.

오픈 엑스 인체 는 무엇 입니까?

오픈 X-Embodiment (OXE) 는 22개 이상의 다양한 로봇 실시예에서 수집된 로봇 조작 시범의 통일 데이터 세트입니다. 프랭카 에미카, 트로센 로봇 (WidowX, ViperX), 유니버설 로봇 (UR5), 쿠카, 구글의 로봇 함대 등 많은 다른 회사들의 무기들이 포함됩니다. 데이터 세트는 수백 개의 다른 조작 작업을 다루는 100만 에피소드 이상을 포함합니다. 수집, 배치, 드래프트와 캐비네트를 열기, 액체를 흘리는 것, 표면을 지우기, 물체를 쌓는 것 등.

이 프로젝트는 30개 이상의 연구 기관의 협업으로, 구글 딥마인드가 주도했으며, 스탠퍼드, UC 버클리, 카네기 멜론, MIT, 컬럼비아, ETH 취리히 등에서 주요한 기여를 했다. 각 연구소는 기존의 시범 데이터 세트를 제공했으며, 이후 RLDS (Robot Learning Dataset Specification) 형식으로 표준화되었다. 전체 데이터 세트는 Google 클라우드 스토리지에 호스팅되어 있으며 연구용으로 무료로 사용할 수 있습니다.

이름의 "X"는 교차 인체체화를 뜻한다. OXE의 정의적 야망은 단지 대규모 데이터 세트를 만드는 것이 아니라 여러 로봇의 데이터에 대한 훈련이 단일 로봇의 데이터에 대한 훈련보다 더 나은 정책을 만들어내는 것을 입증하는 것입니다. 이 가설은 정확한 것으로 밝혀졌으며 증거는 로봇 데이터에 대한 분야가 어떻게 생각하는지 다시 형성했습니다.

왜 중요 합니까? RT-X 결과

OXE 논문 (Padalkar et al., 2023) 에서의 획기적인 발견은 RT-X 모델, 특히 RT-1-X 및 RT-2-X의 성능이 전체 다체체 데이터 세트에 훈련되었다.

OXE 데이터에 훈련된 RT-1-X (소소하고 효율적인 모델) 은 여러 로봇 플랫폼에서 수행된 평가 작업에서 단일 로봇 전문 RT-1 모델보다 약 50% 더 좋은 성과를 거두었습니다. 이것은 주요 결과였습니다. 22 개의 다른 로봇의 데이터에 훈련된 단일 일반 모델은 그 로봇의 데이터에만 훈련된 모델보다 개별 로봇에 더 좋은 성과를 거두었습니다. 메커니즘은 크로스 인보디먼트 데이터로 모델이 인보디먼트-아고스틱 조작 표현을 배울 수 있도록 강요하고 시각적 이해와 작업 개념에 강력한 전초를 효과적으로 제공합니다.

RT-2-X (이 훨씬 더 큰 PaLM-E 시각 언어 모델에 기반을 둔) 는 훈련 세트에 존재하지 않는 로봇 실시예에 특히 인상적 인 제로샷 일반화와 함께 더욱 강력한 크로스-인체화 전송을 보여주었습니다. 고수된 로봇 타입에 평가되었을 때 RT-2-X는 어떤 정비 없이 의미 있는 작업 완수률을 달성했습니다. 이는 단일 로봇 데이터에만 훈련된 모델에게는 불가능한 일입니다.

이 결과는 핵심 가설을 확인했습니다. 로봇 조작 지식은 부분적으로 실시예-아고스트입니다. 프랭카 팔이 드래스를 열고 WidowX 팔이 컵을 뜯는 정책을 통해 UR5에 전송되는 드래스와 컵에 대해 무언가를 배웠지만, UR5는 완전히 다른 운동학이 있습니다.

이 논문 에서 얻은 주요 연구결과

** 구현형 간 전송되는 것:** 시각적 장면 이해 (물질 인식, 공간적 관계를 이해하는) 은 가장 강하게 전송되었다. 높은 수준의 작업 의미학 ("픽업," 오픈," 배치") 은 잘 전송되었다.

** 잘 전달되지 않는 것:** 정확한 잡기 구성 (물질 표면과 관련하여 손가락의 정확한 위치) 은 실시예에 대한 특정 데이터를 필요로 한다. 접촉 동학 (잡기 힘의 모뮬레이션, 삽입 힘) 은 전송되지 않는다. 미세 운동 제어 (세미 미터 정밀 움직임) 은 실시예에 대한 미세 조정이 필요합니다.

** 데이터 유통 문제:** OXE 데이터 세트는 실시예 및 작업에 걸쳐 균일하게 분산되지 않습니다. 일부 연구소는 수십만 개의 에피소드를 기여했으며 다른 사람들은 수백 개의 에피소드를 기여했습니다. 작업 유통은 테이블톱 선택과 장소에 크게 기울입니다. 이러한 불균형에도 불구하고, 크로스 인보디먼트 혜택은 강했지만, 가장 큰 혜택은 강력한 전문가를 훈련시킬 충분한 데이터를 가진 지배적인 인보디먼트보다는 미흡한 인보디먼트 (이 인보디먼트 전송에서 가장 많이 얻은) 에 쌓였습니다.

** 규모는 도움이 되지만 다양성은 더 많은 도움을 줍니다:** 훈련 집합에서 실시예의 수를 변화시키는 추방 연구들은 전체 에피소드 수를 일정하게 유지하면서 더 많은 에피소드를 추가하는 것이 더 적은 에피소드를 가진 새로운 실시예의 추가로 더 많은 에피소드를 추가하는 것이 지속적으로 더 나은 것으로 나타났습니다. 이 다양성-대량 발견은 로봇 학습에서 가장 많이 인용되고 실질적으로 가장 중요한 결과 중 하나가되었습니다.

데이터 세트를 어떻게 이용하고 이용할 수 있습니까?

OXE는 Google 클라우드 스토리지에서 호스팅되며 tensorflow_datasets (TFDS) API를 사용하여 다운로드 할 수 있습니다. 데이터셋은 RLDS 형식을 사용하여 각 에피소드는 관찰 사전 (사진, 공동 상태, 지탱 상태), 액션 벡터, 보상 신호 및 자연어 작업 해설을 포함하는 단계의 순서입니다.

** 시작:**

  • tensorflow_datasets: T4을 설치합니다
  • OXE GitHub 저장소 또는 TFDS 카탈로그에서 사용 가능한 하위 데이터 세트를 탐색하십시오
  • 특정 하위 데이터 세트를 로드: T5 (RT-1 프랙탈 데이터 세트에 대해 가장 큰 구성 요소 중 하나)
  • PyTorch 사용자: 레로봇의 변환 유틸리티를 사용하여 RLDS 데이터를 레로봇 파켓 형식으로 변환하거나 PyTorch 직접 로딩을 위해 oxe_torch_dataloader를 사용하십시오.

** 실용적인 사용 패턴:**

  • 기본 모델의 사전 훈련: 전체 OXE 데이터 세트를 다운로드하십시오 (또는 10개 이상의 실시예들을 포함하는 다양한 하위 세트). 일반적인 조작 표현을 배우기 위해 이 데이터에 따라 모델을 훈련하십시오. 다음 작업에 대한 데이터를 세밀하게 조정하십시오. 이것은 처음부터 훈련보다 작업에 대한 시범이 5-10배 덜 필요합니다.
  • ** 작은 데이터 세트를 확장:** 특정 로봇에 100~200개의 시범을 할 경우, 훈련 혼합에 관련한 OXE 하위 데이터 세트를 추가하십시오. 유사한 실시예 ( 같은 지갑 타입, 비슷한 팔 기하학) 및 유사한 작업 범주에서 하위 데이터 세트를 집중하십시오.
  • 차체체 전송을 평가: OXE의 표준 평가 프로토콜과 수장된 작업 세트를 사용하여 출판된 기본 라인에 대한 모델의 일반화 능력을 비교하십시오.

제한: OXE 에 포함되지 않는 것

OXE는 변화의 요소이지만 팀들이 그것에 의존하기 전에 이해해야 할 실제 한계가 있습니다.

** 작업 다양성은 왜곡되어 있다.** 대부분의 에피소드는 테이블톱 픽 앤 플레이스, 더 작은 부분으로 드래프트/카비네트 개통, 지우 및 붓을 포함합니다. 복잡한 다 단계 작업, 쌍방향 작업 및 모바일 조작 작업이 미흡합니다. OXE의 작업 분포에 의해 배치 작업이 잘 다루지 않으면 사전 훈련 혜택이 제한됩니다.

** 하드웨어는 연대되어 있습니다.** 많은 연구소들은 2020~2023년에 사용된 하드웨어를 사용했지만 지금은 구제되어 있습니다. 저해상도 카메라, 오래된 리얼센스 모델, 그리고 2026년에 가장 많이 사용되는 바이퍼X/프랑카 설정과 다른 팔 구성. 오래된 카메라의 시각적 기능은 현대 카메라 설정의 시각적 배포와 완벽하게 일치하지 않을 수 있습니다.

무엇갈리는 능력은 제한되어 있다. 거의 모든 OXE 데이터는 평행 턱잡이를 사용한다. 다 손가락 손으로 하는 우수한 조작은 기본적으로 데이터 세트에서 존재하지 않는다. 만약 당신의 응용 프로그램이 우수한 손 조작을 포함한다면, OXE는 제한된 직접적인 이점을 제공하지만 시각적 이해 구성 요소는 여전히 전송한다.

언어 해설의 질은 다양하다. 언어 해설은 신중하고 구체적인 설명 ("표의 왼쪽에서 빨간 잔을 뽑아") 부터 일반적 표기 ("물질을 뽑아") 까지 다양하다. 이 불합합성은 추후 처리 없이 원료 데이터 세트에 언어 조건화된 훈련의 효과를 제한한다.

무엇이 강도와 동력을 나타내는 데이터도 없습니다. OXE 에피소드의 대다수는 관중 위치와 카메라 이미지가만 포함되어 있습니다. 접촉이 풍부한 작업에 중요한 강도와 동력을 나타내는 센서 데이터는 대부분의 서브 데이터 세트에 존재하지 않습니다. 이것은 잡기력을 조절하거나 준수하는 객체를 처리해야 하는 훈련 정책에 OXE의 유용성을 제한합니다.

LeRobot (파이톤) 로 OXE 데이터를 로딩

# Load an OXE sub-dataset via LeRobot's HuggingFace integration
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset

# Load the Bridge V2 subset (WidowX data, 60K+ episodes)
dataset = LeRobotDataset("lerobot/bridge_orig")

# Inspect dataset structure
print(f"Number of episodes: {dataset.num_episodes}")
print(f"Keys per frame: {dataset[0].keys()}")
# Typical keys: observation.images.image_0, observation.state, action, ...

# Load a specific episode
episode = dataset.filter(lambda x: x["episode_index"] == 42)
for frame in episode:
    obs_image = frame["observation.images.image_0"]  # PIL Image or tensor
    state = frame["observation.state"]  # joint positions
    action = frame["action"]  # action vector
    # Process as needed for your training pipeline

# For TFDS-native loading (alternative):
# import tensorflow_datasets as tfds
# ds = tfds.load('fractal20220817_data', split='train')
# for episode in ds.take(10):
#     steps = episode['steps']
#     for step in steps:
#         image = step['observation']['image']
#         action = step['action']

OXE+ 데이터에 대한 기초 모델을 정렬

업무에 대한 정책 개선을 위해 OXE 데이터를 사용하는 표준 파이프 라인은 세 단계로 이루어집니다.

단계 1: 관련 OXE 하위 데이터 세트를 선택하십시오. 모든 OXE 데이터는 작업에 동등하게 유용하지는 않습니다. 비슷한 로봇 유형 ( 같은 지갑 유형은 동일한 팔 운동학보다 중요합니다), 유사한 작업 카테고리 (중치 데이터) 를 기반으로 하위 데이터 세트를 선택하십시오. 와이도우X 기반의 선택 장소 프로젝트에서 브리지 V2 및 버클리 케이블 라우팅 데이터 세트가 가장 관련이 있습니다. 프랭카 기반의 프로젝트에서는 프랙탈 및 TOTO 데이터 세트가 가장 강합니다.

** 2 단계: 사전 훈련 또는 사전 훈련된 무게를 사용한다.** Octo 또는 OpenVLA를 사용한다면, 사전 훈련된 무게는 이미 OXE 데이터를 포함하고 있다. 이러한 무게에서 시작하여 정렬을 진행한다. 사용자 지정 아키텍처를 훈련한다면, 선택된 OXE 하위 데이터 세트를 100-200 시대 동안 (물론 4x A100 GPU에 따라 4x A100 GPU에 따라 48 시간) 미리 훈련한다. 작업에 대한 데이터의 일부에 대한 유효성 손실을 모니터링하여 목표 작업의 비용으로 OXE 분포에 과도하게 적합하다는 것을 감지합니다.

단계 3: 작업에 대한 데이터에 대한 정밀 조정. 작업에 대한 설명에 대한 사전 훈련 모델을 더 낮은 학습률을 사용하여 정밀 조정 (일반적으로 사전 훈련보다 10배 낮습니다: 1e-5 Octo, 5e-6 OpenVLA). 작업에 대한 모든 데이터와 가장 관련한 OXE 데이터의 10-20% 혼합을 사용하여 일반적인 조작 지식을 재앙적으로 잊을 수 없도록하십시오. 정렬은 일반적으로 50200 시기를 필요로 합니다. (A100에서 28시간) 10시마다 수행된 작업에 대한 테스트 에피소드를 평가하고 가장 좋은 체크포인트를 선택하십시오.

벤치마킹 결과: OXE 훈련된 모델과 전문가가

Model 사전 학습 Data Fine-Tune Data In-Dist. Success Novel Object Success
ACT (from scratch) None 200 task demos 82% 28%
RT-1-X Full OXE 200 task demos 88% 52%
Octo (fine-tuned) Full OXE 200 task demos 86% 48%
OpenVLA (fine-tuned) Full OXE 200 task demos 90% 58%

패턴은 일관성: OXE 사전 훈련은 분포의 온화한 향상 (5-10%) 와 신작 객체 일반화 개선 (20-30 퍼센트 포인트) 을 제공합니다. 분포의 장점은 더 많은 정비 데이터로 좁아집니다. 그러나 OOD 장점은 500+ 작업 특정 시범에도 계속됩니다.

OXE 데이터 세트 통계: 숫자에 따라

OXE의 구성을 이해하는 것은 팀들이 그들의 사용 사례에 가장 적합한 하위 데이터 세트를 선택하는데 도움을 줍니다.

Statistic Value Notes
Total episodes ~1.1 million Growing as labs continue to contribute
Robot embodiments 22+ Franka, WidowX, UR5, KUKA, Google fleet, etc.
Contributing institutions 33 Led by Google DeepMind, Stanford, UC Berkeley
Distinct task categories ~500 Heavily skewed toward pick-place (~60% of episodes)
Total storage size ~12 TB (raw) Most sub-datasets are 5-200 GB individually
Largest sub-dataset Fractal (RT-1): ~130K episodes Google's proprietary robot fleet data
Bridge V2 (WidowX) ~60K episodes 24 environments; most popular for WidowX fine-tuning
Language annotations ~70% of episodes Quality varies significantly across sub-datasets
Camera resolution range 128x128 to 640x480 Most sub-datasets standardize to 256x256 or 224x224
Force-torque data < 5% of episodes Major gap; limits contact-learning applications

RCSV 데이터 포맷 호환성

RCSV 데이터 수집 출력은 OXE와 주요 교육 프레임워크와 상호작용할 수 있도록 설계되었습니다.

  • 국민 형식: HDF5 (레로봇 호환성). RCSV의 주요 출력 형식은 HDF5입니다. 레로봇의 에피소드 구조에 조직되어 있습니다. 각 에피소드는: T6 (RGB, 640x480, 30fps), T7 (RGB, 640x480, 30fps), T8 (공동 위치 + 속도 + 지갑), T9 (포스 토크, 6 축, 500Hz 30Hz로 샘플링), T10 (공동 위치 목표 또는 델타 EEF), 및 T11 (자연 언어 문자열).
  • RLDS 수출. OXE 호환성 및 TFDS 기반 교육 파이프라인에서, RCSV는 표준화된 관찰, 행동 및 언어 필드와 RLDS 형식으로 HDF5 에피소드를 지도하는 단일 명령 RLDS 변환을 제공합니다. 이 수출은 RCSV- 수집된 데이터를 OXE에 기여하거나 기존 OXE 하위 데이터 세트와 혼합하는 것이 필요합니다.
  • LeRobot Parquet 수출. Hugging Face-native 작업 흐름에 있어서, RCSV는 관련 메타데이터 YAML와 함께 LeRobot의 Parquet 형식으로 수출합니다. 이것은 ACT, 디스포지션 정책 및 VLA 훈련에 대한 T12과 직접 통합됩니다.
  • ** 원료 비디오 + CSV.** 사용자 지정 파이프라인에서 RCSV는 카메라당 원료 MP4 비디오 및 시간표 Joint 상태, F/T 판독 및 지갑 상태의 CSV 파일을 수출할 수 있습니다. 이것은 가장 유연한 형식이지만 팀에서 자체 데이터 로딩 코드를 작성해야합니다.

RCSV 데이터와 전형적인 OXE 하위 데이터 세트 사이의 주요 차이점은: 각 RCSV 에피소드는 동기화된 전력 동전 데이터 (F/T 센서가 하드웨어에 존재할 때), 캘리브레이션된 카메라 내적 및 외적, 표준화된 프로토콜을 따르는 언어 해설을 포함한다. 이러한 특징은 RCSV 데이터를 특히 고품질의 정렬 데이터로 OXE 사전 훈련에 추가하는 가치가 있습니다.

RCSV 데이터 는 OXE 를 어떻게 보완 하는 가

OXE는 폭을 제공합니다. 많은 실시예, 많은 작업, 많은 환경. RCSV 데이터 수집은 모든 에피소드에서 내적 및 외적 양식을 가산한 일관된 카메라 설정, 시각 및 자기 수용 스트림과 동기화된 강도 동전 센서 데이터 (거래 모든 OXE 데이터에서 অনুপস্থিত), 목표 작업 카테고리 내에서 체계적인 객체 다양성 (분별별로 30+ 객체, OXE 하위 데이터 세트에서 전형적인 5-10 개) 및 표준화된 프로토콜을 따르는 언어 해설을 제공함으로써 이 격차를 채웁니다.

특정 배포 목표를 가진 팀들을 위한 권장 접근법: 시각 척추와 일반적인 조작 지식을 위해 OXE를 미리 훈련한 기초 모델 무게를 사용하고, 배포 수준의 신뢰성을 위해 필요한 깊이와 품질을 제공하는 RCSV에 수집된 작업에 대한 데이터와 세밀하게 조정합니다.

데이터셋 구성 심층 다이빙: OXE에 실제로 무엇이 있습니까?

모든 OXE 하위 데이터 세트가 동등하게 만들어지지 않습니다. 구성을 이해하는 것은 팀들이 사전 훈련에 적합한 하위 세트를 선택하고 비관적인 데이터에 대한 계산을 낭비하지 않도록 돕습니다.

Sub-Dataset Robot Episodes Tasks Best For
Fractal (RT-1) Google Everyday Robot ~130K Kitchen manipulation, pick-place Visual diversity, mobile manipulation
Bridge V2 WidowX 250 ~60K 24 environments, pick-place, sweeping WidowX fine-tuning, env diversity
TOTO Franka Panda ~1K Tabletop manipulation Franka fine-tuning baseline
Kuka KUKA IIWA ~3K Grasping, stacking Industrial arm benchmarks
BC-Z Google Robot ~25K 100+ tasks with language Language conditioning, multi-task
Cable Routing WidowX / Franka ~2K Deformable object manipulation Contact-rich, deformable tasks
Jaco Play Kinova Jaco ~1K Pick-place, drawer open Kinova fine-tuning, 3-finger gripper data

OpenArm 1 (6-DOF 병렬 턱잡이를 사용하는 RCSV 고객) 에 대해, 사전 훈련 혼합물에 가장 관련 있는 OXE 하위 데이터 세트는 브리지 V2 (동종 최종 효과자 유형) 및 BC-Z (언어 조건 정책에 대한 언어 해설) 이다. 프랙탈 데이터를 추가하면 로봇 형태가 크게 다르지만 추가 시각 다양성을 제공합니다.

실용적인 데이터 혼합: OXE와 작업별 데이터의 균형을 맞추는 방법

OXE 사전 훈련 데이터를 작업에 대한 미세조정 데이터와 결합할 때, 혼합 비율은 상당히 중요합니다. 미세조정 과정에서 너무 많은 OXE 데이터는 작업에 대한 학습을 희석시킬 수 있습니다. 너무 적은 것은 일반적인 조작 지식을 재앙적으로 잊을 수 있습니다.

** 권장 혼합 스케줄:**

  • 단계 1 (시대 1~50): 80% OXE, 20% 작업별. 모델은 적응을 시작하면서 일반적인 지식을 유지합니다.
  • ** 2단계 (시대 51~150):** 40% OXE, 60% 작업 특성. 모델은 넓은 시각적 특징을 유지하면서 전문화됩니다.
  • ** 3단계 (epochs 151-200):** 10% OXE, 90% 작업 특화.

이 단계적 스케줄은 우리의 평가에서 새로운 객체 일반화에 있어서 고정 비율 혼합을 5-8% 이상으로 지속적으로 우월합니다. 3 단계의 OXE 데이터는 작업에 대한 특정 행동 학습에 방해가 되지 않고 정교한 배포에 과도하게 적합하지 않도록 하는 조절자 역할을 합니다.

# Graduated data mixing for OXE + task-specific fine-tuning
from torch.utils.data import ConcatDataset, WeightedRandomSampler

def get_sampler(epoch, oxe_dataset, task_dataset, total_epochs=200):
    """Returns a weighted sampler with epoch-dependent mixing ratio."""
    progress = epoch / total_epochs
    if progress < 0.25:
        oxe_weight, task_weight = 0.8, 0.2
    elif progress < 0.75:
        oxe_weight, task_weight = 0.4, 0.6
    else:
        oxe_weight, task_weight = 0.1, 0.9

    weights = ([oxe_weight / len(oxe_dataset)] * len(oxe_dataset) +
               [task_weight / len(task_dataset)] * len(task_dataset))
    combined = ConcatDataset([oxe_dataset, task_dataset])
    sampler = WeightedRandomSampler(weights, num_samples=len(combined))
    return combined, sampler

어떻게 자신의 데이터를 사용 할 수 있습니까?

OXE에 기여하는 것은 커뮤니티 데이터 세트를 강화하고 더 넓은 연구 커뮤니티에서 귀하의 데이터를 인용하고 사용할 수 있는 메커니즘을 제공합니다. 기여 과정은 여러 단계를 포함한다.

  • ** RLDS에 데이터를 포맷하십시오.** 각 에피소드는 RLDS 스키마에서 관찰 (사진 및 자기 인식), 액션 및 언어 해설을 포함해야 합니다. rlds_creator 라이브러리는 변환 유틸리티를 제공합니다.
  • ** 단계별 언어 해설을 추가하십시오.** 각 단계마다 현재 작업에 대한 자연어 설명이 있어야 합니다. 이러한 해설은 언어 조건 모델에서 사용되며 포함되어야 합니다.
  • ** 데이터 세트를 문서화하십시오.** 데이터 세트 카드를 제공하여: 로봇 유형과 구성, 카메라 사양 및 배치, 수집 환경 설명, 작업 설명, 운영자 수와 훈련, 작업 당 에피소드 수를 제공합니다.
  • ** pull 요청을 제출하십시오.** OXE GitHub 저장소는 pull 요청을 통해 데이터 집합 기여를 받아 들인다. 검토 프로세스는 형식 준수, 데이터 품질 (부러진 에피소드, 극단적인 이상값이 없습니다) 및 문서의 완전성을 확인합니다.

RCSV의 [데이터 서비스]T18을 통해 귀하의 시범 사례가 수집되었다면, 우리의 플랫폼은 표준화된 메타데이터로 RLDS 호환된 수출을 생성하여 기여 프로세스를 단순화 할 수 있습니다. OXE 제출에 대한 데이터를 준비하는 방법에 대한 지침을 위해 [RCSV 팀]T19에 문의하십시오.

OXE 데이터를 사용 하는 데 있어서 흔히 발생하는 함락

OXE를 처음 채택하는 팀들은 종종 낭비 계산을 하는 문제들을 만나고 최적의 결과를 내지 않습니다.

  • OXE는 필터링 없이 전체 데이터 세트를 훈련합니다. OXE는 1M 에피소드 이상으로 구성되어 있으며, 많은 부분이 특정 작업에 비중이 있습니다. 모든 것에 대한 훈련은 소음을 추가하고, 비례적인 혜택 없이 훈련 시간을 1050배 증가시킵니다. 항상 먼저 관련 하위 데이터 세트를 필터링하십시오. 좋은 출발점: 비슷한 지잡기 유형과 작업 범주와 같은 3-5 하위 데이터 세트를 선택하여, 총 50K200K 에피소드를 제공합니다.
  • 행동 공간 정상화를 무시. 다른 OXE 하위 데이터 세트는 다른 행동 표현을 사용합니다: 절대 공동 위치, 델타 합동 위치, 절대 최종 효과자 포즈, 델타 최종 효과자 포즈 및 다양한 꽉 잡기 행동 형식. OXE 액션 정상화 유틸리티나 레로봇의 내장 변환 레이어를 사용하세요.
  • ** 카메라의 균일 배치를 가정한다.** OXE 하위 데이터셋마다 카메라 위치, 각 및 해상도는 크게 달라진다. 브리지 V2 (상하 카메라, 256x256) 에 미리 훈련된 모델은 손목 카메라에 640x480로 잘 전달되지 않을 수 있습니다. 사전 훈련 하위 데이터셋을 배치 카메라 구성과 최대한 가깝게 일치하십시오.
  • ** 가장 큰 부분 데이터 세트를 과중화.** 크기의 OXE를 지배하는 것은 프랙탈 (130K 에피소드) 이다. 에피소드별로 균일하게 샘플을 취하면 60% 이상의 훈련 배트들은 구글의 로봇 함대에서 나온 프랙탈 데이터로 구성됩니다. 목표 구현에 더 적합한 하위 데이터 세트 또는 더 작은 데이터 세트 중 균형을 맞춘 샘플링을 사용하십시오.
  • 언어 해설 품질 문제를 무시합니다. OXE 에피소드의 약 30%는 일반적 또는 실종된 언어 해설을 가지고 있습니다 ("오브젝트를 선택하세요"는 "왼쪽에서 빨간 잔을 선택하세요"). 언어 조건 정책에 대해 LLM 재표 표시 단계로 고품질 해설 (Bridge V2, BC-Z) 또는 프로세스 후 해설을 가진 하위 데이터 세트에 필터링하십시오.

행동 공간 정상화: 실용적인 지침서

OXE 하위 데이터 세트들 간의 행동 공간의 일관성이 가장 큰 실제적 도전 중 하나입니다.

# Action space normalization for mixed OXE training
import numpy as np

class ActionNormalizer:
    """Normalize actions from different OXE sub-datasets to a common space."""

    def __init__(self, target_space="delta_eef_6d"):
        self.target_space = target_space
        # Per-dataset statistics (computed from dataset metadata)
        self.stats = {}

    def register_dataset(self, dataset_name, action_mean, action_std, action_type):
        """Register per-dataset normalization statistics."""
        self.stats[dataset_name] = {
            "mean": np.array(action_mean),
            "std": np.array(action_std),
            "type": action_type,  # "abs_joint", "delta_joint", "abs_eef", "delta_eef"
        }

    def normalize(self, action, dataset_name):
        """Normalize action to zero-mean, unit-variance in target space."""
        s = self.stats[dataset_name]
        # Step 1: Convert to target action type (if needed)
        converted = self._convert_action_type(action, s["type"], self.target_space)
        # Step 2: Standardize using per-dataset statistics
        normalized = (converted - s["mean"]) / (s["std"] + 1e-8)
        return np.clip(normalized, -5.0, 5.0)  # Clip outliers

    def _convert_action_type(self, action, source_type, target_type):
        """Convert between action representations using FK/IK."""
        if source_type == target_type:
            return action
        # Conversion requires robot-specific FK/IK -- use URDF-based solver
        # This is dataset-specific and must be implemented per-embodiment
        raise NotImplementedError(
            f"Conversion from {source_type} to {target_type} "
            f"requires robot-specific FK/IK model"
        )

액션 정상화 도전은 Octo 및 OpenVLA와 같은 기초 모델이 매우 가치있는 이유 중 하나입니다. 그들은 내부적으로 데이터 세트 간 액션 정상화를 처리하고, 팀을 처음부터 구현하지 않도록합니다. 원료 OXE 데이터에 대한 사용자 지정 아키텍처를 훈련하고 있다면, 적절한 액션 공간 관리를 위해 1-2 주간의 엔지니어링 시간을 예산합니다.

평가 프로토콜: OXE 기본 기준에 대한 벤치마크

발표된 OXE 기준과 정교한 모델을 의미있게 비교하려면 RT-X 논문에서 표준화된 평가 프로토콜을 사용하십시오.

  1. ** 10-20개의 평가 구성**를 정의하고, 배포 (훈련 위치에서의 훈련 대상) 과 배포되지 않는 (신작 위치에서의 새로운 대상) 를 아우르는 등 모든 모델 평가에서 고정시켜두십시오.
  2. 정책 행동 및 환경 잡음을 고려하기 위해 구성에 따라 3개의 실험을 실행. 평균 및 표준차각을 보고한다.
  3. ** 표준 성공 기준을 사용:** 물체는 픽업 장소 작업에 3cm 이내에 목표 위치; 드래저/카비네트 각은 정형 작업에 10도 이내에 목표; 작업은 평균 인체 시범 기간의 2x 이내에 완료됩니다.
  4. ** 분포 및 OOD 성공률을 각각 보고**. 많은 논문에서는 분포 수만 보고되어 있어 오해가 될 수 있습니다. OOD 평가는 교차 인체 사전 훈련이 실제 가치를 보여주는 곳입니다.
  5. ** 발표된 기본 라인들에 비해서 비교:** ACT는 처음부터 (하단 경계), Octo는 미세하게 조정 (중반 범위) 과 OpenVLA는 미세하게 조정 (현행 모델의 상단 경계) 이다.

RCSV는 일반적인 작업 범주 (탁판 선택 장소, 드래프트 열기, 스택) 에 대한 표준화된 평가 세트를 제공합니다. 여기에는 물리적 객체, 위치 템플릿 및 점수 라브리크가 포함되어 있습니다. RCSV 인프라를 사용하는 다른 팀과 사과에서 사과 비교를 원한다면 이러한 평가 세트를 액세스하려면 저희에게 연락하십시오.

OXE 호환 데이터 세트를 구축

OXE 생태계에 데이터를 기여하거나 OXE 훈련된 모델과 호환되는 데이터 세트를 구축하는 것은 특정 데이터 형식과 메타 데이터 표준에 따라야 합니다. 여기 OXE 호환성을 위한 체크리스트가 있습니다.

  1. RLDS 형식을 사용하세요. OXE는 TensorFlow 데이터셋 (TFDS) 에 기반한 RLDS (Reinforcement Learning Datasets) 형식을 사용한다. 각 에피소드는: 관찰 (카메라 이미지, 자기 수용 상태), 액션 (끝 효과 포즈 델타 또는 관절 각), 언어 명령 (자연 언어 문자열) 및 보상/성공 신호를 포함한다. RCSV의 데이터 수출 파이프라인은 기본적으로 RLDS 준하는 출력을 생성합니다.
  2. ** 카메라 구성을 표준화.** OXE 모델은 특정 카메라 필드를 기대합니다. T13, T14 등으로 불리는 하나 이상의 RGB 이미지가 있어야 합니다. 해상도는 최소 256x256 (최저 320x240) 이어야 합니다.
  3. 공공공간으로 동작을 정상화하십시오. 7D 최종 효과 델타로 동작을 보고하세요: [dx, dy, dz, droll, dpitch, dyaw, gripper_open]. 미터에서 위치 델타, 방사선에서 회전 델타. 데이터 집합 문서에 로봇의 고유 동작 공간 (관동 각, 절대 위치, 등) 에서 변환을 포함하십시오.
  4. ** 풍부한 메타데이터를 포함합니다.** 데이터 세트: 로봇 모델, 지갑 타입, 카메라 모델, 작업 공간 차원, 작업 설명. 에피소드: 언어 명령, 성공/실패 레이블, 수집 날짜, 운영자 ID (명명확). 이 메타데이터는 OXE 훈련을 효과적으로 만드는 데이터 혼합 전략을 가능하게 합니다.
  5. 방영 전에 품질 게이트. 실패한 시범을 제거하십시오. (사실 예제 훈련에 대해 특별히 실패로 표시되지 않는 한) 모다리들 간의 시간표 동기화를 확인하십시오. 행동 표지가 관찰된 움직임에 올바르게 대응하는지 확인하십시오. 두 번째 해설자에서 5% 점포 체크는 체계적인 문제를 파악합니다.

RCSV는 모든 데이터 수집 작업에 표준 출력으로 OXE 호환 데이터 수출을 제공합니다. RCSV 데이터를 사용하는 팀은 즉시 OXE 훈련된 모델 (Octo, OpenVLA) 와 포맷 변환 없이 통합 할 수 있습니다. 우리는 또한 고객이 선택하면 공개 OXE 저장소에 익명화된 데이터 세트를 기여하여 모든 사람에게 유익한 커뮤니티 리소스를 확장합니다.

정렬 하는 OXE 모델: 단계별 가이드

대부분의 팀에서 OXE를 가장 실용적으로 사용하는 것은 작업에 대한 데이터에 OXE를 미리 훈련한 모델을 정렬하는 것입니다.

# fine_tune_octo.py -- Fine-tune OXE-pretrained Octo on task-specific data
from octo.model.octo_model import OctoModel
from octo.data import make_single_dataset

# Step 1: Load OXE-pretrained checkpoint
model = OctoModel.load_pretrained("hf://rail-berkeley/octo-base")

# Step 2: Prepare your task-specific dataset (RLDS format)
dataset = make_single_dataset(
    dataset_kwargs={
        "name": "my_robot_pick_place",
        "data_dir": "/data/my_dataset/1.0.0",
        "image_obs_keys": {"primary": "image_0", "wrist": "image_1"},
        "state_obs_keys": ["state"],
        "language_key": "language_instruction",
    },
    train=True,
)

# Step 3: Fine-tune with reduced learning rate
# Key: use 10x lower LR than pre-training to avoid catastrophic forgetting
model = model.finetune(
    dataset,
    learning_rate=3e-5,     # Pre-training used 3e-4
    batch_size=256,
    num_steps=10000,        # 50-200 demos typically need 5K-20K steps
    freeze_transformer=False,
)

# Step 4: Evaluate on held-out conditions
model.save_pretrained("/models/my_task_octo_finetuned")

** 비판적인 정렬 팁:**

  • 4+ A100 GPU를 가지고 있지 않으면 T15 (93M 파램) 로 시작하십시오. 이 경우 T16은 계산에 가치가 있습니다.
  • 10K 단계에 100개의 시범을 통해 정교하게 조정하는 것은 A100에서 2시간 정도 소요됩니다. 500개의 시범으로 8-12시간의 예산이 필요합니다.
  • 훈련 손실과 실제 세계 평가 모두 모니터링 합니다. 정교 조정 손실은 실제 세계 성능 평판이 떨어지는 동안 감소하거나 악화 될 수 있습니다.
  • 만약 당신의 로봇이 OXE에서 다른 기나 카메라 설정을 가지고 있다면, 새로운 실시예의 구체적인 특성을 모델에게 알려주는 데 추가적인 정렬 데이터를 (200+ 디모) 기획하십시오.

다음으로: DROID, 브리지 V2 및 그 밖

OXE는 이 원칙을 확립했습니다. 다음 세대의 데이터 세트는 이를 특정 방향으로 확장하고 있습니다.

DROID (Khazatsky et al., 2024) 는 환경 다양성에 초점을 맞추고 있다. 564 개의 환경과 86 개의 실험실에서 76,000 개의 시범이 실시되었으며, 특히 환경 다양성이 정책 일반화에 어떻게 영향을 미치는지 테스트하도록 설계되었습니다. DROID는 OXE를 보완합니다. OXE는 로봇 인체화 다양성을 극대화하고, DROID는 장관 및 환경 다양성을 극대화합니다.

** 브리지 V2** (Walke et al., 2023) 는 와이도우X 기반 조작을 위한 고품질의 집중형 데이터 세트를 제공합니다. 24개의 환경에서 6만개 이상의 시범을 통해 철저한 품질 통제를 수행합니다. 브리지 V2는 와이도우X 하드웨어에 배치하는 팀들을 위한 정밀 조정 데이터 세트입니다. 이는 강력한 배포, 특히 하나의 실시예에 필요한 볼륨과 환경 다양성을 제공합니다.

** 오픈-아디언트 데이터 세트.** 커뮤니티는 현재 미흡한 영역을 위한 OXE 스타일의 집합을 위해 노력하고 있습니다. 다발 손가락 손으로 능숙한 조작, 쌍방향 작업, 모바일 조작, 야외/현장 로봇. RCSV는 이러한 새로운 집합 노력에 우리의 쌍방향 및 능숙한 조작 수집 캠페인에서 데이터를 적극적으로 기여하고 있습니다.

더 넓은 궤도는 웹 규모의 텍스트 코퍼스와 동등한 로봇 기술에 대한 것입니다. OXE는 큰 언어 모델을 가능하게했습니다. 개념의 증거였습니다. 이제 문제는 커뮤니티가 진정으로 일반주의 로봇 기반 모델을 훈련시키는 데 필요한 다양성과 규모를 달성 할 수 있는지, 그리고 얼마나 오래 걸릴 것인가입니다. RCSV의 [데이터 수집 인프라] (T20) 는 오늘날의 로봇 시스템을 구축하는 팀들에게 즉각적인 실질적 가치를 제공하는 동시에 이러한 노력에 기여하도록 설계되었습니다.

관련 독서

  • [로봇 학습의 확장 법칙: 우리가 2026년에 알고 있는 것]
  • [LeRobot 프레임워크: 시작 가이드]
  • [전반화 도전: 왜 로봇 정책이 여전히 실패하는 지]
  • [로봇 학습 비디오: 2026년 최첨단 기술]
  • [로봇의 모방 학습: 시범 시범부터 배포까지]
  • [RCSV 데이터 수집 서비스]
  • [RCSV 데이터 세트]

OXE- 호환 데이터 수집

RCSV 데이터 수집은 처음부터 OXE 호환적입니다. 표준화된 카메라, RLDS 준비된 수출 및 품질 관측 된 해설. 우리의 데이터를 직접 사전 훈련에 사용하거나 커뮤니티에 기여하십시오.

[데이터 서비스를 탐구]