Downloads · 30 days
12
5% of all-time downloads
kaptaan45/KaptaanLM-Scout-10M
KaptaanLM-Scout-10M is a text generation model from kaptaan45. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
KaptaanLM-Scout is a family of ultra-compact autoregressive small language models (9.95M parameters) built from scratch for natural multi-turn conversation and multi-step reasoning on edge and resource-constrained dev…
Downloads · 30 days
12
5% of all-time downloads
All-time downloads
257
Public
Repo size
329 MB
Likes
0
Public
Click a slice to open those files.
.pt329 MB · 100%
From the Hugging Face model README
KaptaanLM-Scout is a family of ultra-compact autoregressive small language models (9.95M parameters) built from scratch for natural multi-turn conversation and multi-step reasoning on edge and resource-constrained devices.
| File Name | Size | Training Tokens | Step Count | Role & Empirical Verdict |
|---|---|---|---|---|
KaptaanLM-Scout-Omni-SFT-1.0.pt | 39.8 MB | 98.3M (SFT) | 6,000 | 10M Grand Champion (CRI: 0.3625, 75% logic pass, 0.000 repetition rate, 34 tok/s). |
KaptaanLM-Scout-Reasoning-1.0.pt | 56.6 MB | 50.0M (CoT) | 3,000 | Branch A Reasoning Specialist (1.67% GSM8K, outperforming SmolLM-135M at 1/14th size). |
KaptaanLM-10M-1.0.pt | 56.6 MB | 5.0 Billion | 152,588 | Final Base Foundation (Val loss 3.42, code PPL 9.2, 868.7 tokens/non-embed param). |
KaptaanLM-10M-0.5.pt | 56.6 MB | 3.0 Billion | 92,000 | Intermediate Plateau Checkpoint (Pre-cooldown baseline). |
KaptaanLM-10M-0.1.pt | 39.8 MB | 163.8M | 5,000 | Pilot Checkpoint (Trained exclusively on Cosmopedia v2 synthetic textbooks). |
KaptaanLM-Scout-Instruct-1.0.pt | 39.8 MB | 98.3M | 6,000 | Conversational ChatML Dialogue SFT (Fluency optimized). |
KaptaanLM-Scout-Omni-DPO-1.0.pt | 39.8 MB | 400 steps | 400 | DPO Ablation Checkpoint (Demonstrating parameter starvation under DPO loss at 10M). |
Evaluated under the EleutherAI benchmark protocol under Regime 1 (Deterministic Anti-Repetition Greedy: temp=0.0, rep_penalty=1.12):
| Benchmark Suite | Metric | Questions | Scout-Omni (10M) | Scout-Reasoning (10M) | SmolLM-135M Baseline |
|---|---|---|---|---|---|
| ARC-Easy | acc_norm | 2,376 | 28.79% (684) | 27.06% (643) | 44.19% (1,050) |
| ARC-Challenge | acc_norm | 1,172 | 21.67% (254) | 19.45% (228) | 27.82% (326) |
| PIQA | acc_norm | 1,838 | 55.60% (1,022) | 56.42% (1,037) | 67.46% (1,240) |
| LAMBADA | acc | 5,153 | 8.97% (462) | 8.13% (419) | 24.10% (1,242) |
| GSM8K | acc_norm | 1,319 | 2.58% (34) | 1.67% (22) | 1.52% (20) |
| OVERALL | Total Acc | 11,858 | 20.71% (2,456) | 19.81% (2,349) | 32.70% (3,878) |
import torch
from tokenizers import Tokenizer
from kaptaan.config import CONFIG_10M
from kaptaan.torch.model import KaptaanForCausalLM
tokenizer = Tokenizer.from_file("tokenizer.json")
config = CONFIG_10M
model = KaptaanForCausalLM(config)
model.load_state_dict(torch.load("KaptaanLM-Scout-Omni-SFT-1.0.pt", map_location="cpu"))
model.eval()
prompt = "<|im_start|>user\nSolve: A train travels 120 miles in 2 hours. At this speed, how far does it travel in 5 hours?<|im_end|>\n<|im_start|>assistant\n"
tokens = tokenizer.encode(prompt).ids
input_ids = torch.tensor([tokens], dtype=torch.long)
with torch.no_grad():
output_ids = model.generate(
input_ids,
max_new_tokens=256,
temperature=0.0,
repetition_penalty=1.12,
stop_token_ids=[0, 2]
)
print(tokenizer.decode(output_ids[0].tolist()))
@software{kaptaanlm2026,
author = {Shekhar, Rudransh},
title = {KaptaanLM: Conversational and Reasoning Small Language Models (10M - 100M -> MoE)},
url = {https://github.com/rudy-07/KaptaanLM},
year = {2026}
}