Upload SETUP_CYCLO_GROOT.md with huggingface_hub
Browse files- SETUP_CYCLO_GROOT.md +157 -0
SETUP_CYCLO_GROOT.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ์ค์น โ cyclo_intelligence & Isaac-GR00T
|
| 2 |
+
|
| 3 |
+
๋ ์ ์ฅ์๋ฅผ ์ค์นํ๋ค. **์ญํ ์ด ๋ค๋ฅด๋ฏ๋ก ๋ฐ๋ก ๋๋ค.**
|
| 4 |
+
|
| 5 |
+
| ์ ์ฅ์ | ์ญํ | ์์น |
|
| 6 |
+
|--------|------|------|
|
| 7 |
+
| [`cyclo_intelligence`](https://github.com/ROBOTIS-GIT/cyclo_intelligence) | **๋ฐฐํฌ/์ถ๋ก ** โ ์น UI์์ ์ ์ฑ
์ ๋ก๋ด์ ์คํ | `~/cyclo_intelligence` |
|
| 8 |
+
| [`Isaac-GR00T-n1.7`](https://github.com/ROBOTIS-GIT/Isaac-GR00T-n1.7) (ROBOTIS ํฌํฌ) | **GR00T ํ์ต** | `~/Isaac-GR00T` |
|
| 9 |
+
| [`cyclo_lab`](https://github.com/Disniekie01/EKAIWORKER) | Isaac Sim ๋ฐ์ดํฐ ์์ฑ + LeRobot ํ์ต | `~/AIWORKER/cyclo_lab` |
|
| 10 |
+
|
| 11 |
+
> **์ GR00T๋ฅผ ๋ฐ๋ก ํด๋ก ํ๋?**
|
| 12 |
+
> cyclo_intelligence๋ Isaac-GR00T๋ฅผ **git ์๋ธ๋ชจ๋**๋ก ์ด๋ฏธ ํฌํจํ๊ณ ์๋ค. ํ์ง๋ง ํ์ต์ ๊ทธ ์์์ ํ๋ฉด
|
| 13 |
+
> ๋ฐฐํฌ ์ ์ฅ์๊ฐ ํ์ต ํ๊ฒฝ(uv, ์ฒดํฌํฌ์ธํธ, ์บ์)์ผ๋ก ์ค์ผ๋๋ค. **ํ์ต์ ๋
๋ฆฝ๋ ํด๋ก ์์ ํ๊ณ ,
|
| 14 |
+
> ๊ฒฐ๊ณผ๋ฌผ๋ง HF์ ์ฌ๋ ค ๋ฐฐํฌ ๋ ๋ด๋ ค๋ฐ๋๋ค** โ LeRobot์์ ์ด๋ฏธ ์ฐ๋ ๋ฐฉ์๊ณผ ๊ฐ๋ค.
|
| 15 |
+
>
|
| 16 |
+
> โ ๏ธ **๋จ, NVIDIA ์๋ณธ์ด ์๋๋ผ ROBOTIS ํฌํฌ๋ฅผ ํด๋ก ํด์ผ ํ๋ค.** ์ถ๋ก ํ๋ ์ชฝ(cyclo_intelligence ์๋ธ๋ชจ๋)์ด
|
| 17 |
+
> ROBOTIS ํฌํฌ์ด๋ฏ๋ก, **๊ฐ์ ์ฝ๋๋ก ํ์ตํด์ผ ์ฒดํฌํฌ์ธํธ๊ฐ ๋ก๋๋๋ค.** ์๋ณธ์ผ๋ก ํ์ตํ๋ฉด ๋ฒ์ ์ด ๊ฐ๋ ค
|
| 18 |
+
> ๋ฐฐํฌ์์ ๋ชป ์ฝ์ ์ ์๋ค.
|
| 19 |
+
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
## 1. cyclo_intelligence (๋ฐฐํฌ/์ถ๋ก )
|
| 23 |
+
|
| 24 |
+
[๊ณต์ README](https://github.com/ROBOTIS-GIT/cyclo_intelligence) ๊ทธ๋๋ก:
|
| 25 |
+
|
| 26 |
+
```bash
|
| 27 |
+
curl -fsSL https://raw.githubusercontent.com/ROBOTIS-GIT/cyclo_intelligence/main/install.sh | bash
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
- ํธ์คํธ๋ช
์ด `ffw`๋ก ์์ํ๋ **ROBOTIS ๋ก๋ด PC**: `/mnt/ssd/cyclo_intelligence` ์ ์ค์น๋๊ณ `~/cyclo_intelligence` ๋ก bind-mount
|
| 31 |
+
- **๊ทธ ์ธ PC**: `~/cyclo_intelligence` ์ ๋ฐ๋ก ์ค์น
|
| 32 |
+
|
| 33 |
+
์ค์น๋๋ ๊ฒ: Docker ์ด๋ฏธ์ง(robotis/cyclo-intelligence, robotis/lerobot-zenoh ๋ฑ) + ์น UI + ์ถ๋ก ์์ง + **Isaac-GR00T ์๋ธ๋ชจ๋**
|
| 34 |
+
|
| 35 |
+
์ปจํ
์ด๋ ๊ธฐ๋/ํ์ธ:
|
| 36 |
+
```bash
|
| 37 |
+
cd ~/cyclo_intelligence
|
| 38 |
+
docker ps # cyclo_intelligence, lerobot_server ๊ฐ Up ์ธ์ง
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
์น UI: ๋ธ๋ผ์ฐ์ ์์ ์ ์ โ Inference ํ์ด์ง์์ ์ ์ฑ
์ ํ
|
| 42 |
+
|
| 43 |
+
๊ด๋ จ ๋ฌธ์:
|
| 44 |
+
- [AI Worker Imitation Learning ๋ฌธ์](https://docs.robotis.com/docs/systems/aiworker/imitation_learning/)
|
| 45 |
+
- [AI Worker ROS 2 ํจํค์ง](https://github.com/ROBOTIS-GIT/ai_worker)
|
| 46 |
+
- [ROBOTIS ์ฌ์ ํ์ต ๋ชจ๋ธยท๋ฐ์ดํฐ์
](https://huggingface.co/ROBOTIS)
|
| 47 |
+
|
| 48 |
+
---
|
| 49 |
+
|
| 50 |
+
## 2. Isaac-GR00T (GR00T ํ์ต ์ ์ฉ)
|
| 51 |
+
|
| 52 |
+
### 2-a. ํ๋์จ์ด ์๊ตฌ์ฌํญ
|
| 53 |
+
|
| 54 |
+
| | ์๊ตฌ |
|
| 55 |
+
|---|---|
|
| 56 |
+
| **ํ์ธํ๋** | **40GB+ VRAM ๊ถ์ฅ** (H100 / L40 ๊ถ์ฅ, A6000๋ ๋์ง๋ง ๋๋ฆผ) |
|
| 57 |
+
| ์ถ๋ก | 16GB+ VRAM |
|
| 58 |
+
| **dGPU (x86_64)** | **CUDA 12.8 + Python 3.10** |
|
| 59 |
+
|
| 60 |
+
> GR00T N1.7์ **3B ํ๋ผ๋ฏธํฐ**๋ค. ๋ค๋ง ๊ธฐ๋ณธ ํ์ธํ๋ ์ค์ ์ด **VLM ๋ฐฑ๋ณธ(LLM + ๋น์ ์ธ์ฝ๋)์ ์ผ๋ฆฌ๊ณ **
|
| 61 |
+
> projector + diffusion action head๋ง ํ์ตํ๋ฏ๋ก, ์ ์ฒด ํ์ต๋ณด๋ค ํจ์ฌ ๊ฐ๋ณ๋ค.
|
| 62 |
+
> 24GB GPU์์๋ `--global_batch_size` ๋ฅผ ๋ฎ์ถ๋ฉด ๋ค์ด๊ฐ ์ฌ์ง๊ฐ ์๋ค (**์ค์ธก ํ์**).
|
| 63 |
+
|
| 64 |
+
### 2-b. git-lfs ๋จผ์ (ํ์)
|
| 65 |
+
|
| 66 |
+
`demo_data/`์ parquet ํ์ผ์ ๋ฐ์ผ๋ ค๋ฉด **ํด๋ก ์ ์** ์ค์นํด์ผ ํ๋ค:
|
| 67 |
+
```bash
|
| 68 |
+
sudo apt install git-lfs && git lfs install
|
| 69 |
+
```
|
| 70 |
+
|
| 71 |
+
### 2-c. ํด๋ก (ROBOTIS ํฌํฌ + ์๋ธ๋ชจ๋)
|
| 72 |
+
|
| 73 |
+
```bash
|
| 74 |
+
cd ~
|
| 75 |
+
git clone --recurse-submodules https://github.com/ROBOTIS-GIT/Isaac-GR00T-n1.7.git Isaac-GR00T
|
| 76 |
+
cd Isaac-GR00T
|
| 77 |
+
```
|
| 78 |
+
|
| 79 |
+
์๋ธ๋ชจ๋ ์์ด ์ด๋ฏธ ํด๋ก ํ๋ค๋ฉด:
|
| 80 |
+
```bash
|
| 81 |
+
git submodule update --init --recursive
|
| 82 |
+
```
|
| 83 |
+
|
| 84 |
+
**cyclo_intelligence๊ฐ ์ฐ๋ ์ปค๋ฐ๊ณผ ๋ง์ถ๊ธฐ** (์ฒดํฌํฌ์ธํธ ํธํ์ ํต์ฌ):
|
| 85 |
+
```bash
|
| 86 |
+
# ๋ฐฐํฌ ์ชฝ์ด ์ด๋ ์ปค๋ฐ์ ์ฐ๋์ง ํ์ธ
|
| 87 |
+
cd ~/cyclo_intelligence
|
| 88 |
+
git submodule status cyclo_brain/policy/groot/Isaac-GR00T
|
| 89 |
+
|
| 90 |
+
# ํ์ต ์ชฝ์ ๊ทธ ์ปค๋ฐ์ผ๋ก ๊ณ ์
|
| 91 |
+
cd ~/Isaac-GR00T
|
| 92 |
+
git checkout <์์์ ๋์จ ์ปค๋ฐ ํด์>
|
| 93 |
+
```
|
| 94 |
+
|
| 95 |
+
### 2-d. ํ๊ฒฝ ์ค์น
|
| 96 |
+
|
| 97 |
+
**uv** (ํ์ด์ฌ ํจํค์ง ๋งค๋์ โ GR00T๊ฐ ์ด๊ฑธ ์):
|
| 98 |
+
```bash
|
| 99 |
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
| 100 |
+
```
|
| 101 |
+
|
| 102 |
+
**FFmpeg** (`torchcodec` ๋น๋์ค ๋ฐฑ์๋์ ํ์):
|
| 103 |
+
```bash
|
| 104 |
+
sudo apt-get update && sudo apt-get install -y ffmpeg
|
| 105 |
+
```
|
| 106 |
+
|
| 107 |
+
**GR00T ์ค์น** (dGPU x86_64 ๊ธฐ์ค โ **Python 3.10**):
|
| 108 |
+
```bash
|
| 109 |
+
cd ~/Isaac-GR00T
|
| 110 |
+
uv sync --python 3.10
|
| 111 |
+
```
|
| 112 |
+
> flash-attnยทTensorRT ๊ฐ์ GPU ์์กด์ฑ์ด **๊ธฐ๋ณธ ์ค์น์ ํฌํจ**๋๋ค (๋ฏธ๋ฆฌ ๋น๋๋ wheel).
|
| 113 |
+
> x86_64์์๋ ์์ค ๋น๋๊ฐ ํ์ ์๋ค.
|
| 114 |
+
|
| 115 |
+
**ํ์ธ:**
|
| 116 |
+
```bash
|
| 117 |
+
uv run python -c "import gr00t; print('GR00T installed successfully')"
|
| 118 |
+
uv run python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
|
| 119 |
+
```
|
| 120 |
+
|
| 121 |
+
### 2-e. ์์ฃผ ๊ฑธ๋ฆฌ๋ ๊ฒ
|
| 122 |
+
|
| 123 |
+
| ์ฆ์ | ํด๊ฒฐ |
|
| 124 |
+
|------|------|
|
| 125 |
+
| `CUDA_HOME is unset` (ํ์ธํ๋ ์) | `bash scripts/deployment/dgpu/install_deps.sh` ๋ฅผ 1ํ ์คํ, ๋๋ `export CUDA_HOME=/usr/local/cuda` |
|
| 126 |
+
| **CUDA 13.x ํ๊ฒฝ** โ Triton `ptx_get_version()` RuntimeError | PyTorch 2.7์ด Triton 3.3.1์ ๊ณ ์ ํ๋๋ฐ CUDA 13+๋ฅผ ์ธ์ ๋ชป ํจ โ `uv run bash scripts/patch_triton_cuda13.sh` |
|
| 127 |
+
| `uv run` ํ ๋๋ง๋ค `Installing flash-attn...` | **์ ์**์ด๋ค. uv๊ฐ ์บ์๋ wheel์ ์ฌ๊ฒ์ฆํ๋ ๊ฒ (2~3์ด). ์์ค ๋น๋๊ฐ ์๋๋ค |
|
| 128 |
+
| flash-attn `glibc_compat.so` ImportError (๊ตฌํ OS) | ์์ค ๋น๋: `uv pip install flash-attn==2.7.4.post1 --no-binary flash-attn --no-cache` (10~30๋ถ) |
|
| 129 |
+
|
| 130 |
+
---
|
| 131 |
+
|
| 132 |
+
## 3. ์ ์ฒด ๊ตฌ์กฐ
|
| 133 |
+
|
| 134 |
+
```
|
| 135 |
+
~/AIWORKER/cyclo_lab/ Isaac Sim ๋ฐ์ดํฐ ์์ฑ ยท LeRobot ํ์ต (ACT/VQ-BeT/Diffusion)
|
| 136 |
+
โ
|
| 137 |
+
โ HDF5 โ LeRobot v3.0 โ HuggingFace
|
| 138 |
+
โผ
|
| 139 |
+
HuggingFace โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 140 |
+
โ (๋ฐ์ดํฐ์
) โ (ํ์ต๋ ๋ชจ๋ธ)
|
| 141 |
+
โผ โ
|
| 142 |
+
~/Isaac-GR00T/ GR00T N1.7 ํ์ธํ๋ โโ
|
| 143 |
+
โ
|
| 144 |
+
โ ์ฒดํฌํฌ์ธํธ โ HuggingFace
|
| 145 |
+
โผ
|
| 146 |
+
~/cyclo_intelligence/ ์น UI์์ ๋ชจ๋ธ ๋ค์ด๋ก๋ โ ๋ก๋ด์ ๋ฐฐํฌ/์ถ๋ก
|
| 147 |
+
```
|
| 148 |
+
|
| 149 |
+
**ํต์ฌ**: ํ์ต ์ ์ฅ์๋ค์ ์๋ก ๋
๋ฆฝ์ด๊ณ , **HuggingFace๊ฐ ์ ์ผํ ์ฐ๊ฒฐ๊ณ ๋ฆฌ**๋ค.
|
| 150 |
+
cyclo_intelligence๋ ํ์ต ์ฝ๋๋ฅผ ๋ชฐ๋ผ๋ ๋๊ณ , ๋ชจ๋ธ๋ง ๋ด๋ ค๋ฐ์ ์คํํ๋ค.
|
| 151 |
+
|
| 152 |
+
---
|
| 153 |
+
|
| 154 |
+
## ๋ค์ ๋จ๊ณ
|
| 155 |
+
|
| 156 |
+
- LeRobot ์ ์ฑ
ํ์ต โ [`WORKFLOW.md`](WORKFLOW.md)
|
| 157 |
+
- GR00T N1.7 ํ์ธํ๋ โ [`GROOT_FINETUNE.md`](GROOT_FINETUNE.md)
|