File size: 4,524 Bytes
efc167a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | # ์ ์ธ์
์์ ์ด์ด๊ฐ๊ธฐ โ ์ฌ๊ธฐ๋ถํฐ ์ฝ์ผ์ธ์
`/home/work/seoik` ๋ง ์๊ตฌ์
๋๋ค. ๊ทธ ๋ฐ(`$HOME` ํฌํจ)์ ์ปจํ
์ด๋์ ํจ๊ป ์ฌ๋ผ์ง๋๋ค.
์๋ ์์๋๋ก ํ๋ฉด ์ค๋จ ์ง์ ์์ ๊ทธ๋๋ก ์ด์ด์ง๋๋ค.
---
## 1. ๋ถํธ์คํธ๋ฉ (์ ์ผ ๋จผ์ , ๋ฐ๋์)
```bash
bash /home/work/seoik/bootstrap_cerberus.sh # ๋ฉฑ๋ฑ โ ์ฌ๋ฌ ๋ฒ ๋๋ ค๋ ์์
source ~/.bashrc
```
๋ณต๊ตฌ๋๋ ๊ฒ: `~/.claude` ์ฌ๋งํฌ(์์ด์ ํธยท์คํฌ), ์ง๋ ๋ํ ๊ธฐ๋ก,
`CERBERUS_PY`ยท`CERBERUS_ROOT`ยท`TORCH_HOME`ยท`HF_HOME`ยท`HF_TOKEN`ยท`GEMINI_API_KEY`ยท
`CUBLAS_WORKSPACE_CONFIG`, git ์ฌ์ฉ์ ์ค์ . ๋ฐ์ดํฐยท๋ชจ๋ธยท์ฒดํฌํฌ์ธํธ ์กด์ฌ๋ ๊ฒ์ฆํฉ๋๋ค.
**๊ฑด๋๋ฐ๋ฉด `$CERBERUS_PY` ๊ฐ ๋น์ด ๋ชจ๋ ํ์ตยทํ๊ฐ ๋ช
๋ น์ด ์กฐ์ฉํ ์คํจํฉ๋๋ค.**
์ง๋ ๋ํ๋ฅผ ์ด์ด๋ฐ์ผ๋ ค๋ฉด ๋ถํธ์คํธ๋ฉ **ํ์** `claude --continue` ๋๋ `claude --resume`
(๋ชฉ๋ก์ claude ์คํ ์์ ์ ์ฝํ๋ฏ๋ก ์์๊ฐ ์ค์ํฉ๋๋ค).
## 2. ์ํฉ ํ์
โ ์ด ์์๋ก ์ฝ์ผ์ธ์
| ๋ฌธ์ | ๋ด์ฉ |
|---|---|
| **`docs/STATE.md`** | ์ง๊ธ ๋ฌด์์ด ์ด๋๊น์ง ๋๊ณ ๋ค์์ด ๋ฌด์์ธ๊ฐ โ **๊ฐ์ฅ ๋จผ์ ** |
| `docs/MIGRATION-3GPU.md` | ์ปจํ
์ด๋ ์ด์ ยทGPU ๊ตฌ์ฑ ๋ณ๊ฒฝ ์ ์ฐจ |
| `docs/experiment-roadmap.md` | ์คํ ๊ณํ, ๊ฒฐ๊ณผ๋ณ ๋์, ๊ธฐ๊ฐ๋ ์คํ๊ณผ ๊ทธ ์ด์ |
| `docs/training-log.md` | ํ์ต ์ด๋ ฅ, ์คํจ์ ์์ธ, ์ค์ ๋ณ๊ฒฝ ๊ทผ๊ฑฐ |
| `docs/evidence-index.md` | ๊ฐ ์ฃผ์ฅ์ ๊ทผ๊ฑฐ์ ์ฌํ ๋ช
๋ น |
| `docs/review-log.md` | ์ฌ์ฌ ์ง์ โ ์กฐ์น โ ์ปค๋ฐ, **ํ์ง ์์ ๊ฒ๊ณผ ๊ทธ ์ด์ ** |
| ๋ฃจํธ `CLAUDE.md` | ์ธ์
์ด์ยท์๋ฒ ํจ์ . **ยง5 ์ํ ํญ๋ชฉ** ํ๋
|
## 3. ํ์ฌ ์ํ ํ์ธ
```bash
cd $CERBERUS_ROOT/hawk
bash scripts/run_arms_parallel.sh --check # arm ์งํ๋ฅ
nvidia-smi --query-gpu=index,memory.used --format=csv,noheader
cat /sys/fs/cgroup/memory.max # ์ปจํ
์ด๋ ๋ฉ๋ชจ๋ฆฌ ํ๊ณ (free ๋ ํธ์คํธ๋ฅผ ๋ณด์ฌ์ค)
git status --porcelain | wc -l # 0 ์ด์ด์ผ ์ ์
```
## 4. ํ์ต ์ฌ๊ฐ
```bash
# GPU 2์ฅ์ด๋ฉด
ARM_GPUS="0 1" bash scripts/run_arms_parallel.sh
# GPU 3์ฅ์ด๋ฉด
bash scripts/run_arms_parallel.sh
```
๋จ์ arm ์ **GPU 1์ฅ์ฉ ๋ณ๋ ฌ**๋ก ๋๋ฆฝ๋๋ค. ์๋ฃ๋ arm ์ ๊ฑด๋๋ฐ๊ณ , ์จ์ด๋ธ๊ฐ ๋๋ ๋ค ๋จ์
arm ์ด ์์ผ๋ฉด ๊ฐ์ ๋ช
๋ น์ ๋ค์ ์คํํ๋ฉด ๋ฉ๋๋ค.
**GPU ๋ฅผ ํ ์์
์ ๋ฌถ์ง ๋ง์ธ์.** `iters_per_epoch: 2500` ์ด ๊ณ ์ ์ด๋ผ GPU ๋ฅผ ๋ ๋ถ์ฌ๋
epoch ์๊ฐ์ด ์ค์ง ์๊ณ epoch ๋น ์ํ ์๋ง ๋์ด๋ฉ๋๋ค. arm ์ ์ชผ๊ฐ์ผ ๋ฒฝ์๊ณ ์๊ฐ์ด ์ค๋๋ค.
## 5. ๋ฐ๋์ ์งํฌ ๊ฒ ์ธ ๊ฐ์ง
1. **ํ๊ฐ๋ `CUBLAS_WORKSPACE_CONFIG=:4096:8` ๊ณผ ํจ๊ป.** ์์ผ๋ฉด ์์ฑ์ด ๋น๊ฒฐ์ ๋ก ์ ์ด๋ผ ๊ฐ์
์ฒดํฌํฌ์ธํธ๊ฐ ์คํ๋ง๋ค ๋ค๋ฅธ ๋ฌธ์ฅ์ ๋
๋๋ค(์ค์ธก 3/3 ๋ถ์ผ์น, ํ๋๋ `4 4 4 4 โฆ` ํดํ).
2. **`CERBERUS_REPR_LOSS_WEIGHT=0`.** ๋ฌ๋๊ฐ export ํ์ง๋ง, ์ง์ ํ์ต์ ๋์ธ ๋๋ ํ์ธํ์ธ์.
์ด ํญ์ด ์ผ์ง๋ฉด arm ๋ง๋ค ๋ค๋ฅธ ์์ ์ ํ์ฑํ๋์ด ํต์ ๊ฐ ๊นจ์ง๊ณ , ํ arm ์ ๋ฐ์ฐํ์ต๋๋ค.
3. **์คํ ์ค์ธ bash ์คํฌ๋ฆฝํธ๋ฅผ ํธ์งํ์ง ๋ง์ธ์.** bash ๊ฐ ๋ฐ์ดํธ ์คํ์
์ผ๋ก ์ฝ์ด ๋๊ฐ๋ฏ๋ก
๋จ์ ๋ถ๋ถ์ ์๋ชป ํด์ํฉ๋๋ค. ์ฌ๋ณธ์ ๋ง๋ค์ด ๊ณ ์น์ธ์.
## 6. ํ์ต์ด ๋๋๋ฉด
```bash
for a in flow zero random_mask duplicate flow_reinit; do
CUBLAS_WORKSPACE_CONFIG=:4096:8 $CERBERUS_PY scripts/evaluate.py \
--ckpt $CERBERUS_ROOT/runs/abl2_$a/main/checkpoint_39.pth \
--anno $CERBERUS_ROOT/hawk_anomaly/Annotation/All_Mix/all_videos_heldout.local.json \
--out experiments/out/eval_abl2_$a.json
done
$CERBERUS_PY scripts/compare_arms.py \
$(for a in flow zero random_mask duplicate flow_reinit; do echo --eval experiments/out/eval_abl2_$a.json; done) \
--out experiments/out/arm_comparison.json
```
ํ๊ฐ๋ **์์ฐจ๋ก** ๋๋ฆฌ์ธ์. ๋์์ ๋๋ฆฌ๋ฉด ๋์ฝ๋ฉ ์ค ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ๊ป ์ก์ต๋๋ค.
## 7. ๋ฐฑ์
์์น
| | |
|---|---|
| ์ฝ๋ยท๋
ผ๋ฌธยท๋ฌธ์ | GitHub `jungseoik/hawk` |
| ์คํฌยท์์ด์ ํธ | GitHub `jungseoik/seoik_skills` (๋
๋ฆฝ ์ ์ฅ์) |
| ์ฒดํฌํฌ์ธํธยท๋ก๊ทธยท๊ฒฐ๊ณผ | HF `backseollgi/Cerberus` โ `ablation_v2/`ยท`docs/`ยท`results/`ยท`benchmark/` |
| ๋ํ ๊ธฐ๋ก | `seoik/claude_state/` (์ ๋ณธ) ยท `seoik/session_archive/` (์ค๋
์ท) |
์ฒดํฌํฌ์ธํธ ์ ๋์ `seoik/runs/` ์๋ง ์์ต๋๋ค(arm ๋น 77GB). HF ์๋ ์์ฃผํ arm ์ ์ต์ข
๋ณธ๋ง
์ฌ๋ฆฝ๋๋ค.
|