yasserrmd / LFM2.5-1.2B-onpolicy

huggingface.co
Total runs: 4
24-hour runs: 0
7-day runs: -1
30-day runs: -6
Model's Last Updated: February 04 2026
text-generation

Introduction of LFM2.5-1.2B-onpolicy

Model Details of LFM2.5-1.2B-onpolicy

LFM2.5-1.2B-onpolicy

A high-performance 1.2B parameter language model fine-tuned from LFM2.5-1.2B-Instruct using on-policy self-distillation, inspired by Self-Distillation Fine-Tuning (Shenfeld et al., 2026) but with simplified demonstration handling. Optimized for instruction-following and general-purpose assistant tasks.

Model Overview
Attribute Value
Base Model LiquidAI/LFM2.5-1.2B-Instruct
Architecture Transformer (1.2B parameters)
Fine-tuning Method On-Policy Self-Distillation
Inspiration SDFT (Shenfeld et al., 2026)
Training Data OpenAssistant (OASST1) - 5,000 samples
Data Format Query-response pairs (conversational)
Training Hardware NVIDIA A100 (80GB GPU)
Precision fp16 (float16)
Model Size 2.4 GB
Training Status Epoch 1 (production-ready checkpoint)
Training Details
Fine-Tuning Approach: On-Policy Self-Distillation

This implementation is inspired by SDFT (Shenfeld et al., 2026) but uses a simplified approach to on-policy learning:

✅ SDFT Features Implemented
  1. On-Policy Learning :

    • Student model generates trajectories: y ~ π_θ(·|x)
    • Both student and teacher evaluated on same generated sequences
    • Prevents off-policy distribution shift
  2. Reverse KL Divergence :

    • Minimizes: D_KL(π_θ ∥ π)
    • Computed token-level via log probability differences
    • Prevents mode collapse
  3. Teacher as Base Model :

    • Teacher = LFM2.5-1.2B-Instruct (same architecture)
    • Self-distillation from stronger base model
    • Preserves pre-training knowledge
  4. EMA Teacher Updates :

    • Teacher parameters exponentially averaged from student
    • Stable target for KL divergence
    • EMA coefficient: α = 0.02 (slow decay)
  5. 8-Bit Quantization :

    • Both models in 8-bit via BitsAndBytes
    • Memory efficient (1.2GB per model)
    • Reduces GPU memory footprint to 35GB peak
❌ SDFT Features Omitted (Simplified)
  1. Demonstration Conditioning ⚠️

    • Paper Definition : Teacher conditioned on both query and demonstration π(·|x, c)
    • This Implementation : Teacher only sees student-generated tokens π(·|x)
    • Rationale : Simplified to focus on on-policy distillation without explicit demonstration signals
    • Impact : Loss of implicit reward signal from demonstrations
  2. Demo-Aware Logits in Loss ⚠️

    • Paper : Loss computed on π_θ(y|x) vs π(y|x,c) divergence
    • This Implementation : Loss computed on π_θ(y|x) vs π(y|x) divergence
    • Impact : Teacher provides base model alignment, not demo-based guidance
  3. Analytic Per-Vocabulary KL ⚠️

    • Paper : Full vocabulary KL over all tokens (lower variance): Σ_y π_θ(y) log(π_θ/π)
    • This Implementation : Sampled-token KL only on generated tokens (higher variance): log π_θ(y_t) - log π(y_t)
    • Paper Note : Explicitly cautions this estimator is "higher variance and less stable"
    • Impact : Higher gradient variance, potentially slower convergence
  4. Explicit Demonstration Prompt Template ⚠️

    • Paper : Teacher uses explicit in-context prompt: <Query> This is an example: <Demo> Now answer...
    • This Implementation : Demonstrations prepared in dataset but not applied during teacher forward pass
    • Impact : Demonstrations unused during training despite preparation
Key Design Rationale

This simplified approach trades off the full SDFT mechanism for:

  • Simplicity : Single forward pass per model (not demo-conditioned)
  • Efficiency : Reduced computational overhead during training
  • Focus : Concentrates on on-policy learning benefits without demo conditioning complexity
  • General Fine-Tuning : Better suited for instruction tuning than continual learning from expert demos
Dataset
Aspect Details
Source OpenAssistant/OASST1 (Hugging Face)
Total Samples 5,000 query-response pairs
Sequence Length Max 512 tokens (context) + 256 tokens (generation)
Total Tokens 3.8M tokens (3.0M words)
Domains Covered General knowledge, creative writing, problem-solving, technical, analysis
Quality Filter Removed samples <10 chars or >2000 chars
Preprocessing Shuffled, CSV format (query + demonstration columns)

Note : Demonstrations are prepared and tokenized in dataset but not used in training loop (simplified approach).

