nampdn-ai/mini-fineweb
Viewer • Updated • 291M • 22 • 27
We wanted to know if more heads with less dimension per head beats fewer heads with more dimension per head. So we deciced to train two slightly different models on about 500M tokens of MiniFineWeb.
LlamaForCausalLMHarley-ml/Dillionv2-1.3M5.13.1256682512642562500.0truesilufalse0.21e-061false4,002,048LlamaForCausalLMHarley-ml/Dillionv2-1.3M5.13.1256641512642562500.0truesilufalse0.21e-061false4,002,0481-1.040025621.0true3e-30.001650.01AdamW(0.9, 0.95)1e-8WSD0.0150.780.200.00.5float16true4311| Model | Final Val Loss | Arc Easy | HellaSwag | PiQA | Avg |
|---|---|---|---|---|---|
| Config A | 2.9821 | 29.71% | 27.39% | 52.94% | 36.68% |
| Config B | 3.0067 | 29.92% | 27.39% | 52.07% | 36.46% |
Config A barely edges out Config B on Avg - the two are close enough that at this scale, the choice mostly comes down to preference.
That said, we'd expect head dimension to matter more as models get bigger. For a >=200M-parameter model, we'd lean toward 64–128 dims per head rather than 32.
The two models are stored separately in different folders in this repository. To load them, use:
from transformers import AutoModelForCausalLM, AutoTokenizer
config_a = AutoModelForCausalLM.from_pretrained(
"fromziro/Width-Vs-Depth",
subfolder="config_a",
)
# load config b instead:
# config_b = AutoModelForCausalLM.from_pretrained(
# "fromziro/32D-Vs-64D",
# subfolder="config_b",
# )
tokenizer = AutoTokenizer.from_pretrained("Harley-ml/Dillionv2-1.3M")
Apache 2.0.
@misc{32d-vs-64d,
title = {32D-vs-64D Heads at Small Scale},
organization = {FromZero},
authors = {Paul Courneya, Jonathon LY, User110},
year = {2026},
url = {https://huggingface.co/fromziro/32D-Vs-64D]
}