Cosmos3-Edge-Policy-DROID β€” FastWAM-K (λΆ€λΆ„ λΉ„μ „ μœ μ§€), step 9000

nvidia/Cosmos3-Edge-Policy-DROID(full WAM, RoboLab 36.5%)μ—μ„œ warm startν•œ λΆ€λΆ„ λΉ„μ „ μœ μ§€(leading-K, K=1) μ‹€ν—˜μ˜ 쀑간 μ²΄ν¬ν¬μΈνŠΈμž…λ‹ˆλ‹€. κ³„νšλœ 12000 iter 쀑 75% 지점이며, ν‰κ°€μš© μŠ€λƒ…μƒ·μ΄μ§€ μ΅œμ’… μ‚°μΆœλ¬Όμ΄ μ•„λ‹™λ‹ˆλ‹€.

  • step별 ν•˜μœ„ 폴더(step9000/)에 λˆ„μ . 루트 READMEλŠ” 졜근 step을 κ°€λ¦¬ν‚΅λ‹ˆλ‹€.
  • EMA κ°€μ€‘μΉ˜ κΈ°μ€€ export, training state μ—†μŒ β€” pretrained model 파일만.

⚠️ μ„œλΉ™ μ‹œ ν•„μˆ˜ 인자

이 μ²΄ν¬ν¬μΈνŠΈλŠ” conditioning ν”„λ ˆμž„ + μ„ ν–‰ 생성 1 latent ν”„λ ˆμž„μ„ μœ μ§€ν•˜λ„λ‘ ν•™μŠ΅λμŠ΅λ‹ˆλ‹€. κΈ°λ³Έ FastWAM ν”Œλž˜κ·Έλ‘œ μ„œλΉ™ν•˜λ©΄ ν•™μŠ΅κ³Ό λ‹€λ₯Έ μ‹œν€€μŠ€κ°€ λ°°ν¬λ©λ‹ˆλ‹€.

python -m cosmos_framework.scripts.action_policy_server_robolab \
    --checkpoint-path "$ckpt" --port 8000 \
    --format-prompt-as-json True --no-guardrails \
    --keep-generated-vision-frames 1        # ← --drop-generated-vision 이 μ•„λ‹˜

ꡐ차 호슀트 ν•©μ˜ λΆˆλ³€μ‹: num_kept = (μ‹€μ œ conditioning prefix latent ν”„λ ˆμž„ 수) + K, μ‹€μ œ 총 latent ν”„λ ˆμž„ 수둜 ν΄λž¨ν”„. μœ μ§€λœ K ν”„λ ˆμž„μ€ conditionedκ°€ μ•„λ‹ˆκ³  denoise λŒ€μƒμž…λ‹ˆλ‹€(pack_vision_tokensκ°€ plan의 condition_frame_indexes_vision으둜 마슀크λ₯Ό λ§Œλ“€μ–΄ ν”„λ ˆμž„ 1..Kκ°€ mse_loss_indexes에 λ“€μ–΄κ°‘λ‹ˆλ‹€) β€” μΆ”λ‘  μ‹œ 미래 ground truthκ°€ μ—†μœΌλ―€λ‘œ κ·Έλž˜μ•Ό 배포가 μ„±λ¦½ν•©λ‹ˆλ‹€.

μ™œ K=1인가 (2026-09-09)

K=2 step9000이 12νƒœμŠ€ν¬ ν”„λ‘œν† μ½œμ—μ„œ **task-mean 34.38%, 95% CI [26.17, 42.58]**λ₯Ό λƒˆμŠ΅λ‹ˆλ‹€ β€” K=0 plateau(λ°΄λ“œ μƒν•œ 24.97)λ₯Ό ν™•μ‹€νžˆ λ„˜μ—ˆκ³  baseline 36.46%μ™€λŠ” κ΅¬λΆ„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€(Fisher p=0.880). μ§€μ—°μ‹œκ°„μ€ μ‹€μΈ‘ 730.7 ms, λ¬΄ν”Œλž˜κ·Έ baseline 1711.2 ms λŒ€λΉ„ 2.34Γ—μž…λ‹ˆλ‹€.

남은 배포 μ§ˆλ¬Έμ€ 더 쀄여도 λ˜λŠ”κ°€μž…λ‹ˆλ‹€. K=1의 zero-shot μŠ€μœ• 싀츑은 627.6 ms이고, K=2와 λΉ„μŠ·ν•˜κ²Œ νšŒλ³΅ν•œλ‹€λ©΄ K=2λ₯Ό λŒ€μ²΄ν•©λ‹ˆλ‹€. 이 μ €μž₯μ†Œκ°€ κ·Έ κ²€μ •μž…λ‹ˆλ‹€.

