SmolVLA를 자체 로봇에 맞추려면 LeRobot 데이터셋을 준비하고 `lerobot/smolvla_base`에서 파인튜닝한 뒤 실제 장비에서 반복 평가하면 된다. 공식 문서는 약 50개 에피소드를 시작점으로 권하지만, 과제 변형과 데이터 품질에 따라 필요한 양은 달라진다.
2026년 8월 7일 확인한 최신 LeRobot 릴리스는 v0.6.1이다. 아래 흐름은 현재 CLI를 기준으로 하며, 카메라 키·상태 차원·행동 차원·로봇 포트를 그대로 복사해서는 안 된다. 학습 전 릴리스와 체크포인트 이름을 고정해야 재현할 수 있다.
먼저 v0.6.1 환경과 로봇 스키마를 고정한다
LeRobot 공식 릴리스 페이지는 2026년 8월 3일 v0.6.1을 최신 릴리스로 표시한다. 프로젝트마다 가상환경을 분리하고 `pip install "lerobot[smolvla]==0.6.1"`처럼 확인한 버전으로 SmolVLA 의존성을 고정해 설치한 뒤, 실행 로그에 LeRobot 버전과 Git 커밋 또는 패키지 잠금 파일을 남긴다.
SmolVLA는 여러 카메라 영상, 현재 센서·모터 상태, 자연어 지시를 받아 행동 청크를 만든다. 데이터의 카메라 이름과 수, 관절 순서, 단위, 행동의 절대·상대 표현이 배포 로봇과 같아야 한다. 형식 자체는 LeRobot Dataset v3 구조에서 확인하고, 이 글에서는 SmolVLA에 필요한 정합성에 집중한다.
| 고정할 항목 | 학습 전에 남길 값 | 불일치 시 흔한 증상 |
|---|---|---|
| LeRobot | v0.6.1과 설치 방식 | 명령 옵션·체크포인트 로딩 오류 |
| 카메라 | 키, 순서, 해상도, 프레임률 | 영상 키 누락·시점 혼동 |
| 상태 | 관절 순서, 단위, 정규화 | 자세가 맞아도 행동이 어긋남 |
| 행동 | 차원, 절대/델타, 주기 | 반대 방향·과도한 이동 |
| 언어 지시 | 표현과 과제 범위 | 같은 과제를 다른 행동으로 학습 |
50개 에피소드는 출발점이지 합격선이 아니다
SmolVLA 공식 사용 문서는 약 50개 에피소드를 시작점으로 권한다. 예시 데이터는 큐브 위치 5개에 각각 10개씩 수집했으며, 25개로 만든 비슷한 데이터는 성능이 좋지 않았다고 설명한다. 이 숫자는 해당 pick-and-place 사례의 경험값이다.
자체 과제에서는 물체 위치, 조명, 배경, 초기 관절 자세, 실패 복구를 어떤 비율로 넣었는지가 더 중요하다. 성공 시연만 모으면 정책이 어긋난 물체나 중간 실패에서 회복하지 못한다. 일반적인 어댑터 선택은 VLA 파인튜닝과 LoRA 가이드로 넘기고, 여기서는 base 체크포인트를 전체 워크플로에 맞춘다.
| 데이터 점검 | 확인 방법 | 통과하지 못하면 |
|---|---|---|
| 과제 변형 | 위치·물체·조명별 에피소드 수 집계 | 부족한 조합을 추가 수집 |
| 카메라 정합 | 키와 프레임을 시각화 | 이름·순서·시간 동기 수정 |
| 행동 범위 | 관절별 최소·최대·급변 확인 | 단위와 델타 변환 재검토 |
| 지시문 | 같은 행동의 표현을 통제 | 모순 지시를 정리 |
| 분할 | 장면·물체 기준으로 검증 세트 분리 | 프레임 무작위 누출 방지 |
smolvla_base에서 학습하고 실행 기록을 남긴다
Hugging Face의 SmolVLA 소개는 4억5천만 파라미터의 공개 모델과 `lerobot/smolvla_base`를 제공한다. 현재 문서의 핵심 호출은 `lerobot-train –policy.path=lerobot/smolvla_base –dataset.repo_id=HF_USER/MY_DATASET –batch_size=64 –steps=20000 –output_dir=outputs/train/my_smolvla –job_name=my_smolvla_training –policy.device=cuda`다.
배치 64와 20,000스텝을 고정 정답으로 쓰지 않는다. 공식 문서의 단일 A100 약 4시간도 예시 조건일 뿐이며 GPU, 해상도, 데이터 I/O, 동결 설정에 따라 크게 달라진다. 메모리가 부족하면 배치를 낮추고, 손실·검증 성공률·처리량을 함께 기록한다. 실험마다 데이터 리비전과 출력 디렉터리를 분리해야 한다.

