{
  "version": 1,
  "language": "en",
  "title": "Training labels and runtime conditions",
  "description": "The diagram compares annotated training with two fixed-weight inference modes. Supported context may include an optional visual goal. That goal is not necessary for all actions.",
  "caption": "The author made this π0.7 conditioning diagram from Physical Intelligence’s source figure. Training uses labeled instructions, subgoal images and episode metadata. Inference can use task/subtask context, observation memory, desired metadata and world-model subgoals in a supported mode. The prompt interface receives these conditions before continuous action generation. Official performance demos are not shown, and visual subgoals are not necessary for all actions. The playback is an example, and animation time is not measured runtime.",
  "alt": "π0.7 comparison: annotations train weights. Fixed weights and runtime context generate action, with an optional world-model visual goal.",
  "sources": [
    "https://www.pi.website/blog/pi07"
  ],
  "limitations": [
    "The playback is an example. Playback time is not measured runtime.",
    "The two inference scenarios do not use training annotations as runtime inputs.",
    "The training scenario does not activate action generation.",
    "The supported condition modalities are not the same for all operating modes."
  ],
  "targets": {
    "training-example": {
      "id": "mechanism-training-example",
      "kind": "node",
      "label": "Training example"
    },
    "training-model": {
      "id": "mechanism-training-model",
      "kind": "node",
      "label": "π0.7 training"
    },
    "weights": {
      "id": "mechanism-weights",
      "kind": "node",
      "label": "Policy weights"
    },
    "runtime-context": {
      "id": "mechanism-runtime-context",
      "kind": "node",
      "label": "Runtime context"
    },
    "world-model": {
      "id": "mechanism-world-model",
      "kind": "node",
      "label": "World model"
    },
    "runtime-policy": {
      "id": "mechanism-runtime-policy",
      "kind": "node",
      "label": "π0.7 policy"
    },
    "training-data": {
      "id": "mechanism-training-data",
      "kind": "edge",
      "label": "Learn from annotations"
    },
    "trained-weights": {
      "id": "mechanism-trained-weights",
      "kind": "edge",
      "label": "Keep learned weights"
    },
    "use-weights": {
      "id": "mechanism-use-weights",
      "kind": "edge",
      "label": "Use fixed weights"
    },
    "propose-goal": {
      "id": "mechanism-propose-goal",
      "kind": "edge",
      "label": "Make proposal for optional visual goal"
    },
    "goal-condition": {
      "id": "mechanism-goal-condition",
      "kind": "edge",
      "label": "Condition on proposed goal"
    },
    "direct-context": {
      "id": "mechanism-direct-context",
      "kind": "edge",
      "label": "Read runtime context directly"
    }
  },
  "stateLabels": {
    "stage": "Stage",
    "artifact": "Artifact"
  },
  "scenarios": [
    {
      "id": "inference-with-goal",
      "title": "Inference with an optional visual goal",
      "description": "The optional goal path is selected. Training annotations are not deployment inputs.",
      "initial": {
        "stage": "Inference prepared",
        "artifact": "Trained weights and runtime context available"
      },
      "unselected": [
        "training-example",
        "training-model",
        "training-data",
        "trained-weights"
      ],
      "steps": [
        {
          "title": "Use fixed learned policy weights",
          "description": "The policy uses fixed learned weights.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [
            "use-weights"
          ],
          "state": {
            "stage": "Inference",
            "artifact": "The policy uses fixed weights and no training annotations."
          }
        },
        {
          "title": "Make proposal for an optional visual subgoal",
          "description": "A world model generates an optional visual-subgoal proposal.",
          "duration": 3000,
          "active": [
            "world-model"
          ],
          "paths": [
            "propose-goal"
          ],
          "state": {
            "stage": "Goal mode",
            "artifact": "Optional visual subgoal from current context"
          }
        },
        {
          "title": "Use current context and proposed goal",
          "description": "The policy uses the current context and proposed goal as conditions.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [
            "direct-context",
            "goal-condition"
          ],
          "state": {
            "stage": "Action conditioning",
            "artifact": "Scene, supported memory/metadata, intent and goal"
          }
        },
        {
          "title": "Generate the continuous action chunk",
          "description": "The policy generates a continuous action chunk.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [],
          "state": {
            "stage": "Action output",
            "artifact": "Chunk generated with fixed weights"
          }
        }
      ]
    },
    {
      "id": "inference-direct",
      "title": "Inference without a visual goal",
      "description": "A visual subgoal is not necessary for all operating modes.",
      "initial": {
        "stage": "Inference prepared",
        "artifact": "Trained weights and runtime context available"
      },
      "unselected": [
        "training-example",
        "training-model",
        "training-data",
        "trained-weights",
        "world-model",
        "propose-goal",
        "goal-condition"
      ],
      "steps": [
        {
          "title": "Use fixed learned policy weights",
          "description": "The policy uses fixed learned weights.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [
            "use-weights"
          ],
          "state": {
            "stage": "Inference",
            "artifact": "The policy uses fixed weights and no training annotations."
          }
        },
        {
          "title": "Condition directly on the runtime context",
          "description": "The policy uses current runtime context without a visual goal.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [
            "direct-context"
          ],
          "state": {
            "stage": "Direct conditioning",
            "artifact": "Current scene, intent and supported conditions"
          }
        },
        {
          "title": "Generate without the world model",
          "description": "The policy generates a continuous chunk without the world model.",
          "duration": 3000,
          "active": [
            "runtime-policy"
          ],
          "paths": [],
          "state": {
            "stage": "Action output",
            "artifact": "Chunk generated without a visual-goal stage"
          }
        }
      ]
    },
    {
      "id": "training",
      "title": "Training with annotated examples",
      "description": "This scenario uses only the training lane. No deployed action is generated in this scenario.",
      "initial": {
        "stage": "Training prepared",
        "artifact": "Annotated examples available"
      },
      "unselected": [
        "runtime-context",
        "world-model",
        "runtime-policy",
        "use-weights",
        "propose-goal",
        "goal-condition",
        "direct-context"
      ],
      "steps": [
        {
          "title": "Learn from the annotated training example",
          "description": "Training uses the annotated example to learn policy parameters.",
          "duration": 3000,
          "active": [
            "training-model"
          ],
          "paths": [
            "training-data"
          ],
          "state": {
            "stage": "Training",
            "artifact": "Instruction and available goal/episode annotations"
          }
        },
        {
          "title": "Keep the learned policy weights",
          "description": "The learned policy weights are kept.",
          "duration": 3000,
          "active": [
            "weights"
          ],
          "paths": [
            "trained-weights"
          ],
          "state": {
            "stage": "Training completed",
            "artifact": "Learned π0.7 policy parameters"
          }
        }
      ]
    }
  ]
}
