본문으로 건너뛰기

© 2026 Molayo

HuggingFace헤드라인2026. 05. 07. 01:29

LeRobotDataset:v3.0: 대규모 데이터셋을 LeRobot으로 가져오다

요약

LeRobotDataset:v3.0은 로봇 학습에 필요한 다중 모달리티(센서 운동 읽기, 카메라 피드, 원격 조작 상태) 데이터를 표준화하고 통합적으로 관리하기 위해 설계된 새로운 데이터 형식입니다. 이전 버전의 파일 시스템 제한 문제를 해결했으며, 메타데이터를 활용하여 수백만 개의 에피소드를 효율적으로 처리할 수 있도록 개선되었습니다. 특히 주목할 점은 대규모 데이터셋 처리를 위한 '스트리밍' 기능 지원입니다. 이를 통해 디스크에 과도하게 큰 데이터를 다운로드하지 않고도 실시간으로 배치 처리가 가능해져, 로봇 학습의 접근성을 크게 높였습니다. 이 데이터 형식은 Hugging Face 생태계와 `lerobot` 라이브러리를 통해 통합되어, 다양한 실제 및 시뮬레이션 환경의 로봇 데이터를 표준화된 방식으로 기록하고 공유할 수 있게 합니다.

핵심 포인트

  • **표준화된 다중 모달리티 데이터셋:** 센서 운동 읽기, 여러 카메라 피드, 원격 조작 상태를 포함하는 통합적이고 표준화된 형식 제공.
  • **파일 시스템 제약 극복 및 확장성:** 메타데이터 기반의 구조 설계로 수백만 개의 에피소드를 효율적으로 관리하며 파일 시스템 부하를 줄임.
  • **스트리밍 기능 도입 (v3.0):** 대규모 데이터셋을 디스크에 모두 다운로드하지 않고도 실시간으로 배치 처리가 가능하게 함으로써 접근성을 높임.
  • **Hugging Face 및 PyTorch 통합:** `lerobot` 라이브러리를 통해 Hugging Face 생태계와 원활하게 통합되어 로봇 연구 커뮤니티의 표준 도구로 자리매김함.
  • **다양한 데이터 소스 지원:** SO-100 암, ALOHA-2 설정 등 다양한 실제 및 시뮬레이션 환경 데이터를 지원하며 기록할 수 있음.

TL;DR오늘 우리는

LeRobotDataset:v3

! 를 출시합니다.

우리의 이전 LeRobotDataset:v2

발표에서는 파일당 한 에피소드를 저장하여 데이터셋을 수백만 개의 에피소드로 확장할 때 파일 시스템 제한에 부딪혔습니다. LeRobotDataset:v3

  • lerobot

설치 및 데이터셋 기록 - (새로운) 형식 설계

  • 감사의 인사말
  • v3.0 으로 데이터셋 변환 방법
  • 코드 예제: torch.utils.data.DataLoader 와 함께 LeRobotDataset 사용
  • 마무리

LeRobotDataset 은 로봇 학습의 특정 요구 사항을 해결하기 위해 설계된 표준화된 데이터 형식으로, 센서 운동 읽기, 여러 카메라 피드 및 원격 조작 상태를 포함한 다중 모달리티에 대한 통합적이고 편리한 접근 방식을 제공합니다.

우리의 데이터 형식은 데이터 수집 방식에 관한 일반적인 정보 (메타데이터) 를 저장하며, 수행 중인 작업의 텍스트 설명, 사용되는 로봇 종류, 이미지 및 로봇 상태 스트림이 샘플링되는 프레임당 초수 등 측정 세부 사항을 포함합니다.

메타데이터는 Hugging Face Hub 의 로봇 데이터셋을 인덱싱하고 검색하는 데 유용합니다!

lerobot

은 Hugging Face 에서 개발 중인 로봇 라이브러리로, LeRobotDataset 은 다중 모달리티 시계열 데이터를 작업하기 위한 통합 인터페이스를 제공하며 Hugging Face 와 Pytorch 생태계와 원활하게 통합됩니다.