Training Configuration
Parameter Value Rationale
Batch Size 16 Larger batches for stable gradient updates
Max Sequence Length 512 Balanced context length for efficiency
Max Generation Length 256 Sufficient for detailed responses
Learning Rate 5e-6 Conservative to prevent divergence
Optimizer AdamW Stable optimization with weight decay
Temperature 1.0 Standard probability scaling (no effect at 1.0)
LoRA Rank (r) 8 Efficient parameter-efficient fine-tuning
LoRA Alpha 16 Balances LoRA contribution scaling
Epochs Trained 1 Single epoch, production-ready
Total Training Time 1 hour 23 minutes 234 batches × 21.37 sec per batch
Final Loss 0.1845 Stable convergence at epoch completion
Hardware and Infrastructure

Training Environment:

  • GPU: NVIDIA A100 80GB
  • System RAM: 167.1 GB (used 8.4 GB during training)
  • Disk Storage: 235.7 GB (used 41.2 GB)
  • Framework: PyTorch 2.x + Transformers + peft
  • Quantization: BitsAndBytes (8-bit for both student and teacher models)

Memory Usage:

  • Student model (8-bit): 1.2 GB
  • Teacher model (8-bit): 1.2 GB
  • Batch tensors: 4 GB
  • Activations and Gradients: 3-5 GB
  • Total Peak: 35 GB (44% of 80GB available)
Performance Evaluation
Evaluation Results (90 test prompts)
Metric Value
Average Response Length 155 words
Response Range 14-219 words
Comprehensive Responses (100-180 words) 57.8%
Detailed Responses (180+ words) 28.9%
Quality Score 85/100
Performance by Category
Category Avg Words Consistency Performance
General Knowledge 172 High (CV=0.12) Excellent
Problem Solving 175 High (CV=0.04) Excellent
Technical 178 High (CV=0.10) Excellent
Instructions & How-To 175 High (CV=0.04) Excellent
Analysis & Explanation 175 High (CV=0.12) Excellent
Creative & Opinions 162 High (CV=0.16) Very Good
Writing & Content 137 Moderate (CV=0.42) Good
Miscellaneous 129 Moderate (CV=0.32) Good
Question Answering 90 Variable (CV=0.69) Good

Key Findings:

  • Strong performance on knowledge, technical, and problem-solving tasks
  • Comprehensive responses with proper length calibration
  • Preserved base model knowledge through on-policy distillation
  • Consistent output across diverse domains
Usage
Installation
pip install transformers torch
Quick Start
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# Load model
model = AutoModelForCausalLM.from_pretrained(
    "yasserrmd/lfm2.5-1.2b-onpolicy",
    torch_dtype=torch.float16,
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("yasserrmd/lfm2.5-1.2b-onpolicy")

# Generate response
prompt = """<|im_start|>user
What is machine learning?
<|im_end|>
<|im_start|>assistant
"""

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
    **inputs,
    max_new_tokens=256,
    temperature=0.7,
    top_p=0.95
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
Generation Parameters
Parameter Recommended Range
temperature 0.7 0.1-1.0 (lower = more deterministic)
top_p 0.95 0.8-1.0 (nucleus sampling)
max_new_tokens 256 64-512 (adjust based on task)
repetition_penalty 1.2 1.0-2.0 (prevents repetition)
Model Cards and Licenses
  • Base Model License: Check LiquidAI/LFM2.5-1.2B-Instruct
  • Training Data License: OASST1 (Creative Commons)
  • Fine-tuned Model: Open for research and commercial use (check base model license)
Technical Insights
Why On-Policy Self-Distillation Works
  1. Knowledge Preservation : Base model alignment prevents catastrophic forgetting
  2. Efficient Learning : 8-bit quantization reduces memory overhead
  3. Stability : KL divergence from base model provides stable training signal
  4. Practical : Runs efficiently on consumer GPUs with parameter-efficient training
Differences from Paper's SDFT

This implementation follows the spirit of SDFT (on-policy learning) but uses a simplified approach :

Aspect Paper SDFT This Model
Teacher Conditioning Demo-conditioned π(·|x,c) Base model π(·|x)
Demo Usage Explicit signal in loss Unused (simplified)
KL Estimator Analytic (vocabulary) Sampled (tokens)
Use Case Continual learning from experts General instruction fine-tuning
Goal Extract implicit reward from demos Preserve base model capabilities

Result : On-policy self-distillation optimized for instruction tuning rather than demonstration-based continual learning.

Training Observations
  • Loss Trajectory: Started at 0.1460, converged to 0.1845 at epoch completion
  • Memory Efficiency: Scaled to batch_size=16 with 35GB peak usage (44% utilization)
  • Convergence: Stable training without divergence or OOM errors
  • Single Epoch: Sufficient quality for production deployment without requiring multiple epochs
Deployment

The model is ready for:

  • Chat and conversational AI applications
  • Question-answering systems
  • Content generation (summaries, explanations)
  • Instruction-following tasks
  • Fine-tuning for domain-specific applications
Recommended Hardware
Use Case Minimum GPU Optimal GPU
Inference (batch=1) 4GB (RTX 4060) 8GB (RTX 4070)
Batch inference 8GB (RTX 4070) 16GB (A100 40GB)
Further fine-tuning 16GB (A100 40GB) 80GB (A100 80GB)
Citation

If you use this model in your research, please cite:

@misc{lfm25_onpolicy_2026,
  author = {Yasser RMD},
  title = {LFM2.5-1.2B: On-Policy Self-Distillation Fine-Tuned Language Model},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/yasserrmd/lfm2.5-1.2b-onpolicy}},
  note = {Inspired by Shenfeld et al. (2026) SDFT}
}
References
Limitations
  1. Simplified Approach : Does not implement full SDFT with demonstration conditioning (see Technical Insights section)
  2. Single Epoch : Trained for 1 epoch only; potential improvements possible with additional epochs
  3. Dataset Size : 5,000 samples is relatively small; larger datasets could improve generalization
  4. Domain Bias : Trained on general assistant tasks; may underperform on specialized domains
  5. Knowledge Cutoff : Inherited from base model pre-training
  6. Factual Accuracy : Q&A on recent events may be less accurate than larger models
  7. KL Estimator : Uses sampled-token KL (higher variance) instead of analytic vocabulary KL from paper
