VLA 계보 - 전체 목차5편

논문해석 - π0: A Vision-Language-Action Flow Model for General Robot Control

들어가며

OpenVLA 논문해석은 공개 시각-언어 모델(Vision-Language Model, VLM)을 로봇 데이터로 미세조정해 행동을 출력하는 방법을 누구나 재현할 수 있게 만들었습니다. OpenVLA는 RT-2와 같이 행동 한 차원을 256개 구간 가운데 하나로 바꾸고, 그 구간 번호를 텍스트 토큰처럼 하나씩 차례로 생성합니다. 이 방식은 VLM의 출력 방식을 그대로 쓸 수 있다는 장점이 있지만, 행동 하나를 내려면 토큰 7개를 순서대로 만들어야 하고 구간 폭보다 정밀한 값은 표현하지 못합니다. 초당 50번 명령을 보내며 옷을 개는 양팔 로봇에는 맞지 않는 조건입니다.

π0(파이 제로)는 행동 출력 방식을 바꿉니다. VLM이 이미지와 지시를 읽는 부분은 그대로 두고, 로봇 상태와 행동만 처리하는 작은 가중치 묶음인 행동 전문가(action expert) 를 같은 Transformer 안에 추가했습니다. 행동 전문가는 앞으로 50걸음의 연속 행동을 한꺼번에, flow matching으로 생성합니다. 이 모델을 로봇 7종에서 모은 약 1만 시간의 시연과 공개 데이터로 사전학습한 뒤, 빨래 개기·식탁 치우기·상자 조립처럼 5분에서 20분 걸리는 과제에 맞게 사후학습합니다.

📄 π0: A Vision-Language-Action Flow Model for General Robot Control — Kevin Black, Noah Brown, Danny Driess 외 (저자 24명, 알파벳순) / Physical Intelligence, 2024-10 공개 (v4 2026-01)

프로젝트 페이지는 physicalintelligence.company/blog/pi0이고, arxiv 식별자는 2410.24164입니다. 이 글은 v4를 기준으로 합니다.

초록 요약

로봇 학습이 실제 환경에서 쓸 만큼 범용적이 되려면 데이터, 일반화, 강건성에서 큰 장애물을 넘어야 합니다. 저자들은 여러 로봇과 과제의 데이터로 학습한 범용 로봇 정책, 곧 로봇 기반 모델(robot foundation model)이 이 문제를 풀 수 있다고 보고, 복잡하고 정교한 조작 과제에 맞는 정책을 설계합니다.

모델은 인터넷 규모로 사전학습한 VLM에 flow matching 구조를 더해, VLM이 가진 의미 지식을 물려받습니다. 한 팔 로봇, 양팔 로봇, 이동형 조작기를 포함한 여러 로봇의 크고 다양한 데이터로 학습합니다. 평가는 세 방향으로 합니다. 지시만 주고 바로 과제를 시키는 경우, 사람이나 상위 VLM 정책이 주는 언어 명령을 따르는 경우, 미세조정으로 새 기술을 익히는 경우입니다. 빨래 개기, 식탁 치우기, 상자 조립 같은 과제를 다룹니다.

그림 1 — π0 개요

그림 1 — 사전학습 VLM과 여러 로봇의 데이터로 학습하고, 행동 전문가가 flow matching으로 연속 행동을 냅니다.

그림 1은 π0의 구성을 한 장에 담았습니다. 사전학습된 VLM을 몸체 여러 종의 정교한 조작 데이터로 학습하고, 연속 행동을 flow matching으로 만드는 별도의 행동 전문가를 붙입니다. 학습된 모델은 지시만으로 바로 쓰거나, 품질이 높은 데이터로 미세조정해 옷 여러 벌 개기나 상자 조립 같은 다단계 과제에 씁니다.

그림 2 — 빨래 개는 이동형 조작기

그림 2 — 건조기에서 빨래를 꺼내 바구니에 담고, 접이 탁자로 옮겨 한 벌씩 개는 π0 정책입니다.

그림 2의 정책은 로봇 구성 7종·과제 68개의 데이터로 사전학습한 모델을 빨래 과제에 미세조정한 것입니다. 건조기에서 빨래를 꺼내 바구니에 담고, 바구니를 탁자로 가져가 옷을 한 벌씩 갭니다.


1. 문제 — 범용 로봇 정책의 세 가지 조건

범용 모델을 먼저 학습하는 이유

자연어 처리와 컴퓨터 비전에서는 여러 과제가 섞인 큰 데이터로 사전학습한 범용 모델이 좁은 과제 전용 모델보다 대체로 성능이 좋습니다. 사진에서 새를 알아보는 모델을 만들 때도, 새 사진만으로 학습하기보다 다양한 이미지-텍스트 쌍으로 사전학습한 뒤 새 인식에 맞게 미세조정하는 편이 효과적입니다.

저자들은 로봇에도 같은 방식이 통한다고 봅니다. 다양한 로봇 데이터로 먼저 학습하면 다른 과제, 다른 로봇, 로봇 외 출처의 데이터까지 쓸 수 있어 데이터 부족 문제가 줄어듭니다. 다양한 데이터에는 좁은 데이터에 없는 장면, 실수를 고치는 동작, 실패에서 회복하는 동작이 들어 있으므로 일반화와 강건성도 좋아집니다.

세 가지 조건

저자들은 이런 범용 로봇 정책을 만드는 데 필요한 조건을 셋으로 정리합니다.

조건내용π0의 대응
규모대규모 사전학습의 이점은 작은 규모에서는 잘 나타나지 않음약 1만 시간의 자체 시연 + 공개 데이터
모델 구조다양한 데이터를 흡수하면서 섬세한 연속 동작을 표현해야 함VLM + flow matching 행동 전문가
학습 방법사전학습·사후학습 데이터 구성이 성능을 좌우함다양한 데이터로 사전학습 → 품질 높은 데이터로 사후학습

저자들은 세 번째 조건을 가장 중요하다고 적습니다. 대형 언어 모델도 사전학습과 사후학습 데이터를 어떻게 고르느냐에 크게 의존했기 때문입니다.

기존 방법과의 비교

방법대표 모델사전학습 VLM행동 출력행동 묶음
자기회귀 이산화 VLART-2, OpenVLA사용차원별 구간 토큰을 하나씩 생성지원 안 함
확산 기반 정책Diffusion Policy, Octo사용 안 함확산 모델로 연속 행동 생성지원
π0PaliGemmaflow matching으로 연속 행동 생성50걸음

π0는 VLM을 쓴다는 점에서는 RT-2·OpenVLA와 같고, 연속 행동 묶음을 생성 모델로 만든다는 점에서는 Diffusion Policy와 같습니다. 행동 묶음(action chunking)은 ACT에서 가져왔고, 최대 50Hz 제어가 가능합니다. 저자들은 모델 구조뿐 아니라 사전학습 데이터 구성, 사전학습·사후학습 단계, 실제 로봇 실험까지 묶은 틀 전체를 이 논문의 기여로 봅니다.


2. 전체 구조

그림 3 — π0 틀 전경

그림 3 — 사전학습 데이터 혼합으로 VLM 백본과 행동 전문가를 학습하고, 여러 로봇을 제어합니다.

