圖)
可以。下面我把論文定義(Paper Definition)、DM0-base 官方配置(Official Configuration)、當(dāng)前 Dexboticmain中的dm0_arch.py、hybrid_dm0_arch.py和訓(xùn)練 / 推理數(shù)據(jù)管線放在一起對(duì)齊。這里最重要的是:不能把“論文想實(shí)現(xiàn)的訓(xùn)練計(jì)算圖”和“當(dāng)前公開(kāi)代碼實(shí)際執(zhí)行的計(jì)算圖”混成一張圖,因?yàn)槎吣壳按_實(shí)存在若干差異。截至2026 年 9 月 5 日,論文仍是 arXiv v1;Dexbotic 此后已經(jīng)增加Hybrid DM0 Co-Training、實(shí)時(shí)推理和 DM0 LoRA SFT 等能力,因此“論文 DM0”和“今天代碼倉(cāng)里的 DM0”需要分層理解。(arXiv)1. 先給出最關(guān)鍵的架構(gòu)結(jié)論DM0 的核心不是傳統(tǒng)的“VLM 完整跑完以后,把最后一個(gè) hidden state 喂給獨(dú)立 action head”,而是雙專(zhuān)家合并注意力架構(gòu)(Dual-Expert Merged-Attention Architecture)。論文抽象地描述為VLM 骨干(VLM Backbone)產(chǎn)生條件 KV,流匹配動(dòng)作專(zhuān)家(Flow-Matching Action Expert)基于這些表示生成連續(xù)動(dòng)作;當(dāng)前公開(kāi)代碼進(jìn)一步揭示:VLM Qwen3 和 Action Qwen3 在每一 Transformer 層分別產(chǎn)生自己的 Q/K/V,然后沿 sequence 維拼起來(lái)完成一次 attention,再把輸出切回兩個(gè)分支,各自執(zhí)行自己的 O-Proj、殘差和 MLP。(arXiv)官方DM0-base配置給出的關(guān)鍵結(jié)構(gòu)是:VLM 為 28 層 Qwen3、hidden size 2048;Action Expert 同樣 28 層 Qwen3、hidden size 1024;兩邊均為 16 個(gè) attention heads、8 個(gè) KV heads、head dim 128。內(nèi)部動(dòng)作維是 32,action chunk 固定為 50。視覺(jué)塔配置為pe_lang_l14_728。(Hugging Face)這兩個(gè)專(zhuān)家雖然 hidden size 不同,卻能進(jìn)行 merged attention,關(guān)鍵原因是 attention 的head 數(shù)(Number of Heads)和單頭維度(Head Dimension)對(duì)齊,因此投影后的 Q/K/V attention 表示可以沿 token/sequence 軸合并;attention 輸出之后再切回各自分支,并由各分支自己的 O-Proj 映射回 2048 或 1024 hidden space。(Hugging Face)還有兩個(gè)必須特別強(qiáng)調(diào)的論文—代碼差異。第一,論文的 Mid/Post-Training 明確定義:L ? t o t a l ( θ ) = λ L ? A R ( θ ) + L F M ( θ ) , λ = 1. (4) \mathcal{L}*{\mathrm{total}}(\theta)=\lambda\mathcal{L}*{\mathrm{AR}}(\theta)+\mathcal{L}_{\mathrm{FM}}(\theta),\qquad\lambda=1.\tag{4}L?total(θ)=λL?AR(θ)+LFM?(θ),λ=1.(4)而當(dāng)前普通dm0_arch.py::forward()最終實(shí)際上只執(zhí)行F.mse_loss(v_t,u_t),隨后直接令loss = action_loss。也就是說(shuō),標(biāo)準(zhǔn)公開(kāi) DM0 forward 是 Action-only Flow Matching。后來(lái)新增的HybridDM0才把文本交叉熵(Text Cross-Entropy)和動(dòng)作流匹配損失(Action Flow-Matching Loss)真正放進(jìn)一個(gè)聯(lián)合 forward。(GitHub)第二,論文明確規(guī)定 embodied action expert 的梯度不能反傳到 VLM,即知識(shí)隔離(Knowledge Insulation, KI);但在我檢查的當(dāng)前main的dm0_arch.py和hybrid_dm0_arch.py中,沒(méi)有看到對(duì)應(yīng) prefix/KV 的顯式detach()/ Stop Gradient,實(shí)驗(yàn)配置中也沒(méi)有默認(rèn)凍結(jié) VLM。HybridDM0中出現(xiàn)的.detach()都只是 loss diagnostics。由于 action suffix 實(shí)際 attention 到 VLM prefix K/V,所以從公開(kāi)計(jì)算圖本身看,action loss 可以沿 K/V 條件路徑影響 VLM;因此下面必須把“論文圖”和“代碼圖”分開(kāi)。(arXiv)2. DM0 三階段整體訓(xùn)練邏輯論文的三階段訓(xùn)練(Three-Stage Training)可以概括如下。Pretraining 只建立 embodied-native VLM;Mid-Training 才加入 Action Expert;Post-Training 不改變基本目標(biāo)和架構(gòu),只把機(jī)器人 embodiment 范圍收窄到部署目標(biāo)。(arXiv)階段核心目標(biāo)數(shù)據(jù) / 監(jiān)督模型狀態(tài)Pretraining建立具身原生 VLM(Embodied-Native VLM)Web、文檔、VQA、OCR、Driving、Embodied grounding 等VLM 全參數(shù)聯(lián)合優(yōu)化Mid-Training加入連續(xù)控制能力Dialogue Tokens + Discrete Action Tokens + Continuous ActionsVLM + Action ExpertPost-Training面向目標(biāo)機(jī)器人收斂分布保留部分 VLM 數(shù)據(jù) + 目標(biāo) embodiments Robot Data與 Mid 相同聯(lián)合目標(biāo)下游 SFTSpecialist / Generalist具體機(jī)器人或具體任務(wù)軌跡當(dāng)前 Dexbotic 提供可直接執(zhí)行的訓(xùn)練 recipePretraining 論文報(bào)告所有參數(shù)聯(lián)合優(yōu)化,訓(xùn)練約 1.2T tokens、370K steps,global batch 8192、sequence length 4096。Mid-Training 使用三個(gè)圖像視角、50-step action window;連續(xù)動(dòng)作和它對(duì)應(yīng)的離散動(dòng)作 token 是同一真實(shí)動(dòng)作軌跡的兩種表示,其中離散表示量化到 255-bin vocabulary。(arXiv)3. 論文定義的 DM0 Mid/Post-Training 完整訓(xùn)練架構(gòu)這是我認(rèn)為最適合作為“DM0 論文方法圖”的版本。這里特別做了一個(gè)忠實(shí)性處理:論文把子任務(wù)預(yù)測(cè)(Subtask Prediction)、目標(biāo)框預(yù)測(cè)(Goal Bounding Box Prediction)、末端執(zhí)行器 2D 軌跡預(yù)測(cè)(End-Effector 2D Trajectory Prediction)和離散動(dòng)作預(yù)測(cè)(Discrete Action Prediction)描述為 Embodied Spatial Scaffolding 的層次化監(jiān)督,但論文并沒(méi)有給這四項(xiàng)分別定義獨(dú)立 scalar loss 和獨(dú)立權(quán)重。因此我沒(méi)有偽造四個(gè) Loss,而是把它們作為 VLM 自回歸監(jiān)督目標(biāo),統(tǒng)一進(jìn)入L A R \mathcal L_{\mathrm{AR}}LAR?。(arXiv)階段 4:聯(lián)合損失與優(yōu)化目標(biāo)(Joint Loss and Optimization Objective)階段 3:連續(xù)動(dòng)作流匹配(Continuous Action Flow Matching)階段 2:VLM 感知、推理與離散動(dòng)作建模(VLM Perception and Autoregressive Modeling)階段 1:輸入構(gòu)造與雙動(dòng)作表示(Input Construction and Dual Action Representation)階段 0:原始訓(xùn)練數(shù)據(jù)(Raw Training Data)子損失(Sub Losses)ConditionPredictionLabelPredictionTargetλ = 1Gradient: AR BranchGradient: FM Branch數(shù)據(jù)模塊:多視角圖像(Multi-view Images / I_t)Shape: [B, V, C, H, W]數(shù)據(jù)模塊:語(yǔ)言指令(Language Instruction / l)Shape: [B, N_text]數(shù)據(jù)模塊:本體狀態(tài)(Proprioceptive State / s_t)Shape: [B, d_state]數(shù)據(jù)模塊:多模態(tài)對(duì)話與推理監(jiān)督(Dialogue / Reasoning Targets)數(shù)據(jù)模塊:空間腳手架監(jiān)督(Embodied Spatial Scaffolding Targets)數(shù)據(jù)模塊:真實(shí)連續(xù)動(dòng)作窗口(Ground-truth Continuous Actions / A)Shape: [B, 50, d_action]操作模塊:圖像縮放與視圖整理(Resize / View Packing)參數(shù):V = 3,H = W = 728操作模塊:動(dòng)作窗口構(gòu)造與歸一化(Action Windowing / Normalization)參數(shù):Horizon = 50數(shù)據(jù)模塊:歸一化連續(xù)動(dòng)作(Normalized Continuous Actions / A)Shape: [B, 50, d_action]