--- license: apache-2.0 model_name: Sorbet-v2-25M pipeline_tag: text-generation tags: - qwen2 - 25M language: - en datasets: - epfml/FineWeb-HQ - HuggingFaceTB/finemath - mlfoundations/dclm-baseline-1.0-parquet library_name: transformers ---
Sorbet V2 Header

Sorbet v2 25M

25M-parameter Qwen2-style decoder LM, warm-started from Sorbet-25M and continued-trained in two runs.

## Architecture graph Architecture graph for CodeSoft/sorbet-v2-25m. Open in hfviewer ## Architecture Identical to Sorbet-25M: stock Qwen2 throughout, no custom code paths, natively supported by both `transformers` and `llama.cpp`. | | | |---|---| | Params | 25,185,920 (~87% non-embedding) | | Layers / hidden | 14 / 384 | | Attention | GQA 6 heads / 2 KV heads, RoPE θ=100k | | FFN | 1024 (SwiGLU) | | Context | 4096 | | Vocab | 8,192 custom byte-level BPE (tied embeddings) | | Precision | bf16 | ## Training v2 continues the v1 checkpoint through two training runs: | Leg | Data mix (tokens) | LR schedule | |---|---|---| | cpt2 | fineweb-edu 70% / infiwebmath 10% / DCLM-baseline 20%, 0.8B tok | cosine, 8-bit AdamW | | **v2-final** | FineWeb-HQ 65% / DCLM-baseline 20% / FineMath-4+ 15%, 1.7B tok | cosine peak 1e-4, fp32 AdamW | Block-shuffled at 131,072 tok/step. ## Benchmarks All numbers zero-shot via lm-evaluation-harness, bf16, identical settings across checkpoints. | Task | n | Random | acc | acc_norm | |---|---|---|---|---| | HellaSwag | 10,042 | 25% | 26.55 ±0.44 | 26.63 ±0.44 | | ARC-easy | 2,376 | ~25% | 30.30 ±0.94 | 29.92 ±0.94 | | ARC-challenge | 1,172 | ~25% | 18.60 ±1.14 | 22.44 ±1.22 | | PIQA | 1,838 | 50% | 54.52 ±1.16 | 53.32 ±1.16 | | ArithMark-3.0 | 1,000 | 25% | 32.90 ±1.48 | 33.00 ±1.49 | Notes: - Every score is at or above the Sorbet-25M baseline within error bars. - ArithMark-3.0 (`AxiomicLabs/Arithmark-3.0`) remains the strongest relative result (+8 pts over random), consistent with the math share of the pretraining mix. - ARC-challenge raw accuracy sits below chance due to a length bias in unnormalized scores; acc_norm is the meaningful metric there. ## Usage ```python from transformers import AutoModelForCausalLM, AutoTokenizer repo = "CodeSoft/sorbet-v2-25m" model = AutoModelForCausalLM.from_pretrained(repo, dtype="bfloat16").to("cuda") tok = AutoTokenizer.from_pretrained(repo, subfolder="tokenizer") ids = tok("Once upon a time", return_tensors="pt").input_ids.cuda() print(tok.decode(model.generate(ids, max_new_tokens=64)[0])) ``` ## Limitations Expect shallow world knowledge and weak performance on knowledge-heavy benchmarks due to the model's small parameter count and limited training budget. ## License Apache-2.0.