π₀ 모델 전체 제안 아키텍쳐

Abstract - 

π₀ 모델은 이전 연구되는 모델과 다르게 실제 로봇 적용에 초점을 맞춘 논문이다.  본 논문에서 우리는 generalist robot policies, 즉 robot foundation models가 이러한 도전과제들을 어떻게 해결할 수 있는지, 그리고 복잡하고 매우 정교한 작업을 위한 효과적인 generalist robot policy를 어떻게 설계할 수 있는지를 논의한다.

저자는 직접 prompting을 통해 작업을 수행하는 능력, 사람과 high-level VLM policy로부터의 언어 지시를 따르는 능력, 그리고 fine-tuning을 통해 새로운 skill을 습득하는 능력 측면에서 모델을 평가한다.

 

하지만 그것보다도 이 논문에서 주의 깊게 봐야할 사항은 이전 논문 흐름과 다른 흐름을 준다는 것 이다. continuous action trajectory를 generative model로 생성하는 방법으로 넘어갔기 때문이다.

 

Introduction - 

좁은 task 데이터만으로 로봇을 학습하면, 그 task에서는 잘할 수 있지만 새로운 물체, 새로운 환경, 실패 상황에 약하다. 반면 다양한 로봇 데이터로 사전학습하면 더 넓은 관측, 행동, 복구 행동을 배울 수 있다.

하지만 저자들은 generalist robot policy를 만들기 위해 세 가지 문제가 있다고 한다.

첫째, scale이다.
대규모 사전학습의 이점은 작은 규모에서는 잘 안 나타날 수 있으므로, 충분히 큰 데이터와 학습 규모가 필요하다.

둘째, architecture이다.
모델은 다양한 로봇, 다양한 입력, 다양한 action space를 처리해야 한다. 동시에 물리적 장면에서 필요한 섬세한 행동도 표현해야 한다.

셋째, training recipe이다.
저자들은 이게 특히 중요하다고 본다. LLM/VLM도 단순히 큰 모델만으로 되는 게 아니라, pre-training data와 post-training data를 어떻게 구성하느냐가 매우 중요했기 때문이다.

π0가 제안하는 해결책

π0는 위 세 문제를 다음처럼 해결하려고 한다.

VLM backbone 사용

π0는 사전학습된 VLM을 기반으로 한다. 논문 후반부에 따르면 PaliGemma를 사용한다.

이유는 간단하다.VLM이 이미 가진 인터넷 규모의 시각-언어 지식, 의미 추론, 문제 해결 능력을 로봇 policy에 가져오기 위해서다.

즉 로봇이 처음부터 모든 것을 로봇 데이터만으로 배우는 게 아니라, VLM의 semantic knowledge를 상속받는 구조다.


Robot action을 붙여 VLA로 만든다

VLM은 원래 이미지와 언어를 처리하지만, 로봇 action을 직접 출력하지는 않는다.

π0는 여기에 robot action output을 추가해서 VLA로 바꾼다.

논문에서는 이를 위해 action expert를 붙인다.

VLM backbone
+ robot state/action을 처리하는 action expert
→ VLA model π0
 

여기서 action expert는 continuous action을 생성하는 별도 모듈이라고 보면 된다.


Cross-embodiment training

π0는 한 종류의 로봇만 학습하지 않는다.

단일 팔, 양팔, 모바일 매니퓰레이터 등 여러 embodiment의 데이터를 함께 학습한다.

이게 중요한 이유는 로봇마다 action dimension, joint 구성, camera 개수, action representation이 다르기 때문이다.

π0는 이런 다양한 로봇 데이터를 하나의 모델에 넣어 학습하는 cross-embodiment training을 한다.

즉 목표는:

특정 로봇 전용 policy가 아니라, 여러 로봇 플랫폼을 아우르는 generalist robot policy

다.


Flow matching + action chunking

π0의 가장 큰 기술적 특징은 flow matching 기반 action generation이다.

기존 OpenVLA류 autoregressive VLA는 action을 token처럼 하나씩 예측한다. 반면 π0는 continuous action distribution을 flow matching으로 모델링한다.

쉽게 말하면:

random noise action
→ flow를 따라 실제 action trajectory로 변환
→ 연속 action chunk 생성
 

이 방식은 diffusion 계열과 비슷한 생성 모델 방식이다.

그리고 action을 한 timestep씩 생성하지 않고 action chunk로 생성한다. 그래서 50Hz 같은 고주파 제어가 가능하다.


Training recipe: pre-training과 post-training의 역할 분리

Introduction에서 매우 중요한 부분은 pre-training/post-training에 대한 설명이다.

저자들은 로봇도 LLM처럼 두 단계가 필요하다고 본다.

Pre-training

역할은 넓은 능력과 일반화 능력을 얻는 것이다.

다양한 로봇
다양한 작업
다양한 품질의 데이터
실수와 회복 행동까지 포함
 

이런 데이터로 학습하면 모델이 넓은 상황을 경험하고, 실패했을 때 회복하는 행동도 배울 수 있다.

Post-training / fine-tuning

역할은 특정 task를 능숙하고 효율적으로 수행하도록 만드는 것이다.

더 좁지만 고품질인 데이터
일관된 전략
정교하고 효율적인 수행
 

저자들이 하고 싶은말은 결국  고품질 데이터만 보면 실수를 거의 못 보기 때문에 회복 행동을 못 배운다. 반대로 낮은 품질의 다양한 데이터만 보면 정교하고 효율적인 수행을 못 배운다. 

 

주요 Contribution 은 다음과 같음

1. 언어 명령으로 바로 수행하는 out-of-the-box 평가
2. downstream task에 fine-tuning하는 평가
3. high-level semantic policy와 결합해 긴 task를 수행하는 평가

 

 

 

OVERVIEW

fig3

 

THE π0 MODEL-

Figure 3에 나타난 π0 모델은 주로 language model transformer backbone으로 구성된다.

표준 late fusion VLM 레시피 를 따라, image encoder는 로봇의 image observation을 language token과 동일한 embedding space로 임베딩한다.

저자는 이 backbone에 로봇 특화 입력과 출력, 즉 proprioceptive staterobot action을 추가로 보강한다.

π0는 action의 continuous distribution을 모델링하기 위해 conditional flow matching 을 사용한다. (이쪽이 중요!)

Flow matching은  모델에 높은 정밀도와 multimodal modeling 능력을 제공하며, 특히 high-frequency dexterous task에 매우 적합하다고 한다.

저자의 architecture는 Transfusion 에서 영감을 받았다. Transfusion은 하나의 transformer를 여러 objective로 학습한다. 여기서 continuous output에 해당하는 token들은 flow matching loss로 supervision되고, discrete output에 해당하는 token들은 cross-entropy loss로 supervision된다.

 

Transfusion을 바탕으로, 저자는 robotics-specific token, 즉 action과 state에 해당하는 token에 대해 별도의 weight set을 사용하는 것이 성능 향상으로 이어진다는 점을 추가로 발견했다.

(transfusion 참고)

https://kimjy99.github.io/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0/transfusion/

 

[논문리뷰] Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model

Transfusion 논문 리뷰 (ICLR 2025 Oral)

kimjy99.github.io

 

 

이 설계는 두 개의 mixture element를 가진 mixture of experts 와 유사하다. 첫 번째 element는 image와 text input에 사용되고, 두 번째 element는 robotics-specific input과 output에 사용된다.

저자는 이 두 번째 weight set을 action expert라고 부른다.

 

1. π0의 전체 구조

π0는 크게 두 덩어리로 볼 수 있다.

π0 =
1. VLM backbone
2. Action expert
 

VLM backbone

VLM backbone은 이미지와 언어를 이해하는 부분

입력은 대략 이런 것들이다.

카메라 이미지들
+ 언어 명령
+ 로봇 proprioceptive state
 

여기서 proprioceptive state는 로봇 자신의 내부 상태이다. 예를 들면 joint angle, gripper state 같은 것.

즉 로봇이 외부를 보는 정보가 camera image라면, proprioceptive state는 “내 팔이 지금 어떤 자세인지”에 해당한다.


Action expert

Action expert는 실제 robot action을 생성하는 부분이야.

π0 논문에서는 기존 VLM에 robot-specific token을 처리하는 별도 weight를 추가한다. 이게 action expert다.

왜 별도로 두냐면, 이미지/언어 token과 robot action/state token은 성격이 너무 다르기 때문이다.

이미지/언어 token: 의미 이해, 시각 인식, instruction following
robot state/action token: 물리적 제어, 연속값, 운동학적 구조
 

그래서 모든 걸 같은 transformer weight로 처리하기보다, robot-specific input/output에는 별도의 expert를 둔 것이다.

논문은 이걸 mixture-of-experts와 유사하다고 설명한다. 첫 번째 expert는 image/text용, 두 번째 expert는 robot state/action용이라고 보면 된다.


2. π0가 예측하는 것은 action 하나가 아니라 action chunk

π0는 현재 시점에서 action 하나만 예측하지 않는다.

미래 여러 step의 action sequence를 한 번에 예측한다.

논문에서는 이를 이렇게 쓴다.

At=[at,at+1,...,at+H−1]

여기서 At는 action chunk이고, H는 chunk 길이다. π0 논문에서는 H=50을 사용한다고 되어 있다.

즉 현재 관측을 보고:

지금 action 하나만 예측
 

하는 게 아니라,

앞으로 50 step 동안 실행할 action sequence 예측
 

을 하는 구조다.

이게 중요한 이유는 real robot control에서 매 순간 거대한 VLM을 호출하면 너무 느리기 때문이다. 한 번 호출해서 action chunk를 뽑아놓으면, 로봇은 그 chunk를 순서대로 실행할 수 있다.


3. observation ot는 무엇인가?

논문에서 observation은 이렇게 정의된다.

ot=[It1,...,Itn,ℓt,qt]

이걸 풀면:

기호의미
It1,...,Itn 여러 개의 RGB camera image
ℓt language command token sequence
qtq robot joint angle vector, 즉 proprioceptive state

π0는 로봇마다 2개 또는 3개의 카메라 이미지를 사용한다고 되어 있다.

예를 들어 양팔 로봇이면:

base camera
left wrist camera
right wrist camera
 

이런 식으로 들어갈 수 있다.

각 image와 state는 encoder를 거친 뒤, language token과 같은 embedding space로 projection된다.

쉽게 말하면, 서로 다른 modality를 모두 transformer가 처리할 수 있는 token 형태로 바꾸는 것이다.

image → image embeddings
language → language token embeddings
robot state → state embedding
 

그리고 이걸 하나의 sequence처럼 transformer에 넣는다.


4. 기존 VLA와 π0의 가장 큰 차이: action을 token으로 안 뽑는다

RT-2나 기존 OpenVLA는 action을 discrete token으로 바꿔서 autoregressive하게 생성한다.

예를 들어 action 값이 원래 연속값이면, 이를 256개 bin 중 하나로 이산화한다.(RT 계열과 OpenVLA 계열)

0.37 → 184번 action token
 

그다음 언어 모델처럼 다음 token을 예측한다.

action token 1 → action token 2 → action token 3 ...
 

그런데 π0는 이 방식이 아니다.

π0는 action을 continuous distribution으로 보고, flow matching으로 생성한다.

즉 action을 단어처럼 하나씩 뽑는 게 아니라, 연속적인 trajectory를 생성 모델처럼 만들어낸다.


5. flow matching

flow matching은 diffusion과 비슷한 생성 모델 계열이라고 보면 된다.

아주 단순하게 말하면:

랜덤 노이즈 action
→ 점점 실제 action처럼 바꿈
→ 최종 action trajectory 생성
 

이다.

처음에는 완전히 랜덤한 action chunk에서 시작한다.

A_t^0 ~ noise
 

예를 들어 아무 의미 없는 50-step action sequence가 있다고 한다면  flow matching model은 여기에 방향 벡터를 준다.

지금 noisy action을 실제 expert action 쪽으로 조금 이동시켜라
 

이 과정을 여러 번 반복하면 noisy action이 점점 expert action trajectory에 가까워진다.

noise
→ 조금 덜 noisy한 action
→ 더 그럴듯한 action
→ 최종 robot action chunk
 

π0는 inference 때 이 과정을 10 integration step으로 수행한다.


6. 학습

학습 데이터에는 expert demonstration이 있다.

즉 정답 action chunk At가 있다.

π0는 학습 중에 이 정답 action에 noise를 섞는다.

Atτ=τAt+(1−τ)ϵ

 

여기서:

기호의미
At 정답 action chunk
ϵ random noise
τ flow matching timestep, 0에서 1 사이
Atτ noise가 섞인 action

τ=0에 가까우면 거의 noise이고, τ=1에 가까우면 거의 정답 action이다.

모델은 이 noisy action을 보고:

이 noisy action을 정답 action 쪽으로 어떻게 움직여야 하는가?
 

를 배운다.

논문에서는 이를 denoising vector field라고 부른다.

수식으로는 모델 출력 vθ(Atτ,ot)가 다음 목표와 맞도록 학습된다.

u(Atτ∣At)=At−ϵu

즉 모델은 noisy action에서 clean action으로 가는 방향을 예측하는 것이다.


7. inference 때는 어떻게 action을 생성하나?

추론 때는 정답 action이 없으니까 random noise에서 시작한다.

At0∼N(0,I)

그리고 모델이 예측한 vector field를 따라 조금씩 업데이트한다.

Atτ+δ=Atτ+δvθ(Atτ,ot)

이게 forward Euler integration이다.

 

현재 noisy action이 있음
모델이 "이 방향으로 가면 더 실제 action 같아짐"이라고 알려줌
그 방향으로 조금 이동
이걸 10번 반복
최종 action chunk 완성
 

π0는 이 과정을 통해 continuous action chunk를 생성한다.


8. 왜 action token들이 서로 attention해야 하나?

π0의 action expert는 full bidirectional attention mask를 사용한다.

즉 action chunk 안의 모든 action token이 서로 볼 수 있다.

왜 중요하냐면 action chunk는 시간적으로 연결된 trajectory이기 때문이다.

예를 들어 빨래를 접는다고 하면:

1초 후 손 위치
2초 후 손 위치
3초 후 손 위치
...
 

이 서로 독립적이면 안 된다. 앞뒤 action이 자연스럽게 이어져야 한다.

그래서 action token들이 서로 attend할 수 있게 하면, 전체 trajectory의 일관성을 더 잘 만들 수 있다.

기존 autoregressive 방식은 순서대로 생성하지만, π0는 action chunk 전체를 하나의 연속 trajectory로 모델링하려는 쪽에 가깝다.

 


9. 왜 PaliGemma를 썼나?

논문에서는 실제 backbone으로 PaliGemma를 사용한다.

PaliGemma는 3B parameter VLM이다.

저자들이 PaliGemma를 쓴 이유는 두 가지라고 설명한다.

1. open-source VLM이다.
2. 크기와 성능의 trade-off가 좋다.
 

로봇 제어에서는 모델이 너무 크면 inference가 느려진다. 그래서 GPT-4V 같은 거대한 모델을 직접 control loop에 넣기는 어렵다.

