본문 바로가기

오픈소스 로봇 정책 모델 고르기: OpenVLA·Octo·π0·GR00T N1.7 라이선스·크기·필요 GPU 비교

공개 가중치로 쓸 수 있는 로봇 정책 모델 OpenVLA, Octo, π0(openpi), GR00T N1.7을 라이선스, 파라미터 수, 행동 생성 방식, 추론 속도, 파인튜닝 GPU 메모리, 데이터 형식 기준으로 비교하고 상황별 선택 기준을 정리합니다.

목차

핵심 요약

  1. 24GB급 소비자 GPU 한 장으로 파인튜닝까지 하려면 π0의 LoRA(22.5GB 이상)나 Octo가 현실적이고, OpenVLA LoRA는 최소 27GB, GR00T N1.7은 40GB 이상 GPU가 권장된다.
  2. 라이선스는 코드와 가중치를 따로 봐야 한다. OpenVLA 코드는 MIT지만 가중치는 Llama Community License를 따르고, GR00T N1.7 가중치는 NVIDIA Open Model License다.
  3. 행동 생성 방식이 제어 주기를 좌우한다. OpenVLA는 차원별 256구간 이산 토큰을 순서대로 내며 RTX 4090 bf16에서 약 6Hz, π0는 flow matching 행동 묶음으로 최대 50Hz 제어를 보고한다.
  4. GR00T N1.7은 TensorRT 전체 파이프라인 기준 H100에서 35.9Hz, Jetson AGX Thor에서도 10Hz 안팎의 행동 묶음 재계획 속도를 공식 문서에 제시해 로봇 탑재 배포 경로가 가장 구체적이다.
  5. openpi와 GR00T는 LeRobot 형식 데이터를 학습 입력으로 쓰므로, LeRobot으로 모은 데이터가 있으면 두 모델을 같은 데이터로 비교하기 쉽다.

공개 가중치를 내려받아 내 로봇에 맞춰 파인튜닝할 수 있는 로봇 정책 모델이 여럿 생기면서, 모델 구조보다 “우리 GPU와 라이선스 조건에서 무엇을 쓸 수 있나"가 먼저 부딪히는 질문이 됐습니다. 이 글은 OpenVLA, Octo, π0(openpi), GR00T N1.7 네 모델을 운영 관점의 기준으로 비교합니다. 각 모델이 행동을 어떻게 만들어 내는지 구조 원리는 VLA 파이프라인 분석에서 먼저 보면 이해가 빠릅니다.

고르기 전에 정해야 할 다섯 가지 기준

  1. 라이선스: 코드와 가중치 라이선스가 다른 경우가 많습니다. 상용 제품에 넣을 계획이면 가중치 쪽을 기준으로 판단합니다.
  2. 모델 크기와 GPU 메모리: 추론에 필요한 메모리와 파인튜닝(LoRA, 전체)에 필요한 메모리를 따로 확인합니다.
  3. 행동 생성 방식과 제어 주기: 이산 토큰을 하나씩 내는지, 행동 묶음을 한 번에 생성하는지에 따라 얻을 수 있는 제어 주기가 달라집니다.
  4. 데이터 형식: 내 시연 데이터를 어떤 형식으로 바꿔야 학습에 넣을 수 있는지 확인합니다.
  5. 프레임워크와 플랫폼: JAX인지 PyTorch인지, 지원 OS와 엣지 장치 배포 경로가 있는지 봅니다.

네 모델 비교표