손실보다 체크포인트의 실제 행동을 비교한다
학습 손실이 낮아져도 로봇이 물체를 잡는다는 보장은 없다. 일정 간격의 체크포인트를 보존하고, 학습에 쓰지 않은 위치와 물체를 포함한 고정 시험 세트에서 성공·부분 성공·안전 정지·사람 개입을 기록한다. 동일한 시작 자세와 시간 제한을 사용해야 체크포인트 차이를 읽을 수 있다.
평가 항목은 로봇 VLA 평가 가이드처럼 성공률뿐 아니라 지연, 일반화, 복구, 안전을 포함한다. 언어 지시를 이해했지만 그립이 빗나간 실패와, 물체를 인식하지 못한 실패는 원인이 다르다. 영상과 상태 로그를 남겨 유형별로 분류한다.
실제 로봇 롤아웃은 저속·격리 환경에서 시작한다
공식 문서는 `lerobot-rollout`에 로봇 종류, 포트, 로봇 ID, 카메라 구성, 과제 문장, 파인튜닝한 `–policy.path`를 전달하는 예를 제공한다. 그대로 복사하지 말고 대상 하드웨어의 포트와 카메라 키로 바꾼다. 학습 때 쓴 지시문과 의미가 같은 과제 문장을 사용한다.
첫 롤아웃은 작업 공간을 비우고 속도·토크·행동 범위를 제한하며, 물리 비상정지와 즉시 개입할 사람을 둔다. 정책 출력이 장비 제한을 넘지 않는지 별도 보호 계층에서 검사한다. SmolVLA 체크포인트는 로봇의 안전 인증이나 충돌 회피 장치가 아니다.

배포 결정은 버전·데이터·실패 기록으로 남긴다
LeRobot 공식 저장소는 학습·데이터·평가 CLI가 계속 바뀌는 프로젝트다. 발행일의 main 브랜치 명령과 설치된 릴리스가 다를 수 있으므로, 운영 문서에는 v0.6.1, 모델 리비전, 데이터셋 커밋, 설정 파일, 하드웨어를 함께 기록한다. 업그레이드할 때는 새 환경에서 재평가한다.
마지막 선택은 가장 낮은 손실이 아니라 목표 과제의 반복 성공, 새로운 조건에서의 하락 폭, 지연, 복구 가능성, 안전 정지 빈도로 한다. 50개 에피소드나 A100 학습 시간은 예산을 잡는 참고값일 뿐이다. 데이터 스키마가 맞고 실패를 재현할 수 있을 때 파인튜닝 결과가 운영 자산이 된다.
자주 묻는 질문
SmolVLA 파인튜닝에는 정확히 50개 에피소드가 필요한가요?
아니다. 공식 문서가 제시한 시작점이다. 과제 변형, 시연 품질, 카메라 수와 복잡도에 따라 더 적거나 훨씬 많은 데이터가 필요할 수 있다.
20,000스텝을 돌리면 학습이 끝났다고 봐도 되나요?
보장되지 않는다. 체크포인트를 실제 로봇의 고정 시험 세트로 비교하고, 성공률·지연·복구·안전 정지를 보고 중단 시점을 결정해야 한다.
smolvla_base를 파인튜닝하지 않고 바로 쓸 수 있나요?
공식 문서는 자체 설정에서 최적 성능을 내려면 자체 데이터로 파인튜닝하라고 안내한다. 카메라·상태·행동 스키마가 다른 로봇에 바로 연결하면 안 된다.
확인한 공식 자료
2026-08-07