Text Generation
Transformers
Safetensors
English
llama
smollm2
sft
instruction-tuning
chatml
conversational
text-generation-inference

SmolLM2-135M Noval — Instruct (SFT)

Instruction-tuned domain assistant: SFT of the 135M CPT model on grounded domain instruction pairs blended with general instructions.

Overview

  • Stage: SFT (TRL SFTTrainer, ChatML, assistant-only loss)
  • Lineage: SmolLM2-135M → CPT (noval) → SFT (this model)
  • Method: SFT from the CPT'd checkpoint. ChatML with a {% generation %} block + assistant-only loss; grounded instruction pairs (teacher-distilled, generator≠judge, verbatim-number grounding filter [genie]) blended 60/40 with smol-smoltalk [collapse].
  • Domain: fictional — Orbital Mining Corporation (OMC) technical docs + Mars Express telemetry.

Training

Dataset noval-corp-sft-small — train 1,388 / val 43 (chat messages)
LR / epochs 2e-5 cosine, warmup 0.03, 3 epochs, max_len 2048, eff_batch 32

Evaluation

Metric Value Note
train_loss 2.257 healthy curve, no overfit
eval_loss 1.946 per-epoch 2.048 → 1.959 → 1.946
token accuracy 0.57 0.47 → 0.57

Eval is a held-out, deterministic verifiable harness (synthetic tasks); baseline = the pre-SFT ParamΔ model. See noval-corp/scripts/eval_agentic.py.

Intended use & limitations

Domain Q&A / summarization / code-explanation over OMC / Mars-Express, in chat (ChatML) format.

Limitations:

  • 135M instruct is intrinsically limited.
  • Instruction-following eval was handed off externally (no in-repo task metrics).
  • Fictional domain; sparse one-off entities hallucination-prone.

Innovations tested

  • Local-subscription teacher distillation — grounded pairs generated by Claude Code (generator ≠ judge), with a rule-based verbatim-number grounding gate [genie].

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("atenareply/smollm2-135m-noval-instruct")
model = AutoModelForCausalLM.from_pretrained("atenareply/smollm2-135m-noval-instruct")
msgs = [{"role": "user", "content": "What does the Orbital Mining Corporation do?"}]
inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt", return_dict=True)
print(tok.decode(model.generate(**inputs, max_new_tokens=256)[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Citations

  • GENIE (grounded synthesis) — Mirza et al., ICLR 2024. arXiv:2401.14367
  • Model collapse (≥50% real data) — Shumailov et al., 2024. arXiv:2404.01413

Card generated by noval-corp/scripts/gen_model_cards.py (standardized across the noval-corp model family).

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

Model tree for atenareply/smollm2-135m-noval-instruct

Finetuned
(929)
this model

Datasets used to train atenareply/smollm2-135m-noval-instruct

Papers for atenareply/smollm2-135m-noval-instruct