이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

요즘은 LLM API 하나만 연결하면 챗봇이든 요약 서비스든 AI 앱을 금방 만들 수 있다. 그런데 로봇은 여전히 모터를 어떻게 움직일지부터 학습 데이터를 어떻게 모을지까지, 전부 처음부터 직접 짜야 한다. Physical Intelligence가 공개한 “The Physical Intelligence Layer” 블로그 포스트는 이를 해결하기 위한 하나의 답안이다. 이 글은 학술 논문이라기보다는 실제로 로봇을 현장에 투입하면서 얻은 경험을 정리한 글인데, 여기에 연결된 π0, π0.5, π0.6, π*0.6 논문을 함께 읽으면 전체 그림이 꽤 선명해진다.

문제 정의: 로봇 앱은 왜 웹 앱처럼 못 만들까?

Physical Intelligence가 던지는 이 질문은 SW 개발자라면 바로 공감할 것이다. 요즘 대부분의 상용 AI 앱은 범용 AI 모델의 API를 가져다 쓰고, 그 위에 자체 비즈니스 로직만 얹으면 된다. 하지만 로보틱스는 아직 그렇지 않다. 바로 가져다 쓸 수 있는 모델이나 라이브러리가 부족해서, 모터 제어 코드부터 데이터 수집 파이프라인, 모델 학습까지 전체 스택을 직접 구축해야 한다.

게다가 다루는 문제가 지저분하다. Weave가 다루는 세탁물 접기만 봐도, 옷 한 장을 접으려면 펴고, 정렬하고, 접는 여러 단계를 거쳐야 하는 긴 작업(long-horizon)이고, 옷은 형태가 고정되지 않은 물체(deformable object)라서 같은 티셔츠라도 펼쳐진 상태와 구겨진 상태에 따라 난이도가 완전히 달라진다. Ultra가 다루는 주문 포장도 마찬가지다. 주문마다 물건 종류, 포장재, 작업 순서가 전부 다르고 외부 기계까지 바뀌는, 변수가 끝없이 이어지는 문제(long tail)라서 하나의 동작을 하드코딩하는 전통적인 자동화로는 감당이 안 된다. 즉 “한 번 잘 되는 데모”보다 “새 환경에서도 꽤 자주, 꽤 오래, 꽤 빠르게 돌아가는 시스템”이 진짜 목표다.

π0이 티셔츠를 접는 과정 1 π0이 티셔츠를 접는 과정 2 π0이 티셔츠를 접는 과정 3 π0이 티셔츠를 접는 과정 (이미지 출처: PI π0 블로그)

그래서 필요한 건 특정 작업 환경에 맞춰 짠(하드 코딩) 자동화가 아니라, 로봇이 바뀌고 환경이 달라져도 그대로 쓸 수 있는 공통으로 사용 가능한 지능 계층이다. 즉 글의 제목처럼 “physical intelligence layer”이 필요한 것이다.

VLA 백본: 공통 런타임 인터페이스

π0의 아이디어는 인터넷 규모의 vision-language pretraining, 공개 로봇 조작 데이터, 그리고 사내에서 수집한 8종 로봇의 정교한 손동작(dexterous task) 데이터를 함께 학습해, 이미지/텍스트/행동을 한 모델 안에 넣는 것이다. 단순히 “언어를 이해하는 로봇”이 아니라, 저수준 모터 제어 명령(motor command)을 직접 출력하는 policy를 만들었다는 점이 핵심이다. 3B 규모의 사전학습 VLM(PaliGemma)을 백본으로, Flow Matching을 통해 최대 50Hz 수준의 연속 제어 신호를 생성한다.

Flow Matching의 동작 방식을 비유하면 이렇다. 기존 autoregressive 방식이 동작을 한 토큰씩 순차적으로 예측하는 이산적 방식이라면, π0의 Flow Matching은 궤적을 수학적 함수로 정의하는 연속적 방식이다. “컵을 집어라”라고 했을 때, 0.1mm 단위의 점들을 일일이 예측하는 대신, 현재 위치에서 목표 위치까지의 흐름(Flow)을 정의하고 그 흐름을 따라 부드럽게 움직이게 한다. 수학적으로는 가우시안 노이즈 분포에서 실제 동작 분포로 가는 벡터장을 학습하는 것이다. 이 방식 덕분에 세탁물 접기나 야채 껍질 벗기기 같은 정밀 작업에서도 끊김 없는 동작이 가능하다.

소프트웨어 설계 관점에서 보면 이건 일종의 공통 런타임 인터페이스다. 예전에는 perception, task logic, control을 태스크마다 따로 짰다면, 여기서는 관측 + 언어 명령을 넣으면 행동이 나오는 인터페이스를 먼저 고정하고, 다양한 embodiment를 그 위에 얹는 방향으로 추상화 레벨을 올린다. 이게 “physical intelligence layer”라는 키워드가 노리는 본질일 것이다.

π0.5: 고수준 추론과 저수준 제어의 분리

π0와 달리 π0.5에서는 시스템 설계가 좀 더 실무적으로 바뀐다. 다양한 종류의 데이터를 함께 학습할 수 있는 구조로 변경된 것이다. 이 모델은 로봇 동작 데이터만 보는 게 아니라 자연어 지시(verbal instruction), 하위 작업 명령(subtask command), 물체 인식(object detection), 웹에서 수집한 멀티모달 데이터(multimodal web data)까지 함께 공동 학습(co-train)한다.

verbal instruction subtask command object detection multimodal web data
Verbal Instruction Subtask Command Object Detection Multimodal Web Data

π0.5 co-train에 사용된 4가지 데이터 유형 (이미지 출처: PI π0.5 블로그)

추론 시에는 먼저 “clean the bedroom” 같은 고수준 프롬프트에서 “pick up the pillow” 같은 언어 기반 하위 작업(subtask)을 뽑고, 그다음 동작 생성 모듈(action expert)이 50-step(1초)짜리 연속 동작 묶음(continuous action chunk)을 생성한다. 일종의 계획/실행 분리(planner/executor split)인데, 별도 시스템 두 개를 붙인 게 아니라 하나의 공통 기반 모델(backbone) 안에서 계층적으로 돌린다는 점이 재미있다.

로봇이 곧바로 모터를 던지기 전에 “지금 뭘 해야 하는지”를 언어로 한 번 정리하고 들어간다고 보면 된다. π0.5가 새 집에서 청소 작업을 수행할 수 있었던 이유도, 단순 제어기와 달리 작업을 의미 단위로 쪼개는 추론(semantic decomposition)이 가능했기 때문이라고 볼 수 있다.

절제 실험(ablation, 학습 데이터를 하나씩 빼보며 각 요소의 기여도를 측정하는 실험) 결과가 인상적이다. π0.5는 모든 데이터를 섞어 학습했을 때(full mixture) 학습에 포함되지 않은 환경에서의 성공률(OOD success rate)이 94%였는데, 웹 데이터를 빼면 74%, 다른 로봇 데이터(cross-embodiment)를 빼면 49%, 다양한 환경 데이터(multiple-environment)를 빼면 31%까지 내려간다. 웹 데이터는 처음 보는 물체를 알아보는 의미 일반화(semantic generalization)에, 다른 로봇/다른 환경 데이터는 정책 성능 전반에 크게 기여하는 것이다. 이 결과는 “범용 레이어가 되려면 특정 태스크 데이터만 모아선 안 된다”는 메시지를 뒷받침한다.

π0.6과 기술 스택: 실전 배치를 향한 진화

π0.6은 π0.5의 계층 구조를 유지하면서 더 실전적인 방향으로 다듬었다. Gemma3 4B 기반 모델(backbone)에 약 860M 규모의 동작 생성 모듈(action expert)을 붙였고, 최대 4개의 448x448 이미지를 입력으로 받으며, 언어 명령 외에 로봇 종류나 환경 같은 부가 정보(metadata conditioning)도 프롬프트에 넣을 수 있다. 노이즈 제거 5단계(denoising step), 카메라 3대 입력 기준으로 H100 한 장에서 동작 묶음(action chunk) 생성에 63ms가 걸린다. 이건 “모델이 똑똑하다”를 넘어 “실제로 서빙 가능한가?”라는 질문으로 넘어가는 구간이다.

Knowledge Insulation: 백본 지식 보존

