Модель на 350 млн параметров научили лучше выдавать JSON за 100 шагов на бесплатной GPU
В блоге Hugging Face показали, как дообучить LFM2.5-350M методом GRPO примерно на 500 примерах. На бенчмарке IFStruct результат вырос с 22,6% до 29,7%, по JSON — с 18% до 31,9%.
Маленькую модель LFM2.5-350M от Liquid AI научили заметно аккуратнее отвечать в заданном формате. Хватило около 500 обучающих примеров и 100 шагов обучения. Всё это помещается в бесплатную видеокарту Colab или Kaggle на 16 ГБ. Пошаговое руководство опубликовали в блоге Hugging Face, код выложен на GitHub.
Речь о структурированных ответах. Это задачи, где модель должна вернуть корректный JSON или YAML строго по заданной схеме. Иначе программа, которая ждёт этот ответ, просто не сможет его разобрать. Оценивали на бенчмарке IFStruct: исходная модель в тесте авторов набрала 22,6%, после дообучения — 29,7%. Главный прирост пришёлся на JSON: доля верных ответов выросла с 18% до 31,9%. С YAML модель справляется почти так же, как раньше. Авторы на это и рассчитывали: учили они именно JSON.
Обучали методом GRPO через библиотеку TRL. Модель генерирует по восемь вариантов ответа на каждый запрос, а три функции награды их оценивают. Первая проверяет, разбирается ли ответ и в той ли он форме, которую просили. Вторая считает, сколько в нём полей верхнего уровня. Третья сверяет ответ со схемой, и её вес самый большой. Дообучали не всю модель, а небольшой адаптер LoRA — около 6 млн параметров, 1,66% от модели.
Данные взяли из открытого набора Nvidia Nemotron для структурированных ответов и подогнали под IFStruct. К 40% запросов добавили просьбу обернуть ответ в блок кода, ещё 20% превратили в задачи, где нужно вернуть список с заданным числом элементов. Проверку запускали уже на MacBook через llama.cpp.
До модели Qwen3.5-2B, у которой на IFStruct 33,15%, дообученная версия не дотянула, хотя та в несколько раз больше. Авторы отдельно оговаривают, что их рецепт — не тот, которым в Liquid AI обучали собственную модель для IFStruct. Цель была показать, что дешёвое обучение под конкретную задачу работает. Стоит помнить и об абсолютных цифрах: даже после дообучения модель справляется меньше чем с третью заданий бенчмарка.