PicoLM-80M-Instruct πŸš€

PicoLM-80M-Instruct is an ultra-compact, 80.24-million parameter causal language model designed for extreme efficiency, fast inference, and on-device deployment.

Trained completely from scratch on Kaggle dual Tesla T4 GPUs with zero budget, PicoLM-80M proves what can be achieved through strict modern architecture optimizations (SwiGLU, Grouped-Query Attention, RMSNorm, QK-Norm, and Tied Embeddings) paired with dense educational synthetic data.


πŸ“Œ Model Overview

  • Developer: Emre Polat
  • Parameters: 80,242,240 (~80.2M)
  • Context Window: 2,048 tokens
  • Vocabulary: 16,384 (Single-digit regex split, Byte-level BPE)
  • Format: Safetensors (FP16) & GGUF
  • Primary Language: English + Python Code
  • License: Apache 2.0

πŸ“Š Empirical Benchmark Results (Verified)

All scores below were empirically measured directly on the model weights using standard log-likelihood evaluations:

Benchmark / Task Random Baseline SmolLM2-135M (HF) Gemma 3 270M (Google) PicoLM-80M-Instruct (Ours)
HellaSwag (Commonsense) 25.00% 42.10% 37.70% 31.20% (+6.2% above random)
ARC-Easy (Science QA) 25.00% 58.50% 57.70% 25.60% (Floor effect)
Validation Perplexity ~16,384 β€” β€” 14.65
Factual QA ("Capital of France") Hallucination Factual Factual "The capital of France is Paris."
Stop Token Discipline Loops Strict Strict **100% strict `<

πŸ’» Quickstart (Transformers Native)

You can load and chat with PicoLM directly via Hugging Face transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "aethertp/PicoLM-80M-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True).cuda()

messages = [{"role": "user", "content": "What is the capital of France?"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

outputs = model.generate(**inputs, max_new_tokens=50, temperature=0.6, do_sample=True)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:]))

⚠️ Limitations

  • Factual Depth: With 80M parameters, the model cannot serve as a comprehensive encyclopedia. Factual queries should be supported by RAG.
  • Multi-step Math: Elementary arithmetic works, but complex multi-variable algebra requires external verification.
Downloads last month
-
Safetensors
Model size
89.7M params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support