VLA 모델을 학습할 때 고질적인 문제가 있다. 로봇 동작 제어를 위해 추가된 동작 생성 모듈(action expert)의 기울기(gradient)가 VLM 백본으로 역전파되면, 백본이 원래 가지고 있던 언어 이해력과 시각적 추론 능력이 손상되는 파괴적 망각(Catastrophic Forgetting) 현상이 발생한다. π0.5와 π0.6에서 도입된 지식 절연(Knowledge Insulation)은 이걸 정면으로 해결한다. 동작 생성 모듈에서 백본으로 가는 기울기 흐름을 차단(stop-gradient)하고, 대신 백본은 FAST 방식으로 토큰화된 이산적 동작 데이터를 통해 물리적 표현(representation)을 학습한다. 동작 생성 모듈은 이 고정된 표현을 바탕으로 정밀한 연속 동작을 생성하는 구조다. 즉 백본은 “보고 이해하는 역할”에, 동작 생성 모듈은 “실제로 움직이는 역할”에 집중하도록 벽을 세워서, 한쪽을 학습할 때 다른 쪽이 망가지지 않게 한 것이다.

인간의 뇌에 비유하면, 언어와 논리를 담당하는 전두엽(VLM 백본)과 실제 근육 움직임을 제어하는 운동 피질(action expert)이 협력하면서도 서로의 핵심 기능을 방해하지 않는 방식과 비슷하다고 할 수 있을것이다.

FAST 토큰화: 동작 시퀀스 압축

데이터 효율성을 높이기 위한 또 다른 핵심 기술이 FAST(Frequency-space Action Sequence Tokenization)다. 동작 시퀀스를 주파수 영역에서 압축하는 방식으로, 과정은 이렇다.

  1. Normalization: 로봇 관절 데이터를 분위수(Quantile) 기반으로 정규화해 하드웨어 독립적인 표현을 확보
  2. DCT (이산 코사인 변환): 시계열 동작 데이터를 주파수 성분으로 변환해 시간적 중복성 제거
  3. Quantization: 중요하지 않은 고주파 성분을 제거해 노이즈 억제
  4. BPE: 주파수 계수 패턴을 밀집 토큰으로 결합해 기존 방식 대비 최대 약 13배의 압축률 달성 (태스크에 따라 1.75x~13.2x)

FAST 방식 덕분에 동일한 10,000시간 규모의 데이터를 diffusion 기반 학습 대비 약 5배 적은 GPU 시간으로 학습할 수 있었다.

다만 Flow Matching과 FAST 기반 autoregressive 모델 사이에는 trade-off가 있다.

모델 유형 학습 속도 추론 속도 제로샷 일반화
π0 (Flow Matching) 상대적으로 느림 빠름 (73ms, RTX GPU 기준) 보통
π0-FAST (Autoregressive) 빠름 상대적으로 느림 높음
π0.5 + KI 빠름 빠름 높음

실시간성이 중요한 고속 조립 작업에는 π0 계열이, 복잡한 지시를 이해하고 처음 보는 환경에 적응해야 하는 작업에는 π0.5 + KI 모델이 유리하다.

파트너사 현장 데이터와 피드백 루프

PI의 파트너사로는 세탁물 접기 로봇을 만드는 Weave와 물류 창고 주문 포장을 자동화하는 Ultra 등이 있다. PI가 범용 모델과 학습 인프라를 제공하고, 파트너사는 자사 로봇과 현장 데이터를 제공하는 구조다. The Physical Intelligence Layer 글에서 가장 중요한 대목은 사실 “범용 모델이 다 해준다”가 아니다. 범용 백본 + 파트너사 현장 데이터 + 운영 중 개입 로그가 함께 돌아간다는 점이다.

Weave 사례에서는 π0.6이 π0.5보다 자율 수행률(autonomy)을 높였고, Weave 데이터를 사전학습(pretraining)에 포함하면 잡기 실패(missed grasp)가 42%, 사람 개입(intervention)이 50% 줄었다. Ultra도 π0.6이 π0.5보다 성공률(success rate)을 올렸고, Ultra 데이터를 사전학습에 포함하면 처리량(throughput)이 더 올라갔다. Ultra는 실제 고객 창고에서 한 근무 교대(full shift) 동안 96.4% 자율 수행률로 주문 포장을 수행하는 영상을 제시하기도 했다.

