Cerberus / docs /STATE.md
backseollgi's picture
Upload docs/STATE.md with huggingface_hub
b4c31cb verified
|
Raw History Blame Contribute Delete
7.47 kB

ํ˜„์žฌ ์ƒํƒœ โ€” ์„ธ์…˜์ด ๋Š๊ฒจ๋„ ์—ฌ๊ธฐ๋ถ€ํ„ฐ ์ฝ์œผ๋ฉด ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค

๋งˆ์ง€๋ง‰ ๊ฐฑ์‹  2026-08-18. ๊ธด ์„œ์ˆ ์€ ๋‹ค๋ฅธ ๋ฌธ์„œ์— ์žˆ๋‹ค. ์—ฌ๊ธฐ๋Š” ์ง€๊ธˆ ๋ฌด์—‡์ด ๋Œ๊ณ  ์žˆ๊ณ  ๋‹ค์Œ์ด ๋ฌด์—‡์ธ๊ฐ€๋งŒ ๋‘”๋‹ค.

โ–ถ ํ˜„์žฌ โ€” ์›จ์ด๋ธŒ 2 ์ง„ํ–‰ ์ค‘ (2026-08-21 15:53)

์›จ์ด๋ธŒ 1 ์™„์ฃผ. duplicateยทflow_reinit ๊ฐ€ 40/40 ์„ ๋งˆ์ณค๊ณ  ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๊ฑด๊ฐ•ํ•˜๋‹ค (๋น„์œ ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ 0/231, ์†์‹ค ๋‹จ์กฐ ํ•˜๊ฐ•).

  โœ… zero         40/40
  โœ… duplicate    40/40   oriloss 1.2402 โ†’ 1.0682
  โœ… flow_reinit  40/40   oriloss 1.2567 โ†’ 0.7255
  ๐Ÿ”„ flow         17/40   (GPU 0)
  ๐Ÿ”„ random_mask  21/40   (GPU 1)

์ฃผ์˜ โ€” ์•„์ง ํ•ด์„ํ•˜์ง€ ๋ง ๊ฒƒ. flow_reinit ์˜ ์ตœ์ข… ์†์‹ค์ด duplicate ๋ณด๋‹ค ๋‚ฎ์ง€๋งŒ, ์ด๋Š” ํ•™์Šต ์†์‹ค์ด๋ฉฐ ํ•˜๋ฅ˜ ์„ฑ๋Šฅ์ด ์•„๋‹ˆ๋‹ค. ํŒ์ •์€ held-out ํ‰๊ฐ€์™€ compare_arms.py ์˜ ํด๋ฆฝ ๋‹จ์œ„ ์Œ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์œผ๋กœ๋งŒ ํ•œ๋‹ค(experiment-roadmap.md ยง0 ์˜ S1/S2/S3).

๋‚จ์€ 42 epoch รท 2 GPU ร— 1.6h โ‰ˆ 1.4์ผ, ์™„๋ฃŒ ์˜ˆ์ƒ 8์›” 23์ผ.

์žฌ๊ฐœ ๋ช…๋ น:

cd $CERBERUS_ROOT/hawk && ARM_GPUS="0 1" bash scripts/run_arms_parallel.sh

๐Ÿ” ๋Œ€ํ™” ๊ธฐ๋ก์ด ์ด์ œ ์˜์†๋œ๋‹ค (2026-08-18)

~/.claude ๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ํ•จ๊ป˜ ์‚ฌ๋ผ์ง€๋ฏ€๋กœ claude --resume ๋ชฉ๋ก๋„ ์‚ฌ๋ผ์กŒ๋‹ค. ์ •๋ณธ์„ seoik/claude_state/ ์— ๋‘๊ณ  scripts/claude_state_sync.sh ๋กœ ์„ธ ๊ฒน ๋ณด์กดํ•œ๋‹ค โ€” ๋ถ€ํŒ… ์‹œ --restore, 5๋ถ„ ์ฃผ๊ธฐ ๋ฐ๋ชฌ --save, ์ •์ƒ ์ข…๋ฃŒ ์‹œ SessionEnd ํ›…. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 1.5 ๋‹จ๊ณ„๊ฐ€ ์ž๋™ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ์—์„œ claude --continue ๋กœ ๋ฐ”๋กœ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๋จผ์ € ๋Œ๋ฆฐ ๋‹ค์Œ claude ๋ฅผ ๋„์›Œ์•ผ ํ•œ๋‹ค (๋ชฉ๋ก์€ ์‹คํ–‰ ์‹œ์ ์— ์ฝํžŒ๋‹ค). ๊ณผ๊ฑฐ ์„ธ์…˜ 5๊ฐœ๊ฐ€ ์ด๊ด€๋ผ ์‹ค์ œ ์žฌ๊ฐœ๊นŒ์ง€ ๊ฒ€์ฆ๋๋‹ค.

โš  ์ปจํ…Œ์ด๋„ˆ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด ๋ชจ๋“  ๋ฏธ์Šคํ„ฐ๋ฆฌ ์‚ฌ๋ง์˜ ์›์ธ์ด์—ˆ๋‹ค

/sys/fs/cgroup/memory.max      240 GB   (๊ตฌ ์ปจํ…Œ์ด๋„ˆ)  โ†’  739 GB  (2026-08-18 ์‹  ์ปจํ…Œ์ด๋„ˆ)
/sys/fs/cgroup/memory.events   oom_kill 6              โ†’  0

free ๋Š” ํ˜ธ์ŠคํŠธ 2TB ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค โ€” ์†์ง€ ๋ง๊ณ  ํ•ญ์ƒ cgroup ๊ฐ’์„ ๋ณผ ๊ฒƒ. ๊ตฌ ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” DataLoader worker ๊ฐ€ OOM kill โ†’ rank ์‚ฌ๋ง โ†’ NCCL watchdog SIGABRT ๊ฐ€ ์•ฝ 5 epoch(6.6์‹œ๊ฐ„)๋งˆ๋‹ค ๋ฐœ์ƒํ–ˆ๋‹ค. ์‹  ์ปจํ…Œ์ด๋„ˆ๋Š” ์—ฌ์œ ๊ฐ€ 3๋ฐฐ๋ผ ์žฌ๋ฐœ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์ง€๋งŒ, num_workers 4 ์™€ ์žฌ์‹œ๋„ ์ƒํ•œ 12 ๋Š” ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค(๋งˆ์ง„๋งŒ ์ปค์ง„๋‹ค). ์žฌ๊ฐœ๋Š” ์ •์ƒ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์ง„ํ–‰๋ถ„์„ ์žƒ์ง€ ์•Š๋Š”๋‹ค. random_mask v1 ์ค‘๋‹จ, ํ‰๊ฐ€ 2๊ฑด ์‹คํŒจ, flow v2 ์˜ ์ฃผ๊ธฐ์  ์‚ฌ๋ง์ด ์ „๋ถ€ ์ด๊ฒƒ์ด์—ˆ๋‹ค.

ํ™•์ธ: cat /sys/fs/cgroup/memory.events

ํ™•์ธ: bash scripts/run_ablation_v2.sh --check ๊ฐ€์ค‘์น˜ ํ™•์ธ: grep -m1 REPR_LOSS_WEIGHT $CERBERUS_ROOT/runs/abl2_flow/train.log

์ด๋ฏธ ๋‚˜์˜จ ์‹ค์ธก (์ฒซ ๊ฒฐ๊ณผ)

flow v1 arm ์˜ ์ดํƒˆ ์ „/ํ›„ ๋น„๊ต โ€” ํ‘œํ˜„ ์†์‹ค์ด ํ™œ์„ฑํ™”๋˜๋ฉด ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.

