allenai/EMO
EMO: Pretraining Mixture of Experts for Emergent Modularity
This page is an index for the model checkpoints released alongside EMO: Pretraining Mixture of Experts for Emergent Modularity. The repository at allenai/EMO does not host model weights — pick the checkpoint you want from the table below.
Released models
Main release
Ablation: EMO at smaller scale
Architecture-matched standard MoE baselines
These share architecture and data with the EMO models above; only the training objective differs (no document-level expert pool constraint).
Memory-matched baselines (Figure 1)
Smaller models trained from scratch at fixed memory budgets, used as comparison points for EMO expert subsets.
EMO-anneal ablation (Appendix B.4)
Tests whether modularity can be induced after pretraining by annealing a standard MoE under the EMO objective.
Quick start
All checkpoints require trust_remote_code=True since they use custom modeling code from the ryanyxw/transformers fork. Replace model_id with the checkpoint you want from the table above.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "allenai/Emo_1b14b_1T" # main EMO release
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
inputs = tokenizer(["Language modeling is "], return_tensors="pt", return_token_type_ids=False)
out = model.generate(**inputs, max_new_tokens=100, do_sample=True, temperature=1.0, top_p=0.7)
print(tokenizer.batch_decode(out, skip_special_tokens=True)[0])Citation
@article{wang2026emo,
title = {EMO: Pretraining Mixture of Experts for Emergent Modularity},
author = {Wang, Ryan and Bhagia, Akshita and Min, Sewon},
year = {2026},
url = {https://arxiv.org/abs/2605.06663}
}Links
- Paper: https://arxiv.org/abs/2605.06663
- Code: https://github.com/allenai/EMO
- Visualization: https://emovisualization.netlify.app
