Text Generation
Transformers
Safetensors
GGUF
English
olmo2
base-model
from-scratch
reproducible-training
Eval Results (legacy)
Instructions to use tarpous/zero-125m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tarpous/zero-125m with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="tarpous/zero-125m")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("tarpous/zero-125m") model = AutoModelForCausalLM.from_pretrained("tarpous/zero-125m", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use tarpous/zero-125m with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf tarpous/zero-125m:F16 # Run inference directly in the terminal: llama cli -hf tarpous/zero-125m:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf tarpous/zero-125m:F16 # Run inference directly in the terminal: llama cli -hf tarpous/zero-125m:F16
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf tarpous/zero-125m:F16 # Run inference directly in the terminal: ./build/bin/llama cli -hf tarpous/zero-125m:F16
Use Docker
docker model run hf.co/tarpous/zero-125m:F16
- Llama new
- LM Studio
- Jan
- vLLM
How to use tarpous/zero-125m with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "tarpous/zero-125m" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tarpous/zero-125m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/tarpous/zero-125m:F16
- SGLang
How to use tarpous/zero-125m 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 "tarpous/zero-125m" \ --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": "tarpous/zero-125m", "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 "tarpous/zero-125m" \ --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": "tarpous/zero-125m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Ollama
How to use tarpous/zero-125m with Ollama:
ollama run hf.co/tarpous/zero-125m:F16
- Unsloth Desktop
- Docker Model Runner
How to use tarpous/zero-125m with Docker Model Runner:
docker model run hf.co/tarpous/zero-125m:F16
- Lemonade
How to use tarpous/zero-125m with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull tarpous/zero-125m:F16
Run and chat with the model
lemonade run user.zero-125m-F16
List all available models
lemonade list
- Atomic Chat
Publish v1.0.0 model card and technical report
Browse filesAdds the audited technical report, minimal llama.cpp/Pi demo, scientific figures, publication evidence, citation metadata, and paper license. Replaces superseded presentation assets.
- .gitattributes +1 -0
- CITATION.cff +15 -0
- LICENSE +1 -1
- LICENSE-PAPER +17 -0
- README.md +133 -92
- assets/pi-demo-evidence.json +33 -0
- assets/zero-125m-serving-demo.gif +0 -0
- assets/zero-125m-serving-demo.png +0 -0
- evaluation/presentation-summary.md +0 -23
- evaluation/publication-results.json +281 -0
- evaluation/publication-summary.md +12 -0
- figures/architecture-study.png +0 -0
- figures/dense-ablations.png +0 -0
- figures/fineweb-evaluation.png +0 -0
- figures/fineweb-training-loss.png +0 -0
- figures/fineweb-training.png +0 -0
- figures/judge-calibration.png +0 -0
- lm-from-zero-technical-report.pdf +3 -0
.gitattributes
CHANGED
|
@@ -35,3 +35,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
gguf/zero-125m-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 37 |
gguf/zero-125m-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
gguf/zero-125m-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 37 |
gguf/zero-125m-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
lm-from-zero-technical-report.pdf filter=lfs diff=lfs merge=lfs -text
|
CITATION.cff
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
cff-version: 1.2.0
|
| 2 |
+
message: "If you use this work, please cite it as below."
|
| 3 |
+
title: "lm-from-zero: A Local-First, Reproducible Language-Model Pipeline from Tokenization to Serving"
|
| 4 |
+
type: software
|
| 5 |
+
authors:
|
| 6 |
+
- name: tarpous
|
| 7 |
+
version: 1.0.0
|
| 8 |
+
date-released: 2026-08-10
|
| 9 |
+
license: Apache-2.0
|
| 10 |
+
repository-code: "https://github.com/tarpous/lm-from-zero"
|
| 11 |
+
url: "https://huggingface.co/tarpous/zero-125m"
|
| 12 |
+
abstract: >-
|
| 13 |
+
A local-first language-model pipeline covering deterministic byte-level BPE,
|
| 14 |
+
checked data shards, dense OLMo2, Mamba-2, masked diffusion, pretraining,
|
| 15 |
+
post-training, evaluation, export, quantization, and local serving.
|
LICENSE
CHANGED
|
@@ -180,7 +180,7 @@
|
|
| 180 |
To apply the Apache License to your work, attach the following
|
| 181 |
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
replaced with your own identifying information. (Don't include
|
| 183 |
-
the brackets!)
|
| 184 |
comment syntax for the file format. We also recommend that a
|
| 185 |
file or class name and description of purpose be included on the
|
| 186 |
same "printed page" as the copyright notice for easier
|
|
|
|
| 180 |
To apply the Apache License to your work, attach the following
|
| 181 |
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
comment syntax for the file format. We also recommend that a
|
| 185 |
file or class name and description of purpose be included on the
|
| 186 |
same "printed page" as the copyright notice for easier
|
LICENSE-PAPER
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Creative Commons Attribution 4.0 International
|
| 2 |
+
|
| 3 |
+
Copyright 2026 tarpous
|
| 4 |
+
|
| 5 |
+
The technical report and publication figures in this repository are licensed
|
| 6 |
+
under the Creative Commons Attribution 4.0 International Public License.
|
| 7 |
+
|
| 8 |
+
You are free to share and adapt this material for any purpose, including
|
| 9 |
+
commercially, provided that you give appropriate credit, provide a link to the
|
| 10 |
+
license, and indicate whether changes were made. No additional restrictions
|
| 11 |
+
may be applied that legally restrict others from doing anything the license
|
| 12 |
+
permits.
|
| 13 |
+
|
| 14 |
+
The complete legal code is available at:
|
| 15 |
+
https://creativecommons.org/licenses/by/4.0/legalcode
|
| 16 |
+
|
| 17 |
+
SPDX-License-Identifier: CC-BY-4.0
|
README.md
CHANGED
|
@@ -1,117 +1,158 @@
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
-
language:
|
| 4 |
-
- en
|
| 5 |
library_name: transformers
|
| 6 |
pipeline_tag: text-generation
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
tags:
|
| 8 |
-
-
|
| 9 |
-
-
|
| 10 |
-
-
|
| 11 |
-
-
|
| 12 |
-
-
|
| 13 |
-
- llama.cpp
|
| 14 |
---
|
| 15 |
|
| 16 |
# zero-125m
|
| 17 |
|
| 18 |
-
`zero-125m` is a
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
-
query attention, Q/K normalization, RMSNorm, SwiGLU, and untied output head.
|
| 34 |
-
- **Tokenizer:** project-trained 32K byte-level BPE; the tokenizer files in
|
| 35 |
-
this repository are required for Transformers use.
|
| 36 |
-
- **Training data:** a deterministic shard build from
|
| 37 |
-
[`HuggingFaceFW/fineweb-edu`](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu),
|
| 38 |
-
`sample-10BT` revision `87f09149ef4734204d70ed1d046ddc9ca3f2b8f9`
|
| 39 |
-
(ODC-By). Raw training data is not redistributed here.
|
| 40 |
-
- **Training lineage:** see [`export_manifest.json`](export_manifest.json) for
|
| 41 |
-
the source checkpoint, parameter count, tokenizer hash, model hash, and
|
| 42 |
-
fp32 export-parity result.
|
| 43 |
-
|
| 44 |
-
## Files and verification
|
| 45 |
|
| 46 |
-
|
| 47 |
-
|---|---|
|
| 48 |
-
| `model.safetensors` and configuration/tokenizer files | Standard Transformers package |
|
| 49 |
-
| `gguf/zero-125m-f16.gguf` | F16 GGUF conversion |
|
| 50 |
-
| `gguf/zero-125m-q8_0.gguf` | Q8_0 GGUF for local llama.cpp serving |
|
| 51 |
-
| `gguf/gguf-manifest.json` | Checksums, converter revision, tokenizer parity, and CUDA smoke evidence |
|
| 52 |
-
| `evaluation/` | Fixed-window validation/test evidence and generated summary |
|
| 53 |
-
| `figures/` | Generated FineWeb training and evaluation figures |
|
| 54 |
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
| 57 |
|
| 58 |
-
|
|
|
|
|
|
|
| 59 |
|
| 60 |
-
Transformers
|
| 61 |
|
| 62 |
```python
|
|
|
|
| 63 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 64 |
|
| 65 |
model_id = "tarpous/zero-125m"
|
| 66 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
| 67 |
-
model = AutoModelForCausalLM.from_pretrained(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
```
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
```
|
| 78 |
|
| 79 |
-
|
| 80 |
-
runtime conversion details and the exact pre-tokenizer compatibility mapping
|
| 81 |
-
are documented in the [source repository](https://github.com/tarpous/lm-from-zero/blob/b27bb9ce063a26c8606bd35207a2f19060e1cbc8/docs/gguf-conversion.md).
|
| 82 |
-
|
| 83 |
-
## Evaluation
|
| 84 |
-
|
| 85 |
-
Evaluation uses fixed, non-wrapping held-out FineWeb token windows. The raw
|
| 86 |
-
machine-readable records are in
|
| 87 |
-
[`evaluation/zero-125m-validation.jsonl`](evaluation/zero-125m-validation.jsonl)
|
| 88 |
-
and [`evaluation/zero-125m-test.jsonl`](evaluation/zero-125m-test.jsonl).
|
| 89 |
-
The corresponding generated table is
|
| 90 |
-
[`evaluation/presentation-summary.md`](evaluation/presentation-summary.md).
|
| 91 |
-
|
| 92 |
-
These files are the canonical evaluation evidence. They bind metrics to the
|
| 93 |
-
exact tokenizer and shard manifests; do not compare them directly with results
|
| 94 |
-
that use a different data split, tokenizer, token budget, or evaluation
|
| 95 |
-
protocol.
|
| 96 |
-
|
| 97 |
-
## Intended use and limitations
|
| 98 |
-
|
| 99 |
-
This is an educational, compact base language model intended for local
|
| 100 |
-
experimentation, reproducibility work, and inference-stack testing. It is not
|
| 101 |
-
instruction-tuned and should not be treated as a reliable assistant.
|
| 102 |
-
|
| 103 |
-
Outputs can be incorrect, biased, unsafe, or unsuitable for a particular
|
| 104 |
-
context. The project does not claim broad safety evaluation or benchmark
|
| 105 |
-
competitiveness. Do not use this model for high-stakes decisions without
|
| 106 |
-
independent validation and appropriate safeguards.
|
| 107 |
-
|
| 108 |
-
## License and provenance
|
| 109 |
-
|
| 110 |
-
The model weights, tokenizer, configurations, GGUF conversions, and files in
|
| 111 |
-
this repository are released under [Apache-2.0](LICENSE). Dataset terms remain
|
| 112 |
-
those of their respective providers; the FineWeb-Edu source used here is
|
| 113 |
-
recorded as ODC-By in the project provenance.
|
| 114 |
|
| 115 |
-
|
| 116 |
-
and
|
| 117 |
-
[`tarpous/lm-from-zero`](https://github.com/tarpous/lm-from-zero).
|
|
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
|
|
|
|
|
|
| 3 |
library_name: transformers
|
| 4 |
pipeline_tag: text-generation
|
| 5 |
+
datasets:
|
| 6 |
+
- HuggingFaceFW/fineweb-edu
|
| 7 |
+
language:
|
| 8 |
+
- en
|
| 9 |
tags:
|
| 10 |
+
- olmo2
|
| 11 |
+
- base-model
|
| 12 |
+
- gguf
|
| 13 |
+
- from-scratch
|
| 14 |
+
- reproducible-training
|
|
|
|
| 15 |
---
|
| 16 |
|
| 17 |
# zero-125m
|
| 18 |
|
| 19 |
+
`zero-125m` is a 124,680,960-parameter OLMo2-compatible base language model
|
| 20 |
+
trained from scratch on 2,500,001,792 FineWeb-Edu tokens. It is the released
|
| 21 |
+
dense model from the
|
| 22 |
+
[`lm-from-zero`](https://github.com/tarpous/lm-from-zero) project, which covers
|
| 23 |
+
the complete path from byte-level BPE tokenization to local serving.
|
| 24 |
+
|
| 25 |
+
This repository includes the native Transformers model and tokenizer, F16 and
|
| 26 |
+
Q8_0 GGUF derivatives, evaluation evidence, and the full technical report.
|
| 27 |
+
|
| 28 |
+

|
| 29 |
+
|
| 30 |
+
[Technical report](lm-from-zero-technical-report.pdf) |
|
| 31 |
+
[Source and reproducibility](https://github.com/tarpous/lm-from-zero) |
|
| 32 |
+
[Capture evidence](assets/pi-demo-evidence.json)
|
| 33 |
+
|
| 34 |
+
## Intended use
|
| 35 |
+
|
| 36 |
+
The model is intended for research, education, systems experiments, conversion
|
| 37 |
+
tests, and local inference demonstrations. It is a pretrained base model. It
|
| 38 |
+
has not been aligned for assistant use and should not be treated as a reliable
|
| 39 |
+
chatbot, factual reference, or safety-critical system.
|
| 40 |
+
|
| 41 |
+
## Training
|
| 42 |
+
|
| 43 |
+
- Architecture: OLMo2-compatible causal decoder
|
| 44 |
+
- Parameters: 124,680,960
|
| 45 |
+
- Layers: 12
|
| 46 |
+
- Hidden width: 768
|
| 47 |
+
- Query heads: 12
|
| 48 |
+
- Key/value heads: 4
|
| 49 |
+
- Context length: 2,048 tokens
|
| 50 |
+
- Vocabulary: 32,000 byte-level BPE tokens
|
| 51 |
+
- Training tokens: 2,500,001,792
|
| 52 |
+
- Data: FineWeb-Edu `sample-10BT`, immutable revision
|
| 53 |
+
`87f09149ef4734204d70ed1d046ddc9ca3f2b8f9`
|
| 54 |
+
- Optimizer: AdamW with linear warmup and cosine decay
|
| 55 |
+
- Numerical format: bfloat16 training with fp32 optimizer state
|
| 56 |
+
- Hardware: one NVIDIA RTX 4080 SUPER
|
| 57 |
+
|
| 58 |
+
The tokenizer, shard manifest, model configuration, checkpoint, evaluation,
|
| 59 |
+
and converted package are connected by recorded hashes. The native
|
| 60 |
+
Transformers export has an exact maximum fp32 logit error of 0.0 against the
|
| 61 |
+
project checkpoint in the recorded parity evaluation.
|
| 62 |
|
| 63 |
+
## Evaluation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
+
Evaluation uses fixed, non-wrapping FineWeb-Edu windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
+
| Split | Mean loss | Perplexity |
|
| 68 |
+
|---|---:|---:|
|
| 69 |
+
| Validation | 3.324985 | 27.799 |
|
| 70 |
+
| Test | 3.400198 | 29.970 |
|
| 71 |
|
| 72 |
+
These measurements describe next-token likelihood under this tokenizer and
|
| 73 |
+
window protocol. They are not instruction-following, factuality, or safety
|
| 74 |
+
scores.
|
| 75 |
|
| 76 |
+
## Transformers usage
|
| 77 |
|
| 78 |
```python
|
| 79 |
+
import torch
|
| 80 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 81 |
|
| 82 |
model_id = "tarpous/zero-125m"
|
| 83 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
| 84 |
+
model = AutoModelForCausalLM.from_pretrained(
|
| 85 |
+
model_id,
|
| 86 |
+
dtype=torch.bfloat16,
|
| 87 |
+
device_map="auto",
|
| 88 |
+
)
|
| 89 |
+
|
| 90 |
+
inputs = tokenizer("Once upon a time,", return_tensors="pt").to(model.device)
|
| 91 |
+
with torch.inference_mode():
|
| 92 |
+
output = model.generate(
|
| 93 |
+
**inputs,
|
| 94 |
+
max_new_tokens=64,
|
| 95 |
+
do_sample=False,
|
| 96 |
+
)
|
| 97 |
+
|
| 98 |
+
print(tokenizer.decode(output[0], skip_special_tokens=True))
|
| 99 |
```
|
| 100 |
|
| 101 |
+
This is a base model, so continuations may be repetitive, abrupt, or
|
| 102 |
+
inaccurate. A prompt formatted as a conversation does not turn it into an
|
| 103 |
+
instruction-following model.
|
| 104 |
+
|
| 105 |
+
## GGUF files
|
| 106 |
+
|
| 107 |
+
| File | Size | SHA-256 |
|
| 108 |
+
|---|---:|---|
|
| 109 |
+
| `zero-125m-f16.gguf` | 250,567,744 bytes | `4863f80ea315fc0713da86750f71cddc8dfbec09c0d3f8a853cee650220027ab` |
|
| 110 |
+
| `zero-125m-q8_0.gguf` | 133,708,864 bytes | `401866c0a19e803eea19b00e056915a37b05ebe1146430b618355071680b8692` |
|
| 111 |
+
|
| 112 |
+
The Q8_0 artifact produced 76.5 decoded tokens per second in the recorded
|
| 113 |
+
bounded CUDA llama.cpp smoke. Throughput is hardware and build dependent.
|
| 114 |
+
Conversion details and the pre-tokenizer compatibility patch are documented in
|
| 115 |
+
the project repository.
|
| 116 |
+
|
| 117 |
+
## Broader project evidence
|
| 118 |
+
|
| 119 |
+
The project also trained a 20M dense FineWeb model and separate TinyStories
|
| 120 |
+
models near 20M parameters using dense attention, Mamba-2, and masked discrete
|
| 121 |
+
diffusion. It includes dense ablations, supervised fine-tuning, DPO, and local
|
| 122 |
+
judge calibration. Those results describe the research project and are not
|
| 123 |
+
additional training stages of this released base checkpoint.
|
| 124 |
+
|
| 125 |
+
The full report is available in this model repository as
|
| 126 |
+
`lm-from-zero-technical-report.pdf` and in the GitHub release.
|
| 127 |
+
|
| 128 |
+
## Limitations
|
| 129 |
+
|
| 130 |
+
- The model is small and was trained for only 2.5 billion tokens.
|
| 131 |
+
- It is a base model without safety or instruction tuning.
|
| 132 |
+
- FineWeb-Edu may contain errors, bias, personal information, and other
|
| 133 |
+
undesirable web content despite dataset-level filtering.
|
| 134 |
+
- The model can generate false, biased, offensive, repetitive, or incoherent
|
| 135 |
+
text.
|
| 136 |
+
- Evaluation covers held-out language-model loss, not downstream capability or
|
| 137 |
+
responsible-deployment criteria.
|
| 138 |
+
- The planned 125M FineWeb Mamba-2 and masked-diffusion runs were not completed.
|
| 139 |
+
- The planned 500-prompt cross-judge calibration was not completed.
|
| 140 |
+
|
| 141 |
+
Users are responsible for evaluating the model in their own setting and for
|
| 142 |
+
adding safeguards appropriate to any application.
|
| 143 |
+
|
| 144 |
+
## Citation
|
| 145 |
+
|
| 146 |
+
```bibtex
|
| 147 |
+
@software{tarpous2026lmfromzero,
|
| 148 |
+
author = {tarpous},
|
| 149 |
+
title = {lm-from-zero: A Local-First, Reproducible Language-Model Pipeline from Tokenization to Serving},
|
| 150 |
+
year = {2026},
|
| 151 |
+
url = {https://github.com/tarpous/lm-from-zero}
|
| 152 |
+
}
|
| 153 |
```
|
| 154 |
|
| 155 |
+
## License
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 156 |
|
| 157 |
+
The model weights, tokenizer, GGUF files, and code are released under
|
| 158 |
+
Apache-2.0. The technical report and its figures are released under CC BY 4.0.
|
|
|
assets/pi-demo-evidence.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"format": "lm-from-zero-pi-demo",
|
| 3 |
+
"format_version": 1,
|
| 4 |
+
"label": "Local base-model text continuation - Q8_0 GGUF via llama.cpp and Pi",
|
| 5 |
+
"model": {
|
| 6 |
+
"filename": "zero-125m-q8_0.gguf",
|
| 7 |
+
"sha256": "401866c0a19e803eea19b00e056915a37b05ebe1146430b618355071680b8692"
|
| 8 |
+
},
|
| 9 |
+
"prompt": "Once upon a time,",
|
| 10 |
+
"seed": 0,
|
| 11 |
+
"sampling": "greedy",
|
| 12 |
+
"server_context_length": 2048,
|
| 13 |
+
"pi_declared_context_window": 8192,
|
| 14 |
+
"maximum_new_tokens": 256,
|
| 15 |
+
"bridge": "Final user text only; newline stop",
|
| 16 |
+
"interface": {
|
| 17 |
+
"pi": "0.83.0",
|
| 18 |
+
"vhs": "vhs version v0.11.0 (c6af91a)",
|
| 19 |
+
"ttyd": "ttyd version 1.7.7-e2819f2",
|
| 20 |
+
"ffmpeg": "ffmpeg version 7.1.3-0+deb13u1 Copyright (c) 2000-2025 the FFmpeg developers",
|
| 21 |
+
"llama_cpp": "b10069"
|
| 22 |
+
},
|
| 23 |
+
"gif": {
|
| 24 |
+
"path": "docs/assets/zero-125m-serving-demo.gif",
|
| 25 |
+
"bytes": 61703,
|
| 26 |
+
"sha256": "4a8be28346e7f7b889ec7c6c5dc53b638d82c4726a8a19acbde3b882c9001cf6"
|
| 27 |
+
},
|
| 28 |
+
"poster": {
|
| 29 |
+
"path": "docs/assets/zero-125m-serving-demo.png",
|
| 30 |
+
"bytes": 50588,
|
| 31 |
+
"sha256": "9afc98818204dcb0ca579fd02be785c631f4c3a131580f930ca4d58207f0fa6b"
|
| 32 |
+
}
|
| 33 |
+
}
|
assets/zero-125m-serving-demo.gif
ADDED
|
assets/zero-125m-serving-demo.png
ADDED
|
evaluation/presentation-summary.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
| 1 |
-
# Generated result summary
|
| 2 |
-
|
| 3 |
-
This file is generated by `tools/build_presentation_assets.py` from canonical local artifacts. Do not edit its values by hand.
|
| 4 |
-
|
| 5 |
-
## FineWeb dense evaluation
|
| 6 |
-
|
| 7 |
-
| Model | Validation loss | Validation PPL | Test loss | Test PPL |
|
| 8 |
-
|---|---:|---:|---:|---:|
|
| 9 |
-
| 20M | 4.218200 | 67.911 | 4.264027 | 71.096 |
|
| 10 |
-
| 125M | 3.324985 | 27.799 | 3.400198 | 29.970 |
|
| 11 |
-
|
| 12 |
-
## 20M architecture study
|
| 13 |
-
|
| 14 |
-
- Dense causal PPL: 6.249
|
| 15 |
-
- Mamba-2 causal PPL: 6.852
|
| 16 |
-
- Diffusion masked reconstruction loss: 3.740
|
| 17 |
-
- Diffusion variational upper bound: 3.045
|
| 18 |
-
|
| 19 |
-
## Local judge and serving
|
| 20 |
-
|
| 21 |
-
- 100-prompt cross-judge agreement: 83.0%; Cohen's kappa 0.616.
|
| 22 |
-
- Qwen primary 500-prompt run: 1,000 calls; 0 parse failures; 19.8% order flips.
|
| 23 |
-
- `zero-125m` vLLM completion latency: 373 ms for 8 generated tokens.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
evaluation/publication-results.json
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"acceleration": {
|
| 3 |
+
"cells": 78,
|
| 4 |
+
"maximum_loss_absolute_delta": 4.38690185546875e-05,
|
| 5 |
+
"promoted_architecture": "diffusion",
|
| 6 |
+
"promoted_cell": "fused-adamw",
|
| 7 |
+
"speedup": 1.136088420878017
|
| 8 |
+
},
|
| 9 |
+
"architecture_study": {
|
| 10 |
+
"dense": {
|
| 11 |
+
"compute_seconds": 1310.775,
|
| 12 |
+
"loss": 1.832368791103363,
|
| 13 |
+
"model": {
|
| 14 |
+
"context_length": 1024,
|
| 15 |
+
"hidden_size": 384,
|
| 16 |
+
"layers": 5,
|
| 17 |
+
"parameter_count": 20159104,
|
| 18 |
+
"vocabulary_size": 16000
|
| 19 |
+
},
|
| 20 |
+
"perplexity": 6.24867093730173,
|
| 21 |
+
"predicted_tokens": 196416,
|
| 22 |
+
"sequences": 192,
|
| 23 |
+
"tokens_per_second": 364043.5415766547,
|
| 24 |
+
"tokens_trained": 500006912
|
| 25 |
+
},
|
| 26 |
+
"diffusion": {
|
| 27 |
+
"causal_perplexity_applicable": false,
|
| 28 |
+
"compute_seconds": 1313.311,
|
| 29 |
+
"masked_reconstruction_loss": 3.740404522177884,
|
| 30 |
+
"masked_tokens": 97655,
|
| 31 |
+
"model": {
|
| 32 |
+
"context_length": 1024,
|
| 33 |
+
"hidden_size": 384,
|
| 34 |
+
"layers": 4,
|
| 35 |
+
"parameter_count": 19959168,
|
| 36 |
+
"vocabulary_size": 16000
|
| 37 |
+
},
|
| 38 |
+
"tokens_trained": 528990208,
|
| 39 |
+
"variational_upper_bound": 3.0454040666421256
|
| 40 |
+
},
|
| 41 |
+
"mamba2": {
|
| 42 |
+
"compute_seconds": 3630.512,
|
| 43 |
+
"loss": 1.924551824728648,
|
| 44 |
+
"model": {
|
| 45 |
+
"context_length": 1024,
|
| 46 |
+
"hidden_size": 384,
|
| 47 |
+
"layers": 7,
|
| 48 |
+
"parameter_count": 19943164,
|
| 49 |
+
"vocabulary_size": 16000
|
| 50 |
+
},
|
| 51 |
+
"perplexity": 6.852077046149102,
|
| 52 |
+
"predicted_tokens": 196416,
|
| 53 |
+
"sequences": 192,
|
| 54 |
+
"tokens_per_second": 156774.6946154588,
|
| 55 |
+
"tokens_trained": 605544448
|
| 56 |
+
},
|
| 57 |
+
"seed": 1337
|
| 58 |
+
},
|
| 59 |
+
"datasets": {
|
| 60 |
+
"fineweb_edu": {
|
| 61 |
+
"dataset_id": "HuggingFaceFW/fineweb-edu",
|
| 62 |
+
"documents": 2450915,
|
| 63 |
+
"license": "odc-by",
|
| 64 |
+
"revision": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
|
| 65 |
+
"test_tokens": 25260908,
|
| 66 |
+
"train_tokens": 2500000871,
|
| 67 |
+
"validation_tokens": 25661975
|
| 68 |
+
},
|
| 69 |
+
"tinystories": {
|
| 70 |
+
"dataset_id": "roneneldan/TinyStories",
|
| 71 |
+
"documents": 112206,
|
| 72 |
+
"license": "cdla-sharing-1.0",
|
| 73 |
+
"revision": "f54c09fd23315a6f9c86f9dc80f725de7d8f9c64",
|
| 74 |
+
"test_tokens": 237469,
|
| 75 |
+
"train_tokens": 23323923,
|
| 76 |
+
"validation_tokens": 245778
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"dense_ablations": {
|
| 80 |
+
"screening_tokens_per_seed": 100007936,
|
| 81 |
+
"seeds": [
|
| 82 |
+
1337,
|
| 83 |
+
2027,
|
| 84 |
+
3407
|
| 85 |
+
],
|
| 86 |
+
"variants": [
|
| 87 |
+
{
|
| 88 |
+
"change": "swiglu_to_gelu",
|
| 89 |
+
"downstream_validation_perplexity": null,
|
| 90 |
+
"mean_terminal_loss": 1.6645395755767822,
|
| 91 |
+
"mean_tokens_per_second": 402805.640803283,
|
| 92 |
+
"name": "gelu",
|
| 93 |
+
"terminal_loss_std": 0.13158630932487156
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"change": "adamw_to_hybrid_muon",
|
| 97 |
+
"downstream_validation_perplexity": 5.713338699142928,
|
| 98 |
+
"mean_terminal_loss": 1.522047758102417,
|
| 99 |
+
"mean_tokens_per_second": 307086.7898872683,
|
| 100 |
+
"name": "hybrid_muon",
|
| 101 |
+
"terminal_loss_std": 0.13786254833334086
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"change": "rmsnorm_to_layernorm",
|
| 105 |
+
"downstream_validation_perplexity": 5.90013935655289,
|
| 106 |
+
"mean_terminal_loss": 1.618891954421997,
|
| 107 |
+
"mean_tokens_per_second": 389267.12581697945,
|
| 108 |
+
"name": "layer_norm",
|
| 109 |
+
"terminal_loss_std": 0.13529636072177245
|
| 110 |
+
},
|
| 111 |
+
{
|
| 112 |
+
"change": "rope_to_learned_absolute_positions",
|
| 113 |
+
"downstream_validation_perplexity": null,
|
| 114 |
+
"mean_terminal_loss": 1.7279485861460369,
|
| 115 |
+
"mean_tokens_per_second": 351116.52991555206,
|
| 116 |
+
"name": "learned_absolute_positions",
|
| 117 |
+
"terminal_loss_std": 0.1359720722424022
|
| 118 |
+
},
|
| 119 |
+
{
|
| 120 |
+
"change": "gqa_to_mha",
|
| 121 |
+
"downstream_validation_perplexity": 5.84947328452131,
|
| 122 |
+
"mean_terminal_loss": 1.6075799067815144,
|
| 123 |
+
"mean_tokens_per_second": 382954.5419660864,
|
| 124 |
+
"name": "mha",
|
| 125 |
+
"terminal_loss_std": 0.13742111225327125
|
| 126 |
+
},
|
| 127 |
+
{
|
| 128 |
+
"change": "tie_input_output_embeddings",
|
| 129 |
+
"downstream_validation_perplexity": 5.826874126198687,
|
| 130 |
+
"mean_terminal_loss": 1.6208405097325642,
|
| 131 |
+
"mean_tokens_per_second": 435082.9346366357,
|
| 132 |
+
"name": "tied_embeddings",
|
| 133 |
+
"terminal_loss_std": 0.14300388423302463
|
| 134 |
+
},
|
| 135 |
+
{
|
| 136 |
+
"change": "remove_qk_normalization",
|
| 137 |
+
"downstream_validation_perplexity": null,
|
| 138 |
+
"mean_terminal_loss": 1.8348172108332317,
|
| 139 |
+
"mean_tokens_per_second": 398739.79417508264,
|
| 140 |
+
"name": "without_qk_norm",
|
| 141 |
+
"terminal_loss_std": 0.13095864590886672
|
| 142 |
+
}
|
| 143 |
+
]
|
| 144 |
+
},
|
| 145 |
+
"fineweb_dense": {
|
| 146 |
+
"125m": {
|
| 147 |
+
"model": {
|
| 148 |
+
"attention_heads": 12,
|
| 149 |
+
"context_length": 2048,
|
| 150 |
+
"hidden_size": 768,
|
| 151 |
+
"intermediate_size": 2048,
|
| 152 |
+
"key_value_heads": 4,
|
| 153 |
+
"layers": 12,
|
| 154 |
+
"model_config_sha256": "c886f7c13c6c027276c3f2ddcede72425fac511e2d1b2551b5d7eadd121f2bf4",
|
| 155 |
+
"optimizer_steps": 152588,
|
| 156 |
+
"parameter_count": 124680960,
|
| 157 |
+
"tokens_trained": 2500001792,
|
| 158 |
+
"vocabulary_size": 32000
|
| 159 |
+
},
|
| 160 |
+
"test": {
|
| 161 |
+
"loss": 3.4001976028084755,
|
| 162 |
+
"perplexity": 29.970021622760513,
|
| 163 |
+
"predicted_tokens": 65504,
|
| 164 |
+
"sequences": 32,
|
| 165 |
+
"tokens_per_second": 73350.9216982716
|
| 166 |
+
},
|
| 167 |
+
"validation": {
|
| 168 |
+
"loss": 3.3249846026301384,
|
| 169 |
+
"perplexity": 27.798570614501042,
|
| 170 |
+
"predicted_tokens": 65504,
|
| 171 |
+
"sequences": 32,
|
| 172 |
+
"tokens_per_second": 86392.51131817144
|
| 173 |
+
}
|
| 174 |
+
},
|
| 175 |
+
"20m": {
|
| 176 |
+
"model": {
|
| 177 |
+
"attention_heads": 8,
|
| 178 |
+
"context_length": 1024,
|
| 179 |
+
"hidden_size": 256,
|
| 180 |
+
"intermediate_size": 704,
|
| 181 |
+
"key_value_heads": 2,
|
| 182 |
+
"layers": 5,
|
| 183 |
+
"model_config_sha256": "d421a006c0f4ea1ae8a6a7a9a1396d93ea0634567ddabd37bc2f70c8632bcc63",
|
| 184 |
+
"optimizer_steps": 61036,
|
| 185 |
+
"parameter_count": 19910976,
|
| 186 |
+
"tokens_trained": 500006912,
|
| 187 |
+
"vocabulary_size": 32000
|
| 188 |
+
},
|
| 189 |
+
"test": {
|
| 190 |
+
"loss": 4.264026649296284,
|
| 191 |
+
"perplexity": 71.09568524875908,
|
| 192 |
+
"predicted_tokens": 261888,
|
| 193 |
+
"sequences": 256,
|
| 194 |
+
"tokens_per_second": 332064.2247825187
|
| 195 |
+
},
|
| 196 |
+
"validation": {
|
| 197 |
+
"loss": 4.21819968521595,
|
| 198 |
+
"perplexity": 67.91111278850597,
|
| 199 |
+
"predicted_tokens": 261888,
|
| 200 |
+
"sequences": 256,
|
| 201 |
+
"tokens_per_second": 318733.37056578987
|
| 202 |
+
}
|
| 203 |
+
}
|
| 204 |
+
},
|
| 205 |
+
"format": "lm-from-zero-publication-results",
|
| 206 |
+
"format_version": 1,
|
| 207 |
+
"judge": {
|
| 208 |
+
"cohen_kappa": 0.616274476609672,
|
| 209 |
+
"cross_judge_prompts": 100,
|
| 210 |
+
"cross_judge_tasks": 200,
|
| 211 |
+
"gemma_order_flip_rate": 0.21,
|
| 212 |
+
"primary_calls": 1000,
|
| 213 |
+
"primary_order_flip_rate": 0.198,
|
| 214 |
+
"primary_parse_failures": 0,
|
| 215 |
+
"primary_prompts": 500,
|
| 216 |
+
"qwen_order_flip_rate": 0.26,
|
| 217 |
+
"raw_agreement": 0.83
|
| 218 |
+
},
|
| 219 |
+
"post_training": {
|
| 220 |
+
"dpo": {
|
| 221 |
+
"beta": 0.1,
|
| 222 |
+
"dpo_objective_preference_accuracy": 0.6443925233644859,
|
| 223 |
+
"dpo_sequence_preference_accuracy": 0.4331775700934579,
|
| 224 |
+
"final_loss": 0.38742566108703613,
|
| 225 |
+
"first_loss": 0.6931471824645996,
|
| 226 |
+
"heldout_pairs": 10700,
|
| 227 |
+
"mean_forward_kl": 0.023786345937711253,
|
| 228 |
+
"mean_heldout_dpo_loss": 0.7430345315044359,
|
| 229 |
+
"mean_last_100_loss": 0.7263714300002903,
|
| 230 |
+
"mean_reward_margin": 8.639506955102226,
|
| 231 |
+
"sft_sequence_preference_accuracy": 0.4321495327102804,
|
| 232 |
+
"steps": 25000,
|
| 233 |
+
"training_pairs": 50000
|
| 234 |
+
},
|
| 235 |
+
"sft": {
|
| 236 |
+
"examples": 100000,
|
| 237 |
+
"final_loss": 1.4705926179885864,
|
| 238 |
+
"first_loss": 6.417908191680908,
|
| 239 |
+
"mean_last_100_loss": 1.4433360010385514,
|
| 240 |
+
"steps": 12500,
|
| 241 |
+
"tokens": 62684063
|
| 242 |
+
}
|
| 243 |
+
},
|
| 244 |
+
"release": {
|
| 245 |
+
"gguf": {
|
| 246 |
+
"F16": {
|
| 247 |
+
"bytes": 250567744,
|
| 248 |
+
"filename": "zero-125m-f16.gguf",
|
| 249 |
+
"sha256": "4863f80ea315fc0713da86750f71cddc8dfbec09c0d3f8a853cee650220027ab"
|
| 250 |
+
},
|
| 251 |
+
"Q8_0": {
|
| 252 |
+
"bytes": 133708864,
|
| 253 |
+
"filename": "zero-125m-q8_0.gguf",
|
| 254 |
+
"sha256": "401866c0a19e803eea19b00e056915a37b05ebe1146430b618355071680b8692"
|
| 255 |
+
}
|
| 256 |
+
},
|
| 257 |
+
"hf_fp32_max_abs_error": 0.0,
|
| 258 |
+
"hf_parameter_count": 124680960,
|
| 259 |
+
"llama_cpp_tokens_per_second": 76.50524060898172,
|
| 260 |
+
"model_safetensors_bytes": 498738888,
|
| 261 |
+
"model_safetensors_sha256": "4828a7f18d40cba9504d593fbcc1b4ad67c52f2a6387b4de8c7ab682c9c31e1d",
|
| 262 |
+
"vllm_latency_ms": 373.0
|
| 263 |
+
},
|
| 264 |
+
"tokenizers": {
|
| 265 |
+
"fineweb_edu": {
|
| 266 |
+
"merge_count": 31736,
|
| 267 |
+
"sha256": "e16b820d0d8c7ad8e89904714ef6d89eb573a4e651dd337bde56fd8f418476dd",
|
| 268 |
+
"vocabulary_size": 32000
|
| 269 |
+
},
|
| 270 |
+
"tinystories": {
|
| 271 |
+
"merge_count": 15736,
|
| 272 |
+
"sha256": "f65920522fb584143cfee0f0e9d7581286bbde9fdc5c068a34d5ce0441695da9",
|
| 273 |
+
"vocabulary_size": 16000
|
| 274 |
+
}
|
| 275 |
+
},
|
| 276 |
+
"unfinished": [
|
| 277 |
+
"125M FineWeb training for Mamba-2",
|
| 278 |
+
"125M FineWeb training for masked diffusion",
|
| 279 |
+
"500-prompt cross-judge calibration"
|
| 280 |
+
]
|
| 281 |
+
}
|
evaluation/publication-summary.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Generated publication summary
|
| 2 |
+
|
| 3 |
+
This file is generated from canonical experiment artifacts. Do not edit its values by hand.
|
| 4 |
+
|
| 5 |
+
| Result | Validation | Test |
|
| 6 |
+
|---|---:|---:|
|
| 7 |
+
| FineWeb-Edu dense 20M perplexity | 67.911 | 71.096 |
|
| 8 |
+
| FineWeb-Edu dense 125M perplexity | 27.799 | 29.970 |
|
| 9 |
+
|
| 10 |
+
The seed-1337 full-budget TinyStories study measured causal perplexity 6.249 for Dense and 6.852 for Mamba-2. Masked diffusion recorded reconstruction loss 3.740 nats and a variational upper bound of 3.045 nats; causal perplexity does not apply to that objective.
|
| 11 |
+
|
| 12 |
+
The 100-prompt cross-judge calibration reached 83.0% raw agreement and Cohen's kappa 0.616. The separate 500-prompt primary-judge run completed 1,000 order-swapped calls with 0 parse failures after repair and a 19.8% flip rate.
|
figures/architecture-study.png
ADDED
|
figures/dense-ablations.png
ADDED
|
figures/fineweb-evaluation.png
CHANGED
|
|
figures/fineweb-training-loss.png
DELETED
|
Binary file (56.8 kB)
|
|
|
figures/fineweb-training.png
ADDED
|
figures/judge-calibration.png
ADDED
|
lm-from-zero-technical-report.pdf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:998f3f312a0957bc6da07fa048c9a0165eba321cf3c3031775f6df040a6f74d7
|
| 3 |
+
size 537873
|