항목OpenVLAOctoπ0 (openpi)GR00T N1.7
코드 라이선스MITMITApache-2.0Apache 2.0
가중치 조건Llama Community License 적용MITopenpi 저장소 체크포인트(Gemma 라이선스 파일 별도 포함)NVIDIA Open Model License, 상업·비상업 사용 가능 명시
크기7B (전체 7.5B)Small 27M, Base 93M3.3B (PaliGemma 3B + 행동 전문가 300M)3B (Cosmos-Reason2-2B 백본 + flow matching DiT)
행동 생성차원별 256구간 이산 토큰트랜스포머 + 확산 헤드flow matching 행동 묶음(π0-FAST는 자기회귀 토큰)flow matching DiT, 행동 지평 40
추론 속도(공개 값)RTX 4090 bf16 약 6HzRTX 4090에서 Base 13 it/s, Small 17 it/sRTX 4090 탑재 기준 73ms, 최대 50Hz 제어H100 TensorRT 35.9Hz, eager 11.7Hz
추론 메모리bf16 15GB공개 값 없음8GB 초과16GB 이상
파인튜닝 메모리LoRA 최소 약 27GB (배치 16에 약 72GB)공개 값 없음, 헤드만·MLP까지·전체 모드LoRA 22.5GB 초과, 전체 70GB 초과40GB 이상 권장
사전학습 데이터Open X-Embodiment 97만 궤적80만 궤적1만 시간 이상 로봇 데이터13개 데이터셋 2,160만 데이터 포인트
학습 데이터 형식RLDS 변환(권장) 또는 PyTorch Dataset 래퍼Open X-Embodiment 전처리(rlds_dataset_mod) 기반LeRobot 데이터셋LeRobot v2 + meta/modality.json
프레임워크PyTorchJAXJAX(원본), π0·π0.5 PyTorch 구현PyTorch, uv 환경

수치는 각 모델의 논문, 저장소 README, 모델 카드를 2026-10-19에 대조한 값입니다. 추론 속도는 측정 GPU와 최적화 조건이 모두 달라 표의 숫자끼리 직접 순위를 매기면 안 되고, 같은 장비에서 다시 재야 합니다.

OpenVLA: 공개 VLA의 기준점, 대신 무겁다

OpenVLA 논문은 로봇 행동의 각 차원을 256개 구간으로 나눠 Llama 토크나이저에서 가장 덜 쓰는 토큰 256개를 덮어쓰는 방식으로 행동을 출력합니다. bf16으로 올리면 GPU 메모리 15GB가 필요하고 RTX 4090 한 장에서 약 6Hz로 동작한다고 보고합니다. 4비트 양자화는 메모리를 절반 이하로 줄이면서 성능을 비슷하게 유지했지만, A5000에서 3Hz로 측정됐습니다.

파인튜닝은 LoRA가 기본 경로입니다. 논문은 단일 A100에서 10~15시간 안에 새 과제로 미세조정할 수 있고 학습하는 파라미터는 전체의 1.4%라고 밝힙니다. README 기준으로 배치 16이면 약 72GB가 필요하고, 배치를 줄이면 최소 약 27GB GPU에서도 돌릴 수 있습니다. 가중치는 Llama 2 기반이라 Llama Community License를 따른다는 점을 상용 검토에서 확인해야 합니다. README는 후속 레시피인 OFT가 기본 미세조정보다 25~50x 빠른 추론을 낸다고 소개하고 있어, 속도가 문제라면 이 경로를 먼저 봅니다.

Octo: 작고 빠르게 시작하는 확산 정책

Octo는 Small 27M, Base 93M 두 크기로 배포되는 트랜스포머 기반 확산 정책입니다. 80만 개 로봇 궤적으로 사전학습했고, README는 RTX 4090 한 장에서 Base가 초당 13회, Small이 17회 추론한다고 적고 있습니다. 파인튜닝 모드는 head_only, head_mlp_only, full 세 가지라서 데이터가 적을 때는 행동 헤드만 학습하는 식으로 계산량을 조절할 수 있습니다.

약점도 분명합니다. 언어 모델을 뼈대로 쓰지 않아 복잡한 지시나 처음 보는 물체 이름에 대한 일반화는 VLA보다 기대치를 낮춰야 하고, JAX 기반이라 PyTorch 중심 팀은 학습 코드에 익숙해지는 시간이 필요합니다. 그럼에도 모델이 작아 노트북 GPU나 저사양 장비에서 실험 반복이 빠르다는 장점이 있습니다.

π0 (openpi): 소비자 GPU로 파인튜닝 가능한 flow 기반 VLA

openpi 저장소는 π0, 자기회귀 방식의 π0-FAST, 일반화를 개선한 π0.5를 함께 배포합니다. π0 논문에 따르면 PaliGemma 3B에 처음부터 학습하는 300M 행동 전문가를 붙인 총 3.3B 모델이고, 50스텝 행동 묶음을 flow matching으로 생성해 빨래 개기 같은 정밀 작업을 최대 50Hz로 제어합니다. RTX 4090에서 측정한 탑재 추론 지연은 73ms입니다.

운영 관점에서 가장 큰 장점은 메모리입니다. README는 추론 8GB 초과, LoRA 파인튜닝 22.5GB 초과(예: RTX 4090), 전체 파인튜닝 70GB 초과(A100 80GB, H100)를 제시합니다. 다만 테스트된 OS는 Ubuntu 22.04뿐이고, 2025년 9월 추가된 PyTorch 구현은 π0-FAST, 혼합 정밀도, FSDP, LoRA, EMA를 아직 지원하지 않아 LoRA 학습은 JAX 경로로 해야 합니다. 학습 데이터는 LeRobot 데이터셋으로 변환해 넣습니다.

GR00T N1.7: 휴머노이드 배포 경로가 가장 구체적인 모델

Isaac-GR00T 저장소의 최신 모델 N1.7은 3B 파라미터로, Qwen3-VL 구조의 Cosmos-Reason2-2B를 비전-언어 백본으로 쓰고 flow matching DiT 행동 헤드로 연속 행동을 생성합니다. README는 N1.6 대비 상태·행동 차원을 29에서 132로, 행동 지평을 16에서 40으로 늘렸다고 설명합니다. 백본이 Hugging Face 게이트 모델이라 접근 승인을 먼저 받아야 합니다.

요구 사양은 추론 16GB 이상, 파인튜닝 40GB 이상 GPU 권장으로 네 모델 중 학습 문턱이 높은 편입니다. 대신 모델 카드가 장치별 실행 속도를 표로 공개합니다. TensorRT 전체 파이프라인 기준 H100 35.9Hz, L40 26.0Hz, Jetson AGX Thor 10.7Hz이고, 저장소의 하드웨어 권장 문서는 행동 묶음 덕분에 약 10Hz 재계획으로 약 30FPS 로봇 실행을 지원할 수 있다고 설명합니다. 로봇 탑재 장치까지 이어지는 배포 경로가 공식 문서로 정리돼 있다는 점이 다른 세 모델과의 차이입니다. 실제 파인튜닝 절차는 GR00T N1.7 파인튜닝 가이드에서 따라 할 수 있습니다.

보유 GPU로 후보를 걸러 내는 계산

비교표의 공개 값만으로도 “우리 장비에서 무엇이 가능한가"를 먼저 걸러 낼 수 있습니다. 아래 스크립트는 위 표의 메모리 요구치를 그대로 옮긴 것이며, 공개 값이 없는 칸은 비워 둡니다.

# 공개 문서 기준 GPU 메모리 요구치(GB). None = 공개 값 없음
MODELS = {
    "OpenVLA (7B)":   {"infer": 15,  "lora": 27,   "full": None},
    "Octo-Base (93M)": {"infer": None, "lora": None, "full": None},
    "pi0 (3.3B)":     {"infer": 8,   "lora": 22.5, "full": 70},
    "GR00T N1.7 (3B)": {"infer": 16,  "lora": None, "full": 40},  # 기본 모드: projector+DiT 튜닝
}

def shortlist(vram_gb, stage):
    for name, req in MODELS.items():
        need = req[stage]
        verdict = "확인 필요" if need is None else ("가능" if vram_gb >= need else "부족")
        print(f"{name:18s} {stage:5s} 필요 {need!s:>5} GB → {verdict}")

shortlist(24, "infer")
shortlist(24, "lora")