그림 3은 학습 흐름입니다. 자체 수집한 정교한 조작 데이터와 공개 데이터를 섞은 사전학습 혼합으로 flow matching VLA를 학습합니다. 모델은 PaliGemma로 초기화한 큰 VLM 백본(backbone)과, 로봇 상태·행동을 처리하는 작은 행동 전문가로 이루어집니다. 학습된 π0는 행동 공간이 서로 다른 여러 로봇을 제어합니다.

이미지와 언어는 VLM 백본 가중치가, 로봇 상태와 잡음 섞인 행동은 행동 전문가 가중치가 처리합니다. 두 가중치 묶음은 한 Transformer 안에 있고, 자기 주의(self-attention) 층에서만 서로의 정보를 봅니다. 행동 전문가가 낸 속도를 따라 잡음을 10번 조금씩 옮기면 행동 묶음 하나가 완성됩니다. 아래에서 입력, 행동 전문가, 주의 마스크, 학습, 추론 순서로 설명합니다.


3. 모델 입력 — 관측과 행동 묶음

관측의 구성

π0가 모델링하는 분포는 p(Atot)p(\mathbf{A}_t \mid \mathbf{o}_t)입니다. ot\mathbf{o}_t는 시점 tt의 관측이고, At\mathbf{A}_t는 그 시점부터 앞으로 HH걸음의 행동을 모은 행동 묶음(action chunk) 입니다.

