Download open_mythos/variants.py from Jessedbrown/OpenMythos: direct link, hf CLI and curl.
- Browser
- Download file 5.39 kB
-
https://huggingface.co/Jessedbrown/OpenMythos/resolve/main/open_mythos/variants.py
- Command line
-
hf download hf://Jessedbrown/OpenMythos/open_mythos/variants.py
-
curl -L -o variants.py https://huggingface.co/Jessedbrown/OpenMythos/resolve/main/open_mythos/variants.py
5.39 kB
| from open_mythos.main import MythosConfig | |
| # Parameter budget breakdown per variant: | |
| # total ≈ embed + prelude/coda dense blocks + recurrent MLA + MoE | |
| # MoE = 3 * dim * expert_dim * (n_experts + n_shared * n_experts_per_tok) | |
| # expert_dim is solved from the residual budget after all other terms. | |
| def mythos_1b() -> MythosConfig: | |
| """1B parameter config. Small research/fine-tuning model. dim=2048, 64 experts, 16 loop iters, 4k context.""" | |
| return MythosConfig( | |
| vocab_size=32000, | |
| dim=2048, | |
| n_heads=16, | |
| n_kv_heads=4, | |
| max_seq_len=4096, | |
| max_loop_iters=16, | |
| prelude_layers=2, | |
| coda_layers=2, | |
| attn_type="mla", | |
| kv_lora_rank=256, | |
| q_lora_rank=512, | |
| qk_rope_head_dim=32, | |
| qk_nope_head_dim=64, | |
| v_head_dim=64, | |
| n_experts=64, | |
| n_shared_experts=2, | |
| n_experts_per_tok=4, | |
| expert_dim=2048, | |
| act_threshold=0.99, | |
| rope_theta=500000.0, | |
| lora_rank=8, | |
| ) | |
| def mythos_3b() -> MythosConfig: | |
| """3B parameter config. Compact inference model. dim=3072, 64 experts, 16 loop iters, 4k context.""" | |
| return MythosConfig( | |
| vocab_size=32000, | |
| dim=3072, | |
| n_heads=24, | |
| n_kv_heads=6, | |
| max_seq_len=4096, | |
| max_loop_iters=16, | |
| prelude_layers=2, | |
| coda_layers=2, | |
| attn_type="mla", | |
| kv_lora_rank=384, | |
| q_lora_rank=768, | |
| qk_rope_head_dim=32, | |
| qk_nope_head_dim=96, | |
| v_head_dim=96, | |
| n_experts=64, | |
| n_shared_experts=2, | |
| n_experts_per_tok=4, | |
| expert_dim=4096, | |
| act_threshold=0.99, | |
| rope_theta=500000.0, | |
| lora_rank=8, | |
| ) | |
| def mythos_10b() -> MythosConfig: | |
| """10B parameter config. Mid-scale general model. dim=4096, 128 experts, 24 loop iters, 8k context.""" | |
| return MythosConfig( | |
| vocab_size=32000, | |
| dim=4096, | |
| n_heads=32, | |
| n_kv_heads=8, | |
| max_seq_len=8192, | |
| max_loop_iters=24, | |
| prelude_layers=2, | |
| coda_layers=2, | |
| attn_type="mla", | |
| kv_lora_rank=512, | |
| q_lora_rank=1024, | |
| qk_rope_head_dim=64, | |
| qk_nope_head_dim=128, | |
| v_head_dim=128, | |
| n_experts=128, | |
| n_shared_experts=2, | |
| n_experts_per_tok=4, | |
| expert_dim=5632, | |
| act_threshold=0.99, | |
| rope_theta=500000.0, | |
| lora_rank=16, | |
| ) | |
| def mythos_50b() -> MythosConfig: | |
| """50B parameter config. Large reasoning model. dim=6144, 256 experts, 32 loop iters, 8k context.""" | |
| return MythosConfig( | |
| vocab_size=32000, | |
| dim=6144, | |
| n_heads=48, | |
| n_kv_heads=8, | |
| max_seq_len=8192, | |
| max_loop_iters=32, | |
| prelude_layers=3, | |
| coda_layers=3, | |
| attn_type="mla", | |
| kv_lora_rank=512, | |
| q_lora_rank=1536, | |
| qk_rope_head_dim=64, | |
| qk_nope_head_dim=128, | |
| v_head_dim=128, | |
| n_experts=256, | |
| n_shared_experts=4, | |
| n_experts_per_tok=4, | |
| expert_dim=9728, | |
| act_threshold=0.99, | |
| rope_theta=500000.0, | |
| lora_rank=32, | |
| ) | |
| def mythos_100b() -> MythosConfig: | |
| """100B parameter config. Frontier-class model. dim=8192, 256 experts, 32 loop iters, 1M context, 128k output.""" | |
| return MythosConfig( | |
| vocab_size=32000, | |
| dim=8192, | |
| n_heads=64, | |
| n_kv_heads=8, | |
| max_seq_len=1000000, | |
| max_loop_iters=32, | |
| prelude_layers=4, | |
| coda_layers=4, | |
| attn_type="mla", | |
| kv_lora_rank=512, | |
| q_lora_rank=2048, | |
| qk_rope_head_dim=64, | |
| qk_nope_head_dim=128, | |
| v_head_dim=128, | |
| n_experts=256, | |
| n_shared_experts=4, | |
| n_experts_per_tok=8, | |
| expert_dim=13568, | |
| act_threshold=0.99, | |
| rope_theta=1000000.0, | |
| lora_rank=64, | |
| max_output_tokens=131072, | |
| ) | |
| def mythos_500b() -> MythosConfig: | |
| """500B parameter config. Ultra-scale MoE model. dim=12288, 512 experts, 48 loop iters, 1M context, 128k output.""" | |
| return MythosConfig( | |
| vocab_size=100000, | |
| dim=12288, | |
| n_heads=96, | |
| n_kv_heads=16, | |
| max_seq_len=1000000, | |
| max_loop_iters=48, | |
| prelude_layers=4, | |
| coda_layers=4, | |
| attn_type="mla", | |
| kv_lora_rank=1024, | |
| q_lora_rank=3072, | |
| qk_rope_head_dim=64, | |
| qk_nope_head_dim=128, | |
| v_head_dim=128, | |
| n_experts=512, | |
| n_shared_experts=8, | |
| n_experts_per_tok=8, | |
| expert_dim=23040, | |
| act_threshold=0.99, | |
| rope_theta=1000000.0, | |
| lora_rank=128, | |
| max_output_tokens=131072, | |
| ) | |
| def mythos_1t() -> MythosConfig: | |
| """1T parameter config. Maximum scale. dim=16384, 512 experts, 64 loop iters, 1M context, 128k output.""" | |
| return MythosConfig( | |
| vocab_size=100000, | |
| dim=16384, | |
| n_heads=128, | |
| n_kv_heads=16, | |
| max_seq_len=1000000, | |
| max_loop_iters=64, | |
| prelude_layers=6, | |
| coda_layers=6, | |
| attn_type="mla", | |
| kv_lora_rank=1024, | |
| q_lora_rank=4096, | |
| qk_rope_head_dim=64, | |
| qk_nope_head_dim=128, | |
| v_head_dim=128, | |
| n_experts=512, | |
| n_shared_experts=8, | |
| n_experts_per_tok=8, | |
| expert_dim=34560, | |
| act_threshold=0.99, | |
| rope_theta=2000000.0, | |
| lora_rank=256, | |
| max_output_tokens=131072, | |
| ) | |