[ GUIDE 01 ]

Getting started

Walk through composing your first transformer architecture in Otter — from canvas to exported PyTorch code.

[ 01 ]

Open the canvas

Navigate to the Canvas. You'll see a component library on the left and an empty canvas in the center.

First-time visitors see a short onboarding tour covering the canvas and validation.

[ 02 ]

Add components

Drag components from the library onto the canvas. The essential blocks are:

  • EmbeddingConverts token IDs to dense vectors.
  • RMSNormNormalizes activations (Llama-style).
  • GroupedQueryAttentionMulti-head attention with KV sharing.
  • SwiGLU FFNFeed-forward network with gated activations.
  • Output HeadProjects hidden states to vocabulary logits.
[ 03 ]

Connect components

Click on a component's output handle (bottom) and drag to another's input handle (top). Otter validates the connection as soon as it's drawn — amber means attention needed, paper means valid.

Dimensions propagate through the graph topologically. A mismatch at any edge lights up the offending path.

[ 04 ]

Configure parameters

Click any component to open its configuration panel. Adjust dimensions, head counts, intermediate sizes.

hidden_dim = 4096
num_heads = 32
intermediate_dim = 14336
[ 05 ]

Export the model

When the architecture validates (no error count in the canvas footer), click Export. You get a ZIP with:

  • model.pyComplete PyTorch model definition.
  • config.jsonHuggingFace-compatible configuration.
  • train.pyExample training script.
  • requirements.txtPython dependencies.
  • README.mdUsage instructions.