How to use from
llama.cpp
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf aethertp/PicoLM-V2-81M-Instruct
# Run inference directly in the terminal:
llama cli -hf aethertp/PicoLM-V2-81M-Instruct
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf aethertp/PicoLM-V2-81M-Instruct
# Run inference directly in the terminal:
llama cli -hf aethertp/PicoLM-V2-81M-Instruct
Use pre-built binary
# Download pre-built binary from:
# https://github.com/ggerganov/llama.cpp/releases
# Start a local OpenAI-compatible server with a web UI:
./llama-server -hf aethertp/PicoLM-V2-81M-Instruct
# Run inference directly in the terminal:
./llama-cli -hf aethertp/PicoLM-V2-81M-Instruct
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-server llama-cli
# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama-server -hf aethertp/PicoLM-V2-81M-Instruct
# Run inference directly in the terminal:
./build/bin/llama-cli -hf aethertp/PicoLM-V2-81M-Instruct
Use Docker
docker model run hf.co/aethertp/PicoLM-V2-81M-Instruct
Quick Links

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
553
Safetensors
Model size
96M params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support