PaliGemma는 비교적 작으면서도 VLM 능력이 있으니, 실시간 제어에 적합한 선택이라고 본 것이다.

여기에 action expert 300M parameter를 추가해서 전체 π0는 약 3.3B parameter가 된다.


10. π0-small은 왜 만들었나?

π0 논문은 main model 외에 π0-small이라는 baseline도 만든다.

π0-small은:

470M parameters
VLM initialization 없음
 

즉 internet-scale VLM pretraining을 쓰지 않은 비교 모델이다.

왜 필요하냐면, 저자들은 π0가 잘 되는 이유가 두 가지 중 무엇인지 보고 싶어서 진행했다.

1. architecture가 좋아서인가?
2. VLM pretraining이 좋아서인가?
 

π0-small은 VLM pretraining을 제거한 모델이므로, 이를 비교하면 VLM initialization이 얼마나 중요한지 볼 수 있다.

논문에서는 π0-small도 일부 성능은 내지만, π0가 language following이나 복잡한 task에서 더 강하다는 식으로 분석한다.


11. 전체 흐름을 하나의 그림처럼 보면

π0의 forward process는 대략 이렇다.

[입력]
여러 카메라 이미지
+ 언어 명령
+ 로봇 joint state

↓ image/state projection

[VLM backbone]
이미지/언어/상태 정보를 하나의 latent representation으로 처리

↓ conditioning

[Action expert]
random noisy action chunk를 입력받음
flow matching vector field 예측

↓ 10번 업데이트

[출력]
50-step continuous action chunk
 

즉 π0는 단순히:

이미지 + 언어 → action
 

이 아니라,

이미지 + 언어 + 로봇상태로 조건을 만들고,
그 조건 아래에서 noisy action trajectory를 clean action trajectory로 변환하는 모델
 

이다.

 

DATA COLLECTION AND TRAINING RECIPE

 

π0는 단순히 좋은 architecture만 제안한 게 아니라, pre-training에는 넓고 다양한 데이터, post-training에는 더 좁지만 고품질인 task-specific 데이터를 사용해야 한다고 주장한다. 즉 LLM처럼 “넓게 먼저 배우고, 나중에 잘하게 다듬는” 학습 레시피를 로봇에 적용한 것이다.

 

π0 저자들이 보는 문제는 로봇 foundation model을 만들려면 architecture만 좋아서는 부족하다.

특히 이 논문은 로봇 학습도 LLM처럼 두 단계로 나눠야 한다고 본다.

Pre-training: 넓은 능력과 일반화 확보
Post-training: 특정 task를 능숙하고 안정적으로 수행하도록 특화
 

 


Pre-training의 역할

Pre-training의 목표는 범용적인 물리 행동 능력을 배우는 것이다.

즉 특정 task 하나를 완벽하게 하는 게 아니라, 여러 로봇과 여러 작업을 보면서 넓은 기반 능력을 갖추게 만드는 단계다.

논문에서 pre-training mixture는 크게 두 종류로 구성된다.

1. Physical Intelligence가 직접 수집한 dexterous manipulation data
2. 공개 로봇 데이터셋, 특히 OXE 계열 데이터
 

π0는 직접 수집한 데이터와 open-source 데이터를 섞어서 학습한다.

논문에서 직접 수집한 데이터 규모는 매우 크다.

자체 데이터: 903M timesteps
- single-arm robot: 106M steps
- dual-arm robot: 797M steps
 

또한 7개의 서로 다른 로봇 구성과 68개 task를 포함한다.

중요한 건 task 수 68개가 단순히 “pick cup”, “pick plate” 같은 식의 noun-verb 조합이 아니라는 점이다. 저자들은 각 task가 훨씬 복잡한 행동 범위를 포함한다고 말한다. 예를 들어 “bussing” task는 다양한 접시, 컵, 식기류는 수거함에 넣고, 쓰레기는 쓰레기통에 넣는 복합 작업이다.

즉 π0의 pre-training은 이런 걸 배우게 하는 단계이다.

다양한 물체를 다루는 법
여러 로봇 embodiment에 적응하는 법
실패 상황에서 회복하는 법
복잡한 장면에서 행동하는 법
언어 명령과 물리 행동을 연결하는 법
 

왜 고품질 데이터만 쓰면 안 된다고 하나?

저자들은 고품질 데이터만으로는 부족하다고 본다.

왜냐하면 고품질 demonstration은 보통 깔끔하게 성공한 행동만 포함한다. 그러면 모델은 실수했을 때 어떻게 회복해야 하는지 배우기 어렵다.

pre-training에는 조금 더 다양한 품질의 데이터, 다양한 상황, correction, recovery behavior가 필요하다.

논문의 관점은 이렇게 정리할 수 있다.


다양하지만 품질이 낮을 수 있는 pre-training data 다양한 상황, 실패, 회복 행동 학습 특정 task를 매우 효율적으로 수행하기엔 부족
고품질 post-training data 일관되고 능숙한 task 수행 학습 실수/회복 상황이 부족할 수 있음

 


Post-training의 역할

Post-training은 특정 downstream task를 잘 수행하도록 모델을 특화하는 단계다.

Pre-training된 π0는 이미 여러 작업을 어느 정도 할 수 있지만, 복잡하고 정교한 task를 “잘” 하려면 고품질 데이터를 추가로 써야 한다.

논문에서 post-training data는 pre-training data보다 작지만, 더 정제되어 있다.

목표는 다음과 같다.

일관된 전략
효율적인 동작
부드러운 조작
높은 성공률
 

예를 들어 “laundry folding” 같은 작업은 pre-training에서 관련 행동을 배웠더라도, 실제로 높은 성공률을 내려면 잘 정리된 고품질 folding trajectory로 다시 fine-tuning해야 한다.

논문은 task 난이도에 따라 필요한 post-training 데이터 양이 다르다고 말한다.

단순한 task: 약 5시간 데이터
복잡한 task: 100시간 이상 데이터
 

즉 π0는 “모든 task를 zero-shot으로 완벽하게 한다”는 논문은 아니다. 더 정확히는:

큰 pre-trained robot foundation model을 만든 뒤, 필요한 task에 고품질 데이터로 post-training하면 훨씬 빠르고 강하게 적응한다.

 


데이터 mixture를 어떻게 구성했나?

π0는 각 timestep을 하나의 학습 example로 본다.

각 example은 대략 다음 형태다.

(o_t, A_t)
 

여기서:

o_t = 현재 observation
A_t = 미래 action chunk
 

Pre-training mixture에는 open-source dataset도 포함된다.

논문에서는 open-source 데이터가 전체 training mixture의 9.1%라고 한다. 여기에는 OXE, Bridge v2, DROID 등이 포함된다.

이 공개 데이터들은 대체로 다음 특징을 가진다.

카메라 1~2개
낮은 control frequency: 2~10Hz
다양한 물체와 환경
 

반면 자체 데이터는 더 dexterous하고 복잡한 task를 많이 포함한다. 특히 dual-arm 데이터가 매우 많다.


6. 데이터 imbalance는 어떻게 처리하나?

로봇 데이터셋은 task마다 데이터 양이 다를 수밖에 없다.

예를 들어 laundry folding 같은 어려운 task는 데이터가 많고, 어떤 task는 적을 수 있다. 그러면 모델이 데이터 많은 task에 과도하게 치우칠 수 있다.

이를 줄이기 위해 저자들은 각 task-robot combination에 대해 다음 식으로 weight를 준다.

n^0.43
 

여기서 은 해당 조합의 sample 수다.

이게 무슨 뜻이냐면, 데이터가 많은 조합도 더 많이 반영되긴 하지만, sample 수에 정비례하게 반영하지는 않는다는 뜻이다.

예를 들어 어떤 task가 데이터가 100배 많다고 해서 sampling weight도 100배가 되는 게 아니라, 더 완만하게 증가한다. 그래서 overrepresented task의 영향력을 줄인다.


로봇마다 action dimension이 다른 문제

π0는 여러 로봇을 함께 학습한다. 그런데 로봇마다 joint 수와 action space가 다르다.

예를 들어:

UR5e single arm: 7D action
Bimanual robot: 14D action
Mobile manipulator: 16D 또는 17D action
 

이 문제를 해결하기 위해 π0는 가장 큰 로봇 기준으로 configuration vector와 action vector의 차원을 맞춘다.

논문에서는 최대 18차원을 사용한다고 설명한다.

작은 로봇은 부족한 차원을 zero-padding한다.

7D robot action → [7D action + 나머지 zero padding]
14D robot action → [14D action + 나머지 zero padding]
 

카메라 수도 마찬가지다. 어떤 로봇은 이미지가 2개고, 어떤 로봇은 3개일 수 있다. 이미지가 부족한 경우 missing image slot을 mask 처리한다.

이건 cross-embodiment training에서 매우 중요한 구현 디테일이야.


Language와 high-level policy

복잡한 task는 단순히 low-level policy 하나만으로 하기 어렵다.

예를 들어 “bus the table”, 즉 테이블을 치우라는 명령은 너무 추상적이다.

이를 수행하려면 여러 subtask로 나눠야 한다.

pick up the napkin
throw the napkin into the trash
pick up the plate
put the plate into the dish bin
...
 

π0는 language input을 받을 수 있으므로, high-level VLM이 이런 중간 명령을 만들어주고, π0가 그 명령을 low-level action으로 실행하는 구조를 사용할 수 있다.

즉 전체 구조는 이렇게 된다.

High-level VLM:
"테이블을 치워라" → "냅킨을 집어라", "쓰레기통에 넣어라", ...

π0:
각 sub-command를 받아 실제 로봇 action 수행
 

이건 SayCan 같은 LLM/VLM planning 방식과 유사하다고 논문에서 말한다.

즉 π0는 하나의 monolithic policy로만 쓰이는 게 아니라, high-level semantic planner와 결합해서 긴 작업을 수행할 수 있다.


사용한 로봇 플랫폼

논문은 7개의 robot configuration을 사용했다고 설명한다.

대표적으로:

UR5e
Bimanual UR5e
Franka
Bimanual Trossen
Bimanual ARX / AgileX
Mobile Trossen / Mobile ARX
Mobile Fibocom
 

이들은 single-arm, dual-arm, mobile manipulator를 모두 포함한다.

π0는 이런 여러 embodiment를 하나의 모델로 학습한다.

이게 π0의 중요한 포인트다.

특정 로봇 하나에 맞춘 policy가 아니라, 여러 로봇 플랫폼의 데이터를 섞어 학습한 cross-embodiment generalist policy를 만들려는 것.


OpenVLA-OFT와 비교하면

OpenVLA-OFT는 “이미 있는 OpenVLA를 어떻게 fine-tuning해야 빠르고 잘 되는가”에 초점이 있었다.

π0는 더 넓게:

어떤 architecture를 쓸 것인가?
어떤 데이터를 모을 것인가?
pre-training과 post-training을 어떻게 나눌 것인가?
여러 로봇 embodiment를 어떻게 하나로 학습할 것인가?
 

까지 다룬다.

즉 π0는 모델 구조 + 데이터 스케일링 + training recipe 논문이고, OpenVLA-OFT는 fine-tuning design recipe 논문에 더 가깝다.

 

 

Abstract

본 연구에서는 OpenVLA를 대표적인 기반 모델로 사용하여, 파인튜닝을 위한 서로 다른 행동 디코딩 방식, 행동 표현, 학습 목적함수와 같은 핵심 VLA 적응 설계 선택들을 연구한다.

실증적 분석은 Optimized Fine-Tuning(OFT) 레시피를 도출한다. 이 레시피는 병렬 디코딩, 행동 청킹(action chunking), 연속적인 행동 표현, 그리고 단순한 L1 회귀 기반 학습 목적함수를 통합하여, 전체적으로 추론 효율성, 정책 성능, 그리고 모델의 입력-출력 명세에 대한 유연성을 향상시킨다.

OpenVLA-OFT는 LIBERO 시뮬레이션 벤치마크에서 새로운 최신 성능(state of the art)을 달성하며, 네 개의 task suite 전반에서 OpenVLA의 평균 성공률을 76.5%에서 97.1%로 크게 향상시키는 동시에, 행동 생성 처리량을 26배 증가시킨다.

양팔 ALOHA 로봇에서 정교하고 높은 주파수의 제어 작업을 성공적으로 수행할 수 있게 한다.

 

 

INTRODUCTION - 

OpenVLA가 잘 연구 되었지만 자기회귀적 행동 생성은 고주파 제어, 즉 25–50Hz 이상에는 여전히 너무 느리며, 3–5Hz 수준이다. 또한 자기회귀적 VLA의 LoRA 및 전체 파인튜닝은 양팔 조작 작업에서 종종 만족스럽지 못한 성능을 보인다.

행동 토큰화 방식을 통해 효율성을 개선하여 [2, 38], 2배에서 13배의 속도 향상을 달성한다. 따라서 만족스러운 속도와 품질을 모두 달성하는 대안적 VLA 적응 접근법을 탐구하는 것은 아직 충분히 연구되지 않은 영역으로 남아 있다.

 

본 연구에서는 대표적인 자기회귀적 VLA인 OpenVLA를 기반 모델로 사용하여, VLA를 새로운 로봇과 작업에 적응시키기 위한 핵심 설계 결정을 연구한다.

 

첫째, 행동 청킹과 함께 사용하는 병렬 디코딩은 추론 효율성을 높일 뿐만 아니라, 다운스트림 작업에서 성공률도 향상시키며, 모델의 입력-출력 명세에서 더 큰 유연성을 가능하게 한다.

둘째, 연속적인 행동 표현은 이산 표현에 비해 모델 품질을 추가로 향상시킨다.

셋째, L1 회귀 목적함수로 VLA를 파인튜닝하는 것은 diffusion 기반 파인튜닝과 비교해 비슷한 성능을 내면서도, 더 빠른 학습 수렴과 추론 속도를 제공한다.

 

PRELIMINARIES - 

OPenVLA- 

저자는 OPenVLA 를 기반으로 한다. 그에 따라서 OPen-X embodiment 데이터 셋을 따른다고 하였다.

Action Chunking - 

이전 연구들은 행동 청킹(action chunking), 즉 중간에 다시 계획하지 않고 미래 행동들의 시퀀스를 예측하고 실행하는 방식이 많은 조작 작업에서 정책 성공률을 향상시킨다는 것을 보여주었다.

그러나 OpenVLA의 자기회귀적 생성 방식은 행동 청킹을 비현실적으로 만든다. NVIDIA A100 GPU에서 단일 timestep 행동 하나를 생성하는 데에도 0.33초가 걸리기 때문이다.

따라서 저자는 효율적인 행동 청킹을 가능하게 하는 병렬 생성 방식을 제시한다.

 

 

STUDYING KEY VLA FINE-TUNING DESIGN DECISIONS - 

 

VLA 파인튜닝 설계 결정 - 

 

VLA를 파인튜닝하는 기존 접근법들은 두 가지 핵심 한계에 직면한다. 첫째, 느린 추론 속도, 즉 3–5Hz 수준으로 고주파 제어에는 적합하지 않다. 둘째, 양팔 조작기에서 신뢰성 있는 작업 수행이 어렵다.

 

이를 해결하기 위해 저자는 세가지 핵심요소를 조사한다.

 

(a) 행동 생성 전략

순차적인 토큰별 처리가 필요한 자기회귀적 생성과, 모든 행동을 동시에 생성하고 효율적인 행동 청킹을 가능하게 하는 병렬 디코딩을 비교한다.

 

(b) 행동 표현 

softmax 기반 토큰 예측을 통해 처리되는 이산 행동, 즉 정규화된 행동을 256개 bin으로 이산화한 방식과, MLP action head에 의해 직접 생성되는 연속 행동을 검토한다.

(c) 학습 목적함수

저자는 이산 행동에 대한 next-token prediction, 연속 행동에 대한 L1 regression, 그리고 연속 행동에 대한 conditional denoising diffusion으로 파인튜닝된 정책들을 비교한다.

 

저자는 OpenVLA [를 기반 모델로 사용하여 연구를 수행하며, 상대적으로 작은 학습 데이터셋을 사용하기 때문에 LoRA 파인튜닝 을 통해 이를 적응시킨다. 여기서 데이터셋 규모는 사전학습의 100만 demonstration과 대비되는 500 demonstration이다.

 

즉 여기까지 저자들의 생각을 정리해보자면, 

1. OpenVLA는 느리다

왜냐면 OpenVLA는 7개의 action을 순차 생성 하기 때문에 (롤,피치,요.... 이런식으로 ) 굉장히 느리다. 그래서 저자들은 한번에 병렬 decoding을 통해 한번에 이 action token을 만들어내자는 것이다.

기존에는 causal attention mask 때문에 뒤쪽 token이 앞쪽 token을 볼 수 없었는데, 저자들은 이를 bidirectional attention으로 바꾼다. 그래서 action 자리들이 서로 정보를 공유하면서 한 번에 예측될 수 있다.

 

2.  Action chunking

보통 로봇 정책은 이렇게 작동한다.

현재 관측 o_t → 현재 action a_t 예측 → 실행
다음 관측 o_{t+1} → 다음 action a_{t+1} 예측 → 실행
...
 

그런데 action chunking은 이렇게 한다.

현재 관측 o_t → [a_t, a_{t+1}, ..., a_{t+K-1}] 한 번에 예측 → 순서대로 실행
 

즉 매 timestep마다 모델을 다시 부르지 않고, 미래 K개 action을 한꺼번에 만든다.

여기에는 두가지 장점이 있는데 , 

첫째, inference가 빨라진다. 왜냐하면 모델 호출 횟수가 줄어들기 때문이다.
둘째, action이 더 부드러워질 수 있다. 한 번에 연속된 행동을 예측하므로 시간적 일관성이 생긴다.

그런데 기존 OpenVLA의 autoregressive 방식에서는 action chunking이 너무 비싸다.

예를 들어 action dimension이 D=7D=7, chunk size가 K=8K=8이면, 기존 방식은 총 K×D=56K \times D = 56개의 action token을 순차적으로 생성해야 한다.

8 timestep × 7 action dimension = 56번 순차 생성
 

이건 너무 느리다.

반면 병렬 디코딩을 쓰면 56개 action 값을 한 번의 forward pass로 만들 수 있다.

그래서 이 논문에서 병렬 디코딩과 action chunking은 거의 세트이다.

 

3. 연속 행동

기존 지금까지 포스트 한 논문들을 토대로 보면 

Discrete action vs Continuous action

기존 OpenVLA는 action 값을 그대로 예측하지 않는다. 각 action dimension을 [−1,1][-1, 1] 범위로 정규화한 다음, 이를 256개 bin으로 나눈다.

예를 들어 어떤 action 값이 연속값으로는 0.137이라고 해보자.
그러면 이 값을 가장 가까운 bin 번호로 바꾼다.

0.137 → 146번 token
 

이렇게 하면 action 예측이 언어 모델의 next-token prediction과 비슷해진다.

다음 단어 token을 맞혀라
다음 action token을 맞혀라
 

장점은 VLM/LLM 구조를 거의 그대로 쓸 수 있다는 것.
단점은 정밀도가 떨어질 수 있다는 것.

 

이산화하면 원래 연속적인 action이 256개 칸 중 하나로 뭉개진다. 그래서 세밀한 조작에서 손해가 날 수 있다.

Continuous action

저자들은 action token을 예측하지 말고, 그냥 연속값을 직접 예측하자고 한다. 즉 언어 모델의 출력층을 그대로 쓰지 않고, 마지막 hidden state 뒤에 작은 MLP action head를 붙여서 실제 action 값을 바로 뽑는다.

예를 들면:

hidden state → [0.12, -0.03, 0.45, ...]
 

이렇게 실제 로봇 action 벡터를 직접 예측한다.

Learning objective

여기서 저자들은 세 가지 학습 목적함수를 비교한다.

1) Next-token prediction

기존 OpenVLA 방식이다.

이산 action token을 정답 token으로 두고, cross-entropy loss로 학습한다.

정답 action token = 146
모델이 146번 token 확률을 높이도록 학습
 

이 방식은 언어 모델 학습과 잘 맞지만, action이 이산화되어야 한다.


2) L1 regression

저자들이 최종적으로 선택한 방식이다.

모델이 연속 action 값을 직접 예측하고, 정답 action과의 L1 차이를 줄인다.

예를 들어:

예측 action: [0.12, -0.03, 0.45]
정답 action: [0.10, -0.01, 0.50]
차이: |0.12-0.10| + |-0.03+0.01| + |0.45-0.50|
 

L1 regression은 단순하다. 그런데 저자들은 이 단순한 방식이 diffusion 방식과 비슷한 성능을 내면서도 더 빠르다고 주장한다.

Diffusion objective

Diffusion Policy처럼 action에 noise를 넣고, 그 noise를 제거하는 방식으로 학습한다.

학습할 때는 action에 noise를 섞는다.

clean action → noisy action
 

모델은 이 noise를 예측하거나 제거하는 법을 배운다.

추론할 때는 random noise에서 시작해서 여러 step에 걸쳐 denoising한다.

noise → 조금 덜 noisy → 더 clean → 최종 action
 

장점은 복잡하고 multimodal한 action distribution을 잘 표현할 수 있다는 것.
단점은 inference가 느리다는 것.

왜냐하면 한 번에 action을 뽑는 게 아니라, 여러 denoising step을 거쳐야 하기 때문이다. 이 논문 구현에서는 50 diffusion step을 사용한다.

그래서 로봇 제어에서는 latency가 문제가 될 수 있다.

그래서 OFT recipe는 뭔일까

이 절에서 저자들이 비교한 결과를 바탕으로 최종적으로 선택한 조합이 바로 OFT, Optimized Fine-Tuning이다.

구성은 다음과 같다.

OpenVLA-OFT =
1. Parallel decoding
2. Action chunking
3. Continuous action representation
4. L1 regression objective

 

기존 OpenVLA는 주로 하나의 third-person camera image를 입력으로 받는다.

그런데 실제 로봇에서는 더 많은 정보가 필요할 수 있다.

예를 들어 ALOHA 같은 양팔 로봇에서는:

1. third-person camera
2. left wrist camera
3. right wrist camera
4. robot joint state
5. language instruction
 

이런 식으로 여러 입력이 들어간다.

저자들은 이를 처리하기 위해 모든 입력을 embedding으로 바꿔서 sequence dimension으로 붙인다.

visual embeddings + robot state embedding + language embeddings + empty action embeddings
 

그리고 decoder가 이 전체 sequence를 보고 action chunk를 예측한다.

병렬 디코딩이 빠르기 때문에, 입력이 늘어나도 어느 정도 감당할 수 있다는 게 저자들의 주장이다.

즉 OFT는 단순히 빠르게 만드는 것뿐만 아니라, 다양한 입력과 출력 구조에 맞게 VLA를 바꿀 수 있게 해준다.


FiLM?

ALOHA 실험에서는 단순 OFT만으로는 언어 grounding이 약해질 수 있었다고 한다.

특히 여러 카메라 view가 있으면 모델이 언어를 제대로 보지 않고, visual shortcut에 의존할 수 있다.

예를 들어 “scoop raisins into bowl”이라는 명령이 있다고 하자.

테이블 위에는 raisins, almonds, pretzels가 있다.
모델은 언어를 보고 raisins를 골라야 한다.

그런데 학습 데이터에서 특정 위치에 raisins가 자주 있었다면, 모델은 언어를 무시하고 “항상 왼쪽 재료를 scoop하면 되겠네” 같은 shortcut을 배울 수 있다.

이게 spurious correlation이다.

그래서 저자들은 FiLM을 사용한다.

 

실험결과

리베로에서 결과 특히 저자들은 LONG에 집중한다. 왜냐하면 action chunking의 효과가 여기서 특히 크게 나타나기 때문이디. 긴 작업에서는 한두 번의 작은 오차가 누적돼서 실패로 이어지기 쉽다. 그런데 action chunking은 여러 timestep의 행동을 한 번에 예측하기 때문에 행동이 더 일관되고 부드러워질 수 있다.

결과 테이블

OpenVLA만을 본다면 특히 다른 것 보다는 LONG에서 약하다는 것을 볼 수 있다. 그리고 저자들이 제안한 pc, ad 만 넣기만 해더라도 성공률이 오르고 여기에 연속까지 넣어준다면 많이 오른다. 

중요한 또다른 결과는 diffusion과 l1 이 큰 차이가 없다는 것이다. Diffusion은 복잡하고 inference도 여러 step이 필요한 방식인데, L1 regression은 매우 단순한 방식이다.  즉 OpenVLA처럼 큰 모델을 잘 fine-tuning하면, 복잡한 diffusion objective 없이도 L1 regression만으로 충분히 좋은 성능을 낼 수 있다. 

 

Table I 중단과 하단: 추가 입력을 넣으면 SOTA까지 간다.

 

 

LIBERO에서 각 OpenVLA 변형의 추론 효율성(inference efficiency)  을 비교한 표

Table II는 7차원 action을 생성할 때, 각 방법이 얼마나 빠른지를 비교한다. 확실히 더 빠르게 된 것을 볼 수 있다. 특히 diffusion은 step 수를 많이 쓰면 성능은 좋지만 느리고, step 수를 줄이면 빨라지지만 성능이 떨어진다. T=1일떄 거의 0이다. 정리를 하자면 

 

기존 OpenVLA는 4.2Hz라 느리고 Long task 성능도 낮다.
Parallel decoding은 속도를 약 4배 올린다.
Parallel decoding + action chunking은 26배 수준의 throughput 향상을 만든다.
Continuous L1은 속도 손실 없이 성능을 올린다.
Diffusion은 성능은 좋지만 denoising step 때문에 latency trade-off가 크다.
추가 입력을 넣어도 OpenVLA-OFT는 여전히 71.4Hz로 충분히 빠르다.

 

 

실제 ALOHA 실험

 

LIBERO 전체 시뮬레이션

Abstract - 

LIBERO는 robot manipulation에서 lifelong learning을 체계적으로 평가하기 위한 benchmark 이다.

기존 lifelong learning은 주로 이미지/텍스트 분류처럼 “새로운 개념을 잊지 않고 배우는가”에 집중했었다. 하지만 로봇은 단순히 object 개념만 배우는 것이 아니라, 어떻게 잡고, 열고, 놓고, 이동하는지 같은 행동 절차도 배워야 한다.

그래서 LIBERO는 다음을 평가한다.

로봇이 여러 manipulation task를 순차적으로 배울 때, object/spatial/goal/action knowledge를 얼마나 잘 transfer하고, 얼마나 덜 forget하는가?

 

INTRODUCTION - 

구체적으로 LIBERO는 LLDM에서 다섯 가지 핵심 연구 주제를 강조한다.

  1. declarative knowledge, procedural knowledge, 또는 둘의 mixture를 어떻게 효율적으로 transfer할 것인가
  2. LLDM을 위한 효과적인 policy architecture를 어떻게 설계할 것인가
  3. LLDM을 위한 효과적인 algorithm을 어떻게 설계할 것인가
  4. task ordering에 대해 lifelong learner가 얼마나 robust한가
  5. model pretraining이 LLDM에 어떤 영향을 미치는가

benchmarking을 위해, 저자는 위에서 언급한 연구 주제들을 조사하는 데 사용하는 네 개의 task suite를 만든다. 이들은 총 130개 task로 구성된다. 실험을 바탕으로, 저자는 몇 가지 통찰력 있는, 심지어 예상 밖의 관찰을 제시했다.

 

첫째, policy architecture design은 lifelong learning algorithm만큼 중요하다.

둘째, 우리가 평가한 lifelong learning algorithm들은 forgetting을 방지하는 데는 효과적이지만, 일반적으로 forward transfer 측면에서는 sequential finetuning보다 성능이 낮다.
셋째, 우리의 실험은 semantic하게 풍부한 task description의 pretrained language embedding을 사용하는 것이, task ID의 embedding을 사용하는 것보다 더 나은 성능을 내지 못한다는 것을 보여준다.
넷째, 대규모 offline dataset에 대한 기본적인 supervised pretraining은 LLDM에서 learner의 downstream performance에 부정적인 영향을 미칠 수 있다.

 

결론적으로 저자가 말한 것은 

기존 lifelong learning은 주로 이미지/텍스트 domain에서 “개념을 잊지 않고 배우는가”를 다뤘다.
하지만 로봇 manipulation에서는 object나 위치 같은 declarative knowledge뿐 아니라, 잡기·열기·넣기 같은 procedural knowledge transfer가 중요하다.
LIBERO는 이 둘을 체계적으로 분석하기 위해 만든 lifelong robot manipulation benchmark이다.

 

BackGround - 

 

Markov Decision Process for Robot Learning

로봇 학습 문제는 finite-horizon Markov Decision Process(MDP)로 공식화될 수 있다.

$$M = (S, A, T, H, \mu_0, R)$$

여기서 $S$와 $A$는 각각 로봇의 state space와 action space이다. $\mu_0$는 initial state distribution이고, $R : S \times A \rightarrow \mathbb{R}$은 reward function이며, $T : S \times A \rightarrow S$는 transition function이다.

이 연구에서는 sparse-reward setting을 가정하고, $R$을 goal predicate로 대체한다.

$$g : S \rightarrow \{0, 1\}$$

로봇의 목표는 expected return을 최대화하는 policy $\pi$를 학습하는 것이다.

$$\max_{\pi} J(\pi) = \mathbb{E}_{s_t, a_t \sim \pi, \mu_0} \left[ \sum_{t=1}^{H} g(s_t) \right]$$

여기서는 dense reward를 주지 않고, 목표 상태에 도달했는가 아닌가를 나타내는 sparse goal predicate를 사용한다.

 

Lifelong Robot Learning Problem

lifelong robot learning problem에서 로봇은 하나의 policy $\pi$를 사용해 $K$개의 task를 순차적으로 학습한다.

$$\{T^1, \ldots, T^K\}$$

저자는 $\pi$가 task에 condition된다고 가정한다.

$$\pi(\cdot \mid s; T)$$

각 task $T^k$는 initial state distribution $\mu_0^k$와 goal predicate $g^k$로 정의된다.

$$T^k \equiv (\mu_0^k, g^k)$$

저자는 모든 task에 대해 $S, A, T, H$가 동일하다고 가정한다. 즉, state space, action space, transition function, horizon은 task마다 같고, task마다 달라지는 것은 initial state distribution과 goal predicate이다.

$k$번째 task $T^k$까지 학습한 시점에서, 로봇은 다음 목적함수를 최적화하고자 한다.

$$\max_{\pi} J_{LRL}(\pi) = \frac{1}{k} \sum_{p=1}^{k} \left[ \mathbb{E}_{s_t^p, a_t^p \sim \pi(\cdot;T^p), \mu_0^p} \left[ \sum_{t=1}^{L} g^p(s_t^p) \right] \right]$$

lifelong setting의 중요한 특징은 agent가 task $T^k$를 학습할 때, 이전 $k-1$개의 task에 대한 access를 잃는다는 점이다.LIBERO의 lifelong setting은 이런 구조이다.

Task 1 학습
→ Task 2 학습
→ Task 3 학습
→ ...
→ Task K 학습
 

하지만 중요한 제약이 있습니다.

새 task를 배울 때 이전 task data에 자유롭게 접근할 수 없다.

즉, 로봇은 계속 새로운 task를 배우지만, 이전 task를 잊으면 안 된다.

예를 들어:

T1: bowl을 plate 위에 놓기
T2: mug를 drawer 안에 넣기
T3: stove를 끄기
 

를 순차적으로 배운다면, T3T를 학습한 뒤에도 T1, T2를 잘 수행해야 합니다.

이것이 lifelong robot learning의 핵심이다.

 

 Lifelong Imitation Learning (평생 모방 학습)
Sparse-reward reinforcement learning(희소 보상 강화학습)의 어려움 때문에, 우리는 더 실용적인 대안 setting을 고려한다. 이 setting에서는 사용자가 task sequence의 각 task에 대해 작은 demonstration dataset(시연 데이터셋)을 제공한다.

$D^k = \{\tau_i^k\}_{i=1}^{N}$를 task $T^k$에 대한 $N$개의 demonstration이라고 하자. 각 trajectory는 다음과 같이 구성된다.

$$\tau_i^k = (o_0, a_0, o_1, a_1, \ldots, o_{l^k})$$

여기서 $l^k \leq H$이다. $o_t$는 로봇의 sensory input(감각 입력)이다. 여기에는 perceptual observation(지각 관측)과 로봇의 joint(관절) 및 gripper(그리퍼)에 관한 정보가 포함된다.

실제로 observation $o_t$는 종종 non-Markovian(비마르코프성)이다. 따라서 partially observable MDP(부분 관측 가능한 MDP)의 기존 연구를 따라, 우리는 state $s_t$를 observation history의 집합으로 나타낸다.

$$s_t \equiv o_{\leq t} \triangleq (o_0, o_1, \ldots, o_t)$$

이로 인해 Eq. (1)과 같은 objective를 갖는 lifelong imitation learning 문제가 된다. 하지만 training 중에는 다음 surrogate objective function(대리 목적 함수)으로 behavioral cloning(행동 복제)을 수행한다.

$$\min_{\pi} J_{BC}(\pi) = \frac{1}{k} \sum_{p=1}^{k} \mathbb{E}_{o_t, a_t \sim D^p} \left[ \sum_{t=0}^{l^p} L \left( \pi(o_{\leq t}; T^p), a_t^p \right) \right]$$

여기서 $L$은 supervised learning loss(지도학습 손실 함수)이다. 예를 들어 negative log-likelihood loss가 사용될 수 있다. 그리고 $\pi$는 Gaussian mixture model(가우시안 혼합 모델)이다.

마찬가지로, task $T^k$를 학습할 때 이전 task들의 dataset $\{D^p : p < k\}$는 완전히 사용할 수 없다고 가정한다.

즉 LIBERO는 로봇이 여러 manipulation task를 순차적으로 imitation learning으로 배울 때, 이전 task를 잊지 않으면서 새로운 task를 얼마나 잘 배우는가?

 

Research Topics in LLDM  - 

 

주제                                           질문

T1 Knowledge Transfer object, spatial relation, goal/action knowledge를 어떻게 transfer하는가?
T2 Architecture image/language/robot state를 어떻게 policy architecture에 넣을 것인가?
T3 Algorithm 어떤 lifelong learning algorithm이 forgetting을 줄이고 transfer를 높이는가?
T4 Task Ordering task 순서가 바뀌어도 robust한가?
T5 Pretraining pretraining이 lifelong robot learning에 실제로 도움이 되는가?

 

LIBERO - 

 

LIBERO는 다음 요소들로 구성된다.

 

첫째, task를 끊임없이 생성할 수 있게 하는 procedural generation pipeline이다. 

 

둘째, benchmarking을 위해 생성한 네 개의 task suite이다. 

 

셋째, 다섯 개의 algorithm이다. 

 

넷째, 세 개의 neural architecture이다. 

 

Procedural Generation of Tasks - 

LIBERO는 세 단계로 새로운 task를 절차적으로 생성한다.

 

첫째, 인간 활동의 language annotation에서 behavioral template을 추출하고, 이러한 template을 바탕으로 natural language로 묘사된 sampled task를 생성한다.

 

둘째, task description이 주어졌을 때 initial object distribution을 지정한다.

 

셋째, language instruction과 일치하는 propositional formula를 사용해 task goal을 지정한다.

 

Procedural Generation of Tasks

LLDM 연구는 task diversity를 유지하면서도 기존 task와의 관련성을 유지할 수 있는 방식으로 새로운 task를 생성하는 체계적인 방법을 필요로 한다.

 

첫째, 인간 활동의 language annotation에서 behavioral template을 추출하고, 이러한 template을 바탕으로 natural language로 묘사된 sampled task를 생성한다.

 

둘째, task description이 주어졌을 때 initial object distribution을 지정한다.

 

셋째, language instruction과 일치하는 propositional formula를 사용해 task goal을 지정한다.

 

우리의 generation pipeline은 Robosuite 위에 구축되어 있다. Robosuite는 seamless integration을 제공하는 modular manipulation simulator이다.

 

Behavioral Templates and Instruction Generation - 

저자는 대규모 activity dataset인 Ego4D를 선택한다. Ego4D는 language annotation이 포함된 다양한 일상 활동을 포함한다.

저자는 먼저 language description을 추출하여 dataset을 pre-process하고, 그런 다음 이를 자주 사용되는 language template들의 큰 집합으로 요약한다. 이 pre-processing step 이후, 우리는 template과 simulator에서 사용 가능한 object를 선택하여 language instruction 형태의 task description 집합을 생성한다.

예를 들어, 저자는 “Open ...”이라는 template으로부터 “Open the drawer of the cabinet”이라는 instruction을 생성할 수 있다.

 

1. 왜 behavioral template이 필요한가?
LIBERO는 lifelong robot learning benchmark이기 때문에 지속적인 학습을 평가할 수 있는 수많은 task가 필요하다. 하지만 task를 사람이 하나씩 수동으로 만들면 확장성(Scalability)이 떨어진다.

예를 들어 사람이 직접 아래와 같은 task를 수만 개씩 설계하는 것은 불가능에 가깝다.
open the drawer
put the bowl in the drawer
place the ketchup next to the plate
turn off the stove
put the mug on the tray

이 문제를 해결하기 위해 LIBERO는 사람의 일상 행동 데이터에서 자주 등장하는 공통적인 행동 패턴인 behavioral template을 추출하여 사용한다.

---

 2. Ego4D를 왜 쓰나?
논문에서는 대규모 인간 행동 데이터셋인 Ego4D를 활용한다. Ego4D는 사람들이 일상생활에서 행하는 다양한 활동을 1인칭 시점 영상(Egocentric video)과 언어 주석(Language annotation)으로 담고 있다.

Ego4D 데이터셋에는 다음과 같은 언어적 묘사가 포함되어 있다.
 open the drawer
 put the cup on the table
take the bottle from the fridge
close the cabinet

place the bowl in the sink

LIBERO가 Ego4D의 비디오 영상을 직접 로봇 학습에 사용하는 것이 아니다. Ego4D는 오직 로봇이 수행할 만한 유의미한 task instruction을 생성하기 위한 텍스트(Language source) 자원으로만 사용된다.

---

3. Behavioral template이란 무엇인가?
Behavioral template은 구체적인 object(물체)의 이름을 제거하고, 행동의 구조적 골격만 남겨둔 문장 틀을 의미한다.


---

 4. Simulator Object 결합
추출된 template에 시뮬레이터 환경 내에서 실제로 상호작용 가능한 object들을 끼워 넣음으로써 구체적인 task를 완성한다.

예를 들어, Robosuite/LIBERO 환경에 `bowl, mug, plate, drawer, cabinet, stove, ketchup, basket` 등의 물체가 존재한다고 가정하자. `put [object A] in [object B]`라는 템플릿에 이 물체들을 조합하면 다음과 같은 수많은 instruction을 자동으로 생성할 수 있다.
* put the bowl in the drawer
* put the mug on the plate
* put the ketchup in the basket
* open the drawer of the cabinet

---

 5. 핵심은 "언어 instruction만 만드는 것"이 아니다
Behavioral template 단계는 언어 생성이 중심이지만, 이것이 최종 LIBERO task가 되려면 시뮬레이터 상에서 실제로 실행 가능한 물리적 환경 정보와 매핑되어야 한다.

만약 생성된 instruction이 *"put the bowl in the drawer"* 라면, 시스템은 후속 단계에서 아래 요소들을 정의해야 한다.
Scene (배경): kitchen
Objects (배정 물체): bowl, drawer, cabinet
Initial state (초기 상태): bowl은 table 위, drawer는 닫힌 상태
Goal (목표 상태):bowl이 drawer 안에 위치함

즉, behavioral template은 아래와 같이 체계적으로 구성된 전체 task 생성 파이프라인의 첫 단추역할을 한다.

> LIBERO Task 생성 파이프라인]
> Ego4D language annotation $\rightarrow$ behavioral template 추출 $\rightarrow$ simulator object 결합 및 instruction 생성 $\rightarrow$ 적절한 scene layout 선택 $\rightarrow$ PDDL을 이용한 initial state 및 goal predicate 정의 $\rightarrow$ Robosuite task 빌드 및 실행

---

 6. 구체적인 파이프라인 예시

예시 A (문문형 행동)
Ego4D 데이터:open the drawer, open the cabinet, open the fridge
Behavioral template: `open [object]`
LIBERO instruction:open the drawer, open the cabinet
Task generator 변환:
  * Object: cabinet / Part: drawer
  * Initial state: drawer is closed
  * Goal predicate: $Open(\text{drawer})$

예시 B (배치형 행동)
Ego4D 데이터:put the cup on the table, put the bowl on the counter, place the plate on the tray
Behavioral template:`put [object A] on [object B]`
LIBERO instruction:put the bowl on the plate, put the mug on the tray
Goal predicate:$On(\text{bowl}, \text{plate})$ 또는 $NextTo(\text{ketchup}, \text{plate})$

---

7. 왜 이것이 LRL에서 중요한가?
LIBERO의 진정한 목적은 단순히 양적으로 많은 task를 만드는 것이 아니다. 로봇이 평생 학습(Lifelong learning)을 진행하는 과정에서 어떤 지식을 어떻게 전이(Transfer)하는지 정밀하게 평가하는 것이 목적이다. 이를 위해서는 task들 사이에 구조적인 공통점과 차이점이 정교하게 통제되어야 한다.

예를 들어 아래의 task 세트가 주어졌을 때, 로봇은 일정한 규칙성을 기반으로 지식을 재사용해야 한다.


put the bowl on the plate
put the bowl next to the plate
put the mug on the plate
put the bowl in the basket

결과적으로 behavioral template은 task 간의 구조적 연관성(Task family)을 형성하는 핵심 장치다. LIBERO는 무작위로 생성된 파편화된 task들의 모음이 아니라, 인간의 일상 행동 양식을 기반으로 설계되어 서로 유기적으로 얽혀 있는 고도화된 벤치마크 환경을 제공할 수 있게 된다.

Task Suites

LIBERO에는 네 개의 task suite가 있다.

  1. LIBERO-SPATIAL
  2. LIBERO-OBJECT
  3. LIBERO-GOAL
  4. LIBERO-100

처음 세 task suite는 앞서 T1에서 언급한 것처럼 declarative knowledgeprocedural knowledge의 transfer를 분리해서 보기 위해 curated되었다.

 

--> 여기서 중요한게 이 벤치마크를 VLA에서 자주 사용된다. 특히 시뮬레이션 환경에서 평가한다.

 

1. LIBERO-Spatial

원문 설명의 핵심은:

같은 object set 안에서 bowl을 plate 위에 놓는 task들인데, 두 개의 동일한 bowl이 있고, 두 bowl은 위치나 다른 object와의 spatial relationship만 다르다.

즉, object 자체는 거의 같다. 둘 다 bowl. 그런데 instruction이 가리키는 bowl을 구분하려면 공간 관계를 이해해야 한다.

예를 들면 이런 느낌.

put the bowl on the plate
 

그런데 scene에 bowl이 두 개 있다.

plate 옆 bowl
stove 근처 bowl
왼쪽 bowl
오른쪽 bowl
 

이 경우 로봇은 “bowl”이라는 object concept만 알아서는 부족하다. 어떤 bowl인지를 spatial relation으로 구분해야 한다.

따라서 LIBERO-Spatial은 다음을 평가한다.

 

로봇이 새로운 spatial relationship을 계속 학습하고 기억할 수 있는가?

 

논문에서는 이를 spatial information에 관한 declarative knowledge transfer로 본다.


2. LIBERO-Object

원문 설명의 핵심은:

모든 task가 unique object를 pick-place하도록 요구한다.

즉, task마다 조작해야 하는 object type이 달라진다.

 

pick up the mug
pick up the ketchup
pick up the bowl
pick up the book
 

여기서 중요한 것은 spatial relation이나 goal variation보다는 새로운 object type을 계속 배우는 것이다.

따라서 LIBERO-Object는 다음을 평가.

로봇이 새로운 object type을 계속 학습하고 기억할 수 있는가?

논문에서는 이것도 declarative knowledge transfer로 분류합니다. 왜냐하면 object name, object identity, object concept에 관한 지식이기 때문이다.


3. LIBERO-Goal

원문 설명의 핵심은:

모든 task가 같은 object와 고정된 spatial relationship을 공유하지만, task goal만 다르다.

 

즉, scene 구성은 거의 같다. object도 같고 위치 관계도 고정되어 있다. 대신 해야 하는 행동 목표가 달라진다.

예를 들어 같은 물체들이 같은 위치에 있는데, instruction만 달라지는 식.

put the bowl on the plate
put the bowl in the basket
move the mug next to the plate
open the drawer
 

여기서는 object를 새로 배우는 문제가 아니다. 공간 배치도 새로 배우는 문제가 아니다. 핵심은 무엇을 해야 하는가, 즉 goal과 behavior이다.

따라서 LIBERO-Goal은 다음을 평가한다.

로봇이 새로운 motion과 behavior에 관한 knowledge를 계속 학습할 수 있는가?

 

논문에서는 이를 procedural knowledge transfer로 본다. 즉 “무엇이 무엇인가”가 아니라 “어떻게 행동해야 하는가”에 관한 지식이다.


4. LIBERO-100

원문 설명의 핵심은:

diverse object interactions와 versatile motor skills를 포함하는 100개 task suite이다.

 

LIBERO-100은 위의 세 suite처럼 하나의 knowledge type만 분리해서 보는 것이 아니라, 여러 지식이 섞인 더 복합적인 suite이다.

 

논문에서는 LIBERO-100을 두 부분으로 나눕니다.

Subset                                    구성                                               용도

 

LIBERO-90 90개 short-horizon tasks pretraining data source
LIBERO-LONG 10개 long-horizon tasks downstream lifelong learning evaluation

즉 LIBERO-100은 object, spatial layout, goal, background, motor skill 등이 얽혀 있는 더 현실적인 setting.

따라서 LIBERO-100은 다음을 평가한다.

여러 object interaction과 다양한 motor skill이 섞인 상황에서 lifelong learning이 가능한가?

 

Evaluation Metrics - 

Metric 의 시각화

총 세가지로 평가됨.

  1. FWT, 즉 forward transfer
  2. NBT, 즉 negative backward transfer
  3. AUC, 즉 success rate curve 아래 면적

모든 metric은 success rate를 기준으로 계산된다.

낮은 NBT는 policy가 이전에 본 task에서 더 좋은 성능을 가진다는 것을 의미한다.

높은 FWT는 policy가 새로운 task를 더 빠르게 학습한다는 것을 의미한다.

높은 AUC는 NBT와 FWT를 모두 고려했을 때 전반적으로 더 좋은 성능을 의미한다.

Metric의 수식적 정의

metric은 일반적인 VLA 논문처럼 단순 평균 success rate만 보는 게 아님.

Metric의미좋을수록

FWT 새 task를 얼마나 빨리 배우는가 높을수록 좋음
NBT 예전 task를 얼마나 잊었는가 낮을수록 좋음
AUC 전체 lifelong 과정에서의 종합 성능 높을수록 좋음

 

하지만 VLA의 논문은 단순히 success rate 만 평가됨.

 

 

Abstract -

RT-X, RT 모델과 같이 기존 연구 대부분은 다음과 같은 문제점이 있었다.

첫째, 기존 VLA들은 대부분 closed model이며, 대중이 접근할 수 없다.

둘째, 기존 연구들은 새로운 task에 대해 VLA를 효율적으로 fine-tuning하는 방법을 충분히 탐구하지 않았다. 하지만 이는 VLA의 실제 채택을 위해 핵심적인 요소이다.

이를 위해 OpenVLA를 소개한다.

OpenVLA는 Llama 2 language model을 기반으로 하며, 여기에 DINOv2SigLIP에서 얻은 pretrained feature를 융합하는 visual encoder를 결합한다.

OpenVLA는 29개의 task와 여러 robot embodiment에 걸친 평가에서, RT-2-X 55B와 같은 closed model보다 절대 task success rate 기준으로 16.5% 더 높은 성능을 보인다.

 

결국 위 저자들이 주장하고 싶은 내용은 ,  

기존 RT-2/RT-X 계열 VLA는 강력하지만 closed라서 접근과 fine-tuning이 어렵다.
OpenVLA는 7B open-source VLA로, 970k real robot demonstration으로 학습되었고, RT-2-X 55B보다 작으면서도 여러 평가에서 더 강한 generalist manipulation 성능을 보인다.
또한 LoRA와 quantization을 통해 연구실 수준 GPU에서도 fine-tuning과 inference가 가능하게 만든다.

Open X-Embodiment dataset에서 VLA를 scale 있게 학습할 수 있도록 built-in support를 갖춘 PyTorch codebase를 공개했다.

OpenVLA의 아키텍쳐

Introduction - 

 기존 RT-X 모델들이 잘 연구되어 왔지만 두 가지의 큰 제한점이 있다. 

 

첫째, 현재 model들은 closed model이며, model architecture, training procedure, data mixture에 대한 visibility가 제한되어 있다.

 

둘째, 기존 연구들은 VLA를 새로운 robot, environment, task에 배포하고 적응시키기 위한 best practice를 제공하지 않는다. 특히 consumer-grade GPU와 같은 commodity hardware에서의 사용을 다루지 않는다.

증가된 data diversity와 새로운 model component의 결과로, OpenVLA는 WidowX와 Google Robot embodiment에서 수행한 29개 evaluation task에 대해, 이전 state-of-the-art VLA인 55B parameter RT-2-X model보다 절대 success rate 기준으로 16.5% 더 높은 성능을 보인다.

 

여기에 끝나지 않고 저자는 LoRA와 model quantization을 활용하는 compute-efficient fine-tuning method의 효과를 VLA에서 처음으로 보인다. 이로써 OpenVLA model을 대형 server node 대신 consumer-grade GPU에서 adaptation할 수 있으며, 성능을 손상시키지 않는다.

 

Related Works -

 

Visually-Conditioned Language Models

Prismatic VLM 논문이 다루는 VLM은 대체로 다음 구조이다.

Image
→ pretrained visual backbone
→ image patch features
→ projector
→ language model input embedding space
→ LLM
→ text output

 

논문은 최근 VLM들이 복잡한 cross-attention 구조 대신, pretrained visual representation에서 나온 patch feature를 token처럼 취급하고, 그것을 language model input space로 projection하는 patch-as-token 방식을 많이 사용한다고 설명한다. 이 방식은 next-token prediction objective를 그대로 쓸 수 있고, Llama-2나 Mistral 같은 강력한 LM 생태계를 활용할 수 있다는 장점이 있다고 말한다.

OpenVLA는 여기서 text output 대신 robot action token을 출력하도록 fine-tuning

결과적으로 CLIP과 SigLIP처럼 vision-language contrastive objective로 학습된 backbone이 다른 대안보다 강하다고 본다. 저자들은 그 이유로 contrastive objective 자체뿐 아니라, CLIP/SigLIP의 internet-sourced image distribution도 영향을 줄 수 있다고 해석한다. 

Prismatic 논문은 DINOv2 feature와 CLIP/SigLIP feature를 channel dimension으로 concatenate하는 fusion을 실험한다. 그 결과 DINOv2 + SigLIP fused representation이 전반적으로 가장 좋은 visual representation이었다고 보고한다. 특히 localization과 challenge task에서 5–10% 정도의 인상적인 향상이 있었다고 한다.

 

Generalist Robot Policies - 

선행 연구 Octo는 여러 로봇을 out-of-the-box로 제어할 수 있고, 새로운 robot setup에 유연하게 fine-tuning될 수 있는 generalist policy를 학습한다. 이러한 접근들과 OpenVLA 사이의 핵심 차이는 model architecture이다.

Octo와 같은 기존 연구들은 일반적으로 pretrained component, 예를 들어 language embedding이나 visual encoder를, scratch로 초기화된 추가 model component와 결합한다. 그리고 policy training 과정에서 이 component들을 서로 “stitch”하도록 학습한다. 이와 달리 OpenVLA는 더 end-to-end한 접근을 취한다.

OpenVLA는 robot action을 language model vocabulary 안의 token으로 취급함으로써, VLM을 직접 fine-tuning하여 robot action을 생성하게 만든다.

우리의 실험 평가는 이 단순하지만 scalable한 pipeline이 기존 generalist policy보다 성능과 generalization ability를 상당히 향상시킨다는 것을 보여준다.

 

Vision-Language-Action Models - 

저자의 연구는 RT-2-X와 여러 중요한 측면에서 다르다.

첫째, 강력한 open VLM backbone과 더 풍부한 robot pretraining dataset을 결합함으로써, OpenVLA는 실험에서 RT-2-X를 능가하면서도 model size는 한 자릿수 규모 이상 작다.

둘째, OpenVLA model을 새로운 target setup에 fine-tuning하는 것을 철저히 조사한다. 반면 RT-2-X는 fine-tuning setting을 조사하지 않는다.

셋째,  VLA에 대해 현대적인 parameter-efficient fine-tuning 및 quantization 접근법의 효과를 처음으로 보인다.

넷째, OpenVLA는 open-source인 첫 번째 generalist VLA이다. 따라서 VLA training, data mixture, objective, inference에 관한 미래 연구를 지원한다.

 

The OpenVLA Model - Method

 

본 연구에서는 Prismatic-7B VLM을 기반으로 한다. 

  • 600M parameter visual encoder
  • 작은 2-layer MLP projector
  • 7B parameter Llama 2 language model backbone

특히 Prismatic은 두 부분으로 된 visual encoder를 사용한다. 이 visual encoder는 pretrained SigLIP model과 DINOv2 model로 구성된다. 입력 image patch들은 두 encoder를 각각 통과하고, 그 결과 feature vector들은 channel-wise로 concatenate된다.

CLIP-only encoder나 SigLIP-only encoder처럼 더 흔히 사용되는 vision encoder들과 달리, DINOv2 feature를 추가하는 것은 향상된 spatial reasoning에 도움이 되는 것으로 나타났다. 이는 robot control에 특히 도움이 될 수 있다.

 

OpenVLA Training Procedure - 

저자는 action prediction problem을 “vision-language” task로 공식화한다. 저자는 continuous robot action을 language model tokenizer가 사용하는 discrete token으로 mapping하여 action을 LLM의 output space 안에서 표현한다. (기존 논문 알고 오면 쉬움 RT-1, 2..)  Robot action의 각 dimension을 별도로 256개 bin 중 하나로 discretize한다. 

 

OpenVLA의 language backbone에서 사용하는 tokenizer, 즉 Llama tokenizer는 fine-tuning 중 새로 도입되는 token을 위해 100개의 “special token”만 예약해둔다. 이는 action discretization에 필요한 256개 token에는 너무 적다.

Llama tokenizer vocabulary에서 가장 적게 사용되는 256개 token, 이는 vocabulary의 마지막 256개 token에 해당한다, 을 저자의 action token으로 덮어쓴다. action이 token sequence로 처리되면, OpenVLA는 standard next-token prediction objective로 학습된다. 이때 cross-entropy loss는 predicted action token에 대해서만 평가된다.

 

Training Data - 

 

training dataset을 구성하기 위한 base로 Open X-Embodiment dataset, 즉 OpenX를 활용한다.

작성 시점의 전체 OpenX dataset은 70개 이상의 개별 robot dataset으로 구성되며, 2M개 이상의 robot trajectory를 포함한다. 이들은 대규모 community effort를 통해 일관되고 사용하기 쉬운 data format으로 통합되었다.

 

OpenVLA Design Decisions - 

전체를 OPen-X 로 하기보다 BridgeV2 를 사용해서 먼저 확인함 .

OpenVLA는 처음부터 Prismatic만 쓴 게 아니다. 저자들은 여러 VLM backbone을 비교를 했다.

  • IDEFICS-1
  • LLaVA
  • Prismatic

결론은 Prismatic이 가장 좋았다.

scene에 object가 하나만 있으면, LLaVA와 IDEFICS-1은 비슷한 성능을 보였다고 한다.

문제는 object가 여러 개 있을 때라고 함.

예를 들어 scene에 다음이 있다고 해보자.

carrot, eggplant, corn, bowl, plate
 

명령이:

put eggplant in bowl
 

이면 모델은 단순히 “가장 가까운 물체를 잡기”가 아니라, 언어 instruction에서 지정한 eggplant를 정확히 찾아야 한다.

이걸 language grounding이라고 보면 됩니다. 논문에서는 BridgeData V2 sink environment의 5개 language grounding task 평균에서, LLaVA가 IDEFICS-1보다 절대 success rate 기준 35% 높았다고 설명한다.

즉, LLaVA가 multi-object scene에서 “언어가 가리키는 대상”을 더 잘 잡았다는 뜻입니다.

 

그런데 Prismatic을 fine-tuning한 VLA policy는 LLaVA보다도 더 좋았습니다.

논문은 Prismatic이 simple single-object task와 multi-object language grounding task 모두에서 LLaVA보다 약 10% 절대 success rate 향상을 보였다고 말합니다.

저자들은 이 차이를 SigLIP + DINOv2 fusion 덕분이라고 보고있다.

 

 

Image Resolution - 

 

이미지 해상도는 224 * 224 를 썼다고 함.

 

Fine-Tuning Vision Encoder: 왜 freeze하지 않고 같이 학습했나?

보통 VLM을 할때는 freeze를 하는데 왜 여기선 freeze하지 않았나? VLA training에서는 vision encoder를 fine-tuning하는 것이 좋은 성능에 필수적이었다. 논문은 pretrained vision backbone이 precise robotic control에 필요한 fine-grained spatial detail을 충분히 포착하지 못할 수 있다고 가설을 세운다.

 

일반 VLM의 목표는 보통 이런 식이다.

이미지를 보고 질문에 답하기
이미지를 설명하기
object가 무엇인지 말하기
 

이때는 semantic feature가 중요합니다.

하지만 로봇 제어의 목표는 다르다.

어느 방향으로 몇 cm 움직일지
gripper를 어느 정도 열지
object를 어느 위치에서 잡을지
물체가 bowl 안에 들어가도록 어디로 이동할지
 

이건 훨씬 더 spatial하고 control-oriented 하다.

예를 들어 “eggplant”를 아는 것만으로는 부족하다.

  • eggplant의 center가 어디인가?
  • gripper가 접근 가능한 방향은 어디인가?
  • bowl의 opening은 어디인가?
  • object와 gripper 사이의 상대 위치가 어떻게 변하고 있는가?

이런 정보는 VLM pretraining에서 반드시 최적화된 정보가 아니다. 그래서 robot action prediction에 맞게 vision encoder까지 조정해야 했다고 볼 수 있다.

결국엔 로봇 제어는 단순 semantic recognition이 아니라 spatial-control alignment가 필요하기 때문에, VLM feature를 그대로 쓰는 것만으로는 부족하다.

Experiments - 

 

  • 여러 robot과 다양한 generalization 유형에서 평가할 때, OpenVLA는 기존 generalist robot policy들과 비교해 어떤 성능을 보이는가?
  • OpenVLA는 새로운 robot setup과 task에 효과적으로 fine-tuning될 수 있는가? 그리고 state-of-the-art data-efficient imitation learning approach와 비교해 어떤가?
  • OpenVLA model의 training과 inference에 필요한 계산 요구량을 줄이고 접근성을 높이기 위해 parameter-efficient fine-tuning과 quantization을 사용할 수 있는가? 성능과 계산량 사이에는 어떤 trade-off가 있는가?

 

Robot Setups and Tasks

OpenVLA의 실험은 모델이 단순히 하나의 로봇이나 하나의 환경에서만 잘 동작하는지를 보는 것이 아니라, 여러 로봇 embodiment와 다양한 일반화 조건에서 out-of-the-box policy로 동작할 수 있는지를 평가하는 데 초점이 있다.

저자들은 OpenVLA를 두 가지 실제 로봇 플랫폼에서 평가했다. 첫 번째는 BridgeData V2에서 사용된 WidowX robot이고, 두 번째는 RT-1과 RT-2 실험에서 사용된 mobile manipulator, 즉 논문에서 말하는 Google robot이다. 이 두 플랫폼은 기존 generalist robot policy 연구에서 자주 사용된 대표적인 평가 환경이다.

평가 task는 단순한 seen task만으로 구성되지 않는다. 저자들은 OpenVLA가 실제로 얼마나 잘 일반화하는지를 보기 위해 여러 일반화 축을 나누어 평가했다.

첫째는 visual generalization이다. 이는 학습 때 보지 못한 배경, distractor object, 물체의 색상이나 외형 변화가 있을 때도 올바르게 동작할 수 있는지를 평가한다.

둘째는 motion generalization이다. 물체의 위치나 orientation이 학습 때와 달라졌을 때도 로봇이 적절한 motion을 생성할 수 있는지를 본다.

셋째는 physical generalization이다. 물체의 크기나 형태가 달라져도 조작이 가능한지를 평가한다.

넷째는 semantic generalization이다. 학습 데이터에 없던 target object, instruction, 또는 인터넷 지식에 기반한 concept을 이해하고 수행할 수 있는지를 본다.

마지막으로 저자들은 language conditioning ability도 따로 평가했다. 여러 물체가 동시에 있는 장면에서, 사용자의 언어 지시가 가리키는 정확한 target object를 선택해 조작할 수 있는지를 확인한 것이다. 예를 들어 장면에 여러 물체가 있을 때 “빨간 병을 집어라”라고 하면, 단순히 가까운 물체가 아니라 언어 prompt에 맞는 물체를 조작해야 한다.

평가 규모는 BridgeData V2에서 17개 task, 각 10 trial로 총 170 rollout이며, Google robot에서는 12개 task, 각 5 trial로 총 60 rollout이다. 또한 모든 평가는 공정한 비교를 위해 A/B evaluation 방식으로 진행되었다. 즉, 각 모델은 동일한 task와 동일한 초기 로봇 및 물체 상태에서 비교되었다.

이 실험 설계의 핵심은 OpenVLA가 단순히 학습 데이터와 비슷한 상황에서만 동작하는지를 보는 것이 아니라, 새로운 물체, 새로운 배경, 새로운 위치, 새로운 언어 지시가 주어졌을 때도 robust하게 행동할 수 있는지를 검증한다는 점이다. 따라서 이 섹션은 OpenVLA의 성능 비교를 해석하기 위한 평가 조건을 정의하는 부분이라고 볼 수 있다.

 

모델                           파라미터          특징

RT-1-X 35M OpenX subset으로 학습한 Transformer robot policy
Octo 93M open-source generalist robot policy
RT-2-X 55B closed-source VLA, Internet-pretrained VLM 기반
OpenVLA 7B open-source VLA, DINOv2+SigLIP+Llama2 기반

 

논문은 RT-1-X와 Octo가 tested tasks에서 특히 distractor가 있을 때 올바른 object를 조작하지 못하거나, 경우에 따라 로봇팔을 목적 없이 흔드는 행동을 보였다고 설명한다. 반면 RT-2-X와 OpenVLA는 distractor가 있어도 target object에 접근하고, target orientation에 맞춰 end-effector를 정렬하며, 불안정한 grasp 같은 실수에서 회복하는 더 robust한 행동을 보였다고 한다.

 

BridgeData V2 / WidowX 결과

BridgeData V2에서는 총 17개 task × 10 trials = 170 rollouts로 평가했다. task는 visual generalization, motion generalization, physical generalization, semantic generalization, language grounding을 포함한다.

요약하자면 

모델평균                                                                            성공률

RT-1-X 18.5 ± 2.7%
Octo 20.0 ± 2.6%
RT-2-X 50.6 ± 3.5%
OpenVLA 70.6 ± 3.2%

 

Parameter-Efficient Fine-Tuning

저자는 성능 뿐만 아니라 LoRA를 통해 더 가벼움을 강조했다. 또한 OpenVLA를 새 로봇 task에 fine-tuning할 때, 전체 7B parameter를 다 학습하지 않고도 거의 같은 성능을 낼 수 있는가도 본 항목이다.

이 표에서 보여주는 것은 마지막 layer만으로 finetune 하는 것은 충분하지 않고 frozen vision도 성능을 잘 높이지 못했다는 것이다. Sandwitch 도 괜찮지만 효율적인 측면에선 LoRA가 더 좋다는 것을 실제로 보여준다.

 

Memory-Efficient Inference via Quantization

먼저 ,

Quantization?

Quantization은 모델 weight를 더 낮은 precision으로 저장하고 계산하는 방식이다.

예를 들어 원래는:

bfloat16: weight 하나를 16-bit로 표현
 

인데, quantization을 하면:

int8: weight 하나를 8-bit로 표현
int4: weight 하나를 4-bit로 표현
 

처럼 줄인다.

메모리 사용량은 줄어들지만, 계산 overhead나 표현력 손실 때문에 inference speed나 accuracy가 떨어질 수 있다.

 

결론적으로

이 섹션의 핵심은 OpenVLA를 inference할 때 GPU 메모리를 줄이면서도 real-world robot 성능을 유지할 수 있는가이다.

 

 

핵심은 int4가 bfloat16과 거의 같은 success rate를 보이면서 VRAM을 16.8GB → 7.0GB로 줄였다는 것

 

OpenVLA는 4-bit quantization을 사용하면 약 7GB VRAM으로도 real-world robot inference가 가능하고, success rate도 거의 유지된다.

 

이건 일반 연구실 입장에서 중요하다. 예를 들어 16GB 또는 24GB VRAM GPU에서도 OpenVLA inference를 돌릴 가능성이 생기긴다. 논문에서는 RTX 4090 같은 consumer GPU에서 bfloat16 기준 약 6Hz로 실행된다고도 보고한다.

 

 

기존 RT-1 , RT-2를 읽고 오는 것이 좋음.

 

Abstract - 

대규모 사전 학습이 다른 분야에는 나오는데 Robotics에도 필요하지 않을까? 그래서 저자는 21개 기관의 협력을 통해 수집된 22개의 서로 다른 robot으로부터 dataset을 구성했으며, 이 dataset은 527개의 skill과 160,266개의 task으로 이뤄진 data를 만들었다.

RT-X가 positive transfer를 보이며, 다른 platform에서 얻은 경험을 활용함으로써 여러 robot의 능력을 향상시킨다는 것을 보여준다.

 

INTRODUCTION - 

다양한 데이터로 대규모 vision model 또는 language model을 사전학습함으로써 가능해진 일반화에 영감을 받아, 저자는 일반화 가능한 로봇 policy를 학습하는 목표가 X-embodiment training, 즉 여러 로봇 platform으로부터의 데이터를 사용한 학습을 필요로 한다는 관점을 취한다.

저자는 두가지의 목표를 취한다.

첫째, 여러 다른 로봇과 환경에서 얻은 데이터로 학습된 policy들이 positive transfer의 이점을 누리는지 평가한다. 즉, 각 평가 setup의 데이터만으로 학습된 policy보다 더 좋은 성능을 달성하는지 평가한다.

둘째, X-embodiment model에 대한 미래 연구를 가능하게 하기 위해 대규모 로봇 데이터셋을 조직화한다.

최종적으로 저자가 학습한 model과 함께 data 및 tool을 제공하여, X-embodiment robot learning을 둘러싼 연구를 활성화하는 것이다.

 

RELATED WORKS - 

 

로봇 embodiments 간의 transfer 

기존 연구들은 시뮬레이션과 실제 로봇에서 로봇 embodiment 간 transfer를 위한 방법들을 연구해왔다.

이러한 방법들은 종종 서로 다른 로봇들 사이의 embodiment gap을 다루기 위해 특별히 설계된 메커니즘을 도입한다. 예를 들어 다음과 같은 방식들이 있다.

  • shared action representation
  • representation learning objective의 도입
  • embodiment information을 이용한 학습된 policy의 적응
  • robot representation과 environment representation의 분리

기존 연구들은 Transformer 모델을 이용한 X-embodiment training과 transfer의 초기 demonstration을 제공해왔다.

우리는 이와 상호보완적인 architecture를 조사하고, 상호보완적인 분석을 제공한다. 특히 X-embodiment transfer와 web-scale pretraining 사이의 상호작용을 연구한다. 저자의 연구는 embodiment gap을 줄이기 위한 별도의 메커니즘 없이 X-embodiment data에 직접 policy를 학습시키고, 그 데이터를 활용함으로써 positive transfer가 관찰됨을 보인다.

 

Large-scale robot learning datasets

저자는 여러 embodiment에서 수집한 data를 쓴다고 한다.

 

Language-conditioned robot learning

기존 연구들은 로봇과 다른 agent들이 언어 지시를 이해하고 따르는 능력을 갖추도록 하는 것을 목표로 해왔다. language-conditioned policy를 학습하는 방식으로 접근했다.

저자는 이러한 많은 기존 연구들과 마찬가지로 imitation learning을 통해 language-conditioned policy를 학습한다. 하지만 저자는 이를 대규모 multi-embodiment demonstration data를 사용해 수행한다.

 

정리하자면. 

기존에도 로봇 간 transfer, 대규모 로봇 데이터셋, 언어 조건화 로봇 학습 연구는 있었다. 하지만 대부분은 특정 embodiment gap을 줄이기 위한 별도 구조를 쓰거나, 같은 종류의 로봇 데이터에 머물렀다. 이 논문은 여러 로봇 embodiment의 데이터를 표준화해 직접 함께 학습하고, positive transfer가 실제로 일어나는지 보여준다는 점이 다르다.

 

본 논문은 

첫째, Open X-Embodiment Dataset이다.
이는 22개의 robot embodiment로부터 얻은 100만 개 이상의 robot trajectory를 포함하는 robot learning dataset이다.

둘째, Pre-Trained Checkpoints이다.
이는 inference와 fine-tuning에 바로 사용할 수 있는 RT-X model checkpoint들의 일부 선택본이다.

 

The Open X-Embodiment Dataset

 

Dataset Analysis

 

 

Figure 2(a)는 robot embodiment별 dataset breakdown을 보여주며, Franka robot이 가장 흔한 embodiment임을 보여준다.

이는 Figure 2(b)의 embodiment별 distinct scene 수에도 반영되어 있으며, 여기서도 Franka가 지배적이다.

Figure 2(c)는 embodiment별 trajectory breakdown을 보여준다.

다양성을 더 분석하기 위해, 저자는 데이터에 존재하는 language annotation을 사용한다.

우리는 PaLM language model을 사용해 instruction으로부터 object와 behavior를 추출한다.

Figure 2(d, e)는 skill과 object의 다양성을 보여준다.

대부분의 skill은 pick-place 계열에 속하지만, dataset의 long tail에는 “wiping”이나 “assembling”과 같은 skill도 포함되어 있다.

추가로, 데이터는 appliance, food item, utensil에 이르는 다양한 household object를 포괄한다.

 

같은 action vector 를 가지더라도 로봇마다 크게 다를 수 있음.

Rt-1 과 RT-2 에 관한 모델 설명은 생략.

두 model 모두 output space에 대해 standard categorical cross-entropy objective를 사용한다.

RT-1의 경우 output space는 discrete bucket이고, RT-2의 경우 output space는 가능한 모든 language token이다.

저자는 모든 실험에서 사용하는 robotics data mixture를 다음 데이터들로 정의한다.

9개의 manipulator로부터 온 데이터이며, 다음 데이터셋들에서 가져온다.

  • RT-1
  • QT-Opt
  • Bridge
  • Task Agnostic Robot Play
  • Jaco Play
  • Cable Routing
  • RoboTurk
  • NYU VINN
  • Austin VIOLA
  • Berkeley Autolab UR5
  • TOTO
  • Language Table

RT-1-X는 위에서 정의한 robotics mixture data만으로 학습.

반면 RT-2-X는 원래 RT-2와 유사하게 co-fine-tuning 방식으로 학습되며, 원래 VLM data와 robotics data mixture를 약 1:1 비율로 나눈다.

실험에서 사용한 robotics data mixture는 9개의 embodiment를 포함한다는 점에 유의해야 한다. 이는 전체 Open X-Embodiment dataset의 22개 embodiment보다 적다.

이 차이가 생긴 실질적인 이유는 저자가 시간이 지나면서 dataset을 계속 확장해왔기 때문이다. 실험 당시에는 위에서 언급한 dataset이 사용 가능한 전체 data를 대표했다.

inference 시점에는 각 model이 robot에 필요한 rate로 실행된다. 이 rate는 3–10 Hz이다.

RT-1은 local에서 실행되고, RT-2는 cloud service에 host된 뒤 network를 통해 query된다.

 

Experimental Results 

X-embodiment training의 효과에 관한 세 가지 질문에 답한다.

첫째, X-embodiment dataset으로 학습된 policy가 효과적으로 positive transfer를 가능하게 할 수 있는가? 

둘째, 여러 platform과 task의 데이터로 model을 co-training하는 것이 새로운 unseen task로의 generalization을 향상시키는가?

셋째, model size, model architecture, dataset composition과 같은 서로 다른 design dimension들이 결과 policy의 성능과 generalization capability에 어떤 영향을 미치는가?

이 질문들에 답하기 위해, 저자는 6개의 서로 다른 robot에 걸쳐 총 3600개의 evaluation trial을 수행한다.

In-distribution performance across different embodiments

첫째는 small-scale dataset을 가진 domain에서의 evaluation이다. 이는 Figure 4에 해당한다. 이 경우 더 큰 dataset으로부터의 transfer가 성능을 크게 향상시킬 것이라고 기대한다.

둘째는 large-scale dataset을 가진 domain에서의 evaluation이다. 이는 Table I에 해당한다. 이 경우에는 추가적인 성능 향상이 더 어려울 것이라고 기대한다.

Improved generalization to out-of-distribution settings

RT-2 논문에서 제안된 것과 동일한 generalization property evaluation을 수행한다.

이는 unseen object, unseen environment, unseen background에 대해 조작할 수 있는 능력을 테스트하는 것.

위 테이블을 보면 RT-2 나 RT-2-X 나 비슷한 성능을 보여줌.

 

Emergent skills evaluation

Knowledge transfer를  평가한 것. 

row (1)과 row (2)를 비교하면, RT-2-X가 RT-2보다 약 3배 더 좋은 성능을 보인다는 것을 알 수 있다. 다른 robot으로부터의 데이터를 training에 포함하는 것이, 이미 많은 데이터를 가지고 있는 robot에 대해서도 수행 가능한 task 범위를 향상시킨다는 것을 시사한다. 즉 다른 platform의 데이터로 co-training하는 것이, 해당 platform의 원래 dataset에는 존재하지 않는 추가 skill을 RT-2-X controller에 부여한다는 것을 시사한다.

 

다음 ablation은 RT-2-X training에서 Bridge dataset을 제거하는 것이다.

row (3)은 Bridge dataset을 제외하고 RT-2-X에 사용된 모든 데이터를 포함한 RT-2-X의 결과를 보여준다.

이 variation은 hold-out task에서의 성능을 크게 낮춘다.

 

Design decisions

가장 성능이 좋은 RT-2-X model의 generalization capability에 대해 서로 다른 design decision들이 미치는 영향을 측정하기 위한 ablation을 수행한다.

이 결과들은 Table II에 제시되어 있다.

짧은 image history를 포함하는 것이 generalization performance를 상당히 향상시킨다는 점에 주목한다. 이는 row (4)와 row (5)의 비교에서 볼 수 있다.

RT-2 논문의 결론과 유사하게, model의 web-based pretraining은 large model에서 높은 성능을 달성하는 데 중요하다. 이는 row (4)와 row (6)의 비교에서 볼 수 있다.

또한 55B model은 5B model과 비교해 Emergent Skills에서 상당히 더 높은 success rate를 보인다. 이는 row (2)와 row (4)의 비교에서 볼 수 있다.

이는 더 높은 model capacity가 robotic dataset 간 transfer를 더 높은 수준으로 가능하게 함을 보여준다.

 

 

Abstract - 

 

RT-1은 로봇 데이터로 학습한 Transformer policy였지만, 웹 규모 vision-language model의 지식은 충분히 활용하지 못했다.
RT-2는 인터넷 규모 VLM의 semantic knowledge를 로봇 action policy에 직접 연결하려는 모델이다.

 

RT-2 의 아키텍쳐

 

Introduction - 

앞선 RT-1 에서 Transformer를 이용해서 action token을 만드는데 성공하였다. 하지만 최근 사전학습 모델을 쓸 수 없다는 문제가 있었다.

기존에는 LLM이나 VLM을 로봇에 붙일 때 보통 high-level planner로 사용했다. 예를 들어 SayCan 같은 방식은 LLM이 명령을 해석해서 다음과 같은 primitive로 쪼갠다.

1. pick object
2. move to target
3. place object
 

그다음 실제 로봇 제어는 별도의 low-level controller가 담당한다.

문제는 이 경우, low-level controller 자체는 웹 규모 VLM의 semantic knowledge를 직접 학습하지 못한다는 점이다.

즉, LLM/VLM은 위에서 명령을 해석하지만, 실제 팔을 움직이는 policy는 여전히 제한된 로봇 데이터에만 의존한다.

RT-2는 이 부분을 문제로 본다. 저자는 결국 대규모 vision-language model을 로봇의 low-level control에 직접 통합할 수 있을까? 에 대한 의문을 해결하기 위한 논문.

RT2는 로봇 action을 text token처럼 표현해서, VLM이 자연어 답변을 생성하듯 action token을 생성하게 만든다.

 

원래 VLM 이 image + question 으로 answer를 얻었다면,  RT-2 는 Image + instruction 으로 action token을 얻는 것 이다.

 

결국 RT-1 은 Robot Images + InstructionAction 이라면 RT-2 는 Web-scale VLM+Robot Trajectory DataVision-Language-Action Model 의 흐름을 타게 된다.

구분   RT-1 (왼쪽) - RT-2 (오른쪽)

기반 모델 Robotics Transformer Web-scale VLM
주요 데이터 Robot demonstration Robot trajectory + web vision-language data
action 표현 Discretized action token Text-encoded action token
핵심 목표 대규모 로봇 데이터로 generalization VLM의 semantic knowledge를 robot control에 연결
강점 실제 로봇 task 수행, closed-loop control 새로운 객체/명령/의미 추론 일반화
한계 웹 지식 부족 physical skill은 robot data 분포에 제한

 

Related Works - 

 

Vision-language-Action model 

 

 

PaLI-X RT-2-PaLI-X PaLI-X를 로봇 action 출력까지 하도록 변형
PaLM-E RT-2-PaLM-E PaLM-E를 로봇 action 출력까지 하도록 변형

 

기본 성격 범용 Vision-Language Model Embodied Multimodal Language Model
주요 입력 이미지 + 텍스트 이미지 + 텍스트 + 로봇/센서 상태
주요 출력 자연어 token 자연어 token / embodied reasoning output
강점 이미지 이해, VQA, captioning, multilingual VL task 로봇/환경 관측을 포함한 embodied reasoning
RT-2에서의 역할 action token을 출력하도록 fine-tuning된 VLM backbone action token을 출력하도록 fine-tuning된 embodied VLM backbone

이 두개의 모델만 알면됨.

 

여러 task를 수행하는 RT-2 모델

Robot-Action Fine-tuning

 

위에서 언급한 PaLM-E 모델 PaLI-X모델은 결국 output은 text 이다.  하지만 robot 이 필요한 것은 action이다.

RT-2 는 다음과 같이 action을 뱉는다.

 

Action                                                                            dimension의미

terminate episode 종료 여부
(\Delta pos_x) end-effector x 방향 이동
(\Delta pos_y) end-effector y 방향 이동
(\Delta pos_z) end-effector z 방향 이동
(\Delta rot_x) x축 회전 변화
(\Delta rot_y) y축 회전 변화
(\Delta rot_z) z축 회전 변화
gripper_extension gripper 열림 정도

action을 8개의 integer로 표현한다는 뜻

각 dimension을 256개 bin 중 하나로 바꾸면, 전체 robot action은 8개의 정수로 표현된다.

예를 들어 어떤 timestep의 action이 다음과 같이 바뀔 수 있습니다.

1 128 91 241 5 101 127 64
 

논문 예시에는 숫자가 7개처럼 보이는데, 설명상 target string 형식은 다음 8개.

terminate Δpos_x Δpos_y Δpos_z Δrot_x Δrot_y Δrot_z gripper_extension
 

각 숫자의 의미는 대략 이렇습니다.

1     128    91     241    5      101    127    64
│      │      │      │      │       │      │      │
종료?   x이동   y이동   z이동   x회전    y회전   z회전  gripper
 

여기서 중요한 건 숫자 자체가 실제 cm나 radian 값이 아니라는 점.

예를 들어 128은 “실제 action 값 128”이 아니라,
256개 bin 중 128번 구간이라는 뜻이다.

즉:

128→해당 action dimension의 중간 근처 값128 \rightarrow \text{해당 action dimension의 중간 근처 값}

라는 뜻이다.

 

이것은 RT-1 과 비슷하나 중요한건 RT-2는 VLM을 사용한다는 점 .

VLM 입장에서 action은 일종의 “텍스트 답변” 이다.

예를 들면 VQA prompt처럼 만듭니다.

Q: what action should the robot take to pick up the coke can?
A:
 

모델은 여기에 자연어 답변 대신 action string을 출력한다.

1 128 91 241 5 101 127 64
 

이게 RT-2의 핵심.

 

PaLI-X는 tokenizer가 숫자 표현을 비교적 편하게 지원했었음.

PaLI-X tokenizer에는 "0", "1", "2", ..., "255" 같은 숫자가 각각 하나의 독립 token으로 존재한다.

 

그래서 action bin과 token을 아주 자연스럽게 연결할 수 있습니다.

action bin 0   → token "0"
action bin 1   → token "1"
action bin 2   → token "2"
...
action bin 128 → token "128"
...
action bin 255 → token "255"
 

즉, PaLI-X에서는 별도의 vocabulary 조작이 거의 필요 없음.


PaLI-X 예시

로봇 action이 원래 연속값으로 있었다고 예시를 들자면 

terminate = 0
Δpos_x = 0.00
Δpos_y = -0.03
Δpos_z = 0.04
Δrot_x = -0.10
Δrot_y = 0.02
Δrot_z = 0.00
gripper = close
 

이걸 256-bin discretization으로 바꾸면 예를 들어 다음과 같이 변환됨.

0 128 91 241 5 101 127 20
 

PaLI-X에서는 이 숫자들이 그대로 텍스트 token으로 표현하게 됨.

"0" "128" "91" "241" "5" "101" "127" "20"
 

즉, VLM 입장에서는 그냥 숫자로 이루어진 답변을 생성하는 것처럼 보인다.

입력은:

Q: what action should the robot take to pick up the coke can?
A:
 

출력 target은:

0 128 91 241 5 101 127 20
 

이 된다. 이렇게 된다면 decoding이 간편해짐.

PaLM-E에서는 어떻게 했나?

PLM-E는 X와 달리 각각 하나의 token이 존재하는 것은 아니다. PaLM-E tokenizer에는 0~255 숫자를 action token으로 쓰기 좋은 형태가 없어서, 기존 vocabulary에서 가장 덜 쓰이는 token 256개를 골라 action bin 0~255로 덮어썼다.

 

어쨌든 둘다 회귀 token으로 action token을 뱉는다고 보면 됨.

 

Real-Time inference

RT-2 는 LLM을 사용하기 때문에 내부 GPU 가 아닌 통신으로 사용했다고 한다.

 

 

Experiments 

본 논문은 총 4가지 관점에서 봄. 

 

  • RT-2가 seen task에서 잘하고, 특히 unseen objects/backgrounds/environments로 일반화하는가?
  • RT-2에서 emergent capability를 관찰하고 측정할 수 있는가?
  • model size와 training strategy가 generalization에 어떤 영향을 주는가?
  • RT-2가 chain-of-thought reasoning 비슷한 행동을 보일 수 있는가?

FIg3의 그림

 

Figure 3은 실험에서 말하는 unseen generalization이 정확히 무엇인지 보여주는 그림이다. 여기서 중요한 주장은, 

RT-2가 본 적 없는 물체나 환경에서 잘한다면, 단순히 로봇 trajectory를 외운 게 아니라 VLM pretraining에서 얻은 visual/semantic concept을 로봇 action으로 전이했다는 주장이 가능해진다.

Unseen 에 관한 일반화 주장 표

모델                                                    의미

R3M human video 기반 visual representation
VC-1 robotics-oriented visual foundation representation
RT-1 기존 Robotics Transformer baseline
MOO VLM을 semantic map으로 쓰는 object-centric baseline
RT-2 w/ PaLM-E-12B PaLM-E 기반 VLA
RT-2 w/ PaLI-X-55B PaLI-X 기반 VLA

 

           
Model  Seen  Unseen Objects  Unseen Backgrounds Unseen Enviroments  AVG
R3M 45 easy 32 / hard 14 easy 13 / hard 9 easy 0 / hard 2 12
VC-1 63 easy 34 / hard 10 easy 13 / hard 3 easy 0 / hard 0 10
RT-1 92 easy 31 / hard 43 easy 71 / hard 9 easy 26 / hard 14 32
MOO 75 easy 58 / hard 48 easy 38 / hard 41 easy 19 / hard 3 35
RT-2-PaLI-X-55B 91 easy 70 / hard 62 easy 96 / hard 48 easy 63 / hard 35 62
RT-2-PaLM-E-12B 93 easy 84 / hard 76 easy 75 / hard 71 easy 36 / hard 33 62

Figure 4 해석

Seen task에서는 RT-1과 RT-2가 거의 비슷하다. 

  • RT-1: 92
  • RT-2-PaLI-X: 91
  • RT-2-PaLM-E: 93

즉, RT-2가 “기존 로봇 skill”을 배우는 능력에서 RT-1보다 압도적으로 좋은 건 아니다. 오히려 seen task만 보면 거의 동급입니다.

그런데 unseen generalization으로 가면 차이가 커짐.

  • RT-1 unseen average: 32
  • MOO unseen average: 35
  • RT-2 unseen average: 62

즉, RT-2는 RT-1/MOO 대비 거의 2배 수준이고, R3M/VC-1 대비로는 훨씬 크다. 논문도 이 차이가 RT-2의 강점이 “Internet-scale pretraining에서 온 더 일반적인 visual/semantic concept 전이”에 있음을 시사한다고 해석.

Figure 5는 정량 그래프라기보다 “이 방식이 다른 로봇/시뮬레이션 setting에서도 작동한다”는 보조 증거이다.

 

 Fig6(a) 에서 보여주는 것은 robot data 에 없단 semantic reasoning을 보여주는 지표이다. 논문은 이 emergent capability가 “새로운 로봇 motion이 생긴 것”은 아니라고 분명히 말한다. 물리 skill은 robot data에서 본 분포에 제한되지만, VLM pretraining에서 배운 의미/시각 개념을 이용해 기존 skill을 새로운 방식으로 사용하는 것이다.

RT1 에 비해서 큰 차이로 그 의미를 이해하고 있음.

Figure 6b 해석

여기서 가장 중요한 결론은 세 가지이다. 

첫째, scratch training은 거의 망한다.

5B scratch unseen average가 9. 즉, 단순히 큰 모델을 robot data만으로 처음부터 학습한다고 좋은 게 아니다. VLM pretraining이 핵심이라는 것을 말하는 것.

둘째, co-fine-tuning이 robot-only fine-tuning보다 좋다.

5B에서는 42 → 44로 차이가 작지만, 55B에서는 52 → 63으로 꽤 크다. 논문은 이를 기존 VLM training data를 fine-tuning 중에도 유지함으로써, VLM이 원래 배운 concept을 잊지 않게 하기 때문이라고 해석한다.

셋째, 모델이 커지면 generalization이 좋아진다.

55B co-fine-tuning이 unseen average 63으로 가장 높다. 즉, RT-2에서는 모델 규모와 web pretraining의 효과가 로봇 generalization에도 이어진다고 주장할 수 있다.

pretraining이 필요하다.
robot-only fine-tuning보다 co-fine-tuning이 낫다.
모델 규모가 클수록 generalization이 좋아진다.

COT에 관한 실험

여기서는 RT-2-PaLM-E를 약간 추가 fine-tuning해서, 출력에 Plan:이라는 자연어 계획 단계를 넣어보았다.

형식은 대략 

Instruction: I’m hungry.
Plan: pick rxbar chocolate.
Action: 1 128 124 136 121 158 111 255
 

논문은 이 augmentation을 VQA dataset의 visual reasoning과 manipulation dataset의 action generation 사이를 이어주는 bridge라고 설명하고 있다. 즉 저자는 RT-2가 바로 action token만 출력하는 게 아니라, 중간에 자연어 plan을 생성하고 그 뒤 action을 출력할 수 있다를 주장한다.

 

 

Limitations and Conculsion

1. VLM pretraining은 semantic/visual generalization은 높여주지만, 로봇에게 새로운 motion skill 자체를 만들어주지는 않는다.

2. 저자들이 제안하는 미래 방향: human video

3. 계산 비용과 실시간 추론 ->저자들이 제안하는 해결 방향: quantization과 distillation

 

 

 

 

RT-2 를 좀 재대로 이해하기 위해서 읽음.

 

Abstract - 

PaLM-E는 시각, 언어, 로봇 상태 정보를 하나의 토큰 시퀀스로 통합하여, 여러 로봇 embodiment와 관측 모달리티에서 일반화 가능한 embodied reasoning을 수행하는 모델이다.

 

