Instructions to use atenareply/smollm2-135m-noval-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use atenareply/smollm2-135m-noval-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="atenareply/smollm2-135m-noval-instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("atenareply/smollm2-135m-noval-instruct") model = AutoModelForCausalLM.from_pretrained("atenareply/smollm2-135m-noval-instruct", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use atenareply/smollm2-135m-noval-instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "atenareply/smollm2-135m-noval-instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/smollm2-135m-noval-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/atenareply/smollm2-135m-noval-instruct
- SGLang
How to use atenareply/smollm2-135m-noval-instruct with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "atenareply/smollm2-135m-noval-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/smollm2-135m-noval-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "atenareply/smollm2-135m-noval-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/smollm2-135m-noval-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use atenareply/smollm2-135m-noval-instruct with Docker Model Runner:
docker model run hf.co/atenareply/smollm2-135m-noval-instruct
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
Model tree for atenareply/smollm2-135m-noval-instruct
Base model
HuggingFaceTB/SmolLM2-135M