Text Generation
Transformers
Safetensors
English
bananamind2_nano
causal-lm
base-model
bananamind2-nano
muon
fineweb-edu
optimizer-comparison
custom-code
trust-remote-code
custom_code
Instructions to use Banaxi-Tech/muon-model-test with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Banaxi-Tech/muon-model-test with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Banaxi-Tech/muon-model-test", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Banaxi-Tech/muon-model-test", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Banaxi-Tech/muon-model-test with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Banaxi-Tech/muon-model-test" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/muon-model-test", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Banaxi-Tech/muon-model-test
- SGLang
How to use Banaxi-Tech/muon-model-test with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Banaxi-Tech/muon-model-test" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/muon-model-test", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Banaxi-Tech/muon-model-test" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/muon-model-test", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Banaxi-Tech/muon-model-test with Docker Model Runner:
docker model run hf.co/Banaxi-Tech/muon-model-test
| 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 | |
| ```python | |
| 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. | |