Skip to page content
SAVRN
Search Plan a project

Open-weight model

looped-moe-329m-ablation-tensorboard

by Pengxiang Li pengxiang/looped-moe-329m-ablation-tensorboard

looped-moe-329m-ablation-tensorboard is an open-weight model from Pengxiang Li, released under Apache License 2.0. Its published files total 23.4 MB.

TensorBoard scalar logs and per-loop activation diagnostics for seven ablations of a 329M looped MoE transformer. Each run changes exactly one switch of the base recipe.

Parameters—
Context—
Weights23.4 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Pengxiang Li, published under apache-2.0, revision f24a6c7e64a8.

TensorBoard scalar logs and per-loop activation diagnostics for seven ablations of a 329M looped MoE transformer. Each run changes exactly one switch of the base recipe. - 10 layers, hidden 512, 8 heads / 4 KV heads - Global batch 1024 sequences x 1024 tokens, micro-batch 16, AdamW (0.9, 0.95), weight decay 0.1, gradient clip 1.0, bf16 - Loop residual scale gamma = lambda / (H sqrt(L)) and embedding re-injection g = lambda / (t sqrt(L)), with lambda = 0.5 frozen bpsegmentlen=0 runs all H loops as one graph and backpropagates once per step. It also removes the intermediate-loop losses and the extra optimizer steps of the segmented scheme. With H=3 the segmented scheme has a single segment…

Read Pengxiang Li's full model card

Looped MoE Transformer (329M) ablation logs

TensorBoard scalar logs and per-loop activation diagnostics for seven ablations of a 329M looped MoE transformer. Each run changes exactly one switch of the base recipe.

Base recipe

  • 10 layers, hidden 512, 8 heads / 4 KV heads
  • MoE: 30 routed + 2 shared experts, top-8 (shared included), expert width 512
  • The 10-layer block is applied H times
  • lr 2e-4, WSD schedule: 10% warmup, 10% linear decay to 0.1x
  • Global batch 1024 sequences x 1024 tokens, micro-batch 16, AdamW (0.9, 0.95), weight decay 0.1, gradient clip 1.0, bf16
  • Data: FineWeb-Edu (10B-token sample), SmolLM tokenizer
  • Loop residual scale gamma = lambda / (H sqrt(L)) and embedding re-injection g = lambda / (t sqrt(L)), with lambda = 0.5 frozen
  • RMSNorm (affine) on the MoE branch output
  • Segmented backprop: every 3 loops the model computes the loss, backpropagates, takes an optimizer step, and detaches the state (bp_segment_len=3)

Runs

Folder Change H Steps Status Final eval/loss
nobpk_H3 bp_segment_len 3 -> 0 3 10000 finished 3.2817
nobpk_H6 bp_segment_len 3 -> 0 6 10000 finished 3.2318
nobpk_H9_mb8 bp_segment_len 3 -> 0, micro-batch 8 9 10000 non-finite gradient at step 1643 -
nobpk_H12_mb8 bp_segment_len 3 -> 0, micro-batch 8 12 10000 non-finite gradient at step 8416 3.3431 (step 8000)
noresscale_H9 loop residual scale off (gamma = 1) 9 5000 finished 3.2039
noinject_H9 embedding re-injection off 9 5000 finished 3.2601
noffnrms_H9 RMSNorm on the MoE output off 9 5000 finished 3.2772

bp_segment_len=0 runs all H loops as one graph and backpropagates once per step. It also removes the intermediate-loop losses and the extra optimizer steps of the segmented scheme. With H=3 the segmented scheme has a single segment, so nobpk_H3 is mathematically the same as the base recipe at H=3.

H=9 and H=12 without segmentation ran out of memory at micro-batch 16 on 96 GB cards, so they use micro-batch 8 (global batch unchanged). MoE capacity is computed per micro-batch, so this is a second difference from the base recipe for these two runs.

The 5000-step runs keep the 10% / 10% WSD ratios, so each of them finishes its own decay at step 5000.

Files

  • events.out.tfevents.*: scalars. train/grad_norm is the global gradient norm before clipping. module_diag/*/act_norm_mean and act_var_mean are activation norm and variance of the attention and MoE branches. module_diag/*/grad_norm_mean is always 0: per-module gradient norms were not collected under FSDP2, so ignore it.
  • module_diag.csv: every 50 steps, per layer and per loop (cHxx), the branch activation norm, variance, effective rank, top singular value and mean cosine. The empty per-module gradient-norm columns were removed.
  • In nobpk_H9_mb8 and nobpk_H12_mb8, the training script restarted from a snapshot after the non-finite gradient (from step 1000 and step 8000), so those steps appear twice. The first pass is the result. The H=9 restart hit a second non-finite gradient at step 1852.

Notes

  • No baseline runs are included. The base recipe was trained on a different cluster. Compare against it after measuring the platform offset with nobpk_H3, which is equivalent to the base recipe.
  • Evaluation uses a held-out part of the same FineWeb-Edu pack. The loss is token-mean cross-entropy in nats.

Identity and Version

Repository
pengxiang/looped-moe-329m-ablation-tensorboard
Publisher
Pengxiang Li
Task
Not stated by the source
Modality
Other
Library
Not stated by the source
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
f24a6c7e64a8284f9a555e3c0b81925ef30f7c9b
First published
2026-09-25
Last updated
2026-09-25

Files and Weights

19 files, 23.4 MB in total.

Documentation1 file · 3.6 KB
Other17 files · 23.4 MB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
README.mdDocumentation3.6 KB —
nobpk_H12_mb8/events.out.tfevents.1790244572.run.0.0Other2.3 MB da478184f3b2
nobpk_H12_mb8/events.out.tfevents.1790276376.run.1.0Other7.6 KB 28e87f4fdae8
nobpk_H12_mb8/module_diag.csvOther3.1 MB —
nobpk_H3/events.out.tfevents.1790241584.run.0.0Other2.7 MB 252917bca036
nobpk_H3/module_diag.csvOther1.1 MB —
nobpk_H6/events.out.tfevents.1790242022.run.0.0Other2.7 MB ea31f8b5f0bd
nobpk_H6/module_diag.csvOther1.9 MB —
nobpk_H9_mb8/events.out.tfevents.1790244038.run.0.0Other443.9 KB 18faec43111b
nobpk_H9_mb8/events.out.tfevents.1790252820.run.1.0Other230.8 KB f9195c4c9242
nobpk_H9_mb8/events.out.tfevents.1790257363.run.2.0Other33.1 KB 4baab517f367
nobpk_H9_mb8/module_diag.csvOther720.6 KB —
noffnrms_H9/events.out.tfevents.1790264201.run.0.0Other1.4 MB 85c1eaae4769
noffnrms_H9/module_diag.csvOther1.4 MB —
noinject_H9/events.out.tfevents.1790258130.run.0.0Other1.4 MB ae96da3ceeaf
noinject_H9/module_diag.csvOther1.4 MB —
noresscale_H9/events.out.tfevents.1790244567.run.0.0Other1.4 MB 4c81d5c05dc4
noresscale_H9/module_diag.csvOther1.4 MB —
.gitattributesRepository1.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download from Pengxiang Li

Released by Pengxiang Li through its official repository on Hugging Face. Read the license.

Questions About looped-moe-329m-ablation-tensorboard

Can I use looped-moe-329m-ablation-tensorboard commercially?

Yes. looped-moe-329m-ablation-tensorboard is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.