데이터 형식은 확장 및 커스터마이징이 용이하도록 설계되었으며, 이미 다양한 구현체에서 공개적으로 사용할 수 있는 데이터셋을 지원—including 조작 플랫폼인 SO-100 암과 ALOHA-2 설정, 실세계 humanoid 데이터, 시뮬레이션 데이터셋, 그리고 심지어 자율주행차 데이터까지!

커뮤니티가 기여한 현재 데이터셋을 데이터셋 시각화기를 사용하여 탐색할 수 있습니다! 🔗

규모 외에도, LeRobotDataset 의 새로운 릴리스는 스트리밍 기능을 지원하여 대규모 데이터셋에서 데이터 배치 처리를 실시간으로 수행할 수 있도록 하며, 디스크에 금지적으로 큰 데이터 컬렉션을 다운로드하지 않고도 가능합니다.

v3.0

모드의 전용 StreamingLeRobotDataset

인터페이스를 사용하여 스트리밍 모드로 모든 데이터셋을 액세스하고 사용할 수 있습니다!

스트리밍 데이터셋은 더 접근 가능한 로봇 학습을 위한 중요한 이정표이며, 커뮤니티와 공유하는 데 매우 기대합니다 🤗

lerobot

은 Hugging Face 에서 개발한 엔드 투 엔드 로봇 라이브러리로, 실세계 로봇뿐만 아니라 최첨단 로봇 학습 알고리즘도 지원합니다.

라이브러리에서는 실제 세계 로봇에서 직접 로컬로 데이터셋을 기록하고 Hugging Face Hub 에 저장할 수 있습니다.

현재 지원하는 로봇에 대해 더 읽으려면 여기 확인하세요!

LeRobotDataset:v3

lerobot-v0.4.0

부터 시작하여 lerobot

라이브러리的一部分이 될 것이며, 커뮤니티와 공유하는 데 매우 기대합니다.

PyPI 에서 직접 설치할 수 있습니다:

pip install "https://github.com/huggingface/lerobot/archive/33cad37054c2b594ceba57463e8f11ee374fa93c.zip" # 이 명령어는 로컬 lerobot 설치에 영향을 줄 것입니다!

라이브러리의 안정적 릴리스를 위한 커뮤니티의 진행 상황을 여기 확인하세요 🤗

새로운 데이터 형식을 지원하는 lerobot 버전을 설치한 후, 원격 조작과 함께 우리의 서명 로봇 암인 SO-101 을 사용하여 데이터셋을 기록할 수 있습니다:

lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/tty.usbmodem585A0076841 \
...

사용 사례에 따라 데이터셋을 기록하는 방법을 확인하려면 공식 문서를 참조하세요.

LeRobotDataset 의 핵심 설계 선택은

기저 데이터 저장과 사용자 친화적 API 를 분리하는 것입니다.
이것은 효율적인 직렬화 및 저장을 가능하게 하면서 데이터를 직관적이고即用 (ready-to-use) 형식으로 제시합니다. 데이터셋은 세 가지 주요 구성 요소로 조직됩니다:

표면 데이터: 연동 상태 및 동작과 같은 저차원 고빈도 데이터는 효율적인 Apache Parquet 파일에 저장되며, 일반적으로 더 성숙한 datasets 라이브러리에 오프로드되어 빠른 메모리 매핑 접근 또는 스트리밍 기반 접근을 제공합니다.시각적 데이터: 카메라 데이터의 대량 처리를 위해 프레임은 연결되고 MP4 파일로 인코딩됩니다. 동일한 에피소드의 프레임은 항상 같은 비디오에 그룹화되며, 여러 비디오는 카메라별로 그룹화됩니다. 파일 시스템의 스트레스를 줄이기 위해, 동일한 카메라 뷰의 비디오 그룹도 여러 서브 디렉토리로 분할됩니다.메타데이터: 데이터셋의 구조를 메타데이터로 기술하는 JSON 파일 컬렉션으로, 표면 및 시각적 차원의 데이터에 대한 관계론적 대응물입니다. 메타데이터에는 다양한 기능 스키마, 프레임 속도, 정규화 통계 및 에피소드 경계가 포함됩니다.

