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
Safetensors
Model size
1B params
Tensor type
F32
Β·
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support