Views
No views yet
allenai/Emo_1b14b_1T — Ai2's EMO (Emergent Modularity) MoE LM (1B active / 14B total, top-8 of 128 experts, 1 shared expert, midtrained on 1T tokens of OLMoE-mix-0924).g64 to keep the MoE router precision tighter — group_size=32 limits the quantization error on the gate projection, which matters more for MoE than for dense models).allenai/Emo_1b14b_1Tallenai/OLMoE-mix-09241@article{wang2026emo,
2 title = {EMO: Pretraining Mixture of Experts for Emergent Modularity},
3 author = {Wang and Bhagia and Min and others},
4 journal= {arXiv preprint arXiv:2605.06663},
5 year = {2026}
6}mlx-lmemo model type is not yet upstream in ml-explore/mlx-lm. Loading this model with stock pip install mlx-lm will fail with:ValueError: Model type emo not supported.mlx_lm/models/emo.py:1git clone https://github.com/ml-explore/mlx-lm.git
2cd mlx-lm
3# Add the emo.py model file (see "Architecture notes" below for the exact code)
4pip install -e .emo.py file used to produce this repo is shipped alongside this README for reference.1from mlx_lm import load, generate
2
3model, tokenizer = load("georgesZam/emo-1b14b-1t-4bit")
4out = generate(model, tokenizer, prompt="The capital of France is", max_tokens=80, verbose=True)python -m mlx_lm generate --model georgesZam/emo-1b14b-1t-4bit --prompt "Hello"num_shared_experts columns of the gate route through a separate softmax + top-k (here top-1 over 1 shared expert) and are concatenated to the standard top-k. Shared indices are offset by num_experts - num_shared_experts. This matches the original EmoSparseMoeBlock legacy path in modeling_emo.py.pre_attention_layernorm / pre_feedforward_layernorm. The MLX module mirrors these names so weights map 1-to-1 without a remap.switch_mlp tensors.allenai/Emo_1b14b_1T for terms.