Base Released Apache-2.0

BananaMind-2-Medium

A 49.6M-parameter base model trained on a 50B-token curriculum.

BananaMind-2-Medium is a decoder-only causal language model trained from scratch on a 50B-token curriculum, with a 3,072-token context window and a custom 12,288-token digit-aware byte-level BPE tokenizer.

Parameters
49,559,552
Context length
3,072 tokens
Training tokens
50.0B completed

Specification

Architecture

Parameters
49,559,552
Architecture
BananaMind2Medium decoder-only Transformer
Layers
12
Hidden size
512
Intermediate size
1,920
Attention heads
8
KV heads
2
Head dimension
64
Attention style
Grouped-query attention with QK norm
MLP
SwiGLU
Position embeddings
RoPE, theta 100,000
Normalization
RMSNorm, epsilon 1e-6
Vocabulary size
12,288
Context length
3,072
Embeddings
Tied input/output
Weight format
safetensors
HF architecture
BananaMind2MediumForCausalLM

Evaluation

Benchmark results

Self-reported results
Benchmark Result
Average39.27
ARC Easy43.81
ARC Challenge25.34
PIQA61.86
HellaSwag32.43
ArithMark 2.028.20
BananaMind Base Bench 1.11034 Elo

Scores produced with lm_eval and the official ArithMark 2.0 script. ARC Easy, ARC Challenge, PIQA, and HellaSwag use acc_norm,none. The Base Bench 1.1 value is taken from the BananaMind Base Bench leaderboard.

Comparison chart of BananaMind 2 Medium against other small base models on HellaSwag, ARC Easy, ARC Challenge, PIQA, and ArithMark 2.0.
BananaMind-2-Medium compared with other small base models.

Training

Tokenizer and training run

A custom 12,288-token byte-level BPE tokenizer with NFKC normalization and digit-aware pre-tokenization, trained on representative FineWeb-Edu, DCLM, Cosmopedia-v2, FineMath-4+, and NPSet-2 Python educational data.

The 50B-token run used a capacity-aware curriculum across five phases rather than sampling the aggregate mixture from the first token.

Tokens seen
49,999,749,120
Final optimizer step
90,421
Sequence length
3,072
Effective batch
180 sequences
Tokens per optimizer step
552,960
Optimizer
AdamW, betas 0.9 / 0.95
Peak learning rate
1.8e-3
LR schedule
Warmup-stable-decay with cosine decay

Getting started

Load BananaMind-2-Medium

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-Medium"

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))

Instruction-tuned variant

BananaMind-2-Medium-Chat

The same 49,559,552-parameter architecture and 3,072-token context, instruction-tuned on SmolTalk. It scores 787 Elo overall on BananaMind Instruct Bench 1.1.

Instruct Bench and Base Bench are separate benchmarks with different tasks and scoring. Their Elo values are not directly comparable.

Licensing

License and use

BananaMind-2-Medium 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.