여기서 읽어야 할 메시지는 명확하다. 범용 모델(foundation model)은 출발점이지 완성품이 아니다. 도메인별 데이터가 여전히 중요하고, 그 데이터는 학습 전에 모아둔 정적 데이터셋만이 아니라 운영 중 생기는 사람 개입 로그까지 포함한다. 모델이 실수할 때 사람이 개입하는 시스템(human-in-the-loop)이 정확성을 보장하고, 동시에 다음 학습 주기(iteration)를 위한 데이터를 계속 생성한다. 로보틱스판 운영 피드백 루프(production feedback loop)인 셈이다.

RECAP (π*0.6): 실수에서 배우는 RL

이 흐름을 더 기술적으로 밀어붙인 것이 π*0.6의 RECAP이다. 사람의 시연(demonstration)만으로는 작은 오차가 누적되는 문제(compounding error)를 막기 어렵다는 데서 출발해, 사람의 시연 + 전문가 교정(expert corrections) + 로봇 자율 경험(autonomous experience)을 함께 쓰고, 가치 함수(value function)와 이점 조건부 정책(advantage-conditioned policy)으로 “어떤 행동이 더 좋은가”를 학습한다. 그 결과, 어려운 작업 일부에서 처리량이 2배 이상 늘고 실패율이 2배 이상 줄었다고 보고한다. The Physical Intelligence Layer 글이 보여준 운영 루프를 강화학습(RL)까지 포함한 명시적 학습 레시피로 만든 것이다.

한계와 Trade-off

π 모델 시리즈가 인상적인 성과를 보여주고 있지만, 실제 프로덕션에 도입하기 전 고려할 제약이 있다.

Markovian policy의 한계: π0 모델은 기본적으로 과거 상태를 기억하지 않는 memory-less 방식이다. 현재의 카메라 이미지와 상태 데이터에만 의존하여 다음 동작을 결정한다. 그래서 “서랍을 열고 책을 넣어라” 같은 복합적 단계가 필요한 작업에서, 서랍 손잡이를 잡은 후 학습 데이터에 존재하는 정지 상태 이미지와 혼동하여 동작을 멈추는 조기 중단(early stopping) 현상이 발생한다.

추론 비용: π0.6의 동작 묶음(action chunk) 생성 시간은 H100 기준 63ms로 꽤 빠르지만, 이건 동시에 “현장 장비(엣지)에서 어떻게 돌릴지”, “비상용 컨트롤러(fallback controller)를 둘지”, “안전 정지 조건을 어떻게 걸지” 같은 질문으로 바로 이어진다. 모델만의 문제가 아니라 모델을 실제로 운영하는 인프라(serving stack)의 문제이기도 하다.

데이터 품질: VLA 모델은 학습 데이터의 품질에 민감하다. 전문가의 시연 데이터가 부족하거나 데이터 분포가 편향된 경우 반복적인 실수가 나올 수 있다.

지도 미세조정과 사람 개입의 지속적 필요성: 결과를 보면 지도 미세조정(SFT), 파트너사별 사전학습 데이터, 사람 개입(human-in-the-loop)이 여전히 중요하다. π0.5도 스스로 “far from perfect”라고 인정한다. “로봇용 API가 이미 완성됐다”라고 말하긴 이르다.

정리

이 글의 진짜 기여는 새로운 수식 하나를 내놓았다는 데 있지 않다. 로봇 foundation model을 “데모용 정책”이 아니라 “재사용 가능한 플랫폼 계층”으로 보는 시각을, Weave와 Ultra라는 서로 다른 배치 환경으로 꽤 설득력 있게 보여줬다는 데 의미가 있다.

로봇 앱 개발이 제어 코드를 처음부터 쓰는 일에서, 데이터 루프와 추상화 경계를 설계하는 일로 바뀌고 있다는 방향은 분명하다. 아직 완성은 아니지만, LLM이 소프트웨어 개발에서 중심적인 “지능 레이어”가 된 것처럼 조만간 로보틱스에서도 비슷한 추상화 계층으로의 개발이 가능할 수 있지 않을까 싶다.

참고