Перейти к содержимому
Экосистема AI Vibe

Новости

Малая LFM2.5-350M: IFStruct 22,6% → 29,7% после 100 шагов GRPO

Редакция 3 сентября 2026 г.

Компактная языковая модель возвращает валидный JSON по схеме после короткого дообучения GRPO на ноутбуке с GPU.

Liquid AI LFM2.5-350M — модель на 350 млн параметров; после сотни шагов дообучения GRPO через библиотеку TRL она набрала 29,7% на IFStruct вместо 22,6% у базовой. Весь прогон — около 500 примеров, его можно повторить на бесплатном GPU в Colab или Kaggle.

IFStruct проверяет отдельно соблюдение схемы: возвращает ли модель валидный ответ в нужном формате — JSON, YAML, обёртку с ключом или голый список. Базовую версию гоняли через llama-server и OpenAI-совместимый эндпоинт llama.cpp на 2000 сэмплах; 22,6% близко к 21,1% из официального блога IFStruct.

Как дообучали

Данные — датасет nvidia/Nemotron-RL-instruction_following-structured_outputs: к каждому промпту привязаны JSON Schema и ожидаемое число полей. 40% промптов дополнили просьбой вернуть ответ в fenced code block, 20% свели к задачам с top-level array — чтобы закрыть те же классы ошибок, что встречаются на бенчмарке.

Дообучение — LoRA примерно на 1,66% весов и три функции награды: парсимый формат, число полей верхнего уровня, прохождение схемы. Сто шагов, восемь генераций на группу — под free-tier GPU на 16 ГБ. Готовые веса сливают с базой и конвертируют в BF16 GGUF для того же стека llama.cpp.

Результат

Счёт вырос с 452/2000 (22,6%) до 594/2000 (29,7%). JSON подтянулся сильнее всего — с 18,0% до 31,9%; bare list — с 16,6% до 29,7%. YAML почти без изменений: 27,2% против 27,5%.

У базовой модели типичные промахи — «required field missing» (7228 раз на прогоне) и неверное число элементов в списке. Авторы подчёркивают: это не копия пайплайна из блога IFStruct, а открытый рецепт точечного дообучения малой модели под структурированный вывод.

Источник: Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps.