Contents — find the section you need

많은 비전-언어-행동(VLA) 모델은 이미지, 언어, 행동을 하나의 토큰 시퀀스로 표현하고 다음 토큰을 하나씩 예측합니다. 2024년 Physical Intelligence 학회에서 발표된 π0(파이제로)는 행동 생성 메커니즘 자체를 변경했습니다. 행동을 자기회귀적으로 토큰화하는 대신, 조건부 흐름 매칭을 통해 연속적인 행동 덩어리를 생성합니다. 이 글에서는 “π0: 일반 로봇 제어를 위한 비전-언어-행동 흐름 모델”(Black, Brown, Driess 외, Physical Intelligence, arXiv:2410.24164) 논문에 설명된 설계를 단계별로 살펴봅니다.

본 글은 원문 논문(arXiv:2410.24164)과 PaliGemma 논문(arXiv:2407.07726)의 내용을 바탕으로 작성되었습니다.

0. 학습 내용

  • π0는 RT-2 및 OpenVLA와 같은 자기회귀 VLA 모델과 어떻게 다른가
  • PaliGemma VLM 백본과 전용 "액션 전문가"가 어떻게 함께 작동하는가
  • 조건부 흐름 매칭이 추론 시 오일러 적분을 포함하여 액션을 생성하는 방법
  • 7가지 로봇 유형에 걸친 이종 교차 구현 학습을 처리하는 방법
  • 사전 학습과 사후 학습을 2단계로 나누는 이유

1. 결론부터: π0란 무엇인가?

π0는 사전 학습된 비전-언어 모델(PaliGemma)과 조건부 흐름 매칭을 통해 연속적인 동작 덩어리를 생성하는 전용 액션 전문가를 결합한 범용 로봇 제어 모델입니다. 단일 모델은 카메라 이미지, 자연어 명령, 로봇의 관절 상태를 입력받아 최대 50개의 미래 단계를 포함하는 동작 시퀀스를 한 번에 출력합니다. 이 모델은 7개의 서로 다른 로봇 플랫폼의 데이터로 사전 학습되었으며, 일부 작업은 제로샷으로 수행할 수 있고, 비교적 적은 데이터로도 미세 조정을 통해 새로운 작업에 적응하도록 설계되었습니다.

2. 흐름 매칭을 사용하여 동작을 생성하는 이유는 무엇일까요?

RT-2 및 OpenVLA와 같은 초기 VLA는 연속적인 동작 값(관절 각도, 속도 등)을 미리 정의된 구간으로 이산화하고, 사용되지 않는 언어 모델 어휘 토큰에 할당합니다. 이를 통해 이미지, 언어, 동작을 하나의 토큰 시퀀스로 처리할 수 있습니다. 이 접근 방식은 구현이 간단하지만 두 가지 한계가 있습니다. 첫째, 동작은 토큰 단위로 생성되기 때문에 고빈도, 고차원 동작 시퀀스를 생성하는 데 시간이 오래 걸릴 수 있습니다. 둘째, 이산화는 동작 공간을 대략적으로만 표현하기 때문에 천을 접거나 액체를 붓는 것과 같이 변형과 접촉이 중요한 부드럽고 정밀한 동작을 표현하기 어렵습니다.

π0는 동작 토큰화를 피하고 확산 모델 계열인 플로우 매칭을 사용하여 동작 표현을 한 번에 50단계의 연속적인 동작 덩어리를 생성함으로써 이 두 가지 문제를 해결합니다. 본 논문에서는 이러한 설계가 고도의 숙련도가 요구되는 작업과 최대 50Hz의 빈도로 동작 덩어리를 처리할 수 있는 방법임을 명시적으로 제시합니다.

3. 입력값은 무엇인가요?

π0는 세 가지 종류의 입력을 받습니다.

  • 이미지 o_t : 여러 카메라 시점(구성 설정에 따라 최대 세 시점)에서 촬영한 RGB 이미지
  • 언어 지시 : "셔츠를 접으세요"와 같은 자연어로 된 작업 설명
  • 고유 감각 q_t : 로봇의 관절 각도와 같은 상태 벡터

이러한 입력들은 하나의 관측값 o_t = [I_t^1, \dots, I_t^n, \ell_t, q_t]로 처리됩니다. 카메라 개수와 관절 자유도는 로봇 구성에 따라 다르므로, 아래 설명처럼 차원을 맞추기 위해 패딩과 마스킹이 필요합니다.

4. 예측 결과는 무엇인가요?

