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 ๋ถ์ผ์ ์ ๊ทผ์ฑ์ ๋ฎ์ถ๊ณ ๊ณต์ ๊ฐ๋ฅํ ๋ฐ์ดํฐ์
๊ณผ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ํตํด ๊ธฐ์ฌ ๋ฐ ํ์ฉ์ ์ฉ์ดํ๊ฒ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํ๋์จ์ด ์ถ์ํ ๋ฐ ํ์คํ๋ ์ ์ด ์ธํฐํ์ด์ค (Hardware Abstraction and Standardized Control Interface):
LeRobot์ ํ๋์จ์ด ๋
๋ฆฝ์ ์ธ(hardware-agnostic) Python-native ์ธํฐํ์ด์ค์ธ ํ์คํ๋ ๋ก๋ด ๋ฐ์ดํฐ์
ํ์ (Standardized Robotic Dataset Format):
๋ก๋ณดํฑ์ค ๋ถ์ผ์ ๊ณ ์ง์ ์ธ ๋ฐ์ดํฐ ํํธํ(data fragmentation) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด LeRobot์ Hugging Face Hub์ ํธ์คํ
๋๋ ์ต์ฒจ๋จ ์ ์ฑ
๋ชจ๋ธ (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)์ ํฌํจํฉ๋๋ค. ํตํฉ๋ ์ถ๋ก ๋ฐ ํ๊ฐ ํ๋ ์์ํฌ (Unified Inference and Evaluation Framework):
LeRobot์ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ๊ณผ ์ค์ ํ๋์จ์ด ๋ชจ๋์์ ์ ์ฑ
์ ํ๊ฐํ ์ ์๋ ํต์ผ๋
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology) ๋ฐ ์ฃผ์ ํน์ง:
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)์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.LeRobotDataset ํ์์ ๋์
ํฉ๋๋ค. ์ด ํ์์ ์๊ฐ ์ ๋ณด(visual information)๋ฅผ ์ํด ๋๊ธฐํ๋(synchronized) MP4 ๋น๋์ค(๋๋ ์ด๋ฏธ์ง)์ ์ํ(state) ๋ฐ ์ก์
(action) ๋ฐ์ดํฐ๋ฅผ ์ํ Parquet ํ์ผ์ ์กฐํฉํ์ฌ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ๋๊ท๋ชจ ๋ก๋ด ๋ฐ์ดํฐ์
์ ํจ์จ์ ์ธ ์ ์ฅ, ์คํธ๋ฆฌ๋ฐ ๋ฐ ์๊ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๋ํ, LeRobotDataset์ ์ํผ์๋ ์ญ์ , ์ธ๋ฑ์ค/๋น์จ์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๋ถํ , ํน์ง ์ถ๊ฐ/์ ๊ฑฐ, ์ฌ๋ฌ ๋ฐ์ดํฐ์
๋ณํฉ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ๋ก๋ด ๋ฐ์ดํฐ์ ์ ๊ทผ์ฑ, ๊ณต์ ๊ฐ๋ฅ์ฑ ๋ฐ ์ฌํ์ฑ(reproducibility)์ ๊ทน๋ํํฉ๋๋ค.lerobot-train ๋ช
๋ น์ด๋ฅผ ํตํด --policy ๋ฐ --dataset.repo_id๋ฅผ ์ค์ ํจ์ผ๋ก์จ ์ ์ฑ
ํ๋ จ์ ๊ฐ์ํํฉ๋๋ค. LeRobot์ ํ๋ จ ๊ณผ์ ์ ๊ณ์ธก(instrumentation) ๋ฐ ๊ฒ์ฌ(inspection)๋ฅผ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์์ ์ ์ ์ฑ
์ ์ฝ๊ฒ ๊ตฌํํ๊ณ Hugging Face Hub์ ๊ณต์ ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.lerobot-eval ์คํฌ๋ฆฝํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. LIBERO, MetaWorld์ ๊ฐ์ ํ์ค ๋ฒค์น๋งํฌ๋ฅผ ์ง์ํ๋ฉฐ, ์ฌ์ฉ์๋ EnvHub Documentation์ ๋ฐ๋ผ ์์ ๋ง์ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์ด๋ ๋ฒค์น๋งํฌ๋ฅผ ๊ตฌํํ๊ณ Hugging Face Hub๋ฅผ ํตํด ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด ํ๋ ์์ํฌ๋ ํ๋ จ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ํ๊ณ ๋ค์ํ ํ๊ฒฝ์์ ์ผ๋ฐํ(generalization) ๋ฅ๋ ฅ์ ๊ฒ์ฆํ๋ ๋ฐ ํ์์ ์ธ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.GitHub
Shared by Anonymous