allex-eef-AB-h16 β arm AB (CogAlign + action-latent)
ALLEX μ λ-EEF 50D RLDX-1 mid-train. arm N μ λ κ°μ§κ° μΆκ°λλ€:
- CogAlign (cog loss) β pooled cog ν ν° β state 50D μ λ ¬, weight 0.2
(
RLDX_COG_ADAPTER=1,RLDX_COG_ADAPTER_HID=256,RLDX_LATAL_FINGERTIP=0.2,RLDX_LATAL_HEAD=linear,RLDX_LATAL_FINGERTIP_FROM_STATE=1,RLDX_LATAL_FINGERTIP_DIM=50) fingertip μ’νκ° μμ΄ state 50D μμ²΄κ° μ λ ¬ νκΉμ΄λ€. - actlat β flow-matching νκΉμ΄ μμ μ‘μ
μ΄ μλλΌ frozen action-only
ν ν¬λμ΄μ μ z (
--actlat-mode,--actlat-embodiment-id allex)
β οΈ μ΄ μ€μ μ νκ²½λ³μλ‘λ§ λ€μ΄κ°μ conf.yaml μ λ¨μ§ μλλ€. μ κ°μ΄ μ λ³Έμ΄λ€.
ꡬ쑰
| κ²½λ‘ | λ΄μ© |
|---|---|
checkpoint-20000/ |
step 20,000 |
checkpoint-30000/ |
step 30,000 |
checkpoint-40000/ |
step 40,000 (νμ΅ μ§ν μ€, 60k λͺ©ν) |
tokenizer/ |
eval μ νμν Stage-1 ν ν¬λμ΄μ μΌμ²΄ |
tokenizer/ β AB μΆλ‘ μ λ°λμ νμ
| νμΌ | μ©λ |
|---|---|
model.safetensors (37MB) |
action-only ν ν¬λμ΄μ κ°μ€μΉ (100k μ€ν ) |
tokenizer_config.json |
--actlat-tokenizer-path κ° μ½λ μ€μ |
norm_stats.json |
--actlat-prq-stats-path β ν ν¬λμ΄μ μ
λ ₯ q01/q99 |
embodiments.runtime.json |
embodiment id λ§€ν (allex) |
ν ν¬λμ΄μ : allex_eef50_q99_split_w0p03_actiononly_bs512_h16_100k,
action_dim 50 / horizon 16 / token_dim 64 / data_config allex_eef_h16.
Stage-2 μ λμΌν q99 μ κ·νλ₯Ό μ΄λ€ (bit-identical νμΈλ¨).
from huggingface_hub import snapshot_download
p = snapshot_download("jungwook2358/allex-eef-AB-h16",
allow_patterns=["checkpoint-40000/*", "tokenizer/*"])
κ³΅ν΅ μ€μ (λ arm λμΌ)
- base:
RLWRLD/RLDX-1-PT-IMG - action: μ λ EEF 50D = left_wrist_wrt_base 9 + right_wrist_wrt_base 9
- left_hand_joints 15 + right_hand_joints 15 + neck_joints 2 (waist μ μΈ, μλν μμ) μμλ Stage-1 ν ν¬λμ΄μ μ Stage-2 RLDX κ° λμΌνλ€ (left β right β neck).
- horizon 16, embodiment_tag
GENERAL_EMBODIMENT,--override-pretraining-statistics - μ κ·ν q99:
2*(x-q01)/(q99-q01)-1νclamp(-1,1). 3μμ€ λ³ν©ν΅κ³(q01=min-of-q01, q99=max-of-q99) - κΈλ‘λ² λ°°μΉ 256 (2 GPU Γ per-device 128, accum 1), lr 1e-4, 60,000 μ€ν
- μΉ΄λ©λΌ 2λ (ego left/right), video_length 1, state_dropout 0.3
- VLM λκ²°:
tune_llm=False,tune_visual=False,tune_top_llm_layers=0 - λ°μ΄ν°: robot allex v1
v6 / human hmd,umi v1v12 LPF β λΉμ¨ 0.50 : 0.25 : 0.25
κ° checkpoint-*/ μμ κ·Έ 체ν¬ν¬μΈνΈ κ³ μ μ μ κ·ν ν΅κ³κ° λ€μ΄ μλ€:
experiment_cfg/dataset_statistics.json, processor/statistics.json.
λ€λ₯Έ 체ν¬ν¬μΈνΈμ ν΅κ³λ₯Ό κ°λ€ μ°μ§ λ§ κ².
μΆλ‘ μ μ°μ΄μ§ μλ νμ΅ μν(global_step*/, optimizer.pt, scheduler.pt,
rng_state_*.pth, training_args.bin, zero_to_fp32.py)λ μ¬λ¦¬μ§ μμλ€.
μ½λ
- Stage-2:
jungwook235/RLDX-1-egopibranchfeat/allex-eef-h16-midtrain - μ€ν¬λ¦½νΈΒ·λ¬Έμ:
jungwook235/action-tokenizergpu26-server/submit/allex_eef_*,docs/allex_eef_midtrain/README.md
β οΈ action_dim μ΄ 48 μ΄ μλλΌ 50 μ΄λ€. κΈ°μ‘΄ allex λ°(μ‘°μΈνΈ 48D, waist ν¬ν¨)κ³Ό λ€λ₯Έ κ³λ³΄μ΄λ―λ‘ 48D λ‘ λ‘λνλ©΄ μ λλ€.
β οΈ AB λ₯Ό μΆλ‘ μ μ°λ €λ©΄ load_merged_prq_action_minmax κ° PRQ_KEYSΒ·min/max νλμ½λ©μ΄λΌ
allex 50D/q99 μ© λ‘λ ν¬ν
μ΄ νμνλ€.