수백만 개의 에피소드를 가질 수 있는 데이터셋 (수억/십억 개의 개별 프레임으로 이어짐) 을 지원하기 위해, 우리는 서로 다른 에피소드의 데이터를 동일한 상위 구조로 병합합니다. 구체적으로, 이는 주어진 표면 컬렉션과 비디오가 하나의 에피소드 정보만 포함하지 않고, 여러 에피소드에 존재하는 정보의 연결을 포함한다는 것을 의미합니다. 이는 로컬 및 Hugging Face 와 같은 원격 저장 제공자에서 파일 시스템의 압력을 관리 가능하게 유지합니다. 우리는 메타데이터를 활용하여 에피소드별 정보를 수집할 수 있습니다. 예를 들어, 특정 비디오에서 주어진 에피소드가 시작하거나 종료하는 시간戳을 알 수 있습니다.

데이터셋은 다음을 포함하는 저장소를 조직합니다:

: 이는 중앙 메타데이터 파일입니다. 모든 기능 (예:meta/info.json observation.state, action) 의 스키마, 모양 및 데이터 타입을 정의하며, 데이터셋의 프레임당 초수 (fps), 코드베이스 버전 및 데이터 및 비디오 파일을 찾는 데 사용되는 경로 템플릿과 같은 중요한 정보도 저장합니다.: 이 파일은 전체 데이터셋에 걸쳐 각 기능에 대한 집계 통계 (평균, 표준 편차, 최소값, 최대값) 를 저장합니다. 이는 데이터 정규화에 사용되며 meta/stats.json 을 통해 접근 가능합니다.

: 자연어 작업 설명에서 정수 작업 인덱스로의 매핑을 포함하며, 조건부 정책 훈련에 사용됩니다.meta/tasks.jsonl

: 이 디렉토리는 각 개별 에피소드의 메타데이터를 포함합니다. 예를 들어 길이, 해당 작업 및 데이터가 저장된 지점의 포인터입니다. 확장성을 위해 이 정보는 단일 대형 JSON 파일이 아닌 분할 Parquet 파일로 저장됩니다.

meta/episodes/

: data/ 디렉토리에 있는 Parquet 파일에 의한 핵심 프레임당 표면 데이터를 포함합니다. 성능을 개선하고 대규모 데이터셋을 처리하기 위해, 여러 에피소드의 데이터를 더 큰 파일로 연결합니다. 이 파일들은 파일 크기를 관리 가능하게 유지하기 위해 분할 서브 디렉토리로 조직됩니다. 따라서 단일 파일은 일반적으로 하나의 에피소드 이상의 데이터를 포함합니다.

: 모든 시각적 관찰 스트림을 위한 MP4 비디오 파일을 포함합니다. videos/와 유사합니다.

:

여러 에피소드의 비디오 footage 가 단일 MP4 파일로 연결됩니다 (concatenated). 이 전략은 데이터셋의 파일 수를 크게 줄여 현대적인 파일 시스템에 더 효율적입니다. 경로 구조 (/videos/<camera_key>/<chunk>/file_...mp4) 는 데이터 로더가 올바른 비디오 파일을 위치시키고, 주어진 프레임에 대한 정확한 타임스탬프로 검색할 수 있게 합니다.

LeRobotDataset:v3.0

lerobot-v0.4.0

과 함께 출시되며, Hugging Face Hub 에 현재 호스팅된 모든 데이터셋을 새로운 v3.0

으로 쉽게 변환할 수 있는 기능을 제공합니다:

python -m lerobot.datasets.v30.convert_dataset_v21_to_v30--repo-id=<HFUSER/DATASET_ID>

우리는 이 새로운 포맷을 커뮤니티와 조기에 공유하는 것에 매우 기대하고 있습니다! lerobot-v0.4.0

를 개발하는 동안, PyPI 에서 최신 lerobot-v0.3.x

