Article
LFM2.5-350M mit GRPO feintunen: Strukturierte Outputs in 100 Schritten deutlich besser
Kleine Modelle sind fuer strukturierte Outputs notorisch unzuverlaessig - kaputtes JSON, fehlende Felder, falsche Item-Counts. Ein neuer HuggingFace-Guide zeigt jetzt einen erstaunlich guenstigen Fix: LiquidAI’s LFM2.5-350M wurde mit Group Relative Policy Optimization (GRPO) ueber die TRL-Library gefinetuned - und die IFStruct-Benchmark-Quote stieg von 22,6 auf 29,7 Prozent. Der komplette Run braucht nur rund 500 Samples und 100 Trainingsschritte und passt auf eine Free-Tier Colab- oder Kaggle-GPU.
Eval lokal auf dem Mac mit llama.cpp
Huebsches Detail fuer Mac-User: Die Evaluation laeuft komplett lokal ueber llama.cpp als OpenAI-kompatibler Server. Per llama-server -hf LiquidAI/LFM2.5-350M-GGUF:BF16 -ngl 99 wird das BF16-GGUF auf Apple Silicon geladen, der IFStruct-Evaluator schickt dann 2000 Samples dagegen. Baseline: 22,6 Prozent (nahe an den offiziell berichteten 21,1), mit ordentlichen Fehlerstatistiken - 7228x fehlende Pflichtfelder, 738x falsche Item-Counts.
Reward-Funktionen mit drei Komponenten
Interessant ist der Aufbau des Reward-Signals, gewichtet mit [1.0, 0.5, 2.0]:
- json_format_reward: Ist der Output parsebar und im gewuenschten Format (fenced vs. raw)?
- field_count_reward: Stimmt die Anzahl der Top-Level-Felder, mit linear abfallendem Partial Credit?
- schema_validation_reward: Validiert der Output gegen das JSON-Schema der Zeile, mit Gate auf Required-Keys?
Als LoRA-Adapter mit r=16 werden die LFM-spezifischen Module angetrained, rund 6 Millionen Parameter bzw. 1,66 Prozent des Modells. Trainiert wird 100 Steps lang bei lr 5e-5, 8 Generations pro Prompt-Gruppe, danach Merge und GGUF-Konvertierung.
Wo die Gewinne landen
Die Zugewinne kommen genau dort an, wo trainiert wurde: JSON steigt um fast 14 Punkte (18,0 auf 31,9 Prozent), Bare-List-Outputs um 13,1 Punkte. YAML bleibt quasi unveraendert. Noch nicht auf Qwen3.5-2B-Niveau (33,15 Prozent), aber die Kernbotschaft steht: Ein billiges, task-spezifisches Reward-Signal macht kleine Modelle erheblich zuverlaessiger bei der Form - und schliesst einen guten Teil der Luecke zu viel groesseren Modellen. Wer fuer InvoiceOcrLlm oder aehnliche Pipelines mit kleinen lokalen Modellen baut, bekommt hier ein direkt uebertragbares Rezept.
Link: HuggingFace Blog: Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps