๋ชฉ๋ก์œผ๋กœ
GitHub - huggingface/lerobot: ๐Ÿค— LeRobot: Making AI for Robotics more accessible with end-to-end learning
Service2025.05.18

GitHub - huggingface/lerobot: ๐Ÿค— LeRobot: Making AI for Robotics more accessible with end-to-end learning

์š”์•ฝ

LeRobot์€ PyTorch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋ด‡ ๊ณตํ•™ AI๋ฅผ ๋” ์ ‘๊ทผ์„ฑ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ณ , ๊ณต์œ  ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ ์‚ฌ์šฉ์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ํ”Œ๋žซํผ์— ๊ฑธ์ณ ์ œ์–ด๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ถˆ๊ฐ€์ง€๋ก ์  Python ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋Œ€๊ทœ๋ชจ ๋กœ๋ด‡ ๋ฐ์ดํ„ฐ์…‹์„ ์œ„ํ•œ LeRobotDataset ํ˜•์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
LeRobot์€ Imitation Learning ๋ฐ VLA ๋ชจ๋ธ์„ ํฌํ•จํ•œ ์ตœ์ฒจ๋‹จ ์ •์ฑ…์„ ๊ตฌํ˜„ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ํ›ˆ๋ จ, ์‹œ๊ฐํ™” ๋ฐ ํ‰๊ฐ€ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์˜คํ”ˆ์†Œ์Šค ๋กœ๋ด‡ ์ƒํƒœ๊ณ„๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ธ ๋‚ด์šฉ

