experiment: name: p4_tiny_backbone seed: 1 mode: backbone_only model: name: tiny_p4 vocab_size: 128 d_model: 192 n_layers: 4 n_heads: 6 n_kv_heads: 2 ffn_width: 512 max_seq_len: 320 w: 64 ffn_w: 192 n_slots: 16 n_editor_heads: 2 r_max: 8 init: freeze_backbone: false data: kind: synthetic tokenizer: char splits_dir: data/splits/synthetic_v1 loss_span: all eval_splits: - dev_iid - dev_template - dev_depth - dev_compose train: batch_size: 64 seq_len: 320 steps: 6000 lr: 0.001 warmup: 200 weight_decay: 0.1 grad_clip: 1.0 log_every: 50 eval_every: 500 eval_batches: 10 ckpt_every: 2000 em_max_items: 600 model: name: tiny_p4 vocab_size: 128 d_model: 192 n_layers: 4 n_heads: 6 n_kv_heads: 2 ffn_width: 512 max_seq_len: 320 rope_theta: 10000.0 norm_eps: 1.0e-05 tie_embeddings: true init_std: 0.02 use_workspace: false w: 64 ffn_w: 192 n_slots: 16 n_editor_blocks: 2 n_editor_heads: 2 r_max: 8 eta_max: 0.25 clip_c: 1.0 clip_eps: 1.0e-06 readout_zero_init: true controller_hidden: 0 lambda_cost: 0.0 kappa_risk: 0.0 dense_writes: false resolved_train: batch_size: 64 seq_len: 320 steps: 6000 lr: 0.001 warmup: 200 weight_decay: 0.1 grad_clip: 1.0 log_every: 50 eval_every: 500 eval_batches: 10 ckpt_every: 2000