At=[at,at+1,,at+H1],H=50\mathbf{A}_t = [\mathbf{a}_t, \mathbf{a}_{t+1}, \dots, \mathbf{a}_{t+H-1}], \quad H = 50 ot=[It1,,Itn,t,qt]\mathbf{o}_t = [\mathbf{I}^1_t, \dots, \mathbf{I}^n_t, \ell_t, \mathbf{q}_t]
기호내용모양
Iti\mathbf{I}^i_tii번째 카메라 이미지로봇마다 2장 또는 3장
t\ell_t언어 지시를 토큰으로 자른 열지시 길이만큼의 토큰
qt\mathbf{q}_t로봇의 관절 각도 벡터(자기수용 상태, proprioceptive state)18차원
at\mathbf{a}_{t'}한 시점의 행동 벡터18차원
At\mathbf{A}_t행동 묶음50 × 18

이미지와 상태는 각자의 부호기를 거친 뒤 선형 투영으로 언어 토큰과 같은 임베딩 공간에 들어갑니다. 이미지 부호기가 카메라 이미지를 언어 토큰과 같은 공간에 넣는 방식은 LLaVA 같은 표준 VLM과 같습니다.

논문은 "토큰"이라는 말을 넓게 씁니다. 언어 토큰 같은 이산 값뿐 아니라 이미지 조각이나 로봇 행동 같은 연속 값도, Transformer의 시퀀스에서 한 칸을 차지하면 토큰이라고 부릅니다. 행동 묶음의 50걸음 하나하나가 행동 토큰 하나입니다.

서로 다른 로봇을 한 모양에 맞추는 방법

로봇마다 관절 수가 다릅니다. UR5e 한 팔은 7차원, 양팔 로봇은 14차원, 전방향 이동 베이스를 단 양팔 로봇은 행동이 17차원입니다. π0는 모든 로봇의 상태 벡터와 행동 벡터를 데이터셋에서 가장 큰 로봇의 차원인 18차원에 맞춥니다. 18차원은 6자유도 팔 두 개, 집게 두 개, 이동 베이스, 위아래로 움직이는 몸통을 담는 크기입니다. 차원이 작은 로봇은 남는 칸을 0으로 채웁니다. 카메라가 3개보다 적은 로봇은 빈 이미지 칸을 가려서 모델이 보지 않게 합니다.

칸 번호1–78–1415–18
UR5e 한 팔 (7차원)실제 값00
양팔 로봇 (14차원)실제 값실제 값0

7차원·14차원 로봇의 18차원 채우기 예시입니다. 칸 배치는 설명을 위해 임의로 정한 것이고, 논문은 칸 순서를 적지 않았습니다.


4. 행동 전문가

두 가중치 묶음을 가진 하나의 Transformer

π0의 구조는 Transfusion에서 출발합니다. Transfusion은 Transformer 하나를 여러 목적 함수로 학습하는데, 연속 값을 내는 토큰은 flow matching 손실로, 이산 값을 내는 토큰은 교차 엔트로피 손실로 학습합니다. 저자들은 여기에 더해 로봇 전용 토큰(상태와 행동)에 별도의 가중치 를 쓰면 성능이 좋아진다는 것을 발견했습니다.

그 결과가 전문가 두 개짜리 혼합 전문가(mixture of experts) 구조입니다. 토큰마다 두 가중치 묶음 가운데 하나로 보내집니다.

토큰보내지는 가중치초기화
이미지 It1,,Itn\mathbf{I}^1_t, \dots, \mathbf{I}^n_tVLM 백본PaliGemma 사전학습 가중치
언어 지시 t\ell_tVLM 백본PaliGemma 사전학습 가중치
로봇 상태 qt\mathbf{q}_t행동 전문가무작위
잡음 섞인 행동 atτ,,at+H1τ\mathbf{a}^\tau_t, \dots, \mathbf{a}^\tau_{t+H-1}행동 전문가무작위

VLM 사전학습 때 본 적 있는 입력(이미지·언어)은 PaliGemma 가중치가 맡고, 본 적 없는 입력(상태·행동)은 새 가중치가 맡습니다. 층마다 두 묶음은 각자의 순방향 신경망과 투영 행렬을 쓰고, 자기 주의 연산에서만 한 시퀀스로 합쳐져 서로의 키와 값을 봅니다.

크기

PaliGemma는 공개된 3B 파라미터 VLM이고, 언어 모델 부분은 Gemma 2B입니다. 행동 전문가는 층 수와 헤드 구성은 Gemma와 같게 두고, 폭과 순방향 신경망 크기만 줄였습니다. 두 전문가는 자기 주의 층에서만 만나므로 폭이 달라도 됩니다.

설정VLM 백본 (Gemma 2B)행동 전문가
폭(width)20481024
깊이(depth)1818
순방향 신경망 크기(mlp_dim)16,3844096
헤드 수1818
키·값 헤드 수1 (다중 질의 주의)1
헤드 차원256256
파라미터약 3B (PaliGemma 전체)약 300M

행동 전문가의 깊이·헤드 설정은 논문이 "폭과 mlp_dim만 줄였다"고 적은 데서 따른 것입니다.

행동 전문가는 추론할 때 10번 실행되므로, 크기를 줄이면 추론 시간이 그만큼 줄어듭니다. 전체 파라미터는 3.3B입니다.

flow matching 시각의 입력

잡음 섞인 행동 atτ\mathbf{a}^\tau_{t'}는 행동 전문가에 들어가기 전에, 지금이 flow matching의 어느 시각 τ\tau인지와 함께 임베딩됩니다.

W3swish(W2concat(W1atτ, ϕ(τ)))W_3 \cdot \text{swish}\big(W_2 \cdot \text{concat}(W_1 \cdot \mathbf{a}^\tau_{t'},\ \phi(\tau))\big)
기호크기역할
atτ\mathbf{a}^\tau_{t'}dd = 18잡음 섞인 행동 한 걸음
W1W_1w×dw \times d = 1024 × 18행동을 폭 ww로 올림
ϕ(τ)\phi(\tau)ww = 1024τ\tau를 사인 함수 위치 부호화로 바꾼 벡터
concat2048두 벡터를 이어 붙임
W2W_2w×2ww \times 2w = 1024 × 2048두 정보를 섞음
W3W_3w×ww \times w = 1024 × 1024최종 임베딩

ϕ\phi는 Transformer 논문의 위치 부호화와 같은 사인 함수 부호화입니다. 같은 행동 값이라도 τ=0.1\tau = 0.1(잡음이 대부분)일 때와 τ=0.9\tau = 0.9(거의 완성)일 때 다른 임베딩이 되므로, 모델은 지금 얼마나 잡음을 걷어내야 하는지 알 수 있습니다. 출력 쪽은 50개 행동 토큰 위치의 Transformer 출력만 선형 투영해 속도 vθ\mathbf{v}_\theta로 씁니다.


5. 블록 단위 인과 주의 마스크

세 블록

π0는 입력 시퀀스를 세 블록으로 나누고 블록 사이의 주의 방향을 제한합니다.

블록토큰담당 가중치
1이미지 It1,,Itn\mathbf{I}^1_t, \dots, \mathbf{I}^n_t + 언어 t\ell_tVLM 백본
2로봇 상태 qt\mathbf{q}_t행동 전문가
3잡음 섞인 행동 50개행동 전문가

블록 안에서는 모든 토큰이 서로를 봅니다(양방향 주의). 블록 사이에서는 뒤 블록이 앞 블록을 볼 수 있지만, 앞 블록은 뒤 블록을 보지 못합니다.

마스크 예시

아래 표는 이미지 토큰 2개, 언어 토큰 2개, 상태 토큰 1개, 행동 토큰 3개로 줄인 시퀀스의 마스크입니다. 행이 질의(보는 쪽), 열이 키(보이는 쪽)이고, ○는 주의 가능, ×는 차단입니다.

질의 ↓ / 키 →이미지1이미지2언어1언어2상태행동1행동2행동3
이미지1××××
이미지2××××
언어1××××
언어2××××
상태×××
행동1
행동2
행동3

토큰 개수는 모양을 보여 주기 위한 임의의 예시 값입니다. 실제 행동 토큰은 50개입니다.

블록을 나눈 이유

  • 블록 1이 뒤를 보지 못하는 이유 — 이미지와 언어 토큰은 PaliGemma가 사전학습 때 본 입력입니다. 여기에 새 입력(상태·행동)이 섞이면 사전학습 때와 다른 계산이 되므로, 사전학습 분포와의 차이를 줄이려고 뒤 블록을 보지 못하게 했습니다.
  • 상태가 따로 블록인 이유 — 로봇 상태는 flow matching 적분 10걸음 동안 바뀌지 않습니다. 상태 토큰이 행동 블록을 보지 않게 하면 상태의 키와 값이 10걸음 내내 같으므로, 한 번 계산해 저장(캐시)해 둘 수 있습니다.
  • 행동 블록 안이 양방향인 이유 — 행동 50개가 서로를 모두 보므로, 50걸음을 한꺼번에 일관된 궤적으로 만듭니다. 언어 모델처럼 앞 걸음부터 차례로 생성하지 않습니다.

6. flow matching 학습

손실 함수

행동 토큰은 조건부 flow matching(conditional flow matching) 손실로 학습합니다. 아래 첨자는 로봇 시점, 위 첨자는 flow matching 시각 τ[0,1]\tau \in [0, 1]입니다.

Lτ(θ)=Ep(Atot), q(AtτAt)vθ(Atτ,ot)u(AtτAt)2L^\tau(\theta) = \mathbb{E}_{p(\mathbf{A}_t \mid \mathbf{o}_t),\ q(\mathbf{A}^\tau_t \mid \mathbf{A}_t)} \big\| \mathbf{v}_\theta(\mathbf{A}^\tau_t, \mathbf{o}_t) - \mathbf{u}(\mathbf{A}^\tau_t \mid \mathbf{A}_t) \big\|^2

경로는 선형 가우시안 경로 q(AtτAt)=N(τAt,(1τ)I)q(\mathbf{A}^\tau_t \mid \mathbf{A}_t) = \mathcal{N}(\tau \mathbf{A}_t, (1-\tau)\mathbf{I})입니다. 고해상도 이미지와 동영상 생성에서 이 단순한 경로가 좋은 성능을 냈다는 선행 연구를 따랐습니다. 실제 학습 한 걸음은 네 단계입니다.

  1. 데이터에서 관측 ot\mathbf{o}_t와 정답 행동 묶음 At\mathbf{A}_t를 뽑습니다.
  2. 같은 모양(50 × 18)의 표준 정규 잡음 ϵN(0,I)\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})과 시각 τ\tau를 뽑습니다.
  3. 잡음 섞인 행동 Atτ=τAt+(1τ)ϵ\mathbf{A}^\tau_t = \tau \mathbf{A}_t + (1-\tau)\epsilon을 만듭니다.
  4. 모델 출력 vθ(Atτ,ot)\mathbf{v}_\theta(\mathbf{A}^\tau_t, \mathbf{o}_t)가 정답 속도 u=Atϵ\mathbf{u} = \mathbf{A}_t - \epsilon에 가까워지도록 제곱 오차를 줄입니다.

τ=0\tau = 0이면 순수한 잡음, τ=1\tau = 1이면 정답 행동입니다. DDPMtt가 클수록 잡음이 많지만 π0의 τ\tau는 반대로 클수록 정답에 가깝습니다.

1차원 계산 예시

행동 한 차원만 떼어 계산해 봅니다.

항목
정답 행동 AA0.6
뽑은 잡음 ϵ\epsilon−1.0
뽑은 시각 τ\tau0.3
잡음 섞인 행동 Aτ=0.3×0.6+0.7×(1.0)A^\tau = 0.3 \times 0.6 + 0.7 \times (-1.0)−0.52
정답 속도 u=Aϵu = A - \epsilon1.6

정답 행동·잡음·시각은 설명을 위한 임의의 예시 값이고, 나머지는 그 값으로 계산한 값입니다.

모델은 입력으로 −0.52와 τ=0.3\tau = 0.3, 그리고 이미지·지시·상태를 받아 1.6을 내도록 학습합니다. 정답 속도 1.6은 τ\tau와 상관없이 잡음 −1.0에서 정답 0.6까지의 직선 방향입니다. 모델은 잡음이 무엇이었는지 모르므로, 같은 −0.52가 여러 정답·잡음 조합에서 나올 수 있다는 점까지 포함해 평균적인 속도를 배웁니다. 이 평균 속도를 따라가면 데이터 분포의 행동이 나온다는 것이 Flow Matching 논문의 결과입니다.

학습 시각 분포

원래 flow matching 논문은 τ\tau를 0과 1 사이에서 균등하게 뽑습니다. 이미지 생성 연구 일부는 중간 시각을 더 자주 뽑는 분포를 씁니다. 잡음이 거의 없는 시각에서는 입력을 그대로 내면 되고, 잡음뿐인 시각에서는 데이터 평균만 맞히면 되므로 중간 시각이 학습하기 가장 어렵다는 이유입니다.

저자들은 로봇 행동이 이 가정과 다르다고 봅니다. 텍스트 라벨이 주어졌을 때 평균 이미지를 맞히기는 쉽지만, 로봇 관측이 주어졌을 때 평균 행동 E[Atot]\mathbb{E}[\mathbf{A}_t \mid \mathbf{o}_t]를 맞히기는 어렵습니다. 관측은 텍스트 라벨보다 훨씬 많은 정보를 담고 있어 가능한 행동의 범위를 좁게 제한하기 때문입니다. 그래서 잡음이 많은 시각(작은 τ\tau)을 더 자주 뽑는 분포를 설계했습니다.

p(τ)=Beta(sτs; 1.5, 1),s=0.999p(\tau) = \text{Beta}\left(\frac{s - \tau}{s};\ 1.5,\ 1\right), \quad s = 0.999

그림 14 — flow matching 시각 추출 분포

그림 14 — 잡음이 많은 작은 τ를 더 자주 뽑고, 차단값 s보다 큰 τ는 뽑지 않습니다.

Beta(1.5, 1)의 밀도는 1.5x0.51.5\,x^{0.5}입니다. 아래 표는 x=(sτ)/sx = (s - \tau)/s를 넣어 시각별 밀도를 계산한 값입니다.

τ\tau00.250.50.750.90.990.999
밀도 1.5x0.51.5\,x^{0.5}1.5001.2991.0600.7490.4720.1420

논문의 식으로 계산한 값입니다.

같은 식으로 누적 확률을 구하면 τ0.5\tau \le 0.5인 표본이 약 64.7%, τ0.25\tau \le 0.25인 표본이 약 35.1%입니다. 균등 분포라면 각각 50%, 25%입니다. s=0.999s = 0.999보다 큰 τ\tau를 뽑지 않는 이유는 적분 간격 δ\delta1s1 - s보다 크면 그 구간이 쓰이지 않기 때문입니다. s=0.999s = 0.999δ>1/1000\delta > 1/1000, 곧 적분을 최대 1000걸음까지 할 수 있습니다.


7. 추론

오일러 적분 10걸음

추론은 잡음 At0N(0,I)\mathbf{A}^0_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I})에서 시작해, 학습한 속도를 τ=0\tau = 0에서 τ=1\tau = 1까지 적분합니다. 적분은 전진 오일러 방법입니다.

Atτ+δ=Atτ+δvθ(Atτ,ot)\mathbf{A}^{\tau + \delta}_t = \mathbf{A}^\tau_t + \delta\, \mathbf{v}_\theta(\mathbf{A}^\tau_t, \mathbf{o}_t)

실험에서는 10걸음, 곧 δ=0.1\delta = 0.1을 씁니다. 아래 표는 앞의 1차원 예시에서 모델이 매 걸음 정답 속도 1.6을 정확히 낸다고 가정한 계산입니다.

걸음τ\tau현재 값속도다음 값
10.0−1.001.6−0.84
20.1−0.841.6−0.68
50.4−0.361.6−0.20
100.90.441.60.60

정답 0.6·잡음 −1.0은 임의의 예시 값이고, 속도는 모델이 정답 속도를 정확히 맞혔다고 가정한 값입니다.

선형 경로에서는 속도가 일정하므로 10걸음이면 정확히 0.6에 도착합니다. 실제 모델의 속도는 걸음마다 조금씩 달라지지만, 경로가 직선에 가까울수록 적은 걸음으로도 정확해집니다.

키·값 캐시

행동 묶음 하나를 만들 때 필요한 계산은 네 가지입니다.

  1. 이미지 부호기로 카메라 이미지를 부호화합니다.
  2. 관측 ot\mathbf{o}_t(이미지·언어·상태) 토큰으로 순방향 계산을 한 번 합니다.
  3. 행동 토큰 50개로 순방향 계산을 합니다.
  4. 3번을 적분 걸음마다, 모두 10번 반복합니다.

주의 마스크 덕분에 관측 토큰은 행동 토큰을 보지 않으므로, 2번에서 계산한 관측 토큰의 키와 값을 저장해 두고 10걸음 동안 다시 씁니다. 반복 계산은 행동 전문가가 처리하는 50개 토큰뿐입니다.

모델 부분추론 시간
이미지 부호기14 ms
관측 순방향 계산32 ms
행동 순방향 계산 × 10 (flow)27 ms
네트워크 지연 (로봇 밖에서 추론할 때)13 ms
로봇 안 추론 합계73 ms
로봇 밖 추론 합계86 ms

표 I — 카메라 이미지 3장 기준, NVIDIA GeForce RTX 4090에서 잰 추론 시간입니다.

행동 순방향 계산 10번이 27 ms로, 관측 순방향 계산 한 번(32 ms)보다 짧습니다. 행동 전문가를 작게 만든 효과입니다. 이동형 로봇은 Wi-Fi로 연결된 외부 컴퓨터에서 추론해 네트워크 지연이 더해집니다.

행동 묶음의 실행

모델이 50걸음을 한꺼번에 내므로, 다시 추론하기 전까지 최대 50걸음을 실행할 수 있습니다. 실제로는 그보다 자주 추론합니다.

로봇제어 주기한 묶음에서 실행하는 걸음추론 간격
UR5e, Franka20Hz160.8초
나머지 로봇50Hz250.5초

ACT의 시간 앙상블(겹치는 예측을 가중 평균하는 방법)도 초기에 시도했지만 정책 성능이 떨어져, 여러 추론 결과를 합치지 않고 행동 묶음을 개루프로 실행합니다.


8. 학습 데이터와 학습 단계

사전학습 혼합

학습 예시 하나는 한 시점의 (ot,At)(\mathbf{o}_t, \mathbf{A}_t) 쌍이므로, 데이터 양은 시점(timestep) 수로 셉니다.

구분규모
공개 데이터 (OXE, Bridge v2, DROID)학습 혼합의 9.1%
자체 데이터 전체903M 시점
 한 팔 로봇106M 시점
 양팔 로봇797M 시점
자체 데이터 과제 수68개
자체 데이터 로봇 구성7종

논문은 이 데이터를 약 1만 시간이라고 적습니다. 공개 데이터의 로봇은 대개 카메라 한두 대에 2~10Hz의 낮은 제어 주기를 쓰지만, 물체와 환경이 매우 다양합니다.

π0의 "과제"는 기존 연구보다 넓은 단위입니다. 기존 연구는 "pick up the cup"과 "pick up the plate"를 서로 다른 과제로 셌지만, π0의 "식탁 치우기(bussing)" 과제 하나에는 여러 종류의 접시·컵·식기를 통에 넣고 쓰레기를 휴지통에 버리는 동작이 모두 들어갑니다. 그래서 과제 수 68보다 실제 행동의 폭이 훨씬 넓습니다.

그림 4 — 사전학습 데이터 구성

그림 4 — 왼쪽은 데이터셋별 시점 수 비율, 오른쪽은 사전학습 혼합에서의 가중치입니다.

데이터시점 수 비율 (왼쪽)혼합 가중치 (오른쪽)
Bimanual ARX51%34.2%
Bimanual AgileX10%16.3%
UR5e10%13.7%
Bimanual Trossen10%13.7%
OXE Magic Soup54
Mobile Fibocom34.4
Mobile Trossen39.1
Bimanual UR5e13.9
Franka표기 없음표기 없음

그림 4의 원그래프에 적힌 값을 옮겼습니다. 작은 조각은 원그래프에 % 기호 없이 숫자만 적혀 있습니다.

과제·로봇 조합의 가중치

데이터 크기가 고르지 않아, 어려운 빨래 개기 과제처럼 데이터가 많은 조합이 혼합을 차지하게 됩니다. 이를 줄이려고 과제-로봇 조합마다 표본 수 nn에 대해 n0.43n^{0.43}의 가중치를 줍니다.

조합의 표본 수 nn100,0001,000,00010,000,000
가중치 n0.43n^{0.43}141.3380.21023.3

표본 수는 임의의 예시 값이고, 가중치는 계산한 값입니다.

표본 수가 100배 차이 나는 두 조합의 가중치 차이는 약 7.24배로 줄어듭니다. 데이터가 많은 조합도 여전히 더 많이 뽑히지만, 데이터 양에 비례해서 뽑히지는 않습니다.

로봇 구성

그림 5 — 실험에 쓴 로봇

그림 5 — 6자유도·7자유도 팔을 단 한 팔·양팔 조작기와, 전방향·비전방향 이동형 조작기입니다.

구성카메라상태 차원행동 차원
UR5eUR5e 한 팔, 평행 집게손목 1 + 어깨 너머 1 = 277
Bimanual UR5eUR5e 두 팔31414
FrankaFranka 한 팔288
Bimanual Trossen6자유도 Trossen ViperX 두 팔 (ALOHA 기반)손목 2 + 베이스 1 = 31414
Bimanual ARX · Bimanual AgileX6자유도 ARX 또는 AgileX 두 팔손목 2 + 베이스 1 = 31414
Mobile Trossen · Mobile ARXMobile ALOHA 기반, 6자유도 두 팔 + 비전방향 베이스손목 2 + 베이스 1 = 31416
Mobile Fibocom6자유도 ARX 두 팔 + 전방향 베이스논문에 적히지 않음1417

두 줄은 기구학적 성질이 비슷한 두 플랫폼을 한 구성으로 묶었으므로, 표의 줄은 7개입니다. 비전방향 베이스는 행동 2차원을, 전방향 베이스는 이동 2차원과 회전 1차원을 더합니다.

사전학습과 사후학습

두 단계는 데이터에 요구하는 성질이 다릅니다.

단계목표데이터 요구규모
사전학습(pre-training)넓게 쓸 수 있는 물리적 능력과제를 최대한 많이, 과제 안에서도 다양한 행동위 혼합 전체
사후학습(post-training)특정 과제를 능숙하고 유창하게 실행일관되고 유창한 전략을 담은 데이터과제에 따라 5시간 ~ 100시간 이상

저자들은 두 데이터가 서로 다른 역할을 한다고 설명합니다. 품질 높은 데이터만으로 학습하면 실수 장면이 거의 없어 실수에서 회복하는 법을 배우지 못합니다. 품질 낮은 사전학습 데이터만으로 학습하면 효율적이고 강건하게 움직이는 법을 배우지 못합니다. 둘을 함께 쓰면 모델은 되도록 품질 높은 데이터처럼 움직이고, 실수했을 때는 사전학습에서 본 회복 동작을 씁니다.

사전학습에는 과제 이름과 함께 약 2초 길이의 구간마다 붙인 세부 라벨(segment annotation)도 언어 지시로 씁니다.

상위 정책

식탁 치우기처럼 의미 추론과 전략이 필요한 과제는 "bus the table" 같은 큰 과제를 "pick up the napkin", "throw the napkin into the trash" 같은 하위 과제로 나누는 상위 정책의 도움을 받을 수 있습니다. π0는 언어 지시를 입력으로 받으므로, 상위 VLM이 하위 과제 문장을 만들어 π0에 넘기면 됩니다. SayCan 같은 LLM·VLM 계획 방법과 같은 방식입니다.


9. 실험 1 — 사전학습 직후 기본 모델 평가

과제

사후학습 없이 사전학습만 마친 모델에 언어 지시만 주고 다섯 과제를 시킵니다.

그림 6 — 기본 모델 평가 과제

그림 6 — 셔츠 개기, 쉬운 식탁 치우기, 어려운 식탁 치우기, 장바구니 담기, 토스터에서 토스트 꺼내기입니다.

과제로봇내용점수 기준
셔츠 개기Bimanual ARX펼쳐 놓은 티셔츠 개기성공/실패. 소매를 접고 길이 방향으로 반 접으면 성공. 티셔츠 5벌 × 2회, 최대 15000걸음(약 5분)
쉬운 식탁 치우기UR5e쓰레기는 휴지통, 식기는 식기 통에물체 7개, 맞게 넣은 물체당 1점
어려운 식탁 치우기UR5e물체가 더 많고, 쓰레기 위에 식기를 올려 두는 등 배치가 까다로움. 사전학습에 없는 물체 포함물체 12개, 물체당 1점
장바구니 담기UR5e감자칩·마시멜로·고양이 사료 등을 봉투에물건 7개, 담은 물건당 1점
토스트 꺼내기Bimanual Trossen토스터에서 토스트 꺼내 접시에토스트 2장 × (꺼내기 1점 + 접시에 놓기 1점) = 4점

점수는 과제별 만점으로 나눈 정규화 점수를 에피소드 10회에 걸쳐 평균합니다. 완전히 성공하면 1.0, 일부만 하면 비율만큼 받습니다.

비교 모델

모델파라미터학습 데이터학습 걸음
π03.3B전체 혼합700k
π0 (계산량 맞춤, parity)3.3B전체 혼합160k
π0-small470M전체 혼합논문에 적히지 않음
OpenVLA7B전체 혼합160k
OpenVLA (UR5e 전용)7BUR5e 데이터만논문에 적히지 않음
Octo93M전체 혼합320k

시간 제약으로 OpenVLA와 Octo를 π0만큼 오래 학습하지 못해, 기준선보다 걸음 수가 같거나 적은 160k 걸음 버전의 π0를 함께 비교합니다. OpenVLA는 행동 묶음과 고주파 제어를 지원하지 않아 이 혼합이 매우 어렵다고 저자들은 적습니다. UR5e 데이터만으로 미세조정한 OpenVLA는 UR5e 과제에서 더 강한 기준선이 되도록 추가했습니다. Octo는 VLA가 아니지만 확산 과정으로 행동을 생성하므로 flow matching VLA와 비교할 대상이 됩니다.

결과

그림 7 — 기본 모델 평가 결과

그림 7 — 모든 과제에서 계산량을 맞춘 π0도 모든 기준선보다 높고, 전체 학습한 π0가 가장 높습니다.

과제π0π0 (parity)π0-smallOpenVLAOpenVLA (UR5e)Octo
셔츠 개기약 1.0약 0.9약 0.5약 0약 0
쉬운 식탁 치우기약 0.97약 0.81약 0.44약 0약 0.34약 0.05
어려운 식탁 치우기약 0.88약 0.5약 0.33약 0약 0
장바구니 담기약 0.79약 0.34약 0.27약 0약 0
토스트 꺼내기약 0.75약 0.4약 0약 0약 0

논문은 막대그래프만 싣고 수치를 적지 않았으므로, 그림 7에서 읽은 대략값입니다. UR5e 전용 OpenVLA는 UR5e 과제 가운데 쉬운 식탁 치우기에서만 막대가 보입니다.

π0는 셔츠 개기와 쉬운 식탁 치우기에서 거의 완벽한 점수를 냈습니다. 160k 걸음만 학습한 π0도 모든 기준선보다 높고, VLM 초기화가 없는 π0-small도 OpenVLA와 Octo보다 높습니다.

  • OpenVLA — 자기회귀 이산화 구조가 행동 묶음을 지원하지 않아 이 과제들에서 실패합니다. UR5e 전용 OpenVLA는 조금 낫지만 π0에 크게 못 미칩니다.
  • Octo — 행동 묶음은 지원하지만 표현 용량이 제한적입니다.
  • π0-small과의 비교 — VLM 사전학습의 중요성을 보여 주지만, 공정한 비교는 어렵습니다. π0-small은 파라미터가 적은데, 사전학습 없이 큰 모델을 학습하기도 어렵기 때문입니다.

10. 실험 2 — 언어 명령 따르기

과제와 조건

기본 π0를 언어 명령 평가 영역에 미세조정한 뒤, VLM 초기화가 없는 π0-small과 비교합니다. 실험 1에서 가장 강한 기준선이 π0-small이었기 때문입니다. 이 비교로 VLM 사전학습이 언어 명령 이해를 얼마나 돕는지 봅니다. 다만 π0-small은 모델 크기도 작아, 크기 차이의 영향을 따로 떼어 낼 수는 없다고 저자들은 밝힙니다.

그림 8 — 언어 명령 평가 과제

그림 8 — 위부터 식탁 치우기, 식탁 차리기, 장바구니 담기입니다.

과제내용물체 수에피소드당 명령 수
식탁 치우기식기는 통에, 쓰레기는 휴지통에12약 30
식탁 차리기통에서 매트·접시·식기·냅킨·컵을 꺼내 차리고 언어 지시대로 조정7약 20
장바구니 담기커피콩·보리·마시멜로·고양이 사료·스파게티·김·아몬드를 종이봉투에7약 14

명령은 집을 물체와 놓을 자리를 말하는 약 2초 길이 구간 단위이고, 과제 하나에 이런 구간이 여러 개 이어집니다. 점수는 물체를 제자리에 옮겼는지와 명령을 따랐는지로 매깁니다.

조건받는 명령
-flat전체 과제 설명 한 문장만 ("bag the groceries")
-human전문가인 사람이 주는 중간 명령 (어떤 물체를 어디에)
-HL상위 VLM 정책이 주는 중간 명령 (사람 개입 없이 자율)

결과

그림 9 — 언어 명령 평가 결과

그림 9 — 왼쪽은 언어 명령을 따른 비율, 오른쪽은 조건별 과제 점수입니다.

과제명령 따른 비율 π0-small명령 따른 비율 π0
식탁 치우기약 0.70약 0.94
장바구니 담기약 0.31약 0.70
식탁 차리기약 0.31약 0.90
과제π0-small-flatπ0-small-humanπ0-flatπ0-humanπ0-HL
식탁 치우기약 0.64약 0.71약 0.92약 0.97약 0.95
장바구니 담기약 0.34약 0.15약 0.75약 0.87약 0.72
식탁 차리기약 0.17약 0.11약 0.38약 0.72약 0.84

논문은 수치를 적지 않았으므로 그림 9에서 읽은 대략값입니다. 과제당 10회 평균입니다.

π0는 세 과제 모두에서 π0-small보다 명령을 훨씬 잘 따릅니다. 저자들은 이 차이를 더 큰 사전학습 VLM 초기화의 효과로 봅니다. 명령을 잘 따르는 능력은 중간 명령이 주어졌을 때의 과제 점수로 이어집니다. π0는 사람의 중간 명령(-human)으로 점수가 크게 오르고, 상위 VLM 정책(-HL)으로도 올라갑니다. 반면 π0-small은 명령을 따르는 능력이 부족해, 중간 명령을 받아도 전체적으로 점수가 오르지 않습니다.


11. 실험 3 — 새로운 정교한 과제 학습

과제와 난이도

사전학습 데이터와 크게 다른 새 과제에, 과제마다 데이터 양을 바꿔 미세조정합니다. 과제는 사전학습 과제와 얼마나 다른지에 따라 난이도를 나눕니다.

그림 10 — 미세조정 평가 과제

그림 10 — 사전학습과 비슷한 과제부터, 새 물체와 새 동작이 필요한 과제까지입니다.

과제로봇사전학습과의 관계난이도점수 기준
그릇 쌓기UR5e식탁 치우기처럼 식기를 집어 옮김. 평가에 처음 보는 그릇 포함쉬움3점: 작은 그릇 2개를 큰 그릇에 쌓기 각 1점 + 정돈 1점
수건 개기Bi-ARX사전학습의 셔츠 개기와 비슷함쉬움3점: 첫 반 접기 1점 + 두 번째 반 접기 1점 + 정돈 1점
전자레인지에 반찬통 넣기Bi-ARX통 다루기는 비슷하지만 전자레인지는 사전학습에 없음. 평가에 처음 보는 통 포함중간4점: 문 열기·통 집기·넣기·문 닫기 각 1점
종이 타월 교체Bi-UR5e사전학습에 비슷한 물체가 없음어려움4점: 헌 심 잡기·빼기·새 롤 잡기·거치대에 끼우기 각 1점
서랍에 물건 넣기Franka사전학습에 Franka로 하는 비슷한 과제가 없음어려움5점: 서랍 열기 1점 + 물건 3개 넣기 각 1점 + 닫기 1점

비교 방법

방법출발점미세조정 데이터
π0사전학습한 π0과제별 1·5·10시간
π0 (scratch)π0 구조, 로봇 데이터 사전학습 없음같음
OpenVLA공개 저장본 (OXE로 사전학습)한 가지 데이터 양만
Octo공개 저장본 (OXE로 사전학습)한 가지 데이터 양만
ACT처음부터 학습과제별 데이터만
Diffusion Policy (DP)처음부터 학습과제별 데이터만

π0와 π0 (scratch)를 비교하면 로봇 사전학습의 효과를, π0 (scratch)와 다른 방법을 비교하면 VLM 초기화를 포함한 구조의 효과를 볼 수 있습니다. OpenVLA와 Octo는 성능이 크게 낮아, 실제 로봇 평가에 드는 시간 때문에 데이터 양 한 가지로만 평가했습니다. 모든 기준선은 그릇 쌓기와 반찬통 과제에만 넣었습니다.

결과

그림 11 — 미세조정 데이터 양에 따른 성능

그림 11 — 쉬운 과제는 적은 데이터로도 배우고, 사전학습 모델이 처음부터 학습한 모델보다 높은 경우가 많습니다.

과제데이터π0π0 (scratch)DPACTOpenVLAOcto
전체 평균1시간약 0.57약 0.38약 0.20
5시간약 0.86약 0.79약 0.32
10시간약 0.87약 0.76약 0.38
그릇 쌓기1시간약 0.90약 0.73약 0.13약 0.30
5시간약 1.0약 0.87약 0.57약 0.47약 0.13약 0.08
10시간약 1.0약 0.93약 0.60약 0.90
수건 개기1시간약 0.15약 0약 0
5시간약 1.0약 0.80약 0.10
10시간약 0.95약 0.60약 0.30
반찬통 넣기1시간약 0.88약 0.68약 0.65약 0.53
5시간약 0.58약 0.75약 0.62약 0.62약 0.07약 0
10시간약 0.75약 0.78약 0.68약 0.73
종이 타월 교체1시간약 0.82약 0.37약 0.22
5시간약 0.80약 0.57약 0.32
10시간약 0.70약 0.57약 0.30
서랍에 물건 넣기1시간약 0.10약 0.14약 0
5시간약 0.94약 0.94약 0
10시간약 0.94약 0.92약 0.06

논문은 수치를 적지 않았으므로 그림 11에서 읽은 대략값입니다. "—"는 그 조건을 평가하지 않은 칸입니다. 과제당 10회 평균입니다.

π0는 대체로 다른 방법보다 높습니다. 기존 방법 가운데서는 목표 과제 데이터로 처음부터 학습한 ACT와 Diffusion Policy가 가장 강했습니다. OXE로 사전학습한 OpenVLA와 Octo는 이 과제들에서 사전학습의 이점을 거의 살리지 못했습니다. 반찬통 과제에서 5시간 데이터로 학습한 π0는 기준선과 비슷했지만, 1시간 버전은 기준선보다 확실히 높았습니다.

사전학습의 효과는 사전학습 데이터와 비슷한 과제에서 더 크게 나타났고, 사전학습 모델이 처음부터 학습한 모델보다 최대 2배 높은 경우도 있었습니다. 다만 그림을 보면 서랍에 물건 넣기처럼 두 π0의 곡선이 거의 겹치는 과제도 있습니다.


12. 실험 4 — 복잡한 다단계 과제

과제

미세조정과 언어를 함께 써서 여러 단계가 이어지는 어려운 과제를 시킵니다. 과제 하나를 끝내는 데 5분에서 20분이 걸리고, 일부는 상위 정책의 안내가 필요합니다.

그림 12 — 복잡한 다단계 과제

그림 12 — (a) 고정 로봇 빨래 개기 (b) 이동 로봇 빨래 개기 (c) 식탁 치우기 (d) 상자 조립 (e) 달걀 담기 (f) 음식 포장입니다.

과제로봇사전학습에 있음내용점수 기준
빨래 개기Bi-ARX (고정)있음통 안에 구겨진 옷을 꺼내 개고, 앞서 갠 옷 위에 쌓기4점: 꺼내 탁자에 놓기·펴기·개기·모서리에 두거나 쌓기 각 1점. 셔츠 3벌 + 반바지 2벌 × 2회
이동 빨래 개기Mobile Fibocom있음방향과 위치를 제어하며 빨래 개기빨래 개기와 같음
건조기 비우기Mobile Fibocom있음바구니를 들고 건조기로 가서 옷을 바구니에 옮기기5점: 접근·바구니 올려놓기·문 열기·옷 모두 담기·문 닫기 각 1점
식탁 치우기UR5e없음처음 보는 물체가 빽빽한 식탁 정리. 큰 접시는 집게를 비틀어 집고, 쓰레기 묻은 접시는 들어서 쓰레기를 털고 통에 넣음물체 12개, 물체당 1점
상자 조립Bi-Trossen없음납작한 상자를 접어 조립. 한쪽을 누르며 다른 쪽을 접고, 탁자 면도 받침으로 씀5점: 상자 집기·반 접기·오른쪽 날개·왼쪽 날개·가운데 정돈 각 1점
음식 포장Bi-AgileX없음접시의 음식을 포장 용기에 넣고 양팔로 닫기5점: 접시 집기 1점 + 음식 3개 넣기 각 1점 + 닫기 1점
달걀 담기Bi-Trossen없음그릇의 달걀 6개를 달걀판에 넣고 양팔로 닫기7점: 달걀당 1점 + 달걀판 닫기 1점

이 과제들은 다른 방법으로는 풀지 못해, π0의 학습 조건끼리 비교합니다.

조건사전학습미세조정
π0 (fine-tuned)
π0 (out-of-box)안 함
π0 (scratch)안 함

결과

그림 13 — 복잡한 과제 사후학습 결과

그림 13 — 위는 사전학습에 있던 과제, 아래는 사전학습에 없던 과제의 10회 평균 점수입니다.

과제π0 (fine-tuned)π0 (scratch)π0 (out-of-box)
빨래 개기약 0.83약 0.22약 0.30
식탁 치우기약 0.88약 0.71약 0.48
이동 빨래 개기약 0.93약 0.32약 0.55
건조기 비우기약 0.72약 0.38약 0.16
상자 조립약 0.64약 0.32약 0
음식 포장약 0.70약 0.46약 0
달걀 담기약 0.84약 0.88약 0

논문은 수치를 적지 않았으므로 그림 13에서 읽은 대략값입니다. 그림 13 위쪽 그래프는 식탁 치우기를 "사전학습에 있던 과제" 묶음에 넣었지만, 본문 과제 설명은 이 과제가 사전학습에 없다고 적습니다.

사전학습과 미세조정을 모두 한 π0는 모든 과제에서 최대 점수의 50%를 넘었습니다. 사전학습에 없던 세 과제는 사전학습만 한 모델로는 점수가 0에 가깝지만, 사전학습 후 미세조정하면 처음부터 학습한 모델보다 대체로 높습니다. 저자들은 어려운 과제일수록 사전학습 모델의 개선 폭이 크다고 해석합니다. 과제마다 절대 점수가 다른 것은 과제 난이도와 사전학습에 비슷한 데이터가 얼마나 있었는지의 차이로 봅니다.

본문은 "전체 사전학습·미세조정 방법이 모든 과제에서 가장 좋았다"고 적지만, 그림 13의 달걀 담기에서는 처음부터 학습한 모델의 막대가 조금 더 높습니다. 그림 캡션은 "대체로(typically) 앞선다"고 적어 그림과 맞습니다.


13. 비교 모델 π0-small의 구조

VLM 사전학습의 효과를 보려고 만든 π0-small(약 470M 파라미터)은 VLM 백본 없이 처음부터 학습해도 큰 데이터셋에 맞출 수 있게 설계했습니다.

항목π0π0-small
언어 지시 부호화Gemma 언어 모델 백본DistilBERT
행동 전문가와 관측의 연결혼합 전문가 구조, 한 시퀀스에서 자기 주의관측 부호기 출력에 교차 주의 (부호기-복호기 구조)
이미지 부호기PaliGemma 부호기더 작은 사전학습 ViT (R26-S-32 ResNet-ViT 혼합)
이미지 부호기 가중치 공유논문에 적히지 않음카메라마다 따로
관측 Transformer 사전학습인터넷 데이터로 사전학습안 함
행동 전문가 구조Gemma 구조DiT 구조, AdaLN-Zero 층으로 τ\tau 입력
공통점사전학습 ViT 이미지 부호기, 관측 부호기와 행동 전문가의 가중치 분리, 같은 관측 형식, flow matching 10걸음같음

14. 저자가 밝힌 한계

첫째, 사전학습 데이터를 어떻게 구성해야 하는지 아직 충분히 알지 못합니다. 쓸 수 있는 데이터를 모두 합쳤지만, 어떤 종류의 데이터를 추가하면 더 도움이 되는지, 가중치를 어떻게 줘야 하는지는 풀리지 않은 문제입니다.

둘째, 평가한 과제가 모두 안정적으로 동작하지는 않고, 거의 완벽한 성능에 필요한 데이터의 양과 종류를 미리 예측하는 방법도 없습니다.

셋째, 매우 다른 데이터, 특히 다른 과제와 다른 로봇의 데이터를 합쳤을 때 긍정적 전이가 얼마나 일어나는지 아직 모릅니다. 결과는 범용 사전학습 로봇 기반 모델이 가능하다는 쪽을 가리키지만, 자율 주행·내비게이션·다리 보행처럼 훨씬 다른 영역까지 확장되는지는 앞으로의 연구로 남깁니다.

저자들은 대형 언어 모델에서 지식 대부분이 사전학습에서 얻어지고 사후학습은 그 지식을 사용자 지시에 맞게 쓰는 방법을 알려 준다는 관찰이, 로봇 기반 모델에서도 비슷하게 나타날 수 있다고 봅니다. 사전학습 모델은 추가 학습 없이도 어느 정도 과제를 하지만, 빨래 개기 같은 복잡한 과제는 품질 높은 데이터로 미세조정해야 합니다. 품질 높은 데이터로만 학습한 모델은 실수에서 회복하지 못하고, 사전학습 모델만 쓰면 사후학습 데이터에 담긴 유창한 전략이 나오지 않습니다.


15. 논문 안에서 맞지 않는 곳

위치내용이 글의 처리
3절 개요 vs 그림 4·5-A절개요는 OXE 데이터셋 "전체(entire)"를 쓴다고 적고, 그림 4 캡션과 5-A절은 OXE의 일부인 OXE Magic Soup을 쓴다고 적습니다.그림 4의 표기(OXE Magic Soup)를 따르고 두 표현을 함께 적습니다.
5-A절 vs 그림 4본문은 공개 데이터(OXE·Bridge v2·DROID)가 학습 혼합의 9.1%라고 적지만, 그림 4의 혼합 가중치 원그래프에서 OXE Magic Soup은 4이고 9.1은 Mobile Trossen 조각에 적혀 있습니다. 논문만으로는 어느 쪽이 맞는지 알 수 없습니다.두 값을 모두 적습니다(8절).
6-D절 vs 그림 13본문은 전체 방법이 "모든 과제에서(across the board)" 가장 좋다고 적지만, 그림 13의 달걀 담기에서는 처음부터 학습한 모델이 조금 더 높습니다.그림과 캡션("typically")을 따릅니다(12절).
6-D절 vs 그림 13본문은 식탁 치우기가 사전학습에 없는 과제라고 적지만, 그림 13은 이 과제를 "사전학습에 있던 과제" 그래프에 넣었습니다.두 표기를 함께 적습니다(12절).

자체 데이터 903M 시점과 "약 1만 시간"은 로봇별 제어 주기(20Hz 또는 50Hz)에 따라 환산이 달라집니다. 모든 시점이 50Hz라면 약 5,017시간, 모두 20Hz라면 약 12,542시간이므로 1만 시간은 이 범위 안에 있습니다. 논문이 로봇별 시점 수를 적지 않아 정확한 환산은 할 수 없습니다.


16. 정리 — 계보에서의 위치

  • VLM + 행동 전문가 — PaliGemma(3B)에 로봇 상태·행동 토큰 전용 가중치 약 300M을 더한 3.3B 모델입니다. 두 가중치 묶음은 자기 주의 층에서만 연결됩니다.
  • flow matching 행동 묶음 — 50걸음 × 18차원의 연속 행동을 선형 경로 flow matching으로 학습하고, 오일러 방법 10걸음으로 생성합니다. 잡음이 많은 시각을 더 자주 뽑는 베타 분포로 학습합니다.
  • 블록 단위 인과 마스크 — 이미지·언어 블록은 사전학습 분포를 지키려고 뒤 블록을 보지 않고, 상태 블록은 캐시할 수 있도록 행동 블록을 보지 않습니다. RTX 4090에서 행동 묶음 하나에 73 ms가 걸립니다.
  • 데이터와 학습 단계 — 로봇 구성 7종·과제 68개·903M 시점의 자체 데이터와 공개 데이터로 사전학습하고, 과제별로 5시간에서 100시간 이상의 품질 높은 데이터로 사후학습합니다.
  • 결과 — 사전학습 직후 평가에서 OpenVLA·Octo보다 크게 높았고, 새 과제 미세조정에서 ACT·Diffusion Policy보다 대체로 높았으며, 빨래 개기·상자 조립 같은 긴 과제에서 최대 점수의 50%를 넘었습니다.

OpenVLA와의 비교

항목OpenVLAπ0
파라미터7B3.3B (VLM 3B + 행동 전문가 300M)
기본 VLMPrismatic-7B (SigLIP + DINOv2 → Llama 2)PaliGemma (Gemma 2B)
입력이미지 1장 + 언어이미지 2~3장 + 언어 + 로봇 상태
행동 표현차원별 256구간 토큰연속 값
생성 방식토큰을 하나씩 자기회귀 생성flow matching, 오일러 10걸음
한 번에 내는 행동1걸음50걸음
행동 차원718 (작은 로봇은 0으로 채움)
로봇 데이터OXE 97만 개 궤적자체 903M 시점(약 1만 시간) + OXE Magic Soup·Bridge v2·DROID
학습 단계사전학습 → 필요하면 미세조정사전학습 → 과제별 사후학습
최대 제어 주기RTX 4090에서 약 6Hz50Hz (0.5초마다 추론, 25걸음 실행)

π0가 행동을 연속 값으로 바꾸면서 새로 생긴 질문도 있습니다. 토큰으로 행동을 내는 방식이 느리고 거친 이유가 토큰 방식 자체인지, 아니면 차원별 구간 나누기라는 토큰화 방법 때문인지입니다. 다음 편 FAST는 행동을 주파수 성분으로 압축하는 토크나이저로 이 질문을 다룹니다. 사전학습에 없던 집 안 환경에서의 일반화는 이후 π0.5가 다룹니다.

전체 목록은 VLA 계보 목차에서 볼 수 있습니다.