ep27 (์ดํƒˆ ์ „) ep39 (์ดํƒˆ ํ›„)
Scene-word Recall 0.4085 0.3208
BLEU-1 0.3259 0.2866

ฮ” = +0.0920, 95% CI [+0.0564, +0.1276], n = 424 โ€” ๊ตฌ๊ฐ„์ด 0 ์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. ์›๊ณ  ๋ฐ˜์˜: Appendix A.2. ์ด๊ฒƒ์ด t = 0 ์žฌ์‹คํ–‰์˜ ์‹ค์ฆ ๊ทผ๊ฑฐ๋‹ค. ๊ฒฐ๊ณผ: experiments/out/eval_flow_ep{27,39}.json

์„ค๊ณ„ ๊ฒฐ์ • โ€” ์›๋ณธ๊ณผ์˜ ์˜ˆ์‚ฐ ์ผ์น˜๋Š” ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค (2026-08-17)

์›๋ณธ HAWK ์˜ effective batchยท์ƒ˜ํ”Œ ์˜ˆ์‚ฐ์— ๋งž์ถ”๋Š” ๊ฒƒ์€ ์š”๊ตฌ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์€ arm ๋ผ๋ฆฌ ์„œ๋กœ ๊ฐ™์€ ์กฐ๊ฑด๋ฟ์ด๋‹ค. GPU ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ๊ฒ€ํ† ํ•  ๋•Œ "์›๋ณธ๊ณผ ๋‹ฌ๋ผ์ง„๋‹ค"๋ฅผ ๋ฐ˜๋Œ€ ๊ทผ๊ฑฐ๋กœ ์“ฐ์ง€ ๋ง ๊ฒƒ (๋ฃจํŠธ CLAUDE.md ยง5 ์™„ํ™” ํ•ญ๋ชฉ ์ฐธ์กฐ).

์™œ ์žฌ์‹คํ–‰ํ•˜๋Š”๊ฐ€ (v1 ์‹คํŒจ ์š”์•ฝ)

arm v1 ๊ฒฐ๊ณผ
flow 40/40 ์™„์ฃผ. ๋‹จ epoch 28 ์— ํ‘œํ˜„ ์†์‹ค์ด ์ •๋ฅ˜์  ์ดํƒˆ, ๋งˆ์ง€๋ง‰ 12 epoch ์ด ๋‹ค๋ฅธ arm ๊ณผ ๋‹ค๋ฅธ ์‹คํšจ ๋ชฉ์ ํ•จ์ˆ˜
random_mask epoch 5 ์—์„œ DataLoader worker OOM kill. ๋Ÿฌ๋„ˆ๊ฐ€ ๊ฐ์ง€ ๋ชปํ•˜๊ณ  ๋‹ค์Œ arm ์œผ๋กœ ์ง„ํ–‰
duplicate epoch 16 ์—์„œ ๋ฐœ์‚ฐ โ€” ํŒŒ๋ผ๋ฏธํ„ฐ 193/231 ๋น„์œ ํ•œ, ํšŒ๋ณต ๋ถˆ๊ฐ€. ๋งˆ์ง€๋ง‰ ์ •์ƒ์€ ckpt_15
zero ๋ฏธ์‹œ์ž‘
flow_reinit ๋ฏธ์‹œ์ž‘

์…‹ ๋‹ค ์›์ธ์ด ๊ฐ™๋‹ค โ€” L_simยทL_dis ๊ฐ€ cos = ยฑ1 ์ •๋ฅ˜์ ์— ๊ฐ‡ํ˜€ ์žˆ๋‹ค๊ฐ€ ์žฅ๊ธฐ ํ•™์Šต์—์„œ ์ดํƒˆํ•˜๊ณ , ์ดํƒˆ ์‹œ์ ์ด arm ๋งˆ๋‹ค ๋‹ค๋ฅด๋ฉฐ, ์–ด๋–ค arm ์—์„œ๋Š” ํ•™์Šต์„ ์ฃฝ์ธ๋‹ค. ๋…ผ๋ฌธ์€ ๋‘ ํ•ญ์„ ๊ธฐ์—ฌ๋กœ ์ฃผ์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ(Appendix A) 0 ์œผ๋กœ ๋‘๋Š” ๋ฐ ์žƒ๋Š” ๊ฒƒ์ด ์—†๋‹ค.

v1 ๊ฒฐ๊ณผ๋Š” ์ง€์šฐ์ง€ ์•Š๋Š”๋‹ค โ€” ์ดํƒˆ ํ˜„์ƒ ์ž์ฒด๊ฐ€ Appendix A.1 ์˜ ๊ทผ๊ฑฐ๋‹ค.

๋๋‚˜๋ฉด ํ•  ์ผ

# arm ๋ณ„ ํ‰๊ฐ€ (์ •์  ์ž…๋ ฅ ๋ชจ๋“œ๋Š” run ์˜ config.yaml ์—์„œ ์ž๋™ ๊ฒ€์ถœ)
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

๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋ฉด ํŒ์ •ํ•˜๋Š” ๊ฒƒ

experiment-roadmap.md ยง0 ์˜ S1/S2/S3 ์‚ฌ๋‹ค๋ฆฌ์™€ ยง6 ์˜ ๊ฒฐ๊ณผ๋ณ„ ๋Œ€์‘์„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅธ๋‹ค. ์ฃผ ์ข…์ ์€ ๋„๋ฉ”์ธ๋ณ„ ๊ฐ’์ด๋‹ค(ํ’€๋ง์€ DoTA 62.8% ํŽธ์ค‘).

๋ฏธํ•ด๊ฒฐ (Loop 3 must-fix ์ค‘ ๋‚จ์€ ๊ฒƒ)

๋‚ด์šฉ

| โ€” | Stage-1 ์žฌํ•™์Šต ์—ฌ๋ถ€ (์ •๋ ฌ ๊ฒฐํ•จ ๊ทผ๋ณธ ํ•ด๊ฒฐ + C3 ์ฆ๊ฑฐ ํ™•๋ณด๋ฅผ ํ•œ ๋ฒˆ์—) โ€” GPU ์˜ˆ์‚ฐ ๊ฒฐ์ • | | โ€” | C3 ์ฆ๊ฑฐ ๊ฒฝ๋กœ: Appendix F(์†์‹ค ํ•ญ ๋ˆ„์  ์ ˆ์ œ)๋ฅผ ์‹คํ–‰ํ• ์ง€, C3 ๋ฅผ ๊ธฐ์—ฌ์—์„œ ๋‚ด๋ฆด์ง€ |

Loop 3 ์ดํ›„ ์™„๋ฃŒํ•œ ๊ฒƒ

  • ๊ฐ€์„ค ํ˜•์‹ ์ œ๊ฑฐ โ€” H1~H7 โ†’ ๋ฐœ๊ฒฌ ์„œ์ˆ . ์‹ฌ์‚ฌ์ž๊ฐ€ ์ฐพ์€ ๋ชจ์ˆœ 3๊ฑด ๋™๋ฐ˜ ํ•ด์†Œ
  • ๋ฒค์น˜๋งˆํฌ "์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ" ์ฃผ์žฅ ์ฒ ํšŒ โ€” ๋ผ๋ฒจ์€ LLM ์ƒ์„ฑ + ์‚ฌ๋žŒ 1์ธ 80๊ฑด ๊ฒ€์ฆ. ๊ทธ ๊ทœ๋ชจ๋กœ ๋…๋ฆฝ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ฃผ์žฅํ•˜๋ฉด ์ •์ž‘ ํŠผํŠผํ•œ ๊ฒƒ๋“ค๊นŒ์ง€ ์‹ ๋ขฐ๋ฅผ ์žƒ๋Š”๋‹ค. ๋‘ ๋ฒˆ์งธ ์ฃผ์„์ž๋„ ๋ถˆํ•„์š”ํ•ด์ง
  • Scene-word Recall ํŽธํ–ฅ 3์ข… ๋ณด์ • (๊ฒฐ๊ณผ ์ „ ๋™๊ฒฐ) โ€” ํ‘œ์ œ์–ดํ™”, ๋™์˜์–ด 15๊ตฐ, ์†์„ฑ ์ƒ์ถฉ ๋ฌดํšจํ™”. ํ•ฉ์„ฑ 6์ผ€์ด์Šค ๊ฒ€์ฆ
  • ๋ผ๋ฒจ ์Šคํ‚ค๋งˆ 4๋ฒ”์ฃผ๋กœ ํ†ต์ผ, context_critical โ†’ causal
  • ๋ถ€๋ก A.1ยทA.2 ์œ„์น˜ ์ •์ • (Appendix I ๋’ค์— ์žˆ์—ˆ์Œ), ์ˆ˜์‹ (A.1) โ†’ (B.1)
  • [54]/[55]/[57] ๊ธฐ์ˆ  ์ •์ • โ€” Barlow Twins โ‰  VICReg, RESOUND ์€ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ์„ฑ์ด ์•„๋‹ˆ๋ผ ์ตœ์†Œํ™”

์ตœ๊ทผ์— ๊ณ ์นœ ๊ฒƒ (๋˜๋Œ๋ฆฌ์ง€ ๋ง ๊ฒƒ)

  • ์ƒ์„ฑ ๋น„๊ฒฐ์ •๋ก  โ€” do_sample=False ๋งŒ์œผ๋กœ ๋ถ€์กฑํ–ˆ๋‹ค. ๊ฐ™์€ ์ฒดํฌํฌ์ธํŠธยท๊ฐ™์€ ํด๋ฆฝ์—์„œ 3/3 ๋‹ค๋ฅธ ์ถœ๋ ฅ, ํ•˜๋‚˜๋Š” 4 4 4 4 โ€ฆ ํ‡ดํ™”. enforce_determinism() ์ถ”๊ฐ€ ํ›„ 3/3 ๋™์ผ. ํ‰๊ฐ€๋Š” ๋ฐ˜๋“œ์‹œ CUBLAS_WORKSPACE_CONFIG=:4096:8 ๊ณผ ํ•จ๊ป˜ ์‹คํ–‰ํ•  ๊ฒƒ.
  • ์ถ”๋ก  ๊ฒฝ๋กœ๊ฐ€ arm ์„ค์ •์„ ๋ฌด์‹œ โ€” load_streams_aligned ๊ฐ€ ํ•ญ์ƒ flow ๋กœ ๊ณ ์ •๋ผ ์žˆ์—ˆ๋‹ค. ์ด์ œ run ์˜ config.yaml ์—์„œ ์ž๋™ ๊ฒ€์ถœํ•œ๋‹ค.
  • ์ •๋‹ต ์„ค๋ช… ์˜ค์—ผ โ€” UCF-Crime 10.8% ๊ฐ€ LLM ๊ฑฐ๋ถ€ ์‘๋‹ต. ํ‰๊ฐ€์—์„œ๋งŒ ์ œ์™ธ(ํ•™์Šต์€ ํ†ต์ œ ์œ ์ง€).
  • Stage-1 ์ •๋ ฌ ๊ฒฐํ•จ ๊ณต๊ฐœ โ€” checkpoint_106 ์€ ์ •๋ ฌ ์ˆ˜์ • ์ปค๋ฐ‹๋ณด๋‹ค 10์‹œ๊ฐ„ ์•ž์„ ๋‹ค. ยง4.1 ์— ๊ณต๊ฐœํ–ˆ๊ณ  Appendix A ์— ์ „์ œ๋กœ ๋‹ฌ์•˜๋‹ค.