출력은 현재 시점부터 H=50개의 액션을 포함하는 액션 청크 A_t = [a_t, a_{t+1}, \dots, a_{t+H-1}]입니다. 한 번에 하나의 액션 토큰을 생성하는 자기회귀 모델과 달리, π0는 전체 액션 청크를 한 번에 생성합니다. 흐름 매칭을 통해 이 청크를 생성하는 것이 π0의 핵심 아이디어입니다.

5. 기본 아키텍처

π0은 사전 학습된 VLM(PaliGemma)과 액션 생성을 전문으로 하는 소형 "액션 전문가"를 함께 실행합니다. 두 개의 트랜스포머는 동일한 레이어 내에서 병렬로 작동합니다.

Diagram 1 · Use the button to switch views
π0 basic pipeline Multiple camera views, a language instruction, and joint state are processed by the PaliGemma VLM (SigLIP image encoder plus Gemma-2B language model). A separate Action Expert repeatedly updates the state and noisy action to produce an action chunk. Images (multi-view) Language instruction Joint state q_t Noisy action A_t^τ (iterated over τ) PaliGemma VLM (3B) SigLIP image encoder + Gemma-2B language model Processes image/language tokens Action Expert (300M) Separate parameter set Processes state q_t and noisy action Blocks in the same Transformer layers Shared through causal attention v_θ(A_t^τ, o_t) Outputs a vector field 10 Euler integration steps (τ: 0→1) Action chunk A_t (H=50) Up to 50 Hz

그림 1 — PaliGemma(이미지 및 언어)와 Action Expert(상태 및 노이즈가 있는 동작)는 블록 단위 인과적 어텐션을 통해 동일한 Transformer 레이어를 공유하면서 별도의 파라미터 세트를 사용합니다.

Action Expert의 벡터 필드는 10단계 오일러 적분 과정을 거쳐 누적되어 50단계의 액션 청크를 생성합니다.

6. 구성 요소의 기술적 세부 사항

PaliGemma 백본 및 Action Expert

VLM 백본은 2024년 Google에서 발표한 PaliGemma를 기반으로 초기화됩니다. PaliGemma는 SigLIP-So400m 비전 인코더와 Gemma-2B 언어 모델을 결합하여 30억 개의 파라미터를 가진 VLM을 구현합니다. 목표는 인터넷 규모의 사전 학습을 통해 얻은 시각 및 언어 지식을 로봇 액션 생성에 적용하는 것입니다.

약 30억 개의 파라미터를 가진 PaliGemma 외에도, π0 모델은 약 3억 개의 파라미터를 가진 Action Expert를 추가합니다. Action Expert는 폭이 1024이고 MLP 차원이 4096인 더 작은 Transformer입니다. PaliGemma의 경우, 해당 수치는 폭 2048, 깊이 18개 레이어, MLP 차원 16384입니다. 따라서 전체 π0 모델은 약 33억 개의 파라미터를 가집니다.

중요한 점은 이 두 네트워크가 완전히 독립적으로 나란히 실행되는 것이 아니라는 것입니다. 이들은 동일한 Transformer 레이어를 공유하면서도 서로 다른 토큰 유형에 대해 서로 다른 파라미터 세트를 사용합니다. PaliGemma는 이미지 및 언어 토큰을 처리하고, Action Expert는 상태 및 노이즈가 포함된 액션 토큰을 처리합니다. 정보는 공유 레이어에서 블록 단위 인과적 어텐션을 통해 전달됩니다. 액션 토큰은 해당 블록 내에서 양방향으로 서로에게 어텐션할 수 있지만, 학습 제약 조건으로 인해 미래 정보를 예측할 수는 없습니다. 이는 전문가 혼합 모델(mixture-of-experts)과 유사한 개념으로, 하나의 모델이 이산적인 언어 출력(교차 엔트로피로 학습)과 연속적인 행동 출력(흐름 일치 손실로 학습)을 결합할 수 있도록 합니다.

조건부 흐름 일치를 이용한 행동 생성

π0은 확산 기반 생성 방법 계열에 속하는 조건부 흐름 일치를 이용하여 행동을 생성합니다. 학습 과정에서 실제 행동 덩어리 A_t와 가우시안 노이즈 \epsilon \sim \mathcal{N}(0, I)는 시간 매개변수 \tau \in [0,1]를 따라 선형적으로 혼합되어 노이즈가 포함된 행동 A_t^\tau을 생성합니다.

A_t^\tau = \tau A_t + (1-\tau)\epsilon

