feat(g05): train with LeRobot language recipes

This commit is contained in:
Pepijn
2026-07-29 11:08:03 +02:00
parent 274ee585b4
commit 0675920df9
11 changed files with 678 additions and 14 deletions
+25
View File
@@ -146,6 +146,31 @@ The renderer does not apply a tokenizer chat template. Policy processors decide
Blend recipes select one weighted sub-recipe deterministically from the sample index.
`recipes/subtask_mem.yaml` trains the compact core blend — high-level subtask prediction, low-level execution, and memory. `recipes/subtask_mem_vqa_speech.yaml` is the fuller variant that also adds VQA and spoken interjection responses.
Annotation-dependent blends can set `select_from_applicable: true` and declare
`requires` on each component. The renderer first removes components whose
required bindings resolve to `None`, then performs the deterministic weighted
selection. This matches mixed-CoT policies where unavailable annotation formats
must not consume probability:
```yaml
select_from_applicable: true
blend:
subtask:
weight: 2
requires: [subtask]
messages:
- {
role: assistant,
content: "${subtask}",
stream: low_level,
target: true,
}
action:
weight: 1
messages:
- { role: user, content: "${task}", stream: low_level }
```
A message recipe with a supervised assistant turn on the `low_level` stream trains
the π0.5 paper's joint sequence instead of a blend: the target span gets text CE
while also conditioning the action losses in the same forward.