Getting Started
This guide walks you through creating your first transformer architecture in Otter — from opening the canvas to exporting production-ready PyTorch code.
1Open the Canvas
Navigate to the Canvas page. You'll see a component library on the left and an empty canvas in the center.
💡 Tip: If this is your first visit, you'll see an onboarding guide that walks you through the basics.
2Add Components
Drag components from the library onto the canvas. Start with these essential building blocks:
- Embedding — Converts token IDs to dense vectors
- RMSNorm — Normalizes activations (Llama-style)
- GroupedQueryAttention — Multi-head attention with KV sharing
- SwiGLU — Feed-forward network with gated activations
- OutputHead — Projects hidden states to vocabulary logits
3Connect Components
Click on a component's output handle (bottom) and drag to another component's input handle (top). The connection will validate automatically — green means dimensions match, red means there's a mismatch.
⚡ Real-time validation: Otter propagates dimensions through your graph and catches mismatches before you export.
4Configure Parameters
Click on any component to open its configuration panel on the right. Here you can adjust:
hidden_dim— Hidden dimension size (e.g., 4096)num_heads— Number of attention headsintermediate_dim— FFN intermediate size
5Export Your Model
When your architecture is valid (green checkmark in the header), click Export to download a ZIP containing:
model.py— Complete PyTorch model definitionconfig.json— HuggingFace-compatible configurationtrain.py— Example training scriptrequirements.txt— Python dependenciesREADME.md— Usage instructions