A_t^\tau이 실제 행동 A_t로 이동하기 위한 목표 방향은 다음과 같이 정의됩니다.

u(A_t^\tau \mid A_t) = \epsilon - A_t

액션 전문가(Action Expert)는 관측값 o_t와 잡음이 섞인 액션 A_t^\tau로부터 목표 벡터장을 예측하는 네트워크 v_\theta(A_t^\tau, o_t)로 훈련됩니다. 손실은 예측된 벡터장과 목표 벡터장 간의 제곱 오차입니다.

\mathcal{L}^\tau(\theta) = \mathbb{E}_{p(A_t \mid o_t),\, q(A_t^\tau \mid A_t)} \left\| v_\theta(A_t^\tau, o_t) - u(A_t^\tau \mid A_t) \right\|^2

추론 시에는 순수한 잡음 A_t^{\tau=0} = \epsilon에서 샘플링을 시작합니다. 순방향 오일러(Forward Euler) 방법을 사용하여 \tau=0부터 \tau=1까지의 예측된 벡터장을 적분하여 최종 액션 청크를 구성합니다.

A_t^{\tau+\delta} = A_t^{\tau} + \delta\, v_\theta(A_t^{\tau}, o_t)

본 논문에서는 \tau=0에서 \tau=1까지 진행하기 위해 10단계 적분을 사용합니다. RT-2/OpenVLA의 자기회귀 토큰 생성 방식은 액션 청크 길이만큼 순차 디코딩을 반복하는 반면, π0은 10번의 업데이트 단계를 거쳐 전체 청크를 정제합니다. 따라서 업데이트 횟수는 청크 길이에 비례하여 증가하지 않으며, 이것이 π0의 속도 우위의 실질적인 원인입니다.

다양한 로봇 플랫폼에서 하나의 모델 학습

π0의 학습 데이터는 7가지 로봇 플랫폼에 걸쳐 있습니다: UR5e, 양손 UR5e, Franka, 양손 Trossen, 양손 ARX 및 AgileX, 모바일 Trossen 및 모바일 ARX, 그리고 모바일 Fibocom. 카메라 수는 2~3개이며, 자유도는 로봇에 따라 7~17개입니다.

이질적인 데이터를 하나의 모델로 표현하기 위해 π0은 다음과 같은 정규화를 적용합니다.

  • 상태 벡터 q_t와 액션 벡터 a_t는 훈련 데이터의 최대 자유도(18차원)까지 패딩됩니다. 자유도가 더 적은 로봇의 경우 사용되지 않는 항목에 제로 패딩을 적용합니다.

  • 카메라 수가 3개 미만인 로봇의 경우 누락된 이미지 슬롯을 마스킹하여 어텐션 메커니즘이 해당 위치를 무시하도록 합니다.

  • 샘플 수는 작업 및 로봇 조합에 따라 크게 달라지므로, n개의 샘플이 있는 조합의 경우 샘플링에 n^{0.43}을 가중치로 적용합니다. 이는 데이터가 풍부한 작업의 비중을 줄여줍니다.

전체 학습 데이터 세트는 약 9억 개의 타임 스텝, 즉 약 1만 시간에 해당하는 데이터로 구성됩니다. 여기에는 Physical Intelligence 자체 데이터인 68개 작업과 7대의 로봇 데이터, 그리고 Open X-Embodiment(OXE), Bridge v2, DROID 등의 공개 데이터 세트가 포함됩니다.

2단계 학습 방식 — 사전 학습 및 사후 학습

π0 학습은 크게 두 단계로 나뉩니다. 사전 학습에서는 방대하고 다양한 전체 데이터 세트를 사용합니다. 작업 이름과 세그먼트 주석을 활용하여 실행 시간을 몇 초 단위로 나누어 광범위한 기초 지식을 구축합니다. 사후 학습에서는 특정 하위 작업에 초점을 맞춘 고품질의 선별된 데이터를 사용하여 이러한 기초 지식을 원하는 동작으로 변환합니다.

논문에서는 이러한 단계 구분에 대한 구체적인 이유를 제시합니다. "고품질 데이터만으로 학습하면 모델이 오류 복구 방법을 학습할 수 없습니다." 항상 완벽하지는 않지만 다양한 실행 데이터를 포함하는 사전 학습은 모델이 오류 발생 시 복구하는 경험을 제공합니다. 훈련 후 고품질 데이터를 활용하면 목표 작업을 의도한 정확도로 수행하는 능력이 향상됩니다.

