Octo read-along

Octo: An Open-Source Generalist Robot Policy. Ghosh, Walke, Pertsch, Black, Mees, Dasari and others, RSS 2024.

In short

Summary

Octo is an open-source transformer policy pretrained on 800k robot trajectories from 25 Open X-Embodiment datasets, released as Octo-Small (27M parameters) and Octo-Base (93M) with its training and finetuning code.

It turns language, goal images and camera images into tokens, and a small diffusion head turns the transformer's readout tokens into chunks of actions, so finetuning can add new inputs (force-torque) or new action spaces (joint control, two arms) by adding an encoder or a head.

Finetuned on about 100 demonstrations, Octo averages 72% success over six new setups, against 20% for the best baseline (Table I); without finetuning, it beats RT-1-X and performs similarly to the 55B RT-2-X on the two robots where both were tested.

Sketchnote

One-page summary

Hand-drawn summary of Octo: Octo is an open-source transformer policy pretrained on 800k robot trajectories from 25 Open X-Embodiment datasets, released as Octo-Small (27M parameters) and Octo-Base (93M) with its training and finetuning code. It turns language, goal images and camera images into tokens, and a small diffusion head turns the transformer's readout tokens into chunks of actions, so finetuning can add new inputs (force-torque) or new action spaces (joint control, two arms) by adding an encoder or a head. Finetuned on about 100 demonstrations, Octo averages 72% success over six new setups, against 20% for the best baseline (Table I); without finetuning, it beats RT-1-X and performs similarly to the 55B RT-2-X on the two robots where both were tested.
A one-page summary in sketchnote style. Download the PDF (page 1 the sketchnote, page 2 the listening sheet) to annotate it in Concepts or GoodNotes.

Listen for

In class

Keep these in mind while the presenter talks. Tick them on page 2 of the PDF as they come up.

  1. Zero-shot means no finetuning: Figure 5 uses seen tasks, Table VII tests broader generalization on WidowX
  2. How readout tokens and masked attention let finetuning add new inputs and action heads
  3. Which parts are borrowed (diffusion head, action chunks, ViT recipes) and what is new
  4. What the finetuning baselines are, and which action head each one uses
  5. The limits the authors admit: wrist cameras, language conditioning, a hand-tuned data mix

Questions worth asking

  1. The VC-1 baseline uses an MSE head, and Table II shows that an MSE head drops Octo from 83% to 35%. How much of the 72% vs 15% gap in Table I is pretraining, and how much is the head?
  2. The zero-shot tests use only robots from the pretraining mix. What experiment would show that pretraining on many robots helps a new robot more than pretraining on one?
  3. Only 27% of the data has wrist images, and finetuning often did better without them. Is the fix more wrist data, or a different way to tokenize the wrist view?

In class, on an iPad

  1. Before: watch or listen to the read-along (the chapters are below) and skim the questions below.
  2. Open the sketchnote PDF in Concepts or another note app. Page 1 is the summary drawing, with room to annotate. Page 2 is the listening sheet.
  3. During the talk: tick each "listen for" item as it comes up, and write one line in each box of the sheet.
  4. After: mark the one answer below that the talk changed for you, and ask your question.

Common questions and misunderstandings

FAQ

Is Octo trained on all of Open X-Embodiment?

No. Open X-Embodiment has about 1.5M episodes, and Octo uses 800k of them from 25 datasets. The authors drop datasets without images or without delta end-effector actions, and ones that are too repetitive, low-resolution or niche; then they reweight the rest by hand, doubling the more diverse ones. RT-1-X and RT-2-X were trained on a 350K-episode subset. (Sec. II, Sec. III-B, Fig. 3, Table III)

Does "zero-shot" mean Octo controls a robot it has never seen?

No. Of the nine evaluation setups, the three zero-shot setups (WidowX BridgeV2, UR5, RT-1 Robot) use robots from the pretraining data. The Figure 5 comparison uses tasks from their own datasets, with changes in object positions, lighting, backgrounds and distractors. Table VII separately tests new objects, scenes and skills on WidowX. Robots outside the mix, the ViperX in Berkeley Coke and the two-arm ALOHA, are tested only after finetuning on about 100 demonstrations. (Sec. IV, Sec. IV-A, Fig. 5, Table VII, Appendix F)

What does "outperforms the next best baseline by 52%" mean?

52 percentage points of average success, not a 52% relative gain. In Table I, finetuned Octo averages 72% over six setups, a ResNet+Transformer trained from scratch 20%, and VC-1 15%. The scratch baseline has 28M parameters in total: a ResNet visual encoder with FiLM language conditioning and a small transformer action decoder trained with a diffusion objective, because Octo's own architecture overfit quickly when trained from scratch on so few demonstrations. Table I says each domain is averaged over 20 trials, but Appendix F gives 10 trials for Berkeley Bimanual. (Sec. IV, Sec. IV-B, Table I, Appendix F-C)

How does Octo compare with RT-1-X and RT-2-X?

Octo-Base (93M) had on average 29% higher success than RT-1-X (35M) over three robots, with two language tasks per robot and 10 trials per task; the paper does not say whether this is points or a relative gain. It performed similarly to the 55B RT-2-X on WidowX and the RT-1 Robot. RT-2-X is not openly available, so its WidowX numbers come from another paper (Black et al. [7]) on the same tasks, and its RT-1 Robot runs were done by the RT-2-X authors. (Sec. IV-A, Fig. 5 and footnote 1)

Does finetuning freeze the pretrained transformer?

No. Fig. 2 says new inputs and action heads can be added without modifying pretrained parameters, but the finetuning recipe updates the full model, which worked better than freezing parts of it. Every setup uses the same recipe: about 100 trajectories, 50k steps, cosine learning-rate decay with linear warmup, and about 5 hours on one 24 GB A5000 for Octo-Base. (Fig. 2, Sec. III-C, Sec. III-D)

Which finetuning tasks test new inputs, new actions or new robots?

Berkeley Insertion adds force-torque input. Berkeley Pick-Up uses joint position control, and Berkeley Bimanual gets a new head for ALOHA's 14-dimensional joint and gripper actions. Berkeley Coke (one ViperX arm) and Bimanual (two ViperX arms) are robots outside the pretraining mix, which has only single-arm data. CMU Baking and Stanford Coffee keep end-effector delta actions on new tasks. (Table I, Fig. 4, Appendix F-C)

Is Octo a vision-language model like RT-2-X?

No. Octo is a transformer of 27M (Small) or 93M (Base) parameters trained on robot data. Images go through a shallow CNN into 16×16 patch tokens, and language goes through a frozen T5-base encoder (111M) as 16 tokens. Appendix E reports that larger or finetuned T5 encoders did not help. (Sec. III-A, Table V, Appendix D, Appendix E)

What is new in Octo, and what is borrowed?

The parts are borrowed, and the paper says so: a transformer backbone, language and goal-image conditioning, a diffusion action head, action chunks, and ViT layouts and learning-rate schedules. The claims are the combination for cross-embodiment policies, being the first generalist policy shown to finetune to new observation and action spaces, and a fully open release of checkpoints, training and finetuning code, and data loaders. (Sec. I, Sec. II, Sec. III-E)

What do the ablations test, and on what?

Tables II and VI test Octo-Small on WidowX, with 40 trials across two language-conditioned and two goal-image-conditioned tasks. The full model scores 83%; the MSE head 35%, discretized actions 18%, the 11-dataset RT-X mix 60%, Bridge data only 43%, and ResNet-50 + Transformer 70%. Separately, Figure 6 compares Octo-Tiny (10M), Small (27M) and Base (93M) on UR5 and WidowX, with 10 trials on one language-conditioned task per robot. (Sec. IV-C, Table II, Table VI, Fig. 6)

Do goal images or language work better?

Goal images, in the one direct comparison: zero-shot on WidowX, goal-image conditioning had a "25% higher success rate" than language; the paper does not say whether that is points or a relative gain. The authors suggest two possible reasons: goal images give more information about the task, and only 56% of the pretraining data has language annotations. Training drops the language or the goal image at random, and datasets without language always use goal images. (Sec. III-D, Sec. IV-A, Sec. V)

Does Octo use the wrist camera well?

No, by the authors' own account. Finetuning results were often stronger with only the third-person camera than with third-person plus wrist, and only 27% of the pretraining data has wrist images. Wrist images are also resized to 128×128 (64 tokens), against 256×256 (256 tokens) for the third-person view. (Sec. V, Appendix D)

How far does Octo generalize zero-shot on WidowX?

Well to new objects, less to new environments, hardly to new skills. In Table VII (Octo-Small, 20 trials over two tasks per row), success averages 85% in distribution, 80% with novel objects, 40% in a novel environment and 5% for novel skills such as flipping a cup. The text calls the drop in a new scene slight, and the caption says Octo generalizes well to novel environments, but the table shows the average falling by more than half. (Sec. IV-A, Table VII)

Chapters

Video

  1. 0:00Abstract
  2. 1:431. Introduction
  3. 7:432. Related work
  4. 11:463. The Octo model
  5. 23:194. Experiments
  6. 35:005. Discussion and future work

These times are estimates from the narration text, within about half a minute.

Key terms

Glossary

Generalist robot policy (GRP)
The paper's term for a policy that does low-level visuomotor control across tasks, scenes and robots.
Readout token
A learned token that reads earlier task and observation tokens but is not read by them; the action head sits on it, like BERT's [CLS].
Block-wise masked attention
Observation tokens see only task tokens and tokens of the same or earlier time steps; missing inputs are masked out.
Diffusion action head
A small MLP that turns Gaussian noise into actions in 20 denoising steps, conditioned on the readout embedding.
Action chunk
Several consecutive future actions predicted at once.
Goal-image conditioning
The task is a picture of the desired end state; in training, a random future frame of the episode (hindsight relabeling).
Delta end-effector control
Actions are relative moves of the end effector; Octo pretrains only on datasets with such actions.
Zero-shot (in this paper)
Used without finetuning. The tested robots are in the pretraining data; Figure 5 uses in-distribution tasks, and Table VII also tests new objects, scenes and skills on WidowX.
OXE
Open X-Embodiment: about 1.5M pooled robot episodes; Octo trains on 800k from 25 of its datasets.