{ "variant": "GROOT-N17-MFM-AALLBALL-TGT192-S96", "qairt": "2.47.0.260601", "htp": { "soc_id": 77, "dsp_arch": "v73", "vtcm_mb": 8 }, "config": { "_comment": "GR00T N1.7 QNN \ub7f0\ud0c0\uc784 \ud150\uc11c \ud615\uc0c1. \uccb4\ud06c\ud3ec\uc778\ud2b8 geonmin-kim/GR00T-Mfm_crop192_cft-DAallBall-step16000 (revision 3468c39f6418b3230a8508b20fb944cc2fbe6e19, train job exp86_groot_fm_tgt192_AallBall). \ubaa8\ub4e0 \uac12\uc740 export_capture_so101 \ucd9c\ub825(golden/groot_n17_boundary_shapes.json)\uc5d0\uc11c \uc720\ub3c4\ud588\ub2e4 \u2014 config \uc5d0\uc11c \uac00\uc815\ud558\uc9c0 \uc54a\ub294\ub2e4\ub294 \uac83\uc774 \uc774 \ud3ec\ud2b8\uc758 \uaddc\uce59\uc774\ub2e4. **\uc774 \ud3ec\ud2b8\uc5d0\uc11c \ucc98\uc74c \ub098\uc624\ub294 \uc870\ud569\uc774\ub2e4**: dit_steps 4(\ud50c\ub85c\uc6b0 \ub9e4\uce6d)\uc640 image target 192 \ub97c \ud568\uaed8 \uc4f4\ub2e4. \uc55e\uc120 4-\uc2a4\ud15d \ubcc0\ud615(exp63, mfm_vertapp)\uc740 \uc804\ubd80 target 256 \uc774\uc5c8\uace0, \uc55e\uc120 target 192/128 \ubcc0\ud615\uc740 \uc804\ubd80 1-\uc2a4\ud15d drift \uc99d\ub958\uc600\ub2e4. \ub450 \ucd95\uc774 \ub3c5\ub9bd\uc774\ub77c\ub294 \uac83\uc740 \uc544\ub798 \uc2e4\uce21\uc774 \ud655\uc778\ud55c\ub2e4.", "variant": "GROOT-N17-MFM-AALLBALL-TGT192-S96", "backbone": "nvidia/GR00T-N1.7-3B", "seq_len": 96, "num_layers": 16, "num_splits": 2, "tp_world": 2, "hidden_size": 2048, "kv_channels": 1024, "text_layers": 16, "llm_splits": 1, "views": 2, "patches_per_view": 144, "vision_tokens_per_view": 36, "deepstack_levels": 3, "dit_width": 1536, "dit_out_width": 1024, "dit_splits": 2, "dit_steps": 4, "action_horizon": 40, "max_action_dim": 132, "_capture_note": "\uc774\ubbf8\uc9c0 target 192 -> \uc911\uc559 \ud06c\ub86d 172 -> 192. Qwen3-VL \uc740 patch 16 + spatial_merge 2 \uc774\ubbc0\ub85c grid 12x12, \ubdf0\ub2f9 \ud328\uce58 144, vision token 36 \uc774\ub2e4. capture \uc2e4\uce21 pixel_values [288,1536] = 2 \ubdf0 x 144 \ud328\uce58\ub85c \uc774\uac83\uc744 \uc9c1\uc811 \ud655\uc778\ud588\ub2e4 \u2014 \uc120\uc5b8\ud55c 192 \uac00 \uc2e4\uc81c\ub85c \uc804\ucc98\ub9ac\uc5d0 \uba39\ud614\ub2e4\ub294 \ub73b\uc774\ub2e4. \ud504\ub86c\ud504\ud2b8\ub294 \ub370\uc774\ud130\uc14b\uc758 \uc9c0\uc2dc 6 \uac1c\ub97c \uc804\ubd80 \uc7ac\uc11c \ucd5c\ub300 93 -> 32 \ubc30\uc218 \uc62c\ub9bc seq_len 96(\uc88c\ud328\ub529). DiT \ud638\ucd9c 4 \ud68c, embodiment_id 10 \uc2e4\uce21. \ucea1\ucc98 \uc815\uccb4(\ubaa8\ub378\u00b7\ub370\uc774\ud130\uc14b\u00b7\ud504\ub808\uc784\u00b7\uc2dc\ub4dc)\ub294 golden/groot_n17_boundary_shapes.json \uc774 \uc815\ubcf8\uc774\ub2e4.", "_data_note": "\ub370\uc774\ud130\uc14b \u2026-vertical-approach-AallBall-1to1-v1 \uc740 \ub450 \ub370\uc774\ud130\uc14b\uc744 \uc11e\uc740 \uac83\uc774\ub2e4: merged-v4 \uc804\uccb4 749 \uc5d0\ud53c\uc18c\ub4dc + Ball-v1 \uc55e 340 \uc5d0\ud53c\uc18c\ub4dc\ub97c 3 \ud68c \ubc18\ubcf5(1020) + Ball-v1 \ub098\uba38\uc9c0 18 \uc5d0\ud53c\uc18c\ub4dc(\uac80\uc99d). \ucd1d 1787 \uc5d0\ud53c\uc18c\ub4dc / 891,402 \ud504\ub808\uc784. \uc5d0\ud53c\uc18c\ub4dc \uae38\uc774 \uc218\uc5f4\ub85c \ub300\uc870\ud574 \ud655\uc778\ud588\ub2e4(mix[1020:1769] == merged-v4, mix[0:340]==mix[340:680]==mix[680:1020]==Ball[0:340], mix[1769:]==Ball[340:]). 3 \ud68c \ubc18\ubcf5\uc774 '1to1' \uc774\ub2e4 \u2014 B \ub97c A \uc758 \ud504\ub808\uc784 \uc218\uc5d0 \ub9de\ucd98 \uac83\uc774\uc9c0 \uc5d0\ud53c\uc18c\ub4dc \uc218\uc5d0 \ub9de\ucd98 \uac83\uc774 \uc544\ub2c8\ub2e4(421k vs 463k). \uc9c0\uc2dc \ubb38\uc790\uc5f4 6 \uac1c\ub294 mergedv2/v4 \uc640 \uac19\uc544\uc11c \ud504\ub86c\ud504\ud2b8 \uae38\uc774\ub3c4 \uac19\uc740 \uc790\ub9ac\uc5d0\uc11c \ub098\uc628\ub2e4.", "_shape_note": "hidden_states [1,41,1536] = state 1 \ud589 + action 40 \ud589. state [1,1,132] \uc774 max_action_dim \uc774\uace0 LIBERO \ud310(32)\uacfc \ub2e4\ub974\ub2e4.", "_vision_note": "vision \uadf8\ub798\ud504\ub294 \ubdf0 \ud558\ub098\ub9cc \ubc1b\ub294\ub2e4(pixel_values[144,1536] -> image_embeds[1,36,2048]). \ub7f0\ud0c0\uc784\uc774 \ubdf0\ub9c8\ub2e4 \ud55c \ubc88\uc529 \ub450 \ubc88 \ubd80\ub978\ub2e4. tgt256 \ud615\uc81c\uc758 [256,1536] -> [1,64,2048] \uacfc \uac19\uc740 \ubaa8\uc591\uc774\uace0 \ud06c\uae30\ub9cc \ub2e4\ub974\ub2e4 \u2014 \ud615\uc0c1\uc740 (target/16)^2 \uacfc (target/32)^2 \uc5d0\uc11c \ub098\uc628\ub2e4.", "_tp_note": "LLM \uc740 \ud150\uc11c\ubcd1\ub82c\uc774 \uc544\ub2c8\ub2e4 \u2014 16 \uce35\uc774 \ud55c \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \ub4e4\uc5b4\uac04\ub2e4. \uc2e4\uce21 llm_0 = 2018.9 MB \ub85c v73 2 GB(2^31) \ud55c\uacc4\uc758 94.0% \ub2e4. **seq 96 \uc778\ub370\ub3c4 tgt256/S160 \ud615\uc81c\uc758 2019.2 MB \uc640 0.3 MB \ucc28\uc774\ubc16\uc5d0 \uc548 \ub09c\ub2e4** \u2014 \uc774 \ucee8\ud14d\uc2a4\ud2b8\ub294 \uac00\uc911\uce58\uac00 \uc9c0\ubc30\ud558\uace0 \uc2dc\ud000\uc2a4\ub294 \ud65c\uc131\uac12\uc5d0\ub9cc \uc601\ud5a5\uc744 \uc8fc\uae30 \ub54c\ubb38\uc774\ub2e4. \ud574\uc0c1\ub3c4\ub97c \ub0ae\ucdb0\ub3c4 2 GB \uc5ec\uc720\uac00 \uc0dd\uae30\uc9c0 \uc54a\ub294\ub2e4\ub294 \ub73b\uc774\uace0, 94% \ub294 \uc774 \ud3ec\ud2b8\uac00 \uc2e4\uce21\ud55c \ub85c\ub4dc \uc0c1\ud55c(93.85% \uc131\uacf5 / 95.70% \uc2e4\ud328) \uc0ac\uc774\ub77c \ub514\ubc14\uc774\uc2a4 \ud655\uc778\uc774 \uba3c\uc800\ub2e4. MolmoAct2 \uc5d0\uc11c TP \uac00 \uc900 \uc774\ub4dd\uc740 2 GB \ud68c\ud53c\uac00 \uc544\ub2c8\ub77c \uc18d\ub3c4\uc600\ub2e4(LLM 1333 -> 907 ms, -30%). GR00T \uc5d0 \uac19\uc740 \uac83\uc744 \ud558\ub824\uba74 Qwen3-VL \uc758 GQA 16/8 \uc5d0 \ub9de\ucd98 \uc7acexport \uac00 \ud544\uc694\ud558\uace0 MolmoAct2 \ucf54\ub4dc\ub294 \uc7ac\uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294\ub2e4.", "_worker_note": "libvlaqnn \uc758 llm_tp_worker.c \ub294 \ud615\uc0c1\uc744 \uc804\ubd80 model_config.h \ub9e4\ud06c\ub85c\uc5d0\uc11c \ubc1b\ub294\ub2e4 (MC_NUM_LAYERS/MC_NUM_SPLITS/MC_TP_WORLD/MC_HIDDEN/MC_KV_CHANNELS/MC_SEQ_LEN). \ud558\ub4dc\ucf54\ub529\uc774 \uc5c6\uc5b4\uc11c GR00T \uc6a9 \ud5e4\ub354\ub9cc \ub9cc\ub4e4\uba74 \uac19\uc740 \uc18c\uc2a4\uac00 \uadf8\ub300\ub85c \ub3c8\ub2e4. kv_channels 1024 \ub294 config \uac00 \uc544\ub2c8\ub77c export golden \uc5d0\uc11c \uc654\ub2e4 \u2014 L0_attn_r0 \uc758 keys \uac00 [1,seq,512] \uc774\uace0 world 2 \uc774\ubbc0\ub85c 1024(\uc774 \ubcc0\ud615\uc740 seq 96). MolmoAct2 \uc640 \uc6b0\uc5f0\ud788 \uac19\uc740 \uac12\uc774\uc9c0\ub9cc \uc720\ub3c4 \uacbd\ub85c\uac00 \ub2e4\ub974\ub2e4(GR00T \ub294 kv 8 heads x 128, MolmoAct2 \ub294 8 x 128).", "state_dim": 132, "_dit_io_note": "dit \uadf8\ub798\ud504\ub294 \uc735\ud569 \uacc4\uc57d(v2)\uc774\ub2e4. dit_step_0 \uc774 state[1,1,132]/actions[1,40,132]/timestep \uc744 \ubc1b\uc544 state_encoder+action_encoder+pos_embed \ub97c \uadf8\ub798\ud504 \uc548\uc5d0\uc11c \ub3cc\ub9ac\uace0, dit_step_1 \uc774 [:, -40:] \uc2ac\ub77c\uc774\uc2a4+action_decoder \uae4c\uc9c0 \uc811\uc5b4 velocity[1,40,132] \ub97c \ub0b8\ub2e4. embodiment \ub294 capture \uc2e4\uce21 10 \uc73c\ub85c \uc800\uba70 \uc811\uc5c8\ub2e4(32 \ud14c\uc774\ube14 \uc911 1). \ud638\uc2a4\ud2b8\uc5d0 \ub0a8\ub294 \uac83\uc740 \ubb34\uac00\uc911\uce58\ubfd0: randn \ucd08\uae30\ud654, dt Euler \uc801\ubd84, vel_strength \u2014 assets/flow.json. \uc774\uc804 \uacc4\uc57d(hidden_states[1,41,1536] \uc785\ub825, [1,41,1024] \ucd9c\ub825)\uc740 \uc561\uc158 \ud5e4\ub4dc \uac00\uc911\uce58\uac00 \uae30\uae30\uc5d0 \uc5c6\uc5b4 \uad00\uc808\uac01\uc73c\ub85c \uac08 \uc218 \uc5c6\uc5c8\ub2e4.", "patch_dim": 1536, "rope_dim": 128, "dit_tokens": 41, "_flow_note": "dit_steps=4: config.json \uc758 num_inference_timesteps \uac00 null \uc774\uace0 use_drifting_loss=false \ub77c groot_n1_7.py:135 \uc758 \ubaa8\ub378 \uae30\ubcf8\uac12 4 \ub85c \ub5a8\uc5b4\uc9c4\ub2e4(\uc99d\ub958\ub418\uc9c0 \uc54a\uc740 \uc21c\uc218 flow matching). capture \uac00 dit calls=4 \ub85c \uc2e4\uce21 \ud655\uc778\ud588\uace0 export_dit_fused.py \uac00 \uccb4\ud06c\ud3ec\uc778\ud2b8\uac12\uacfc GROOT_DIT_STEPS \ubd88\uc77c\uce58\ub97c \uac10\uc9c0\ud558\uba74 \uc911\ub2e8\ud55c\ub2e4. **\uc774 4 \uac00 RTC \uc758 \uc804\uc81c\ub2e4** \u2014 vel_strength \ub7a8\ud504\uac00 \ud50c\ub85c\uc6b0 \ud0c0\uc784\uc2a4\ud15d \uc704\uc5d0 \uc815\uc758\ub418\ubbc0\ub85c(groot_n1_7.py:688-695) 1-\uc2a4\ud15d drift \ud615\uc81c\ub85c\ub294 RTC \ub97c \ud560 \uc218 \uc5c6\ub2e4.", "_rtc_note": "\uc774 \ubc88\ub4e4\uc774 RTC(real-time chunking)\ub97c \uc704\ud574 \ub9cc\ub4e4\uc5b4\uc84c\ub2e4\ub294 \uae30\ub85d. RTC \ub294 NPU \uadf8\ub798\ud504\ub97c \ubc14\uafb8\uc9c0 \uc54a\ub294\ub2e4 \u2014 dit_step_0/1 \uc740 (state, actions, timestep)\uc5d0\uc11c \uc18d\ub3c4\uc7a5\uc744 \ub0bc \ubfd0\uc774\uace0, RTC \uac00 \uac74\ub4dc\ub9ac\ub294 \uac83\uc740 \ud638\uc2a4\ud2b8\uc758 \uc624\uc77c\ub7ec \uc801\ubd84 \ub450 \uacf3\uc774\ub2e4: (1) \uc2dc\uc791 \ub178\uc774\uc988\uc758 \uc55e rtc_overlap_steps \ud589\uc744 \uc774\uc804 \uccad\ud06c\uc758 \ub0a8\uc740 \uc561\uc158\uc73c\ub85c \ub36e\uace0, (2) vel_strength \ub97c \uc55e rtc_frozen_steps \ud589\uc740 0, \uadf8 \ub4a4 \uacb9\uce68 \uad6c\uac04\uc740 1-exp(-ramp_rate*t) \ub7a8\ud504\ub85c \uc900\ub2e4(groot_n1_7.py:677-696). \uc9c0\uae08 \uae30\uae30 \ub7f0\ud0c0\uc784\uc758 inference.py \ub294 flow.json \uc758 vel_strength \ub97c **\uc2a4\uce7c\ub77c**\ub85c \uc77d\uc73c\ubbc0\ub85c(float(...)), RTC \ub97c \ucf1c\ub824\uba74 \uadf8\uac83\uc744 \ud589\ubcc4 \ud150\uc11c\ub85c \ubc1b\uac8c \ubc14\uafb8\ub294 \ud638\uc2a4\ud2b8 \uc791\uc5c5\uc774 \ub0a8\ub294\ub2e4. \ubc88\ub4e4 \ucabd\uc5d0\uc11c \ub354 \ud544\uc694\ud55c \uac83\uc740 \uc5c6\ub2e4. \uc774 \uccb4\ud06c\ud3ec\uc778\ud2b8\uc758 rtc_ramp_rate \ub294 null \uc774\ub77c \ucd94\ub860\uc774 modeling_groot.py \uc758 \uae30\ubcf8\uac12 6.0 \uc744 \uc4f4\ub2e4.", "_naming_note": "MFM = docs/naming.md \uc758 \uae30\ubc95 \ud1a0\ud070(\uc21c\uc218 flow matching, use_drifting_loss=false). AALLBALL = \ud559\uc2b5 \ub370\uc774\ud130\uc14b \u2026-vertical-approach-AallBall-1to1-v1. TGT192 = image_target_size \u2014 HF \ub808\ud3ec \uc774\ub984\uc758 'crop192' \uc744 \uadf8\ub300\ub85c \uc4f0\uc9c0 \uc54a\uc740 \uc774\uc720\ub294 \uc2e4\uc81c \uc911\uc559 \ud06c\ub86d\uc774 172 \uc774\uace0 192 \uc740 target size \uc774\uae30 \ub54c\ubb38\uc774\ub2e4. \uc9c4\uc9dc \uc815\uccb4\uc131\uc740 assets/provenance.json \uc758 hf_revision + weights_sha256 \uc774\ub2e4.", "_geometry_note": "\uc774 \uccb4\ud06c\ud3ec\uc778\ud2b8\ub294 config.json \uc758 image_target_size_override [192,192] \uc640 \uc800\uc7a5\ub41c policy_preprocessor.json \uc758 groot_n1_7_vlm_encode_v1.image_target_size [192,192] / image_crop_size [172,172] \uac00 \uc77c\uce58\ud55c\ub2e4 \u2014 \uadf8\uac83\uc774 \ud574\uc0c1\ub3c4\ub97c \ubbff\uc744 \uc218 \uc788\ub294\uc9c0\uc758 \ud310\ubcc4\ubc95\uc774\ub2e4(2026-09-02 \uc790 crop192/128 \uc740 \ubd88\uc77c\uce58\ub77c \ud3d0\uae30\ub410\ub2e4). \uc54c\ub824\uc9c4 \uc815\uc0c1\ubcf8 GR00T-Mdrift_crop192_cft-Dmergedv2_resfixed-step1000 \uacfc \uac19\uc740 \uc11c\uba85\uc774\uace0, capture \uc2e4\uce21 pixel_values [288,1536] \uc774 \uc11c\uba85\ub300\ub85c 144 \ud328\uce58\uac00 \ub098\uc628\ub2e4\ub294 \uac83\uae4c\uc9c0 \ud655\uc778\ud588\ub2e4. \ub85c\ub4dc\uc5d0\ub294 xpu-lerobot \uc758 ee2a537f + 0005ab3b \uac00 \ud544\uc694\ud558\ub2e4. \ud6c4\uc790\uac00 \uc5c6\uc73c\uba74 Cosmos-Reason2-2B \uc774\ubbf8\uc9c0 \ud504\ub85c\uc138\uc11c\uc758 \ucd5c\uc18c\uce58\uac00 smart_resize \ub85c 192 \ub97c 256 \uc73c\ub85c \ub418\ud0a4\uc6cc \ud1a0\ud070 \uc218\uac00 \uc548 \ubc14\ub010\ub2e4. host_config.json \uc758 image_size [256,256] \uc740 lerobot \uc774 deprecated \ub85c \ud45c\uc2dc\ud55c legacy \ud544\ub4dc\uc774\uace0, \uae30\uae30\uac00 \uc2e4\uc81c\ub85c \uc4f0\ub294 \uae30\ud558\ub294 vlm_encode \uc758 image_target_size / image_crop_size \ub2e4." }, "components": [ { "role": "vision", "env_kind": "file", "graphs": [ "vision" ], "paths": [ "ctx/vision.bin" ], "runtime_env": "GROOT_VISION_BIN", "sha256": { "ctx/vision.bin": "3404969607edd65639dfd20bbe5596d2ac438edd0f5759712212bc9bd5c5f1c2" }, "bytes": 817537024 }, { "role": "llm", "env_kind": "file", "graphs": [ "llm_0" ], "paths": [ "ctx/llm_0.bin" ], "runtime_env": "GROOT_LLM_BIN", "sha256": { "ctx/llm_0.bin": "7a513d84b68071ef64e43f7d4cbc042cae2673989274e3172d98d25148f292b4" }, "bytes": 2018877440 }, { "role": "dit", "env_kind": "dir", "graphs": [ "dit_step_0", "dit_step_1" ], "paths": [ "ctx/dit_step_0.bin", "ctx/dit_step_1.bin" ], "runtime_env": "GROOT_DIT_DIR", "sha256": { "ctx/dit_step_0.bin": "c6937819b17f9348f9ed642b9ffafeb83c937971be65b9a8266d9ee88e0f4ce1", "ctx/dit_step_1.bin": "9d8ef757c06e2cc4a19569b1ebc7a5ee2b22428352ad1a99944680156a77a9a2" }, "bytes": 2224590848 } ], "format": "notaqnn/3", "files": { "golden/dit_fused_io.npz": { "sha256": "9f2609c331bd84f54c0384e2bd3dd75bb5c5aa4786507ba8b10febf876f8ebd5", "bytes": 1105316 }, "golden/flow.json": { "sha256": "0e48f442f34793b34355639aeb8ec7c4794dc2dc3e7c3d2f37c796e1f1084583", "bytes": 496 }, "golden/groot_n17_boundary.npz": { "sha256": "20dbd2cd44b993abd2bd3eb025a127a32238ebef5e7ab88cd728c46af7135b34", "bytes": 3721156 }, "golden/groot_n17_boundary_shapes.json": { "sha256": "f1b00a2f5b023254ea5865d389525a24e014c31f435a3a7f76ca4b0e2b637192", "bytes": 1927 }, "golden/groot_n17_export_shapes.json": { "sha256": "5f55728250135d727a40458ae1ee1cf4d612efdaea1601701a4348c6c0105ad5", "bytes": 467 }, "assets/embedding.raw": { "sha256": "a22e7ffb54572f3831794283e472228672dce77a2bda10d729b1d7a180c8844d", "bytes": 622329856 }, "assets/flow.json": { "sha256": "0e48f442f34793b34355639aeb8ec7c4794dc2dc3e7c3d2f37c796e1f1084583", "bytes": 496 }, "assets/host_config.json": { "sha256": "a0e4964f74bf61147b7c842fb189dd1c034fa68ef189c7eef557631df997222d", "bytes": 1947 }, "assets/norm_stats.json": { "sha256": "f9a07d7edae21e184c9580267045425be41e3ad231aca99abc61ed1e446783d6", "bytes": 2325 }, "assets/processor/merges.txt": { "sha256": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", "bytes": 1671839 }, "assets/processor/preprocessor_config.json": { "sha256": "27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516", "bytes": 390 }, "assets/processor/processor_config.json": { "sha256": "85c1b4690ae090559e79a45193e598b65d6146eedf14750884da65e6d31032be", "bytes": 21137 }, "assets/processor/tokenizer.json": { "sha256": "a5d85b6dcc535e6b93115a9ef287e6132fdbf30270da6218194ba742261173c7", "bytes": 7032403 }, "assets/processor/tokenizer_config.json": { "sha256": "c2da771801886ad9ae98181793ffd3dfb7f1af30f6f7c6a4e15d7dbba52e2399", "bytes": 10868 }, "assets/processor/vocab.json": { "sha256": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910", "bytes": 2776833 }, "assets/provenance.json": { "sha256": "caaf13630f26fb1922aaeb23c13247c14d42f7e854a4c67592f3bf5d7d15612a", "bytes": 844 }, "assets/rope.npz": { "sha256": "b1da2fab5ffc751e497e12b6e0ce03894acb8c02d8564398c1febadb72ad3fdf", "bytes": 1640 } } }