기존 확산 모델 대신 흐름 매칭을 사용하는 이유는 무엇일까요?

DDPM(Denoising Diffusion Probabilistic Models)과 같은 표준 확산 모델은 노이즈를 점진적으로 추가하고 제거하는 비선형 경로를 가정하며, 종종 수십 또는 수백 단계의 반복 계산이 필요합니다. 반면 π0의 조건부 흐름 매칭은 노이즈(\epsilon)와 실제 동작(A_t)을 직선(A_t^\tau = \tau A_t + (1-\tau)\epsilon)으로 연결하는 선형 가우시안 확률 경로를 사용합니다. 경로가 직선이기 때문에 학습해야 할 벡터장이 더 단순해지고, 적은 수의 적분 단계(π0에서는 10단계)만으로도 유용한 정확도로 목표 동작에 도달할 수 있습니다. 본 논문에서는 이러한 방식이 고빈도, 고차원 동작 청크를 거의 실시간 속도로 생성하는 데 실용적인 선택이라고 설명합니다.

7. π0이 다른 VLA 액션 생성 방식과 다른 점

VLA 액션 생성은 크게 세 가지 유형으로 나눌 수 있습니다.

방식 자기회귀 토큰화(RT-2, OpenVLA) 확산 헤드(Octo 등) 흐름 매칭(π0)
액션 표현 방식 토큰으로 하나씩 예측되는 이산화된 액션 값 Transformer 출력에 따라 확산 과정을 통해 생성되는 연속 값 흐름 매칭을 통해 생성되는 연속 값
생성 반복 횟수 청크 길이에 비례하며, 청크가 길수록 속도가 느려짐 확산 단계 수에 따라 달라짐 통합 단계 수가 적음(π0은 10개 사용)
고주파, 정교한 동작에 적합 이산화가 병목 현상이 될 수 있음 부드러운 출력이 가능하지만, 여러 단계를 거치면 지연 시간이 증가함 고주파 청크(최대 50Hz)를 비교적 빠르게 생성
구현 용이성 간단함: 언어 모델 어휘 확장 전용 확산 헤드 필요 전용 액션 전문가 및 벡터 필드 설계 필요

계산 비용 | 큰 순차 디코딩 오버헤드 | 확산 단계에 따라 중간에서 높음 | 단계 수가 적어 상대적으로 가벼움 |

구현 난이도 | 상대적으로 낮음; 기존 LLM 인프라 재사용 가능 | 중간 | 높음; 파라미터 공유 및 손실 설계가 두 가지 출력 유형에 걸쳐 있음 |

자기회귀 토큰화는 구현이 간단하지만, 액션 청크가 커질수록 순차 디코딩으로 인해 지연 시간이 증가합니다. 확산 헤드는 부드럽고 연속적인 값을 생성하지만, 다단계 생성 프로세스가 필요합니다. π0는 이러한 접근 방식의 중간에 위치합니다. 고정된 적은 수의 통합 단계 내에서 전체 액션 청크를 생성하면서 연속적인 값을 처리합니다. 모방 학습 관점에서 BC(행동 복제)와 DAgger는 관찰에서 행동으로의 매핑을 학습하는 방법을 설명하는 반면, π0는 대규모 VLM과 전용 생성 헤드를 사용하여 해당 매핑을 구현한 것입니다. 기초적인 내용은 “모방 학습 및 역강화 학습”을 참조하세요.

8. 어떤 부분에서 어려움을 겪는가 / 어려운 환경

논문에 보고된 평가는 보편적인 보장이라기보다는 일반적인 경향을 보여줍니다. 셔츠 접기, 테이블 정리, 장바구니 담기, 토스터에서 빵 꺼내기 등 여러 실제 작업에서, 미세 조정을 거치지 않은 사전 학습된 기본 모델은 OpenVLA나 Octo와 같은 기존 기준 모델보다 훨씬 높은 성공률을 보였습니다. 특히 셔츠 접기와 같은 작업에서 π0은 OpenVLA와 Octo가 크게 뒤처지는 반면, 상당히 안정적인 성능을 보였습니다. 그러나 이러한 차이는 사전 학습 데이터의 규모와 다양성을 반영하는 것이므로, 흐름 일치(flow matching)에만 기인하는 이점을 단정하기는 어렵습니다.

