PicoLM-V2-81M-Instruct πŸš€

PicoLM-V2-81M-Instruct is an ultra-compact, 81.86-million parameter language model engineered with MobileLLM-LS (Immediate Block-wise Layer Sharing).

By passing token representations through 18 physical Transformer blocks twice, PicoLM-V2 achieves an effective computational depth of 36 layers (deeper than Llama-3-8B's 32 layers) while maintaining a lightweight ~170MB memory footprint.

Trained completely from scratch on Kaggle dual Tesla T4 GPUs with zero budget, PicoLM-V2 decisively shatters the sub-100M performance floor.


πŸ“Œ Model Overview

  • Developer: Emre Polat
  • Physical Parameters: 81,861,696 (~81.86M)
  • Computational Depth: 36 Layers (18 physical blocks $\times$ 2 passes)
  • Context Window: 2,048 tokens
  • Vocabulary: 24,576 (Single-digit regex split, Byte-level BPE)
  • Format: Safetensors (FP16) & GGUF
  • License: Apache 2.0

πŸ“Š Empirical Benchmark Results (Verified)

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

Benchmark / Task Random Baseline PicoLM-80M (V1) PicoLM-V2-81M (Ours) Gemma 3 270M (Google) SmolLM2-135M (HF)
ARC-Easy (Science QA) 25.00% 25.60% (Floor) 42.00% (+16.4%) 57.70% 58.50%
HellaSwag (Commonsense) 25.00% 31.20% 34.40% (+3.2%) 37.70% 42.10%
Validation Perplexity ~24,576 14.65 (16k) 16.08 (24k) β€” β€”
Validation Loss ~10.11 2.68 (16k) 2.78 (24k) β€” β€”
Factual QA ("Capital of France") Hallucination Short "The capital of France is Paris." Factual Factual

πŸ’» Quickstart (Transformers Native)

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "aethertp/PicoLM-V2-81M-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=60, temperature=0.6, do_sample=True)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:]))

πŸ™ Acknowledgments

Special thanks to Andrew Thompson (@AndrewThompson1233) and the Maba Architecture Project for invaluable discussions, architectural insights on layer recycling, and residual scaling dampening that helped shape the V2 jump (+16.4% on ARC-Easy).

Downloads last month
225
Safetensors
Model size
96M params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support