K=1의 배포 λ°°μˆ˜λŠ” 아직 ν™•μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λΉ„μœ¨μ˜ λΆ„μžΒ·λΆ„λͺ¨λŠ” 비ꡐ λŒ€μƒμΈ 두 정확도가 μΈ‘μ •λœ 것과 같은 κ΅¬μ„±μ—μ„œ 와야 ν•©λ‹ˆλ‹€. K=2의 2.34Γ—λŠ” κ·Έ 쑰건을 λ§Œμ‘±ν•©λ‹ˆλ‹€ β€” λΆ„λͺ¨ 1711.2 msλŠ” 36.5%λ₯Ό λ‚Έ λ¬΄ν”Œλž˜κ·Έ μ„œλΉ™, λΆ„μž 730.7 msλŠ” 34.4%λ₯Ό λ‚Έ step9000μž…λ‹ˆλ‹€. K=1은 정확도 츑정이 아직 μ—†μœΌλ―€λ‘œ 짝이 될 λΆ„μžκ°€ μ—†κ³ , 627.6 msλ₯Ό --keep-generated-vision-frames 8 μΈ‘μ •μΉ˜(1771.9 ms)둜 λ‚˜λˆˆ 2.82Γ—λŠ” 정확도λ₯Ό ν•œ λ²ˆλ„ μΈ‘μ •ν•˜μ§€ μ•Šμ€ ꡬ성에 λŒ€ν•œ μ†λ„λΉ„μž…λ‹ˆλ‹€.

이 ꡬ뢄이 μ€‘μš”ν•œ 이유: 같은 κ΅¬μ„±μ˜ μ‹€ν–‰ κ°„ 변동은 0.59%(1711.2 λŒ€ 1721.3)인데 ꡬ성을 λ°”κΎΈλ©΄ 3.55%(1711.2 λŒ€ 1771.9)둜 6λ°°μž…λ‹ˆλ‹€. "λΆ„μžΒ·λΆ„λͺ¨λ₯Ό 같은 μ‹€ν–‰μ—μ„œ"λΌλŠ” 일반 κ·œμΉ™λ³΄λ‹€ ꡬ성 μΌμΉ˜κ°€ μš°μ„ ν•˜λŠ” μžλ¦¬μž…λ‹ˆλ‹€. 그리고 짝을 잘λͺ» κ³ λ₯΄λ©΄ λ°°μˆ˜κ°€ μ»€μ§€λŠ” λ°©ν–₯이라 λˆˆμ— 덜 λ•λ‹ˆλ‹€.

주의: ν•™μŠ΅ μ—†λŠ” K=1은 νšŒλ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” zero-shot K=1은 두 νƒœμŠ€ν¬μ—μ„œ 0/16이고 "baseline의 절반 회볡" 가섀이 p=0.005둜 λ°°μ œλμŠ΅λ‹ˆλ‹€. K=2도 3,000 iterationμ—μ„œλŠ” λ…Έμ΄μ¦ˆμ˜€κ³  6,000μ—μ„œ μ „ν™˜λμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이 arm의 3k 지점을 근거둜 K=1을 νŒμ •ν•˜λ©΄ μ•ˆ λ©λ‹ˆλ‹€.

μ™œ leading-K인가

RoboLab 24 arm / 2,304 μ—ν”Όμ†Œλ“œ κ²°κ³Ό, FastWAM(K=0)의 full-WAM λŒ€λΉ„ κ²©μ°¨λŠ” κ· μΌν•œ μ—΄ν™”κ°€ μ•„λ‹ˆλΌ κ΅­μ†Œμ μž…λ‹ˆλ‹€.

νƒœμŠ€ν¬ FastWAM (K=0) full WAM (K=8)
RubiksCubesInBin 3.1% 62.5%
StackYellowOnRed 6.2% 50.0%
UnstackRubiksCube 100% 87.5%
ToyInBin 29.7% 25.0%

μ•žμ˜ 두 νƒœμŠ€ν¬κ°€ 13.6%p 격차의 8%p 이상을 μ„€λͺ…ν•˜κ³ , λ’€μ˜ λ‘˜μ€ baseline을 λ„˜μŠ΅λ‹ˆλ‹€. μžƒμ€ 두 νƒœμŠ€ν¬μ˜ 곡톡점은 동일 ν˜•νƒœ 물체 μ—¬λŸ¬ 개 쀑 νŠΉμ • 개체λ₯Ό μ§€λͺ©Β·μ‘°μž‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έ λŠ₯λ ₯은 full-WAM base에 있고 K=0 μ²΄ν¬ν¬μΈνŠΈμ—μ„œλŠ” 이미 νŒŒκ΄΄λμœΌλ―€λ‘œ, baseλ₯Ό nvidia둜 μž‘μ•„ λ˜μ‚΄λ¦¬λŠ” λŒ€μ‹  μœ μ§€ν•©λ‹ˆλ‹€. λΆ€μˆ˜ 효과둜 K=8이 ν•™μŠ΅ μ—†λŠ” 액컀가 λ©λ‹ˆλ‹€(base 자체).

leading-Kλ₯Ό μ”λ‹ˆλ‹€ β€” conditioning prefix + μ‹œκ°„μ μœΌλ‘œ κ°€μž₯ κ°€κΉŒμš΄ 생성 Kν”„λ ˆμž„. 등간격 μŠ€νŠΈλΌμ΄λ“œΒ·λ§ˆμ§€λ§‰ Kκ°œΒ·ν’€λ§ μš”μ•½ 토큰은 λ‹€λ₯Έ 곑선을 μ£Όλ©°, 이 μ €μž₯μ†Œμ˜ μˆ˜μΉ˜λŠ” μ „λΆ€ leading-K에 λŒ€ν•œ κ²ƒμž…λ‹ˆλ‹€. K=1은 4:1 μ‹œκ°„ μ••μΆ•μ—μ„œ 4 ν”½μ…€ ν”„λ ˆμž„ = 32μŠ€ν…/2.13초 action chunk의 μ•ž ~12%μž…λ‹ˆλ‹€.

토큰 수

νŠΈλžœμŠ€ν¬λ¨Έμ— μ‹€μ œλ‘œ λ“€μ–΄κ°€λŠ” vision 토큰은 ν”„λ ˆμž„λ‹Ή 340μž…λ‹ˆλ‹€.

K vision ν”„λ ˆμž„ vision 토큰 μ‹œν€€μŠ€ 전체(μ‹€μΈ‘)
0 (FastWAM) 1 340 531
2 (직전 arm) 3 1,020 1,211
1 (이 μ €μž₯μ†Œ) 2 680 871
8 (full WAM) 9 3,060 3,251

μ „λΆ€ RoboLab μ„œλ²„μ—μ„œ νŒ¨ν‚Ήλœ μ‹œν€€μŠ€λ₯Ό 직접 κ³„μΈ‘ν•œ κ°’μž…λ‹ˆλ‹€(2026-09-08). 340 Γ— (K+1)이 λͺ¨λ“  Kμ—μ„œ μ •ν™•νžˆ 맞고, μ‹œν€€μŠ€ μ „μ²΄λŠ” 여기에 text와 action 33이 더해진 κ°’μž…λ‹ˆλ‹€ (κ·Έ μ‹€ν–‰μ˜ textλŠ” 158; ν”„λ‘¬ν”„νŠΈ 길이에 따라 λ³€ν•©λ‹ˆλ‹€ β€” 제 ν•™μŠ΅ λ°°μΉ˜μ—μ„œλŠ” 164μ˜€μŠ΅λ‹ˆλ‹€). mse_loss_indexesκ°€ μ •ν™•νžˆ 340 Γ— K이고 condition_maskκ°€ λͺ¨λ“  Kμ—μ„œ 1μ΄λΌλŠ” 것도 ν•¨κ»˜ ν™•μΈλμŠ΅λ‹ˆλ‹€ β€” μœ μ§€ν•œ K ν”„λ ˆμž„ μ „λΆ€κ°€ denoise λŒ€μƒμ΄κ³  쑰건 ν”„λ ˆμž„μ€ ν•˜λ‚˜μž…λ‹ˆλ‹€.

391이 μ•„λ‹Œ 이유 (νŒŒμ΄ν”„λΌμΈ 단계 ꡬ뢄)

ν•™μŠ΅ dataloader의 video ν…μ„œλ₯Ό μ‹€μΈ‘ν•˜λ©΄ (3, 33, 544, 736)이고, κ·Έ latentλŠ” 34Γ—46 β†’ patch_spatial=2 β†’ 17Γ—23 = 391μž…λ‹ˆλ‹€. 이 κ°’ μžμ²΄λŠ” λ§žμ§€λ§Œ μ‹œν€€μŠ€ 토큰 μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.

540Γ—640 (원본)
  β†’ transform λ°˜μ‚¬ νŒ¨λ”©        544Γ—736   ← 버킷 VIDEO_RES_SIZE_INFO['480']['4,3']
  β†’ VAE (/16)                  latent 34Γ—46   (= patch 391)
  β†’ _remove_padding_from_latent  latent 34Γ—40   ← image_size=[544,736,540,640] 의 μ½˜ν…μΈ  μ˜μ—­
  β†’ pack_vision_tokens         17Γ—20 = 340/ν”„λ ˆμž„   ← 트랜슀포머 μž…λ ₯