를 사용하여 직접적으로 새 데이터셋 포맷으로 변환할 수 있습니다:

pip install "https://github.com/huggingface/lerobot/archive/33cad37054c2b594ceba57463e8f11ee374fa93c.zip" # this will affect your lerobot installation!
python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id=<HFUSER/DATASET_ID>

이것은 프리 릴리스이며 일반적으로 불안정한 버전입니다. 다음 안정적 릴리스의 개발 상태를 여기에서 추적할 수 있습니다!

변환 스크립트 convert_dataset_v21_to_v30.py

는 여러 에피소드 episode-0000.mp4, episode-0001.mp4, episode-0002.mp4, ...

/episode-0000.parquet, episode-0001.parquet, episode-0002.parquet, episode-0003.parquet, ...

를 단일 파일 file-0000.mp4

/file-0000.parquet

로 집계하고, 에피소드별 정보를 상위 레벨 파일에서 가져올 수 있도록 메타데이터를 업데이트합니다.

Hugging Face Hub 에 있는 모든 데이터셋은 위의 세 가지 주요 기둥 (Tabular and Visual Data, 그리고 relational Metadata) 을 포함하며, 한 줄로 접근할 수 있습니다.

대부분의 로봇 학습 알고리즘은 강화 학습 (RL) 또는 행동 복제 (BC) 를 기반으로 하며, 관측과 행동의 스택을 작동합니다. 예를 들어, RL 알고리즘은 일반적으로 이전 관측 o_{t-H_o:t}

의 역사를 사용하며,
BC 알고리즘은 여러 행동의 블록을 회귀하는 데 훈련됩니다.
로봇 학습 훈련의 구체적인 사항을 고려하여 LeRobotDataset

단위로 주어진 관측 전후를 사용할 수 있는 delta_timestamps

인수를 제공하는 네이티브 윈도우링 연산을 제공합니다.

편리하게, PyTorch DataLoader

와 함께 LeRobotDataset

를 사용하면 데이터셋의 개별 샘플 사전 dictionary 를 단일 batched tensors dictionary 로 자동으로 collate 할 수 있습니다.

from lerobot.datasets.lerobot_dataset import LeRobotDataset
repo_id = "yaak-ai/L2D-v3"
# Load from the Hugging Face Hub (will be cached locally)
...

StreamingLeRobotDataset

클래스를 사용하여 로컬 디스크로 다운로드하거나 메모리에 로드하지 않고 v3.0

포맷의 모든 데이터셋을 스트리밍 모드로 사용할 수도 있습니다.

from lerobot.datasets.streaming_dataset import StreamingLeRobotDataset
# Streams directly from the Hugging Face Hub, without downloading the dataset into disk or loading into memory
repo_id = "yaak-ai/L2D-v3"
...

LeRobotDataset v3.0

LeRobot에서 지원되는 로봇 데이터셋을 확장하는 데 걸리는 돌출돌 (stepping stone) 입니다. LeRobotDataset:v3 를 제공함으로써 우리는 로봇 데이터를 저장하고 접근할 수 있는 형식을 제공하고 있으며, 이는 로봇 기술의 민주화를 위한 진전을 이루고 있습니다. 커뮤니티가 데이터를 다운로드하지 않고도 수백만 개의 에피소드 (episode) 를 훈련에 사용할 수 있게 합니다.

새로운 데이터셋 형식을 시도하려면 최신 lerobot-v0.3.x 버전을 설치하세요. 그리고 GitHub 나 Discord 서버에서 피드백을 공유해 주세요! 🤗

LeRobotDataset:v3 개발 과정에서 귀중한 지원과 피드백을 제공해주신 yaak.ai 팀에 감사드립니다. Hugging Face Hub 에서 해당 조직을 팔로우해 보세요! 우리는 항상 커뮤니티와 협력하고 초기 기능을 공유하는 것을 원합니다. 협력을 원하신다면 연락주세요 😊

AI 자동 생성 콘텐츠

본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
3

댓글

0