LeRobot์€ PyTorch๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ค์ œ ๋กœ๋ณดํ‹ฑ์Šค๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ๋กœ๋ณดํ‹ฑ์Šค AI ๋ถ„์•ผ์˜ ์ ‘๊ทผ์„ฑ์„ ๋‚ฎ์ถ”๊ณ  ๊ณต์œ  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ํ†ตํ•ด ๊ธฐ์—ฌ ๋ฐ ํ™œ์šฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก  (Core Methodology) ๋ฐ ์ฃผ์š” ํŠน์ง•:

  • ํ•˜๋“œ์›จ์–ด ์ถ”์ƒํ™” ๋ฐ ํ‘œ์ค€ํ™”๋œ ์ œ์–ด ์ธํ„ฐํŽ˜์ด์Šค (Hardware Abstraction and Standardized Control Interface):
  • LeRobot์€ ํ•˜๋“œ์›จ์–ด ๋…๋ฆฝ์ ์ธ(hardware-agnostic) Python-native ์ธํ„ฐํŽ˜์ด์Šค์ธ Robot ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ํ”Œ๋žซํผ(์˜ˆ: SO100, LeKiwi, Koch, HopeJR, OMX, EarthRover, Reachy2, Gamepads, Keyboards, Phones, OpenARM, Unitree G1)์— ๊ฑธ์ณ ์ œ์–ด ๋กœ์ง์„ ํ‘œ์ค€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด Robot ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ•˜๋“œ์›จ์–ด ํŠน์„ฑ๊ณผ ์ œ์–ด ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ robot.connect(), robot.get_observation(), robot.send_action(action)๊ณผ ๊ฐ™์€ ํ†ต์ผ๋œ API๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋กœ๋ด‡๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ํ™•์žฅํ•˜์—ฌ ์ž์‹ ๋งŒ์˜ ๋กœ๋ด‡์„ ํ†ตํ•ฉํ•˜๊ณ  LeRobot์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ํ›ˆ๋ จ ๋ฐ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ๋ด‡ ํ•˜๋“œ์›จ์–ด์˜ ์ด์งˆ์„ฑ(heterogeneity) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์—ฐ๊ตฌ ๋ฐ ๊ฐœ๋ฐœ์˜ ์ด์‹์„ฑ(portability)์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

  • ํ‘œ์ค€ํ™”๋œ ๋กœ๋ด‡ ๋ฐ์ดํ„ฐ์…‹ ํ˜•์‹ (Standardized Robotic Dataset Format):
  • ๋กœ๋ณดํ‹ฑ์Šค ๋ถ„์•ผ์˜ ๊ณ ์งˆ์ ์ธ ๋ฐ์ดํ„ฐ ํŒŒํŽธํ™”(data fragmentation) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด LeRobot์€ Hugging Face Hub์— ํ˜ธ์ŠคํŒ…๋˜๋Š” LeRobotDataset ํ˜•์‹์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ˜•์‹์€ ์‹œ๊ฐ ์ •๋ณด(visual information)๋ฅผ ์œ„ํ•ด ๋™๊ธฐํ™”๋œ(synchronized) MP4 ๋น„๋””์˜ค(๋˜๋Š” ์ด๋ฏธ์ง€)์™€ ์ƒํƒœ(state) ๋ฐ ์•ก์…˜(action) ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ Parquet ํŒŒ์ผ์„ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๋Œ€๊ทœ๋ชจ ๋กœ๋ด‡ ๋ฐ์ดํ„ฐ์…‹์˜ ํšจ์œจ์ ์ธ ์ €์žฅ, ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ์‹œ๊ฐํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, LeRobotDataset์€ ์—ํ”ผ์†Œ๋“œ ์‚ญ์ œ, ์ธ๋ฑ์Šค/๋น„์œจ์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ ๋ถ„ํ• , ํŠน์ง• ์ถ”๊ฐ€/์ œ๊ฑฐ, ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹ ๋ณ‘ํ•ฉ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ๋ด‡ ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ์„ฑ, ๊ณต์œ  ๊ฐ€๋Šฅ์„ฑ ๋ฐ ์žฌํ˜„์„ฑ(reproducibility)์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœ์ฒจ๋‹จ ์ •์ฑ… ๋ชจ๋ธ (State-of-the-Art Policy Models):
  • LeRobot์€ ์‹ค์ œ ํ™˜๊ฒฝ์œผ๋กœ ์ „์ด(transfer) ๊ฐ€๋Šฅํ•œ ์ตœ์ฒจ๋‹จ ์ •์ฑ… ๋ชจ๋ธ์„ ์ˆœ์ˆ˜ PyTorch๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ฐฉ ํ•™์Šต(Imitation Learning) ๋ชจ๋ธ(์˜ˆ: ACT, Diffusion, VQ-BeT), ๊ฐ•ํ™” ํ•™์Šต(Reinforcement Learning) ๋ชจ๋ธ(์˜ˆ: HIL-SERL, TDMPC & QC-FQL) ๋ฐ ์‹œ๊ฐ-์–ธ์–ด-์•ก์…˜(Vision-Language-Action, VLA) ๋ชจ๋ธ(์˜ˆ: Pi0.5, GR00T N1.5, SmolVLA, XVLA)์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. lerobot-train ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด --policy ๋ฐ --dataset.repo_id๋ฅผ ์„ค์ •ํ•จ์œผ๋กœ์จ ์ •์ฑ… ํ›ˆ๋ จ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. LeRobot์€ ํ›ˆ๋ จ ๊ณผ์ •์˜ ๊ณ„์ธก(instrumentation) ๋ฐ ๊ฒ€์‚ฌ(inspection)๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์ •์ฑ…์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  Hugging Face Hub์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ํ†ตํ•ฉ๋œ ์ถ”๋ก  ๋ฐ ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ (Unified Inference and Evaluation Framework):
  • LeRobot์€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ๊ณผ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด ๋ชจ๋‘์—์„œ ์ •์ฑ…์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์ผ๋œ lerobot-eval ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LIBERO, MetaWorld์™€ ๊ฐ™์€ ํ‘œ์ค€ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” EnvHub Documentation์„ ๋”ฐ๋ผ ์ž์‹ ๋งŒ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์ด๋‚˜ ๋ฒค์น˜๋งˆํฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  Hugging Face Hub๋ฅผ ํ†ตํ•ด ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๊ฐ๊ด€์ ์œผ๋กœ ์ธก์ •ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์ผ๋ฐ˜ํ™”(generalization) ๋Šฅ๋ ฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    ์›๋ณธ ๋ณด๊ธฐ
    GitHub
    Shared by Anonymous