논문은 또한 다음과 같은 직접적인 한계를 지적합니다. 작업이 사전 학습에 포함된 작업과 유사할수록 이점이 커지며, 사전 학습 데이터 분포에서 크게 벗어난 작업은 사후 학습 데이터의 질과 양에 더욱 의존하게 됩니다. 상자 조립이나 계란 포장과 같이 여러 단계를 거치는 복잡한 작업의 경우, 보고된 성공률은 비교적 높지만, 일부 영역에서는 단순한 단일 동작 작업에서 보이는 거의 완벽한 성공률에는 미치지 못합니다.

더 일반적으로, 교차 구현 학습을 위한 제로 패딩은 훈련에 포함되지 않았던 완전히 새로운 자유도 구성을 가진 로봇에는 자동으로 적용되지 않습니다. 또한, 흐름 일치 통합 단계 수(10)가 고정되어 있어 추론 시간 사용자가 속도-정확도 균형을 얼마나 세밀하게 조정할 수 있는지에 제약이 있습니다.

9. 실제 적용 방법

하나의 모델로 여러 작업을 처리해야 하는 범용 조작 로봇의 경우, π0은 강력한 출발점입니다. π0은 제로샷 동작을 지원하고 비교적 적은 양의 데이터로도 미세 조정이 가능하도록 설계되었습니다. Physical Intelligence는 openpi 저장소를 통해 가중치와 코드를 오픈 소스로 공개하여 맞춤형 로봇을 이용한 실험 진입 장벽을 낮췄습니다.

천을 접거나 액체를 붓는 것과 같이 접촉과 부드러운 궤적이 중요한 작업의 경우, 이산적인 동작 토큰에 의존하는 자기회귀 VLA(Virtual Learning Assistant)보다는 유동 일치 모델(또는 Octo와 같은 확산 헤드 모델)이 더 적합할 수 있습니다.

**낮은 지연 시간으로 간단한 집어 옮기기 작업만 수행하는 것이 목표라면, π0의 33억 개에 달하는 파라미터는 과도할 수 있습니다. 이 경우, 소형 BC 기반 네트워크와 같은 경량의 작업별 모방 모델이 구현 및 운영 비용 측면에서 더 나은 균형을 제공할 수 있습니다.

특정 로봇 한 대가 고정된 작업 세트만 수행하는 경우, π0과 같은 대규모 사전 학습 모델을 사용하는 것보다 작업별 데이터로 더 좁은 범위의 모델을 학습시키는 것이 더 효율적일 수 있습니다. 일반 모델과 특수 모델 중 어떤 것을 선택할지는 목표 작업의 다양성과 수집 가능한 데이터 양에 따라 달라집니다.

π0.5, π0.6, π0.7과 같은 최신 버전, 더 넓은 VLA 환경, 그리고 LIBERO 벤치마크 경쟁에 대한 자세한 내용은 “VLA 기술 동향”을 참조하십시오. 모방 학습, 역 강화 학습, 그리고 BC/DAgger의 공변량 이동 문제에 대한 기초는 “모방 학습 및 역 강화 학습”을 참조하십시오.

10. 세 줄 요약

  • π0은 동일한 Transformer 레이어에서 PaliGemma VLM(3B)과 전용 액션 전문가(300M)를 실행하여 조건부 흐름 매칭을 통해 연속적인 액션 청크를 생성합니다.

  • 이 방법은 A_t^\tau = \tau A_t + (1-\tau)\epsilon로부터 목표 벡터 필드 u = \epsilon - A_t을 예측한 다음, 10단계의 오일러 적분 연산을 사용하여 추론 시 50단계 액션 청크를 생성합니다. 이는 청크 크기가 커질수록 디코딩 속도가 느려지는 자기회귀 토큰화 방식과의 주요 차이점입니다.

  • 이 방법은 제로 패딩과 가중 샘플링을 사용하여 7가지 로봇 유형에 대해 학습을 수행한 후, 일반성과 작업별 성능의 균형을 맞추기 위해 다양한 사전 학습 데이터와 고품질 사후 학습 데이터를 분리합니다.

참고 자료

이해도 확인

<세부 정보>

액션을 생성하는 모델이 적응 없이 미지의 로봇을 작동시킬 수 있습니까?

관절 구성, 액션 표현, 관찰 및 훈련 데이터 인터페이스가 일치해야 합니다. 기본 모델이라고 해서 조정 없이 호환되는 것은 아닙니다.

What to read next

Review the background강화 학습 입문: 모방 학습과 역강화 학습Continue the series다중 에이전트 강화 학습 입문 - 상대방도 학습하는 세상에서 최적화하기Explore another aspect of this field보상 설계 입문 — 강화 학습에서 "무엇을 극대화할 것인가"가 가장 어려운 이유