💻 코드 | 📊 데이터 | 🤖 모델 | 📖 문서화
로봇들은 빨래 개기, 부품 분류하기, 낯선 물체 다루기 등을 학습하고 있습니다. 하지만 이러한 시연(demonstrations)은 종종 매우 협소하며, 로봇이 무엇을 배웠는지 또는 왜 실패했는지를 설명하지 못합니다.
과학자들은 복잡한 시스템을 연구하기 위해 배양 접시나 테라리움과 같은 작고 통제된 환경에서 시작하는 경우가 많습니다. 이곳에서는 조건을 변화시키고 그 영향을 관찰할 수 있습니다. 로보틱스 역시 이러한 종류의 조사가 가능한 환경이 필요합니다. 즉, 연구자들은 훈련 데이터나 모델 설계를 변경하고, 테스트를 반복하며, 실패의 원인을 추적할 수 있어야 합니다.
오늘 저희는 이러한 환경을 생성하기 위한 프레임워크를 소개합니다. 이를 FoundationWorlds라고 부릅니다. 각 FoundationWorld는 특정 환경에서 로보틱스를 연구하도록 설계된 통제된 시뮬레이션 세계와, 작업을 자동으로 생성하고 훈련 시연(training demonstrations)을 제공하는 도구, 그리고 시간이 지남에 따라 로봇의 행동을 측정하는 메트릭(metrics)을 페어링합니다. 이들은 함께 모델이 더 많은 훈련 데이터를 확보함에 따라 어떻게 개선되는지, 그리고 고수준 추론(high-level reasoning)과 정밀한 물리적 제어를 가장 잘 결합하는 방법 등 연구 질문들을 연구할 수 있는 환경을 제공합니다.
저희의 첫 번째 FoundationWorld는 ToyBlocks입니다. 이는 로봇 팔과 테이블 위의 블록을 중심으로 구축된 개방형 시뮬레이션 프레임워크입니다. 설정 자체는 의도적으로 단순하지만, 로봇은 여전히 블록들이 어떻게 상호작용하는지, 그리고 밀거나, 뒤집거나, 쌓으면서 어떻게 배열해야 하는지에 대해 추론해야 합니다.
ToyBlocks는 사람이 원격으로 로봇을 제어하는 시간이 많이 걸리는 원격 조작(teleoperation)을 필요로 하지 않고도, 시뮬레이션에서 로봇이 작업을 완료하는 녹화물인 시연(demonstrations)을 자동으로 생성합니다. 연구자들은 이러한 훈련 경험들을 쉽게 변경할 수 있습니다. 예를 들어, 팀은 밀거나 뒤집는 시연을 더 많이 생성한 다음, 훈련에 사용되지 않은 작업에 대한 성능을 평가할 수 있습니다.
첫 번째 FoundationWorld로 ToyBlocks를 시작하여, 저희는 이 접근 방식을 점차 복잡해지는 환경으로 확장하는 것을 목표로 합니다.
이전의 개방형 로봇 학습(open robot learning) 작업, 특히 MolmoAct 2, MolmoBot, MolmoSpaces를 포함하여 진행된 연구를 기반으로, ToyBlocks는 연구자들이 의도적으로 제약된 도메인에서 로보틱스 문제를 연구할 수 있는 방법을 제공합니다.
FoundationWorld로서 ToyBlocks는 네 가지 요구 사항을 중심으로 설계되었습니다: (1) 현실적인 물리 및 외관, (2) 대규모의 작업 및 시연 자동 생성, (3) 추론(reasoning)과 민첩성(dexterity)을 결합한 도전 과제, 그리고 (4) 도메인 내에서 가능한 작업을 광범위하게 포괄하는 것입니다.
개방형 도메인은 광범위한 객체와 상호작용을 모델링해야 하므로, 이 모든 요구 사항을 충족하는 것이 비현실적입니다. 반면에 ToyBlocks의 좁은 범위는 이 모든 것을 충족시키는 것을 가능하게 합니다.
ToyBlocks의 더 작은 환경 내에서, 연구자들은 시뮬레이션된 팔과 블록이 실제 대응물(physical counterparts)과 매우 유사하게 작동할 것이라는 확신을 가지고 로봇이 어떤 합리적인 작업을 수행하도록 학습하는 방법을 조사하는 데 집중할 수 있습니다.
A physical robot gripper above wooden blocks in the ToyBlocks setup.
ToyBlocks는 단순히 블록을 집고 쌓는 것만을 의미하지 않습니다: 블록 표면에 있는 그림과 글자는 검색(searching), 분류(sorting), 배열(arranging) 작업을 가능하게 합니다. 로봇은 자신이 어디에 속할지 결정하기 전에 숨겨진 면을 보기 위해 블록을 돌려야 할 수도 있습니다. 도메인 무작위화(Domain randomization) – 장면마다 블록 크기, 테이블 높이 및 기타 물리적 속성을 변화시키는 것 – 는 기하학적 구조가 변함에 따라 모델이 얼마나 잘 일반화되는지 테스트합니다.
ToyBlocks automatically generates skills (behaviors for short tasks) and task demonstrations that can be used to train models or adapt previously trained models through additional training (fine-tuning). High-level reasoning models decide what to do; low-level action models control the robot’s movements. The framework can also be used to easily design experiments and validate hypotheses.
ToyBlocks는 로봇이 어떻게 움직여야 하는지를 계산하는 모션 플래닝(motion planning)과 강화학습(RL)을 사용하여 짧은 동작 시퀀스를 포함하는 단기 지평 작업(short-horizon tasks)에 필요한 기술(skills)을 생성합니다. 기술 훈련은 Nvidia의 로봇 시뮬레이션 학습용 오픈 소스 프레임워크인 Isaac Lab에서 진행됩니다. 시행착오를 통해, 이 정책들(policies) – 즉 로봇의 동작을 선택하는 모델 – 은 블록을 집지 않고 테이블 위로 밀거나 다른 면으로 뒤집는 것과 같은 비파지형 기술(non-prehensile skills)을 학습합니다.
기술 생성은 카메라 이미지로부터 추정하는 대신, 시뮬레이터가 직접 공급할 수 있지만 실제 로봇이 할 수 없는 블록의 정확한 위치와 방향 같은 특권 정보(privileged information)를 활용할 수 있습니다. 이는 실제 세계에서 원격 조작(teleoperation)을 필요로 하는 기술까지 자동으로 생성할 수 있게 합니다.
데모 데이터를 생성하기 위해, 태스크-앤-모션 플래너(TAMP)가 작업을 해결하는 데 필요한 기술을 자동으로 선택하고 순서화하며 그 사이의 로봇 움직임을 계획합니다. 시뮬레이션에서 각 계획을 실행하면, 로봇이 수행한 작업이나 기술을 설명하는 레이블과 함께 기록된 데모 데이터셋이 생성됩니다. ToyBlocks는 단일 그래픽 처리 장치(GPU)에서 수백 개의 이러한 계획을 병렬로 생성하고 실행함으로써 데이터 생성을 확장하며, 최대 24배의 실시간 성능에 도달합니다.
센서 관측(sensor observations)을 기반으로 동작하는 것은 지각 문제(perception problem)를 추가합니다. 즉, 모델은 시뮬레이터가 직접 공급할 수 있는 블록의 자세(pose) – 위치 및 방향 – 를 추정해야 합니다. 실제 세계 조건을 반영하기 위해, ToyBlocks는 원시 센서 관측을 동작으로 매핑하는 모델을 훈련합니다.
ToyBlocks에서 훈련된 고수준 모델(high-level model) Molmo 2와 저수준 모델(low-level model) ManiFlow의 실행. Molmo 2는 회전 및 뒤집기 같은 기술을 선택하고 포인팅 인터페이스를 통해 관련 블록을 지정하는 반면, ManiFlow는 명령된 기술을 실행하기 위해 시뮬레이션된 팔을 제어합니다.
ToyBlocks의 제어 가능한 데이터 생성기(controllable data generator)는 사용자가 특정 기술을 강조하거나 기존 데이터셋의 격차를 채우는 학습 혼합물(training mixtures)을 만들 수 있게 합니다. 연구자들은 모델이 얼마나 많은 데이터를 필요로 하는지, 그리고 어떤 경험이 보지 못한 작업에 일반화하는 데 도움이 되는지 연구할 수 있습니다. 예를 들어, 회전 및 집기-배치 시연(rotation and pick-and-place demonstrations)을 추가하는 것이 뒤집기(flipping)를 개선하는지 테스트하거나, 정의된 작업 공간 영역 내부와 외부의 예시 균형을 변화시켜—훈련에서 제외된 작업에 대해 그 선택들을 평가할 수 있습니다. 중요하게도, 훈련된 모델의 평가는 성공률 이상의 지표를 생성합니다. 이는 계획 모듈이 사용하는 것과 동일한 사양으로 측정되는 실행 속도(execution speeds), 물체에 가해지는 힘(forces exerted on objects), 그리고 작업 진행 상황 등의 정보를 제공합니다.
웹페이지 인터페이스는 사용자가 Claude 또는 다른 프론티어 모델을 연결하고 자연어를 사용하여 로봇에게 지시하거나 작업을 시도할 수 있게 하여, 로보틱스 전문 지식이 필요 없이 모델이 어떻게 계획하고 행동하는지 탐색할 수 있는 방법을 제공합니다.
아래의 평가는 ToyBlocks를 사용하여 훈련 데이터와 방법이 성능, 공간 추론(spatial reasoning), 새로운 문자 및 블록 외관에 대한 일반화, 다단계 계획 수립(multi-step planning), 물리적 로봇으로의 전이, 그리고 도구를 통해 행동하는 프론티어 모델에 어떻게 영향을 미치는지 연구합니다. 사용자는 다른 질문을 조사하기 위해 자신만의 작업과 측정 기준을 쉽게 설계할 수 있습니다. 예를 들어, 모델이 물체를 가리키거나 "노란 블록 집기"와 같은 텍스트 명령을 발행할 때 더 잘 수행하는지 여부 등이 있습니다.
시각-언어-행동 모델(VLA)과 같은 저수준 행동 모델은 언어 지침과 시각적 관찰을 로봇 동작으로 매핑합니다.
VLA의 전제는 대규모 데이터셋으로 사전 학습(pretraining)하면 다양한 시나리오나 특정 작업 공간에 빠르게 일반화(generalize)할 수 있다는 것입니다. 하지만 이러한 액션 모델들이 얼마나 잘 일반화되는지에 대한 증거는 여전히 상충됩니다. 일부 연구에서는 이 액션 모델들이 다른 객체 배치나 조명 같은 입력 변화에 취약하다(brittle)고 보고하는 반면, 다른 연구들은 VLA가 잘 일반화된다는 것을 보여줍니다. 우리는 이러한 연구들이 종종 공간적 변형의 유연성이 제한된 실제 세계 데이터셋에 의존한다고 주장합니다. ToyBlocks는 의미 있는 작업 공간 다양성(task-space diversity)을 가진 단순하고 재현하기 쉬운 환경에서 액션 모델이 얼마나 잘 일반화되는지 테스트할 수 있게 해줍니다.
우리는 지침을 완료하는 데 필요한 스킬 시퀀스(skill sequences)의 변화, 블록에 있는 문자나 색상, 그리고 장면 속 블록의 개수를 변수로 하는 일반화 테스트를 설계했습니다. 쌓기 연구(stacking study)는 4개 블록으로 된 구조물을 학습에서 제외한 후, 모델이 익숙한 움직임을 조합하여 이를 구축할 수 있는지 테스트할 수 있습니다. 작업 공간 연구(Workspace studies)는 모델이 추론해야 하는 경계 너머의 성능과, 학습 영역 내 새로운 위치에서의 성능을 구별합니다. 아래에 연구 설정과 결과를 설명하겠습니다.
*우리는 네 가지 작업(task)을 고려합니다: Stack, Unstack, Flip, 그리고 Rotate입니다. 이 작업들에 대해 우리는 보간(interpolation)(학습 범위 내의 새로운 구성)과 외삽(extrapolation)(해당 범위를 벗어난 구성)을 연구합니다. 예를 들어, 객체가 왼쪽 영역(녹색)에만 생성되는 시나리오로 학습하고 오른쪽 영역(주황색)에서 테스트하여 일반화를 평가하거나, 쌓기 높이가 2개와 5개인 블록으로 학습한 후 높이 3개와 4개에서 테스트하는 방식으로 진행합니다.
*VLA 모델에 대한 공간 일반화 연구(ManiFlow, π0.5, MolmoAct 2를 기반으로 한 결과). 대규모 사전 학습(large-scale pretraining)에도 불구하고, 이러한 인기 있는 액션 모델들은 초기 결과에서 일반화 성능이 낮았습니다. 우리는 일반화 성능을 개선하고 각 기술의 기여도를 분석했습니다. 차트의 LoRA 레이블은 저랭크 적응(low-rank adaptation)을 의미하며, 이는 소수의 학습 가능한 가중치 업데이트를 통해 모델을 미세 조정(fine-tuning)하는 방법입니다. 우리는 액션 모델의 일반화가 아직 해결과는 거리가 멀다고 생각하며, ToyBlocks는 일반화 기술을 체계적으로 탐색할 수 있는 가치 있는 테스트베드(testbed)를 제공합니다.
여러 단계를 요구하는 장기 지평선 작업(long-horizon tasks)은 모델이 문제를 해결하기 위해 일련의 행동을 얼마나 잘 계획할 수 있는지 측정할 수 있게 합니다. 우리의 프레임워크는 이러한 장기 지평선 작업을 생성하고, 고수준(high level)과 저수준(low level) 모두에서 오라클(oracles) – 올바른 계획이나 행동을 제공하는 참조 구성 요소 – 을 생성할 수 있게 합니다. 이를 통해 모델이 작업에서 실패했을 때, 고수준 계획(high-level planning)이 실패했는지 아니면 저수준 실행(low-level execution)이 실패했는지를 분리하여 격리할 수 있습니다. 예시 장기 지평선 작업은 블록 스택으로 “Ai2”를 철자하는 것일 수 있습니다. 글자들이 즉시 보이지 않을 수 있기 때문에, 에이전트는 먼저 정보를 드러내는 행동을 선택해야 하며, 그런 다음 쌓기를 구축하기 위해 일련의 행동을 계획하고 실행해야 합니다.
우리는 명시적인 고수준 계획과 저수준 실행 모델을 갖춘 계층적 모델을 평가합니다. 이 사례에서는 Molmo 2를 고수준 플래너로, ManiFlow를 저수준 정책으로 선택했습니다. Molmo 2는 실행할 스킬과 그 스킬을 실행할 블록을 선택하고, 저수준 모델이 지침을 실행합니다. 우리는 ManiFlow와 같은 저수준 모델을 실행 완료 후 일시 정지하도록 훈련시키고 다음 지침을 위해 고수준 모델에 질의합니다. 우리는 난이도가 증가하는 세 가지 시나리오에서 모델의 계획 능력을 평가했습니다. 가장 쉬운 시나리오는 각 문자가 똑바로 서 있고 카메라를 향해 있는 상태로 초기화됩니다. 중간 시나리오는 문자들이 똑바로 서 있지 않을 수 있으며, 가장 어려운 시나리오는 에피소드 시작 시점에 보이지 않는 문자들을 포함합니다.
고수준 추론 모델로 Molmo 2를 사용하고 저수준 조작을 위해 ManiFlow 또는 모션 플래너를 사용하는 세 글자 블록 철자 과제 성공률. 예시 과제는 “Stack Ai2”입니다. Molmo 2와 ManiFlow는 ToyBlocks에서 훈련되었으며, 세 가지 난이도 설정과 두 가지 일반화 조건에 걸쳐 평가되었습니다.
에이전트 시스템을 사용한 우리의 실험은 최첨단 모델(frontier models)이 도구 호출(tool calls)을 통해 어떻게 계획하고 행동하는지 테스트합니다. 우리는 Claude Opus 5.5를 사용하여 세 가지 설정을 연구했습니다. 검색 및 철자 설정에서는 AI 애플리케이션을 도구에 연결하기 위한 표준인 Model Context Protocol (MCP)을 통해 ToyBlocks 스킬을 노출시킵니다. 에이전트는 카메라 이미지를 통해 장면을 보고, 픽셀을 가리켜 pick, flip 또는 rotate와 같은 스킬을 호출하며, 언제 검색할지, 구축할지, 아니면 과제를 완료했거나 불가능하다고 선언할지 결정합니다. 동일한 MCP 도구는 ToyBlocks 데모를 생성하는 스크립트된 스킬(모션 계획 기반의 pick 및 place, 그리고 RL 기반의 rotate 및 flip 포함) 또는 학습된 ManiFlow 스킬 중 어느 것을 실행할 수 있습니다. ToyBlocks에는 이러한 실험의 근간이 되는 프레임워크가 포함되어 있으며, 이는 앞서 설명한 자연어 웹 인터페이스에도 동력을 제공합니다.