νŒ¨λ”©μ€ VAE에 ν†΅κ³Όμ‹œν‚€κΈ° μœ„ν•œ μž„μ‹œ μΊ”λ²„μŠ€μ΄κ³  νŒ¨ν‚Ή 전에 μ œκ±°λ©λ‹ˆλ‹€ (omni_mot_model.py의 get_data_and_condition() μ•ˆ, data_batch["image_size"]κ°€ μžˆμ„ λ•Œ). κ·Έ ν•¨μˆ˜λŠ” ν•™μŠ΅Β·μΆ”λ‘ μ΄ κ³΅μœ ν•˜λ―€λ‘œ μ–‘μͺ½ λ‹€ 340으둜 νŒ¨ν‚Ήλ©λ‹ˆλ‹€ β€” λΆˆμΌμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€. ν•™μŠ΅ λ°°μΉ˜μ— image_size = [544., 736., 540., 640.]κ°€ μ‹€μ œλ‘œ λ“€μ–΄ μžˆλŠ” 것을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ 원 λͺ¨λΈ μΉ΄λ“œμ˜ "ν”„λ ˆμž„λ‹Ή 340 / 9ν”„λ ˆμž„ 3,060"은 μ˜³μŠ΅λ‹ˆλ‹€. 이 μ €μž₯μ†Œμ˜ 이전 버전이 391둜 μ μ—ˆλ˜ 것은 νŒŒμ΄ν”„λΌμΈ 단계λ₯Ό λͺ…μ‹œν•˜μ§€ μ•Šμ•„ μΊ”λ²„μŠ€ κΈ°μ€€ 값을 μ‹œν€€μŠ€ 토큰 수둜 μ“΄ κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μΉ΄λ“œμ˜ text 128만 μ‹€μΈ‘(158~164, ν”„λ‘¬ν”„νŠΈ 의쑴)κ³Ό λ‹€λ¦…λ‹ˆλ‹€.

ν•™μŠ΅ μ„€μ •

ν•­λͺ© κ°’
experiment action_policy_droid_edge_ft_fastwam_v1lr + optimizer.lr=1e-5 + K override
K two_pass_keep_generated_vision_frames=1
base nvidia/Cosmos3-Edge-Policy-DROID (DCP λ³€ν™˜), κ°€μ€‘μΉ˜λ§Œ
two-pass pass B action FM (action_loss_weight=10), pass A vision FM (loss_scale=1)
데이터 DROID success + failure, keep_ranges_1_0_1 (sim μ—†μŒ)
optimizer FusedAdamW, lr 1e-5, μ•‘μ…˜ λΈŒλ¦Ώμ§€ 3κ°œμ— 5Γ—
scheduler LambdaLinear, warm-up 1000, cycle 12000 β€” μ „ ꡬ간 ν•™μŠ΅ (lr 1e-5 β†’ 8.36e-6@3k β†’ 5.91e-6@6k β†’ 3.45e-6@9k β†’ 1.0e-6@12k)
ν•˜λ“œμ›¨μ–΄ B300 Γ—2 (GPU 3,7), FSDP shard 2, grad_accum 2 β†’ κΈ€λ‘œλ²Œ 배치 64

평가 주의

  • loss κ³‘μ„ μœΌλ‘œ νŒμ •ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€ β€” λ§€μΉ­ν˜• λͺ©μ ν•¨μˆ˜λΌ 곑선이 ν‰νƒ„ν•©λ‹ˆλ‹€.
  • open-loop MAEλŠ” 이 ν”„λ‘œμ νŠΈμ—μ„œ μ„Έ 번 λ°©ν–₯을 λ°˜λŒ€λ‘œ κ°€λ¦¬μΌ°μŠ΅λ‹ˆλ‹€. νŒμ • 기쀀은 RoboLabμž…λ‹ˆλ‹€.
  • 2νƒœμŠ€ν¬(RubiksCubesInBinΒ·StackYellowOnRed) Γ— 8 μ—ν”Όμ†Œλ“œ μŠ€ν¬λ¦¬λ‹μ€ νŒλ³„μš©μ΄λ©° 벀치마크 μ μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€. 양성이면 12νƒœμŠ€ν¬ 전체 확인이 ν•„μš”ν•©λ‹ˆλ‹€.
  • n=96μ—μ„œ Β±9ppλŠ” λ…Έμ΄μ¦ˆμž…λ‹ˆλ‹€. 체크포인트 λΉ„κ΅λŠ” 적응 μƒ˜ν”Œλ§ (--num-episodes-adaptive 200 --ci-pp-width 0.14)으둜 ν•˜μ‹­μ‹œμ˜€.
Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Model tree for geonmin-kim/Cosmos3-Edge-Policy-DROID-FastWAM-K1

Finetuned
(4)
this model