24GB GPU라면 추론은 OpenVLA·π0·GR00T 모두 가능하지만, 파인튜닝까지 한 장비에서 하려면 π0 LoRA만 공개 기준을 만족합니다. GR00T의 40GB는 projector와 DiT 행동 헤드를 학습하는 기본 모드 기준이고, 저장소 하드웨어 문서는 --tune-llm이나 --tune-visual을 켜면 GPU당 80GB 이상을 권장합니다. 로봇에 올릴 엣지 장치의 메모리 대역폭까지 계산하려면 VLA 엣지 하드웨어 산정 가이드의 절차를 이어서 적용합니다.

상황별로 먼저 시험할 모델

상황먼저 시험이유
24GB 소비자 GPU 한 장으로 학습·추론 모두π0 (openpi, JAX LoRA)공개 요구치 안에서 LoRA 가능
저사양 장비에서 빠른 실험 반복Octo-Small / Base27M·93M으로 작고 추론이 빠름
휴머노이드·Jetson 탑재까지 고려GR00T N1.7장치별 실행 속도와 배포 문서 제공
행동 토큰화 방식 연구·재현OpenVLA이산 토큰 VLA의 공개 기준 구현
상용 제품 탑재 검토가중치 라이선스부터 확인코드와 가중치 조건이 다름

공개 모델이 아닌 연구 개념까지 넓혀 보면 TRI와 보스턴 다이내믹스의 대규모 행동 모델(LBM)처럼 로봇 시연 중심으로 학습한 확산 정책도 있습니다. 어떤 모델을 고르든 첫 단계는 같습니다. 내 로봇의 시연 데이터를 LeRobot 형식으로 모으고, 같은 데이터로 두 후보를 학습해 같은 초기 조건에서 비교하는 것입니다.

자주 하는 실수

  • 코드 저장소 라이선스만 보고 상용 제품에 가중치를 넣는 경우 — 가중치 라이선스가 따로 있다.
  • 추론 메모리만 보고 GPU를 사서 파인튜닝 단계에서 메모리가 모자라는 경우
  • 논문의 제어 주파수를 로봇 탑재 장치에서도 그대로 기대하는 경우 — 측정 GPU와 최적화 방식(TensorRT, 양자화)을 함께 봐야 한다.
  • 데이터셋 행동 정의(관절 절대값, 상대값, 말단 자세)를 확인하지 않고 사전학습 체크포인트를 고르는 경우

적용 전 체크리스트

  • 보유 GPU의 VRAM이 추론과 파인튜닝 요구 사항을 모두 만족하는가
  • 가중치 라이선스가 사용 목적(연구, 상용)과 맞는가
  • 로봇 제어 주기에 필요한 행동 생성 속도를 정했는가
  • 학습 데이터를 LeRobot 형식 등 대상 모델이 요구하는 형식으로 변환할 수 있는가
  • 학습 프레임워크(JAX, PyTorch)와 지원 OS가 팀 환경과 맞는가

자주 묻는 질문

SmolVLA는 왜 비교에 없나요?
SmolVLA는 LeRobot 안에서 바로 학습할 수 있는 소형 VLA로, LeRobot 생태계 안에서 쓰는 경우가 많아 이 글에서는 독립 저장소로 배포되는 네 모델에 범위를 한정했습니다. LeRobot에서 정책 유형만 바꿔 학습하는 방법은 LeRobot 학습 가이드에서 다룹니다.
RT-2는 비교할 수 없나요?
RT-2는 행동을 언어 토큰처럼 다루는 방식을 처음 보여준 중요한 모델이지만 가중치가 공개되지 않았습니다. 같은 행동 토큰화 아이디어를 공개 가중치로 쓰려면 OpenVLA가 대안입니다.

참고 자료 · 검증 기준

  1. openvla/openvla — GitHub README
  2. Kim et al., OpenVLA: An Open-Source Vision-Language-Action Model (arXiv:2406.09246)
  3. octo-models/octo — GitHub README
  4. Physical-Intelligence/openpi — GitHub README
  5. Black et al., π0: A Vision-Language-Action Flow Model for General Robot Control (arXiv:2410.24164)
  6. NVIDIA/Isaac-GR00T — GitHub README
  7. NVIDIA/Isaac-GR00T — Hardware recommendation
  8. nvidia/GR00T-N1.7-3B — Hugging Face model card

마지막 검증일: