Base Released Apache-2.0

BananaMind-2-MoE

A sparse mixture-of-experts model: 25.1M total parameters, about 2.0M active per token.

BananaMind-2-MoE is a sparse decoder-only causal language model trained from scratch on a 30B-token curriculum. It routes each token to one of 48 experts per layer, so only about 1,985,152 parameters are active per token.

Total parameters
25,086,592
Active per token
~1,985,152
Context length
4,096 tokens

Specification

Architecture

Total parameters
25,086,592
Active parameters per token
approximately 1,985,152
Architecture
BananaMind2MoE decoder-only Transformer
Routing
Sparse top-1, no capacity drops
Experts per layer
48
Active experts per token
1
Layers
8
Hidden size
128
Expert intermediate size
160
Attention heads
4
KV heads
2
Head dimension
32
Attention style
Grouped-query attention with QK norm
Expert MLP
SwiGLU
Position embeddings
RoPE, theta 100,000
Normalization
RMSNorm
Vocabulary size
8,192
Context length
4,096
Embeddings
Tied input/output
HF architecture
BananaMind2MoEForCausalLM

Active parameters count the tied embedding and output matrix, every attention and router parameter, normalization parameters, and one selected expert per layer.

Evaluation

Benchmark results

Self-reported results
Benchmark Result
Average34.90
ARC Easy34.64
PIQA56.37
ARC Challenge21.16
HellaSwag27.45

Scores produced with lm_eval, all using acc_norm,none. The average is the mean of ARC Easy, PIQA, ARC Challenge, and HellaSwag.

Training

Tokenizer and training run

The same custom 8,192-token byte-level BPE tokenizer as BananaMind-2-Mini, with digit-aware pre-tokenization so numbers stay as separate digit tokens.

The 30B-token run used a progressive curriculum, with router balance and router z-losses added to the objective to keep expert usage spread out.

Tokens seen
29,999,726,592
Final optimizer step
55,485
Sequence length
4,096
Effective batch
132 sequences
Tokens per optimizer step
540,672
Optimizer
AdamW, betas 0.9 / 0.95
Peak learning rate
2.3e-3
Router balance loss
0.01
Router z-loss
1e-3

Getting started

Load BananaMind-2-MoE

This repository ships custom architecture files, so both the tokenizer and the model need trust_remote_code=True. This is a base model: give it a continuation-style prompt rather than an instruction.

Python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "BananaMind/BananaMind-2-MoE"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
model.eval()

inputs = tokenizer("The capital of France is", return_tensors="pt")
output = model.generate(**inputs, max_new_tokens=40, do_sample=False)

print(tokenizer.decode(output[0], skip_special_tokens=True))

Licensing

License and use

BananaMind-2-MoE is released under Apache-2.0. Licenses differ between BananaMind models, so check the license on each Hugging Face repository before use. The model has not received dedicated safety alignment and can produce incorrect, biased, or otherwise undesirable text — do not rely on it for high-stakes decisions.