Introduction - 

기존 LLM은 추론 능력은 뛰어나지만, 실제 로봇 환경에서는 부족하다.
왜냐하면 로봇이 행동하려면 텍스트만 이해하는 것이 아니라, 이미지, 물체 위치, 로봇 상태, 장면의 기하 구조 같은 실제 세계 정보를 함께 이해해야 하기 때문이다.

기존 방식인 SayCan 계열은 LLM이 텍스트로 계획을 만들고, 별도의 로봇 정책이나 affordance 함수가 실행 가능성을 판단한다. 하지만 LLM 자체는 여전히 텍스트만 입력으로 받기 때문에, 장면의 공간적 구조가 중요한 로봇 문제에는 한계가 있다.

그래서 PaLM-E는 다음을 제안한다.

이미지, 로봇 상태 추정값 같은 연속 센서 정보를 텍스트 토큰과 같은 embedding 공간에 넣고, Transformer LLM이 이를 텍스트처럼 함께 처리하게 만든다.

 

즉, PaLM-E는 단순한 VLM이 아니라, 시각 정보 + 로봇 상태 + 언어를 하나의 입력 시퀀스로 통합한 embodied language model이다.

실험에서는 로봇 조작, VQA, 이미지 캡셔닝, 일반 언어 과제까지 함께 학습시켰고, 그 결과 multi-task training이 단일 task 학습보다 성능이 좋았다고 주장한다. 특히 로봇 작업에서는 적은 데이터만으로도 성능이 크게 오르고, 새로운 물체 조합이나 보지 못한 물체에 대해 one-shot / zero-shot 일반화도 가능했다고 말한다.

또한 PaLM-E를 562B 파라미터까지 키웠고, PaLM 540B와 ViT 22B를 결합했다. 이 모델은 로봇 작업뿐 아니라 OK-VQA에서도 SOTA 성능을 냈고, zero-shot multimodal chain-of-thought, few-shot prompting, OCR 없이 수학 추론, multi-image reasoning 같은 능력도 보였다고 한다.

 

주요 contribution

 

  1. Embodied data를 LLM 학습에 섞으면 multi-embodiment decision-making agent를 만들 수 있음을 보임.
  2. 기존 VLM은 zero-shot으로 로봇 reasoning을 잘 못하지만, embodied data로 학습하면 가능하다고 주장함.
  3. Neural scene representation, entity-labeling multimodal token 같은 구조적 아이디어를 제안함.
  4. PaLM-E가 로봇 reasoning뿐 아니라 일반 vision-language 모델로도 강하다는 것을 보임.
  5. 모델 크기를 키우면 multimodal finetuning 때 catastrophic forgetting이 줄어든다고 주장함.

Related Works - 

기존 VLM은 이미지와 텍스트를 함께 이해하는 모델이다. 그래서 VQA, captioning, OCR, object detection 같은 작업에 쓰인다.

하지만 기존 VLM들은 보통 이미지-텍스트 이해에 초점이 있다. 즉, 이미지를 보고 질문에 답하거나 설명문을 만드는 식.

PaLM-E의 차이는 다음입니다. PaLM-E는 이미지를 단순히 하나의 보조 입력으로 넣는 것이 아니라, 이미지와 텍스트를 모두 latent vector 형태의 “multimodal sentence”로 표현한다.

Action-output model과의 차이Action-output model과의 차이

기존 embodied vision-language 모델들은 보통 이미지와 언어를 입력받고 바로 action을 예측한다.

예를 들면:

입력: “빨간 블록을 집어라” + 이미지
출력: 로봇 action 또는 trajectory

 

VIMA, Gato, RT 계열 같은 모델들이 이 범주에 가깝다.

그런데 PaLM-E는 직접 low-level action을 출력하는 것이 아니라, high-level instruction을 텍스트로 생성.

예를 들면:

“컵 쪽으로 이동한다.”
“그리퍼를 연다.”
“컵을 잡는다.”
“들어 올린다.”

이런 식의 계획을 자연어로 출력하게 된다.

 

기존 action-output 모델에서 language는 주로 task specification, 즉 “무엇을 하라”는 명령 역할입니다. 반면 PaLM-E에서 language는 단순 명령이 아니라 추론과 계획의 표현 수단이다.

그래서 PaLM-E는 자기 자신이 생성한 이전 계획을 다시 조건으로 사용하면서 다음 계획을 만들 수 있고, LLM 내부에 저장된 world knowledge도 더 직접적으로 활용할 수 있다.

Gato와도 비교합니다. Gato도 여러 embodiment에서 동작하는 generalist agent이다. 하지만 논문 저자들은 PaLM-E가 Gato와 달리 여러 도메인을 함께 학습했을 때 positive transfer가 나타난다는 점을 강조.

즉, 로봇 작업만 학습하는 것보다 VQA, captioning, language task 등을 같이 학습하면 로봇 성능도 좋아진다는 주장이다.

 

SayCan과의 차이

대표적으로 SayCan 같은 방식은 LLM이 가능한 행동 후보를 만들고, 별도의 affordance function이 실제 실행 가능성을 평가.

예를 들면:

LLM: “컵을 집어라”
Affordance model: 지금 로봇이 컵을 집을 수 있는 위치인가? 가능성 점수 계산
최종 선택: 언어적으로 맞고 실제로 가능한 행동

이 방식의 한계는 LLM 자체가 실제 장면을 직접 보는 것이 아니라는 점. 즉, grounding을 외부 모델에 의존하게 됨.

PaLM-E는 이와 다름. PaLM-E는 이미지, 로봇 상태, scene representation을 LLM 내부 입력으로 직접 넣고, grounding된 계획을 직접 생성하도록 학습한다.

그래서 별도의 affordance model, visual feedback module, graph planner, program generator 등에 의존하지 않고, LLM 자체가 grounded inference를 하도록 만드는 것이 목표이다.

 

PaLM-E: An Embodied Multimodal Language Model

여기서부터는 Method.

가장 중요한 아이디어는 멀티모달 정보를 LLM에 같이 밀어넣는 다는 것.

예를 들어서 "pick up the cup" 이라면  토큰화를 통해 transformer 에 넣지만 이때 image 나 robot state 같은 토큰도 같이 넣는것.

 

텍스트 질문, 명령어, task description 기존 LLM token embedding
연속 관측값 이미지, 로봇 state, 센서 데이터 encoder로 변환 후 language embedding과 같은 차원의 벡터로 변환

즉, PaLM-E는 다음처럼 입력을 만듭니다.

텍스트 토큰 + 이미지 토큰 + 로봇 상태 토큰 + 텍스트 토큰

이것을 논문에서는 multimodal sentence라고 부른다.

PaLM-E는 decoder-only LLM이다

PaLM-E는 encoder-decoder 구조가 아니라 decoder-only LLM이다. GPT류 모델처럼 앞의 prefix/prompt를 보고 다음 토큰을 autoregressive하게 생성한다.

 

출력 예시는 두 가지.

  1. 질문에 대한 답변

입력: 이미지 + “What is on the table?”
출력: “A red cup is on the table.”

  1. 로봇이 실행해야 할 high-level decision 또는 plan

입력: 이미지 + 로봇 상태 + “Put the block in the drawer.”
출력: “Move to the block. Grasp the block. Move to the drawer. Release the block.”

 

그런데 여기서 중요한 점은 PaLM-E 가 직접 모터 제어를 하는건 아니다.

joint torque, joint velocity, gripper command

같은 직접 제어 명령을 내리는 모델이 아니다.

대신 PaLM-E는 텍스트 형태의 high-level decision 또는 plan을 출력.

그리고 이 high-level plan을 실제 로봇 action으로 바꾸는 것은 별도의 low-level policy 또는 planner가 담당한다.

즉 전체 구조는 다음과 같다.

이미지 / 센서 / 텍스트 입력
→ PaLM-E
→ 텍스트 plan 출력
→ low-level policy 또는 planner
→ 실제 로봇 action 실행

그래서 PaLM-E는 로봇 제어기라기보다는, 센서 정보를 이해하고 계획을 세우는 embodied reasoning module에 가깝다.

 

 

PaLM-E 는  decoder only 구조를 가진다. 앞에 주어진 prompt 을 보고, 그 뒤에 이어질 토큰 을 하나씩 생성하는 방식이다. 예를 들어 문장이 “Robot sees a red block on the table. Task: put the block in the drawer. Plan:” 라면 그 뒤를 알맞게 채우는 방식이다. 이미 이 과정은 LLM이 잘 하기 때문에, PaLM-E는 LLM 구조를 완전히 바꾸지 않고, prefix 안에 텍스트뿐 아니라 이미지/센서 embedding도 넣는 방향을 택한다.

 

원래 LLM은 단어들을 모두 토큰화해서 Transformer에 넣게된다. PaLM-E도 이와 동일하게 생각해서 이미지나 로봇 상태도 같은 차원의 벡터로 바꿔서 넣으면 LLM이 같이 처리할 수 있지 않을까? 라는 질문에 답을 준다.

 

Multimodal Sentence

그렇다면 어떻게 하면 멀티모달에 넣을 수 있을까? 실제로 토큰화를 통한다면 이미지든 언어든 같은 토큰화 벡터로 표시 될 것 이다.

예시로 들자면 VQA 에서 Q: What happened between <img 1> and <img 2>? 라고 LLM이 들어온다면 저 img1,2는 단순 image 문자가 아닌 실제 이미지의 토큰화이다.  만약 로봇 task 라면 Task: Put the red block in the drawer. Observation: <image> State: <robot_state> Plan:

실제 입력 벡터 시퀀스는: [Task,:,...,z1img,...,zqimg,z1state,...,zmstate,Plan,:] 이렇게 들어오면 

그리고 PaLM-E는 이어서 텍스트를 생성.

“move to red block”

또는

“pick red block, move to drawer, place red block” 

이런식으로 답변을 작성해 감.

 

중요한 것은 이미지 하나를 바로 하나의 토큰으로 압축하면 정보손실이 크기 때문에 patch token으로 만듬. 이렇게 만들면 LLM의 self-attention을 통해 텍스트 토큰과의 관계성 학습이 가능.

PaLM-E는 이미지 embedding을 항상 앞이나 뒤의 고정된 위치에 넣는 것이 아님.

예를 들어:

What changed from <img1> to <img2>?

또는:

Given robot state <state> and scene <img>, what should the robot do next?

또는:

In <img1>, the robot sees an object. After action A, the scene is <img2>. What happened?

이렇게 observation token을 문맥상 필요한 위치에 동적으로 둘 수 있음.

 

결론적으로 PaLM-E 출력은 텍스트로 나옴.

별다르게 action token이 나오는건 아니고 high level skill / planning을 만드는 것이다.

Control loop에서 PaLM-E가 어떻게 동작하는가


로봇이 행동하면 환경이 바뀌고, 다시 관측해야 한다.

PaLM-E는 control loop 안에서 다음처럼 동작한다.

  1. 현재 이미지와 로봇 상태를 관측한다.
  2. task instruction과 함께 PaLM-E에 넣는다.
  3. PaLM-E가 다음 high-level skill을 텍스트로 출력한다.
  4. low-level policy가 해당 skill을 실행한다.
  5. 환경이 바뀐다.
  6. 새 이미지와 새 로봇 상태를 다시 PaLM-E에 넣는다.
  7. 필요하면 PaLM-E가 replan한다.

PaLM-E 가 받는 센서 모달리티 정리 

입력 표현                                           의미                                               PaLM-E에 넣는 방식

State estimation vector 로봇/물체 상태 벡터 MLP로 language embedding에 projection
ViT image feature 2D 이미지 feature ViT token을 LLM embedding 차원으로 projection
Object-centric representation 물체 단위 feature object mask나 slot으로 물체별 token 구성
OSRT 3D-aware object scene representation 여러 view 이미지에서 object slot을 만들고 LLM에 주입

센서 observation OO를 LLM이 읽을 수 있는 embedding 토큰으로 바꾸는 것

 

State estimation token

로봇의 상태를 추정하는 여러 값들은 이미지보다 더 구조화 되어있기 때문에 복잡하지 않아서 MLP를 사용한다.

로봇 gripper 위치 = (x,y,z)(x,y,z), 물체 위치 = (x,y,z)(x,y,z), drawer 상태 = open/closed

이런 숫자 정보를 MLP가 받아서 PaLM-E가 읽을 수 있는 token-like vector로 바꾼다.

 

Vision token

vision token은 일단 LLM에서 쓰는 방식과 크게 다르지 않지만 task-wise에서 생각해보면 object centric이 되어야 할 것이다.

로봇 입장에서는 예시를 생각해보면,

  • 빨간 블록이 어디 있는가?
  • 파란 그릇이 어디 있는가?
  • 어떤 물체를 집어야 하는가?
  • 어떤 물체와 상호작용해야 하는가?

그래서 PaLM-E는 object-centric representation도 실험을 진행한다.

 

Object-centric representations

Object-centric representation은 장면을 물체 단위로 나누는 방식이다.

즉, 전체 이미지를 하나의 grid feature로 보는 것이 아니라  scene={object1,object2,...,objectj} 처럼 물체별 token을 만드는 것 이다.

이미지 전체가 아니라 특정 object만 강조해서 encoding을 한다(어차피 GT를 이용하면 되니깐).

예를 들어 테이블 위에 빨간 블록, 파란 블록, 컵이 있으면:

red block tokens,blue block tokens,cup tokens

처럼 object별 token sequence를 만들 수 있다. 이 방식의 장점은 LLM이 object를 더 명확히 참조할 수 있다는 것이다.

 

OSRT: Object Scene Representation Transformer

그런데 문제점은 이러한 GT가 항상 존재한다는 보장이 없음. 실제로 없는 경우가 많음. 그래서 저자는 object mask 없이도 unsupervised 방식으로 장면을 object slot들로 분해하는 3D-aware representation를 참조함.

쉽게 말하면, 여러 view image를 보고 다음과 같은 과정을 거친다.
우선 입력된 이미지 $I_{1:v}$로부터 장면 안의 object slot들을 생성한다.
$$o_j = \bar{\phi}_{\text{OSRT}}(I_{1:v})_j$$
여기서 $o_j$는 $j$번째 object slot을 의미한다. 그 다음, 이 object slot을 MLP $\psi$를 통해 LLM embedding token들로 변환한다.
$$x^j_{1:m} = \psi(o_j)$$
이때 주의할 점은 object 하나가 단일 토큰으로만 변환되어 들어가는 것이 아니라, 여러 개의 embedding으로 확장되어 들어간다는 것이다.
$$\psi : \mathbb{R}^{\bar{k}} \rightarrow \mathbb{R}^{m \times k}$$

 

이 section에서 논문이 말하는 핵심은

PaLM-E는 단순히 이미지를 통째로 LLM에 넣는 것이 아니라, state vector, ViT image token, object-centric token, 3D-aware OSRT slot 등 다양한 scene representation을 LLM embedding space로 변환해 사용할 수 있다.

 

+ Recent posts