Architecture overview
The complete model consists of three main components:- Vision-language backbone: Processes multimodal observations (images, text, robot state)
- Diffusion transformer: Denoises action trajectories through flow matching
- Embodiment projectors: Encodes/decodes robot-specific states and actions
Vision-language backbone
The backbone is based on NVIDIA’s Cosmos-Reason-2B VLM variant, implemented in theEagleBackbone class.
Key features
Flexible resolution
Processes images in their native aspect ratio without padding
Embodied reasoning
Pre-trained on next action prediction and embodied tasks
Layer selection
Uses intermediate layers for optimal feature extraction
Flash attention
Efficient attention with flash-attention-2 implementation
Implementation
Fromgr00t/model/modules/eagle_backbone.py:
Forward pass
[batch_size, sequence_length, 2048] where sequence_length includes image tokens and text tokens.
Action head architecture
TheGr00tN1d6ActionHead generates actions through flow matching diffusion, implemented with a 32-layer transformer.
Components
- State encoder
- Action encoder
- Diffusion model
- Action decoder
CategorySpecificMLP: Encodes proprioceptive state per embodimentSupports multi-embodiment training with separate weights per robot type.
Diffusion transformer (DiT)
The core of the action head is a 32-layer diffusion transformer with cross-attention to VLM features.Architecture details
Fromgr00t/model/modules/dit.py:172-196:
Transformer block structure
EachBasicTransformerBlock contains:
- Adaptive layer norm: Conditioned on diffusion timestep
- Cross-attention: Attends to VLM features (vision + language)
- Feed-forward: MLP with GELU activation
- Residual connections: Skip connections for gradient flow
AlternateVLDiT variant
N1.6 uses an enhanced DiT that separates image and text tokens during cross-attention:Alternating between image and text attention improves efficiency and allows the model to specialize different layers for visual vs. linguistic reasoning.
Flow matching diffusion
GR00T uses flow matching for action generation, a continuous-time diffusion process.Training objective
Fromgr00t/model/gr00t_n1d6/gr00t_n1d6.py:197-248:
- Sample timestep
t ~ Beta(α, β) - Interpolate between noise and ground truth:
x_t = (1-t) * noise + t * action - Predict velocity:
v = action - noise - Train model to predict velocity at timestep
t
Inference (denoising)
GR00T uses 4 denoising steps by default, balancing quality and inference speed (16ms action head latency on RTX 5090).
Embodiment-specific projectors
GR00T supports multiple robot embodiments through category-specific linear layers.CategorySpecificLinear
Fromgr00t/model/modules/embodiment_conditioned_mlp.py:44-64:
CategorySpecificLinear(10, 14, 512) layer stores 10 separate weight matrices of shape [14, 512].
Multi-embodiment action encoder
This architecture allows a single model to handle different robot configurations (7-DOF arms, 14-DOF humanoids, etc.) by learning embodiment-specific projections.
Model configuration
Key hyperparameters for the full architecture:Memory and computation
Model size
Total parameters
~3B parameters (2B VLM + 1B action head)
GPU memory
~12 GB for inference (bfloat16)
Inference breakdown
On RTX 5090 with torch.compile:Training configuration
Recommended settings:- 1x H100 (80GB): Batch size 32-64
- 1x L40 (48GB): Batch size 16-32
- 1x RTX 4090 (24GB): Batch size 8-16
Summary
The GR00T N1.6 architecture combines:- Foundation model: 2B parameter VLM with flexible vision encoding
- Scalable diffusion: 32-layer transformer for high-capacity action modeling
- Multi-embodiment: Category-specific projectors for cross-robot learning
- Efficient inference: 27 Hz throughput with 4-step denoising