Instructions to use HomeBrewedLabs/metallum-1b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use HomeBrewedLabs/metallum-1b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="HomeBrewedLabs/metallum-1b", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("HomeBrewedLabs/metallum-1b", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use HomeBrewedLabs/metallum-1b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "HomeBrewedLabs/metallum-1b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HomeBrewedLabs/metallum-1b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/HomeBrewedLabs/metallum-1b
- SGLang
How to use HomeBrewedLabs/metallum-1b 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 "HomeBrewedLabs/metallum-1b" \ --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": "HomeBrewedLabs/metallum-1b", "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 "HomeBrewedLabs/metallum-1b" \ --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": "HomeBrewedLabs/metallum-1b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use HomeBrewedLabs/metallum-1b with Docker Model Runner:
docker model run hf.co/HomeBrewedLabs/metallum-1b
Metallum-1B
A 1.0B-parameter ML/LLM-engineering specialist, pretrained from random initialization on a single RTX 5090 β 16.0B tokens in ~13.5 days including gates and recoveries β then one bounded knowledge/format SFT stage. Not a general chatbot. By Home Brewed Labs (project codename MetaLLM).
The engineering core of the project is measurement discipline: every training stage was gated by frozen batteries with exact checkpoint identity, replay accounting (β1.04B replayed tokens from two hardware incidents, fully receipted), independent adversarial review of evaluation machinery, and a sealed never-trained-on final holdout (H9) reserved for a single one-time qualification.
Architecture
26-layer decoder, d_model 1792, GQA 28Q/14KV, SwiGLU (d_ff 4864), RMSNorm pre-norm + QK-norm + z-loss, RoPE ΞΈ=500k with NoPE every 4th layer (length-generalizing retrieval heads), document-masked attention, 40k byte-level BPE with FIM sentinels, 2048 native context. Muon (2D) + AdamW, WSD schedule, curriculum with short-sequence early phases.
Loading
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("HomeBrewedlabs/metallum-1b",
trust_remote_code=True)
tok = AutoTokenizer.from_pretrained("HomeBrewedlabs/metallum-1b")
trust_remote_code=True is required: this is a custom architecture
(QK-norm, NoPE interleave, document masking). Do not map to a stock
Llama config β that silently drops QK-norm/NoPE and produces a different
model than the one measured below. Stock GGUF/vLLM converters reject this
architecture by design; a faithful llama.cpp port is on the roadmap.
Evaluation (champion s2b075, frozen batteries, repeated where noted)
| Capability | Metric | Metallum-1B | Qwen3-1.7B | Qwen3-0.6B | SmolLM2-1.7B |
|---|---|---|---|---|---|
| In-domain ML-eng problems | ineval_v1, frozen 150-task exec suite | 7/150 | 7/150 | 3/150 | 0/150 |
| In-domain code (internal suite) | code_v2 40-task, 2 exact repeats | 32/40 (disclosure: known training overlap) | β | β | β |
| Long-context retrieval | RULER (90) / needles D1024+D2032 (18) | 86/90 and 18/18 | β | β | β |
| Base LM efficiency | held-out ML-arXiv BPC | 0.7276 | β | β | β |
| Final unseen generalization | H9 sealed holdout BPC (one-time run) | 1.3953 | β | β | β |
All numbers were produced by frozen evaluators with sealed checkpoint identity; the ineval suite was used for model selection during development (selection-aware caveat), which is why the untouched H9 result is the number that matters for release claims.
Structured output: by decoding, not by hope
Base weights score 0/60 on a strict whole-output format suite (JSON
schema / tool-call / MCQ-letter), and three bounded SFT recipes plus a
ReST-EM screen all failed to move that (all receipted). This model therefore
ships with decode-time structure enforcement: serve_metallum.py
(included) constrains generation with a token-level JSON grammar +
schema-forced keys, and scores 60/60 on the same frozen suite. If you
consume the raw weights without the wrapper, expect prose, not JSON.
python serve_metallum.py --port 8399 # localhost endpoint: /generate, modes free|json|tool|mcq
Intended use
ML/LLM-engineering assistant: PyTorch/training scaffolding, concept explanation, long-context retrieval over technical docs, structured-output endpoints via the wrapper. Out of scope: general chat, non-ML factual QA, general-purpose coding, safety-critical use, autonomous code execution.
Honest limitations
- neural_ops floor exception: this checkpoint scores 4/5 on the internal neural-ops category vs the 5/5 preregistered floor. The exception was adjudicated explicitly by the owner; it is disclosed, not hidden.
- MCF (250q multiple-choice) is permanently non-promotable: the teacher generation prompts embedded real MCF items, so no MCF number from this lineage is valid evidence. Do not report one.
- ineval is selection-aware: 7/150 was measured on a suite used during development. The sealed H9 result (1.3953 BPC on 400k post-cutoff Wikipedia characters, single run, contamination-verified at 0.0099% shingle containment) is the generalization claim.
- Free generation makes local factual slips; verify specifics.
- No preference/safety alignment; no RLHF.
- Format behavior requires the constrained decoder (above).
Training data
Pretraining: 19.399B effective tokens (8.473B unique): 53.6% code, 19.6% knowledge, 15.2% reasoning, 11.6% math. 1.24% (240.6M tokens) is provider-teacher-derived; full lineage map is maintained by the authors. SFT (12,496 rows): 40% locally self-hosted open-teacher MCQs (qwen2.5-coder:14b, Apache-2.0), 12% self-generated synthetic retrieval rows, 48% provider-teacher-derived replay (disposition: owner written-rights determination, on file and available on request).
Attribution β Stack Exchange (stack_ml_edu, 2.973B pack tokens, 15.3% of
the pack): CC BY-SA 4.0. Attribution is owed to Stack Exchange contributors,
and the share-alike obligation attaches to that portion of the training data.
License
Apache-2.0 (model weights + code). See the attribution note above regarding training-data share-alike obligations.
Citation
Technical report in preparation.
- Downloads last month
- 96