Download docs/MIGRATION-3GPU.md from backseollgi/Cerberus: direct link, hf CLI and curl.
- Browser
- Download file 8.26 kB
-
https://huggingface.co/backseollgi/Cerberus/resolve/main/docs/MIGRATION-3GPU.md
- Command line
-
hf download hf://backseollgi/Cerberus/docs/MIGRATION-3GPU.md
-
curl -L -o MIGRATION-3GPU.md https://huggingface.co/backseollgi/Cerberus/resolve/main/docs/MIGRATION-3GPU.md
์ปจํ ์ด๋ ์ด์ โ GPU 3์ฅ ํ๊ฒฝ์์ ์ด์ด๊ฐ๊ธฐ
์ด ๋ฌธ์ ํ๋๋ก ์ฌ๊ฐ ๊ฐ๋ฅํ๋๋ก ์ด๋ค. ์์๋๋ก ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค.
0. ๋จผ์ ์์์ผ ํ ๊ฒ
/home/work/seoik ๋ง ์๊ตฌ๋ค. $HOME(=/home/work) ์ ๋๋จธ์ง๋ ์ปจํ
์ด๋๋ฅผ ๋ด๋ฆฌ๋ฉด
์ฌ๋ผ์ง๋ค โ ~/.claude ํฌํจ.
์๊ตฌ ๋ณผ๋ฅจ์ ์ด๋ฏธ ๋ค ์๋ค.
| ์์ฐ | ํฌ๊ธฐ | ์ํ |
|---|---|---|
seoik/hawk (์ฝ๋ยท๋
ผ๋ฌธ) |
13G | git ๋๊ธฐํ ์๋ฃ |
seoik/runs (์ฒดํฌํฌ์ธํธ) |
369G | v1ยทv2 ์ ๋ถ ๋ณด์กด |
seoik/miniconda3 (conda ํ๊ฒฝ) |
11G | ์ฌ์ค์น ๋ถํ์ |
seoik/hawk_anomaly (Stage-2 ๋ฐ์ดํฐ) |
121G | ๊ทธ๋๋ก |
seoik/session_archive |
22M | ๋ํ ๊ธฐ๋ก |
1. ์ปจํ ์ด๋ ๋ด๋ฆฌ๊ธฐ ์ ์ ํ ์ผ
cd $CERBERUS_ROOT/hawk
# (a) ๋ฏธ์ปค๋ฐ ํ์ธ โ 0 ์ด์ด์ผ ํ๋ค
git status --porcelain | wc -l
# (b) ์๊ฒฉ๊ณผ ๋๊ธฐํ ํ์ธ โ 0 ์ด์ด์ผ ํ๋ค
git fetch -q "https://$(cat ../.github_token)@github.com/jungseoik/hawk.git" main
git rev-list --count HEAD ^FETCH_HEAD
# (c) ์ธ์
๊ธฐ๋ก ์์นด์ด๋ธ (์ปจํ
์ด๋์ ํจ๊ป ์ฌ๋ผ์ง๋ค)
D=$CERBERUS_ROOT/session_archive/$(date +%Y%m%d)
mkdir -p "$D"
cp -r ~/.claude/projects/-home-work-seoik "$D"/ 2>/dev/null
cp ~/.claude/history.jsonl "$D"/ 2>/dev/null
# (d) ํ์ต ์ ์ง โ ์ฒดํฌํฌ์ธํธ๋ epoch ๋ง๋ค ์ ์ฅ๋๋ฏ๋ก ์งํ๋ถ์ ์์ง ์๋๋ค
pkill -f "run_ablation_v[2]"; pkill -f "train[.]py --cfg-path"
์ฒดํฌํฌ์ธํธ๊ฐ epoch ๋จ์๋ก ์ ์ฅ๋๋ฏ๋ก ์๋ฌด ๋๋ ๋์ด๋ ๋๋ค. ์งํ ์ค์ด๋ epoch ๋ง ๋ค์ ๋๋ค.
2. ์ ์ปจํ ์ด๋์์ ๋ณต๊ตฌ
bash /home/work/seoik/bootstrap_cerberus.sh # ๋ฉฑ๋ฑ โ ์ฌ๋ฌ ๋ฒ ๋๋ ค๋ ์์
source ~/.bashrc
์ด๊ฒ์ด ๋ณต๊ตฌํ๋ ๊ฒ: ~/.claude ์ฌ๋งํฌ(์์ด์ ํธยท์คํฌ), ์
ธ ํ๊ฒฝ
(CERBERUS_PYยทTORCH_HOMEยทHF_HOMEยทHF_TOKENยทGEMINI_API_KEY), git ์ฌ์ฉ์ ์ค์ .
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐยท๋ชจ๋ธยท์ฒดํฌํฌ์ธํธ๊ฐ ์ด์์๋์ง ๊ฒ์ฆํ๋ค.
์ด๊ฑธ ๊ฑด๋๋ฐ๋ฉด $CERBERUS_PY ๊ฐ ๋น์ด ๋ชจ๋ ํ์ตยทํ๊ฐ ๋ช
๋ น์ด ์กฐ์ฉํ ์คํจํ๋ค.
์ง๋ ๋ํ ์ด์ด๊ฐ๊ธฐ
๋ถํธ์คํธ๋ฉ 1.5 ๋จ๊ณ๊ฐ claude_state_sync.sh --restore ๋ก seoik/claude_state ์ ๋ํ ๊ธฐ๋ก์
~/.claude/projects/-home-work-seoik/ ์ ๋๋๋ฆฐ๋ค. ๊ทธ๋ฌ๋ฉด ์ ์ปจํ
์ด๋์์๋
cd /home/work/seoik
claude --continue # ๊ฐ์ฅ ์ต๊ทผ ๋ํ๋ฅผ ๊ทธ๋๋ก ์ด์ด๊ฐ
claude --resume # ๋ชฉ๋ก์์ ๊ณจ๋ผ ์ด์ด๊ฐ
์์๊ฐ ์ค์ํ๋ค โ ๋ถํธ์คํธ๋ฉ์ ๋จผ์ ๋๋ ค์ผ --resume ๋ชฉ๋ก์ ๊ณผ๊ฑฐ ์ธ์
์ด ๋ณด์ธ๋ค.
(--resume ์ claude ๊ฐ ๋จ๋ ์์ ์ ๊ธฐ๋ก์ ์ฝ์ผ๋ฏ๋ก, ์คํ ํ์ ๋ณต์ํด๋ ๊ทธ ํ์ฐจ์๋ ๋ฐ์๋์ง ์๋๋ค.)
๊ธฐ๋ก ์ ์ฅ์ ์ธ ๊ฒน์ด๋ค: ๋ถํ
์ --restore, 5๋ถ ์ฃผ๊ธฐ ๋ฐ๋ชฌ --save, ์ ์ ์ข
๋ฃ ์ SessionEnd ํ
.
์ปจํ
์ด๋๊ฐ ์๊ณ ์์ด ์ฃฝ์ด๋ ์ต๋ 5๋ถ ๋ถ๋๋ง ์๋๋ค. ์ํ ํ์ธ:
bash scripts/claude_state_sync.sh --status
ํ์ธ:
echo $CERBERUS_PY # ๋น์ด ์์ผ๋ฉด ์ ๋๋ค
nvidia-smi --query-gpu=index,memory.total --format=csv,noheader # 3์ฅ ํ์ธ
cat /sys/fs/cgroup/memory.max # ์ปจํ
์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ โ ๋ณ๋ชฉ์ด๋ค
bash $CERBERUS_ROOT/hawk/scripts/run_arms_parallel.sh --check # arm ์งํ๋ฅ
2026-08-18 ์ค์ธก (์ด์ ์๋ฃ): GPU H100 80GB 3์ฅ, memory.max 739GB(์ด์ 240GB์ 3๋ฐฐ),
CPU 84์ฝ์ด, torch 2.11.0+cu128. arm ์งํ๋ฅ ์ ์ด์ ์ ๊ณผ ๋์ผํ๋ค โ
zero 40/40 ยท random_mask 21/40 ยท flow 15/40 ยท duplicate 0 ยท flow_reinit 0.
3. ์ด์ด์ ํ์ต โ GPU 3์ฅ ๋ณ๋ ฌ
cd $CERBERUS_ROOT/hawk
bash scripts/run_arms_parallel.sh
๋จ์ arm ์ ์๋์ผ๋ก ๊ณจ๋ผ GPU 1์ฅ์ฉ ๋ณ๋ ฌ๋ก ๋๋ฆฐ๋ค. ์๋ฃ๋ arm ์ ๊ฑด๋๋ด๋ค. ์จ์ด๋ธ๊ฐ ๋๋๊ณ ๋จ์ arm ์ด ์์ผ๋ฉด ๊ฐ์ ๋ช ๋ น์ ๋ค์ ์คํํ๋ฉด ๋๋ค.
์ GPU ๋ฅผ ํ ์์ ์ ๋ชฐ์ง ์๋๊ฐ
iters_per_epoch ์ด 2500 ์ผ๋ก ๊ณ ์ ์ด๋ผ, GPU ๋ฅผ ๋ ๋ถ์ด๋ฉด epoch ๋น ์ํ ์๋ง ๋๊ณ
epoch ์๊ฐ์ ๊ทธ๋๋ก๋ค. arm ์ ๋๋ ๋ณ๋ ฌ๋ก ๋๋ ค์ผ ๋ฒฝ์๊ณ ์๊ฐ์ด ์ค์ด๋ ๋ค.
2 GPU ร batch 2 = effective 4, 2500 iter ร 4 = 10,000 ์ํ/epoch
1 GPU ร batch 4 = effective 4, 2500 iter ร 4 = 10,000 ์ํ/epoch โ ๋์ผ
์กฐ๊ฑด์ด ๊ฐ์ผ๋ฏ๋ก ์ด๋ฏธ ์์ฃผํ arm(zero)์ ๋ค์ ๋๋ฆด ํ์๊ฐ ์๋ค.
| ๋ฐฉ์ | ์์ |
|---|---|
| 2 GPU ์์ฐจ ์ ์ง | 6.7์ผ |
| 3 GPU ํ ์์ (arm ๋ถ์ผ์น๋ก ์ ๋ถ ์ฌ์คํ) | 10.8์ผ |
arm 3๊ฐ ๋ณ๋ ฌ (run_arms_parallel.sh) |
3.1์ผ |
์ฃผ์ โ ๋ณ๋ชฉ์ GPU ๊ฐ ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ๋ค
/sys/fs/cgroup/memory.max 240 GB (๊ธฐ์กด ์ปจํ
์ด๋) โ 739 GB (2026-08-18 ์ ์ปจํ
์ด๋)
/sys/fs/cgroup/memory.events oom_kill 6 (๊ธฐ์กด) โ 0 (์ ์ปจํ
์ด๋, ํ์ต ์์ ์ )
์ ์ปจํ
์ด๋๋ ์ฌ์ ๊ฐ 3๋ฐฐ๋ค. ๊ทธ๋๋ num_workers ๋ 4 ๊ทธ๋๋ก ๋๋ค โ ํ์ต์ด compute-bound ๋ผ
(data: ์ง์ฐ ์ค์ธก 0.0000) ์ฌ๋ ค์ ์ป์ ๊ฒ์ด ์๊ณ , ์ฌ์๋ ์ํ 12 ์ ํจ๊ป ๋๋ฉด ์์ ๋ง์ง๋ง ์ปค์ง๋ค.
free ๋ ํธ์คํธ ๊ฐ์ ๋ณด์ฌ์ฃผ๋ฏ๋ก ์์ง ๋ง ๊ฒ. DataLoader worker ๊ฐ OOM kill ๋๋ฉด rank ๊ฐ
์ฃฝ๊ณ NCCL watchdog ๊ฐ SIGABRT ๋ฅผ ๋์ง๋ค. ์ฌ๊ฐ๋ ์ ์ ๋์ํ๋ฏ๋ก ์งํ๋ถ์ ์์ง ์์ผ๋ฉฐ,
๋ฌ๋๊ฐ ์ฌ์๋๋ก ๊ฐ์ธ ๋์๋ค(์ํ 12).
*_1gpu.yaml ์ num_workers ๋ฅผ 4 ๋ก ๋ฎ์ถฐ ๋์๋ค โ arm 3 ๊ฐ๋ฉด ์์ปค๊ฐ 3 ๋ฐฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
(2026-08-18 ์ ์ปจํ
์ด๋์์๋ ์ด ๊ฐ ๊ทธ๋๋ก ๊ฐ๋ค. ์ ํ ์ฐธ์กฐ.)
โ stage2_zero_1gpu.yaml ์ ์๋ค โ zero ๊ฐ ์ด๋ฏธ 40/40 ์์ฃผ๋ผ ๋ฌ๋๊ฐ ๊ณ ๋ฅด์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
zero ๋ฅผ ๋ค์ ๋๋ ค์ผ ํ ์ผ์ด ์๊ธฐ๋ฉด ๋ค๋ฅธ arm ํ์ผ์์ ๋ณต์ฌํด ๋ง๋ค ๊ฒ(๊ทธ๋ฅ ์คํํ๋ฉด "config ์์" ์ผ๋ก ๋ฉ์ถ๋ค).
4. ํ์ต์ด ๋๋๋ฉด
cd $CERBERUS_ROOT/hawk
# arm ๋ณ ํ๊ฐ โ ์์ฐจ๋ก ๋๋ฆฐ๋ค. ๋์์ ๋๋ฆฌ๋ฉด ๋์ฝ๋ฉ ์ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ๊ป ์ก๋๋ค.
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
# ํต๊ณ ๋น๊ต โ ํด๋ฆฝ ๋จ์ ์ ๋ถํธ์คํธ๋ฉ + Holm + ๋๋ฉ์ธ๋ณ
$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
โ ํ๊ฐ๋ ๋ฐ๋์ CUBLAS_WORKSPACE_CONFIG=:4096:8 ๊ณผ ํจ๊ป ์คํํ๋ค. ์์ผ๋ฉด ์์ฑ์ด
๋น๊ฒฐ์ ๋ก ์ ์ด์ด์ ๊ฐ์ ์ฒดํฌํฌ์ธํธ๊ฐ ์คํ๋ง๋ค ๋ค๋ฅธ ๋ฌธ์ฅ์ ๋ธ๋ค(์ค์ธก 3/3 ๋ถ์ผ์น, ํ๋๋
4 4 4 4 โฆ ๋ก ํดํ).
5. ๊ฒฐ๊ณผ๋ฅผ ์ด๋ป๊ฒ ์ฝ๋๊ฐ
docs/experiment-roadmap.md ยง0 ์ S1/S2/S3 ์ฌ๋ค๋ฆฌ์ ยง6 ์ ๊ฒฐ๊ณผ๋ณ ๋์.
์ฃผ ์ข
์ ์ ๋๋ฉ์ธ๋ณ ๊ฐ์ด๋ค(ํ๋ง์ DoTA 62.8% ํธ์ค).
6. ์ด์ด์ ์ฝ์ ๋ฌธ์
| ๋ฌธ์ | ๋ด์ฉ |
|---|---|
docs/STATE.md |
์ง๊ธ ๋ฌด์์ด ๋๊ณ ์๊ณ ๋ค์์ด ๋ฌด์์ธ๊ฐ โ ๊ฐ์ฅ ๋จผ์ |
docs/experiment-roadmap.md |
์คํ ๊ณํยท๊ฒฐ๊ณผ๋ณ ๋์ยท๊ธฐ๊ฐ๋ ์คํ๊ณผ ๊ทธ ์ด์ |
docs/training-log.md |
ํ์ต ์ด๋ ฅยท์คํจ์ ์์ธยท์ค์ ๋ณ๊ฒฝ ๊ทผ๊ฑฐ |
docs/evidence-index.md |
๊ฐ ์ฃผ์ฅ์ ๊ทผ๊ฑฐ์ ์ฌํ ๋ช ๋ น |
docs/review-log.md |
์ฌ์ฌ ์ง์ โ ์กฐ์น โ ์ปค๋ฐ, ๊ทธ๋ฆฌ๊ณ ํ์ง ์์ ๊ฒ๊ณผ ๊ทธ ์ด์ |
๋ฃจํธ CLAUDE.md |
์ธ์ ์ด์ยท์๋ฒ ํจ์ . ยง5 ์ํ ํญ๋ชฉ(์๋ณธ๊ณผ์ ์์ฐ ์ผ์น๋ ํ์๊ฐ ์๋)์ ๋ฐ๋์ ๋ณผ ๊ฒ |
7. ๋ฐฑ์ ์ํ
- GitHub
jungseoik/hawkโ ์ฝ๋ยท๋ ผ๋ฌธยท๋ฌธ์ ์ ๋ถ. ๋ฏธ์ปค๋ฐ 0 - HF
backseollgi/Cerberusโablation_v2/(์์ฃผ arm ์ฒดํฌํฌ์ธํธยท๋ก๊ทธยท์ค์ ),docs/,results/,benchmark/
์ฒดํฌํฌ์ธํธ๋ arm ๋น 77GB ๋ผ ์์ฃผํ arm ์ ์ต์ข
๋ณธ๋ง ์ฌ๋ฆฐ๋ค. ์ค๊ฐ ์ฒดํฌํฌ์ธํธ๊ฐ ํ์ํ๋ฉด
seoik/runs ์์ ์ง์ ๊ฐ์ ธ์ฌ ๊ฒ.