Instructions to use d0rj/looped-51M-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use d0rj/looped-51M-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="d0rj/looped-51M-base", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("d0rj/looped-51M-base", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use d0rj/looped-51M-base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "d0rj/looped-51M-base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "d0rj/looped-51M-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/d0rj/looped-51M-base
- SGLang
How to use d0rj/looped-51M-base 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 "d0rj/looped-51M-base" \ --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": "d0rj/looped-51M-base", "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 "d0rj/looped-51M-base" \ --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": "d0rj/looped-51M-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use d0rj/looped-51M-base with Docker Model Runner:
docker model run hf.co/d0rj/looped-51M-base
looped-51M-base
A 50,869,760-parameter English base model trained from random initialization in the Tiny llm ablation experiment.
Architecture and references
10 shared decoder layers applied 6 times (60 effective layers); width 512, SwiGLU 1792, GQA 8 query / 2 KV heads, RoPE, RMSNorm, tied embeddings and learned loop embeddings. Causal next-token cross-entropy. Parameters are shared across loops; compute is not matched to the other ablations. Context length: 2048. The architecture/tokenizer baseline is Q-50M-Base; these weights are not a fine-tune of that checkpoint. The unchanged tokenizer has 32,768 entries. Recurrent depth uses the general weight-sharing principle of Universal Transformers; this is a local fixed-six-loop implementation, not an exact reproduction of that architecture.
Training
Exactly 3,932,160,000 processed source tokens, 15,000 optimizer steps, FineWeb-Edu sample-10BT. This counts input blocks, not unique text or supervised target tokens. Effective batch: 4 × 32 accumulation × 2048 = 262,144 source tokens per step. Shuffle buffer 100,000; seed 2026.
BF16 compute / FP32 weights, one RTX 5070 Ti 16 GB. Fused AdamW, peak LR 0.001, 150-step linear warmup then cosine decay to 0.0001; betas (0.9, 0.95), weight decay 0.1 excluding bias/norm/1D parameters, gradient clipping 1.0. Exact configuration. Equal source-token budgets do not imply equal supervision or FLOPs.
Evaluation
Full splits, no added few-shot examples, lm-eval 0.4.12, BF16, RTX 5070 Ti, max context 2048 (ArithMark: 1024), no chat template. Protocol: autoregressive likelihood. Accuracy is percent; ± means one standard error; brackets are 95% Wilson intervals. LAMBADA requires every final-word token to match. acc_norm normalizes option likelihood by harness length. All metrics and provenance.
| Dataset | Split | Examples | Metric | Score ± SE (%) | 95% CI (%) |
|---|---|---|---|---|---|
| HellaSwag | validation | 10,042 | acc_norm | 29.62 ± 0.46 | [28.73, 30.52] |
| ARC-Easy | test | 2,376 | acc_norm | 44.28 ± 1.02 | [42.29, 46.28] |
| ARC-Challenge | test | 1,172 | acc_norm | 22.10 ± 1.21 | [19.82, 24.56] |
| PIQA | validation | 1,838 | acc_norm | 60.28 ± 1.14 | [58.03, 62.50] |
| WinoGrande | validation | 1,267 | acc | 50.12 ± 1.41 | [47.37, 52.87] |
| OpenBookQA | test | 500 | acc_norm | 29.00 ± 2.03 | [25.19, 33.13] |
| BoolQ | validation | 3,270 | acc | 61.59 ± 0.85 | [59.91, 63.24] |
| LAMBADA OpenAI | test | 5,153 | acc | 20.90 ± 0.57 | [19.81, 22.03] |
| ArithMark-3 | train | 1,000 | acc_norm |
35.70 ± 1.52 | [32.79, 38.72] |
| Balanced COPA | train | 1,000 | acc |
54.80 ± 1.57 | [51.70, 57.86] |
| CommonsenseQA | validation | 1,221 | acc |
19.66 ± 1.14 | [17.52, 21.98] |
| SciQ (with support) | test | 1,000 | acc_norm |
64.00 ± 1.52 | [60.98, 66.92] |
| TruthfulQA MC2 | validation | 817 | acc |
42.43 ± 1.50 | — |
| BananaMind Base 1.1 | test | 350 | raw_accuracy |
48.00 ± 2.67 | [42.82, 53.23] |
| MMLU continuation | test | 14,042 | acc |
25.67 ± 0.37 | — |
| BLiMP | train | 67,000 | acc |
75.84 ± 0.14 | — |
WikiText-2 raw test continuation: 291 nonoverlapping 1024-token blocks, 512 prefix + 512 scored suffix tokens; 148,992 scored tokens, 335 tail tokens excluded. GPU FP32 PPL 33.245 [31.978, 34.545], NLL 3.503892 [3.465063, 3.542263]. Percentile block bootstrap, 10,000 resamples, seed 2026. BF16 results are stored separately. This is conditional continuation PPL, not standard rolling or word PPL. Intervals do not capture training-seed variability or all within-document dependence.
model-index contains author-reported scores; no official leaderboard submission or verified badge is claimed.
Full selected splits; lm-eval 0.4.12; seed 1234; BF16 on RTX 5070 Ti; context cap 2048 (ArithMark 1024), TF32 disabled, no chat template and no added few-shot examples. TruthfulQA retains the harness's fixed six-QA preamble. ArithMark and BananaMind normalize by continuation token count; ordinary harness acc_norm uses its own length normalization. BananaMind is raw accuracy, not Elo. SciQ includes the support passage. Balanced COPA uses the mirrored 1000-item train-named evaluation split; cRia's split was inferred, not confirmed. MMLU scores full answer continuations across 57 subjects, weighted by item count; BLiMP averages 67 equal-sized minimal-pair subsets. Standard errors are retained from each evaluator. Wilson intervals are reported only where the runner logged binary item accuracy; MC2 is probability mass, not binary accuracy. These intervals do not model dependence between paired/templated examples or training seed variation. UL2, PrefixLM and experimental diffusion PLL use their documented conditional scoring protocols; PLL exposes the other answer tokens and is not autoregressive likelihood. cRia's published scores used a different precision and benchmark-adapted checkpoint; this completes our comparison coverage, not an independent reproduction of cRia or an official leaderboard submission.
Full results, provenance and group scores. Updated machine-readable results. TensorBoard events contain these new scores at step 15,000.
Usage
Install requirements.txt. Custom code requires trust_remote_code=True.
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
repo = "d0rj/looped-51M-base"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True).eval()
inputs = tokenizer("The purpose of science is", return_tensors="pt", add_special_tokens=False)
with torch.no_grad():
output = model.generate(**inputs, max_new_tokens=32, do_sample=False)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Reproduce core scores from a downloaded repository after installing evaluation/requirements.txt:
python evaluation/run_core.py --device cuda:0 --dtype bfloat16 --batch-size 8 --output evaluation-rerun
To reproduce after downloading this model repository, accept the BananaMind dataset terms, authenticate with hf auth login, then run in a suitable CUDA environment:
pip install -r evaluation/comparison-20261001/repro/requirements.txt
python evaluation/comparison-20261001/repro/run.py --device cuda:0 --dtype bfloat16 --batch-size 8 --output comparison-rerun
The bundled runner uses the published model classes with the exact evaluation adapters and tokenizer. --limit produces smoke results only. Raw dataset examples are not included in this release.
TensorBoard and limitations
Training and evaluation event files contain 750 training-loss points (steps 20–15,000) and eval/ scalars at step 15,000, including CI bounds. Looped training resumed from a saved checkpoint; TensorBoard retains the valid history across the restart.
Small English base model, not instruction-tuned. Single training seed; benchmark contamination was not audited. Reference models with other tokenizers, prompts or data are not directly interchangeable. These checkpoints are research ablations.
- Downloads last month
- 427
Dataset used to train d0rj/looped-51M-base
Collection including d0rj/looped-51M-base
Paper for d0rj/looped-51M-base
Evaluation results
- acc_norm on HellaSwagvalidation set self-reported0.296
- acc_norm on ARC-Easytest set self-reported0.443
- acc_norm on ARC-Challengetest set self-reported0.221
- acc_norm on PIQAvalidation set self-reported0.603
- acc on WinoGrandevalidation set self-reported0.501
- acc_norm on OpenBookQAtest set self-reported0.290
- acc on BoolQvalidation set self-reported0.616
- acc on LAMBADA OpenAItest set self-reported0.209