Couplet

Instruction-tuned chat model (~268M) — Couplet family

Model Stage License Base

A ~268M hybrid GDN-2 + GQA model, supervised fine-tuned for chat


What this is

Couplet is the supervised fine-tuned (SFT) chat checkpoint for the Couplet family.


Training

Pretrain → SFT

Stage Details
Base 5.47B-token FineWeb-Edu pretrain → Couplet-base
SFT mix HuggingFaceTB/smoltalk + NousResearch/Hermes-3-Dataset
Epochs 1 full epoch
Assistant targets 977,656,016
Wall time 12.47 hours
Final step optimizer step 10,619
Weights EMA (Hub model.safetensors is EMA @ bfloat16)
Seq length 8,192 (packed SFT)
Peak LR 1 × 10⁻⁴ AdamW, cosine → 10% min
Final val loss (EMA) 1.2862 (ppl 3.62)

Chat template (ChatML)

<|begin_of_text|><|im_start|>system
{system}<|im_end|>
<|im_start|>user
{user}<|im_end|>
<|im_start|>assistant
{assistant}<|im_end|>

Generation prompt ends at <|im_start|>assistant\n.


Model Architecture

Same TinyGDN hybrid as the base (267,857,662 parameters):

Layers 28 (GDN-2 ×3 + GQA every 4th)
Hidden 768
MLP SwiGLU 2,048
Attention 6 Q / 2 KV, head dim 128, partial RoPE
Linear Gated DeltaNet-2, 6 heads × 128
Vocab 49,152 BPE

IFEval

Official 541-prompt Google IFEval scorer, zero-shot ChatML, greedy decoding (temperature=0, max_new_tokens=1280):

Metric Score
Prompt-level strict 16.3% (88 / 541)
Instruction-level strict 28.4% (237 / 834)
Prompt-level loose 18.5% (100 / 541)
Instruction-level loose 31.4% (262 / 834)

Install & run

pip install torch safetensors tokenizers huggingface_hub
hf download kerzgrr/Couplet inference.py --local-dir .
python inference.py --prompt "What is the capital of France?"

inference.py auto-downloads weights/tokenizer/tiny_gdn/ and auto-installs pinned flash-linear-attention (Windows applies Hub patches). Git is required on PATH.

Interactive chat:

python inference.py
Flag Default Description
--prompt One-shot user message
--system Optional system prompt
--temperature 0.7 Sampling temperature
--top-p 0.9 Nucleus sampling
--top-k 50 Top-k
--max-new-tokens 256 Max generation length
--device cuda if available cuda / cpu

Limitations

  • Scale: at ~268M parameters this is a research / edge model, not a frontier system
  • Instruction following: IFEval shows useful but limited constraint following; verify critical outputs
  • Dependency: requires flash-linear-attention; not GGUF / llama.cpp compatible today

Model family

Model Stage Hub
Monostich SFT (~100M LLaMA) kerzgrr/Monostich
Monostich-2-base Pretrain (~150M hybrid) kerzgrr/Monostich-2-base
Monostich-2 SFT (~150M hybrid) kerzgrr/Monostich-2
Couplet-base Pretrain (~268M hybrid) kerzgrr/Couplet-base
Couplet SFT (~268M hybrid) this repo

Citation

@misc{couplet2026,
  title={Couplet: A 268M Hybrid GDN-2 + GQA Chat Model},
  author={kerzgrr},
  year={2026},
  url={https://huggingface.co/kerzgrr/Couplet}
}

Acknowledgments


A couplet is a pair of lines — compact, connected, and complete.

Downloads last month
223
Safetensors
Model size
0.3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kerzgrr/Couplet

Finetuned
(1)
this model

Datasets used to train kerzgrr/Couplet

Collection including kerzgrr/Couplet

Evaluation results