Downloads · 30 days
10
22% of all-time downloads
quik-models/robust-armadillo-92
robust-armadillo-92 is a text generation model from quik-models. Use it when you need the model to write or continue text. The card lists the license as mit.
Downloads · 30 days
10
22% of all-time downloads
All-time downloads
45
Public
Repo size
1.1 GB
Likes
0
Public
Click a slice to open those files.
.pt1.1 GB · 100%
From the Hugging Face model README

AutoResearch-tinystories-depth8 is a 285.2M parameter decoder-only Transformer trained from scratch on TinyStories (karpathy/tinystories-gpt4-clean).
This model is part of the AutoResearch project, which focuses on training, evaluating, and releasing efficient language models with reproducible research workflows.
This is a 8-layer decoder-only Transformer trained on the TinyStories (karpathy/tinystories-gpt4-clean) dataset for 0.2 hours of wall-clock training time. The model achieves a validation bits-per-byte (val_bpb) of 0.567264 (perplexity: 1.4817) on the held-out validation set.
| Property | Value |
|---|---|
| Architecture | Decoder-only Transformer |
| Parameters | 285,245,968 (285.2M) |
| Layers | 8 |
| Hidden Size | 512 |
| Attention Heads | 4 |
| KV Heads | 4 |
| Head Dimension | 128 |
| Feed Forward Size | 2048 (MoE: 8 experts, 1 shared, top-2) |
| Context Length | 2048 |
| Vocabulary Size | 16,384 |
| Positional Encoding | RoPE |
| Activation | ReLU² |
| Normalization | RMSNorm |
| Window Pattern | SSSL |
| Weight Tying | No |
This model was trained from scratch for 0.2 hours (620s) of wall-clock training time.
| Setting | Value |
|---|---|
| Optimizer | MuonAdamW (Muon + AdamW) |
| Precision | torch.bfloat16 |
| Learning Rate | 0.04 (matrix) / 0.6 (embedding) |
| Weight Decay | 0.2 |
| Batch Size | 4 × 2048 = 8,192 tokens/step |
| Gradient Accumulation | 64 steps |
| Total Batch Size | 524,288 tokens |
| Context Length | 2048 |
| Vocabulary | 16,384 tokens (BPE) |
| LR Scheduler | Linear warmdown (50%) |
| Activation Checkpointing | Enabled |
Data is packed into fixed-length sequences of 2048 tokens using the nanochat-compatible BPE tokenizer (16,384 vocabulary, 9 special tokens). No additional filtering or deduplication is applied beyond what is in the source dataset.
This model is intended for:
Not recommended for:
| Metric | Score |
|---|---|
| Validation BPB | 0.567264 |
| Perplexity | 1.4817 |
| Peak VRAM | 6.3 GB |
| MFU | 40.76% |
Once upon a time,
Once upon a time, there was a big bell in the yard. The bell would ring every day and when the bell ring, the bell would ring and the bell would ring when it ringed.
One day, a little boy came to the yard. He saw the bell
A lonely dragon
A lonely dragon heard the lonely dragon's lone lonely lonely lonely lonely lone l lonely lonely lonely l lonely lonely lone l l lonely l lone
The opposite of boy is
The opposite of boy is sad. He cried and c tears. He lost his favorite toy. He wished he had cared about it. He wished he had a new toy. He wished he had a new toy. But he did not have a new
The opposite of queen is
The opposite of queen is kind and shared with everyone. Everyone in the village everyone had kindness. Everyone felt sad and knew they knew the story, they knew about their kindness. And the story has been kindness to the kind queen and the people of the kindness
My name is
My name is Pr King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King King
import torch
import pickle
import json
from train import GPT, GPTConfig, Tokenizer
# Load config
with open('config.json', 'r') as f:
config_dict = json.load(f)
config = GPTConfig(**{k: v for k, v in config_dict.items() if k in GPTConfig.__dataclass_fields__})
# Load model
model = GPT(config)
state_dict = torch.load('model.pt', map_location='cpu')['state_dict']
model.load_state_dict(state_dict)
model.eval()
# Load tokenizer
with open('tokenizer.pkl', 'rb') as f:
tokenizer = pickle.load(f)
# Generate
prompt = 'Once upon a time, '
input_ids = tokenizer.encode(prompt)
x = torch.tensor([input_ids], dtype=torch.long)
with torch.no_grad():
for _ in range(50):
logits = model(x)
probs = torch.softmax(logits[:, -1, :] / 0.8, dim=-1)
next_token = torch.multinomial(probs, num_samples=1)
input_ids.append(next_token.item())
x = torch.tensor([input_ids], dtype=torch.long)
print(tokenizer.decode(input_ids))
model.pt # Model weights
config.json # Model architecture config
dataset.txt # Dataset name used for training
token_bytes.pt # Token byte mappings
tokenizer.pkl # Trained BPE tokenizer
tokenizer_config.json # Tokenizer configuration
training_metrics.json # Training metrics
README.md # This file
@misc{autoresearch_tinystories_depth8,
title={AutoResearch-tinystories-depth8},
author={Dustin Loring},
year={2026},
howpublished={\url{https://huggingface.co/quik-models/robust-armadillo-92}}
}}
| Version | Date | Notes |
|---|---|---|
| v1.0 | 2026-07-30 | Initial release |
Built with the AutoResearch training framework.
Thanks to:
This model is released under the MIT License unless otherwise specified.