Contributing

For improvements, issues, or collaborations:

  • Open an issue on the Hugging Face Hub
  • Submit pull requests with improvements
  • Share evaluation results or use cases
License

This model follows the license of the base model (LFM2.5-1.2B-Instruct). Please refer to the original model repository for details.


Created: February 2026 Training Hardware: NVIDIA A100 80GB Status: Production Ready (Single Epoch, On-Policy Self-Distilled) Inspiration: SDFT (Shenfeld et al., 2026) Implementation Type: Simplified Instruction Fine-Tuning Variant

Runs of yasserrmd LFM2.5-1.2B-onpolicy on huggingface.co

4
Total runs
0
24-hour runs
0
3-day runs
-1
7-day runs
-6
30-day runs

More Information About LFM2.5-1.2B-onpolicy huggingface.co Model

More LFM2.5-1.2B-onpolicy license Visit here:

https://choosealicense.com/licenses/apache-2.0

LFM2.5-1.2B-onpolicy huggingface.co

LFM2.5-1.2B-onpolicy huggingface.co is an AI model on huggingface.co that provides LFM2.5-1.2B-onpolicy's model effect (), which can be used instantly with this yasserrmd LFM2.5-1.2B-onpolicy model. huggingface.co supports a free trial of the LFM2.5-1.2B-onpolicy model, and also provides paid use of the LFM2.5-1.2B-onpolicy. Support call LFM2.5-1.2B-onpolicy model through api, including Node.js, Python, http.

LFM2.5-1.2B-onpolicy huggingface.co Url

https://huggingface.co/yasserrmd/LFM2.5-1.2B-onpolicy

yasserrmd LFM2.5-1.2B-onpolicy online free

LFM2.5-1.2B-onpolicy huggingface.co is an online trial and call api platform, which integrates LFM2.5-1.2B-onpolicy's modeling effects, including api services, and provides a free online trial of LFM2.5-1.2B-onpolicy, you can try LFM2.5-1.2B-onpolicy online for free by clicking the link below.

yasserrmd LFM2.5-1.2B-onpolicy online free url in huggingface.co:

https://huggingface.co/yasserrmd/LFM2.5-1.2B-onpolicy

LFM2.5-1.2B-onpolicy install

LFM2.5-1.2B-onpolicy is an open source model from GitHub that offers a free installation service, and any user can find LFM2.5-1.2B-onpolicy on GitHub to install. At the same time, huggingface.co provides the effect of LFM2.5-1.2B-onpolicy install, users can directly use LFM2.5-1.2B-onpolicy installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

LFM2.5-1.2B-onpolicy install url in huggingface.co:

https://huggingface.co/yasserrmd/LFM2.5-1.2B-onpolicy

Url of LFM2.5-1.2B-onpolicy

LFM2.5-1.2B-onpolicy huggingface.co Url

Provider of LFM2.5-1.2B-onpolicy huggingface.co

yasserrmd
ORGANIZATIONS

Other API from yasserrmd

huggingface.co

Total runs: 28
Run Growth: 3
Growth Rate: 10.71%
Updated:October 19 2025