muon-model-test / README.md
Banaxi-Tech's picture
Upload Muon FineWeb-Edu checkpoint at 24,999,591,936 tokens
225a21a verified
|
Raw
History Blame Contribute Delete
2.55 kB
metadata
license: apache-2.0
language:
  - en
library_name: transformers
pipeline_tag: text-generation
datasets:
  - HuggingFaceFW/fineweb-edu
tags:
  - causal-lm
  - base-model
  - bananamind2-nano
  - muon
  - fineweb-edu
  - optimizer-comparison
  - custom-code
  - trust-remote-code

BananaMind 2 Nano Muon FineWeb-Edu Test

This experimental base model uses the exact BananaMind 2 Nano architecture and tokenizer. It was trained from scratch with stock PyTorch Muon on the hidden matrices and AdamW on the tied embedding and normalization weights, using only streamed FineWeb-Edu data for 24,999,591,936 custom-tokenizer tokens.

Architecture

Field Value
Parameters 9,968,128
Layers 10
Hidden size 256
Intermediate size 768
Query heads 4
KV heads 2
Head dimension 64
Context 4,096
Vocabulary 8,192
Embeddings Tied
Attention GQA, pre-RoPE QK norm
MLP SwiGLU
Position encoding RoPE, theta 100,000

Training

Field Value
Dataset HuggingFaceFW/fineweb-edu / sample-100BT
Dataset revision 87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
Data access Streaming
Hidden-matrix optimizer PyTorch Muon (adjust_lr_fn="original")
Muon peak learning rate 0.05
Muon momentum 0.95, Nesterov
Muon Newton-Schulz steps 5
Embedding/norm optimizer AdamW
AdamW peak learning rate 0.003
AdamW betas (0.9, 0.95)
Global batch 132 sequences
Tokens per optimizer step 540,672
Optimizer steps 46,238
Warmup 1,750 steps
Schedule Warmup-stable-decay, final 15% cosine cooldown
Weight decay 0.1, then 0.01 after 12,000,000,000 tokens
Precision bfloat16 autocast, float32 master weights
Hardware 8 x NVIDIA RTX PRO 6000 Blackwell Server Edition
Seed 1337

The original Nano effective batch was 12 micro-batches x 11 accumulation steps = 132 sequences. This distributed run preserves that exact global batch. Ranks receive 16 or 17 sequences and scale their local mean losses so DDP's averaged gradient is the true 132-sequence global mean.

Usage

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Banaxi-Tech/muon-model-test"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    dtype=torch.bfloat16,
    device_map="auto",
)

This is a base model, not an instruction-tuned chat model.