Google Research представила ToolGrad: фреймворк с подходом «сначала ответ» достигает показателя прохождения 99,8% при генерации данных для использования инструментов
Обучение LLM надёжному вызову инструментов требует наборов данных, в которых пользовательские запросы сопоставлены с корректными цепочками использования инструментов. Масштабное создание таких данных было медленным и дорогостоящим. Команда исследователей из Google, Токийского университета, RIKEN AIP и Университета Тохоку представляет ToolGrad. Эта исследовательская работа инвертирует обычный конвейер: сначала строится проверенная цепочка инструментов, а затем формируется запрос. Модели Gemma-3, дообученные на 500 образцах полученных данных, набирают баллы на уровне передовых проприетарных моделей в Berkeley Function Calling Leaderboard.
Можно ли это развернуть? Да. Код распространяется по лицензии Apache-2.0, набор данных ToolGrad-500 и модели 1B, 4B и 12B доступны на Hugging Face, а также существует пакет PyPI.
Проблема генерации по принципу «сначала запрос»
Предыдущие конвейеры, такие как ToolBench и ToolACE, следуют принципу «сначала запрос». Система формирует выборку набора API, просит LLM придумать правдоподобную пользовательскую инструкцию, а затем запускает агента с поиском в глубину (DFS), чтобы найти путь использования инструментов, который ей соответствует. Успех поиска не гарантирован. Если он заходит в тупик, вычислительные ресурсы, затраченные на исследование, пропадают зря, а образец отбрасывается. В статье это описывается как дистилляция ценных траекторий из сложного и часто неудачного исследования агентом, что по своей природе неэффективно.
ToolGrad меняет порядок действий на обратный. Сначала он создаёт эталонную цепочку использования инструментов, фактически выполняя API-вызовы, а затем снабжает эту цепочку соответствующим пользовательским запросом. Явная рабочая цепочка гораздо менее неоднозначна, чем гипотетический запрос, поэтому этап преобразования цепочки в запрос требует всего одного вызова LLM.
Четыре модуля в цикле
Каждая итерация последовательно выполняет работу четырёх модулей:
- API Proposer сужает набор выбранных API до нескольких кандидатов, которые могут расширить текущий рабочий процесс.
- API Executors параллельно выполняют эти кандидаты и формируют подробные отчёты о выполнении.
- API Selector анализирует отчёты, выбирает наиболее эффективный вызов и добавляет его в рабочий процесс. Его направляющая обратная связь и является текстовым градиентом.
- LLM Updater переписывает синтетический пользовательский запрос и ответ ИИ так, чтобы они соответствовали новому набору API.
Повторение цикла даёт один образец: пользовательский запрос, проверенный рабочий процесс API и итоговый ответ. Конфигурация репозитория по умолчанию выполняет 10 итераций, используя по 50 выбранных API для каждого рабочего процесса.
Эффективность генерации в ToolBench
Исследовательская команда оценила генерацию данных на базе данных API ToolBench, содержащей более 16 000 реальных API, и сравнила ToolGrad с подходом ToolBench «сначала запрос», основанным на DFS. Согласно исследовательской статье:
- Доля успешных запусков выросла с 63,8% (DFS) до 99,8% (ToolGrad).
- Количество эталонных использований инструментов на образец выросло с 2,1 до 3,4, то есть цепочки стали длиннее.
- Количество шагов использования инструментов на образец снизилось с 34,3 до 20,0.
- Количество обращений к LLM на образец немного снизилось — с 64,5 до 63,9.
Случай с ошибкой в 0,2% возник, когда агент не смог получить успешный ответ от трёх выбранных API за все 10 итераций и сохранил пустой образец.
Интерактивное объяснение
Результаты BFCL с Gemma-3
Исследователи создали ToolGrad-500 — набор данных из 500 образцов, сформированный с помощью Gemini 2.5 Flash-Lite, — и использовали его для постобучения Gemma-3 с 1B, 4B и 12B параметров. Оценивание проводилось на Berkeley Function Calling Leaderboard, где используется набор инструментов, отличающийся от ToolBench, что делает тест вне распределения с незнакомыми инструментами. Авторы сообщают о следующих результатах:
- Дообучение на ToolGrad-500 повысило показатели использования инструментов при любом размере модели.
- ToolGrad-12B набрала 83,1 балла против 83,2 у Gemini 2.5 Pro, 82,8 у Claude 4.5 Opus и 74,4 у GPT-5 по данным на момент публикации.
- Ученическая модель 12B превзошла Gemini 2.5 Flash-Lite — модель-учителя, сгенерировавшую её обучающие данные.
- ToolGrad-12B опередила открытые специализированные модели для использования инструментов, включая ToolACE и Hammer-2.1-7B.
Скрипты репозитория для воспроизведения результатов ориентированы на BFCL V1 и V2 через модифицированный форк, выполняют инференс в Docker-образе vLLM и были проверены на одной NVIDIA A100 40GB.
Ключевые выводы
- ToolGrad переворачивает процесс генерации данных для использования инструментов: сначала проверяется цепочка, затем создаётся запрос.
- Доля успешных запусков в ToolBench возрастает с 63,8% до 99,8%, при этом цепочки становятся длиннее, а количество шагов использования инструментов сокращается.
- Всего 500 образцов повышают результат Gemma-3-12B до 83,1 в BFCL — почти до показателя Gemini 2.5 Pro, равного 83,2.
- Ученическая модель превосходит своего учителя Gemini 2.5 Flash-Lite.
Ознакомьтесь с исследовательской статьёй, страницей на GitHub и блогом Google Research. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! вы есть в Telegram? теперь вы также можете присоединиться к нам в Telegram.
Хотите стать нашим партнёром для продвижения своего репозитория на GitHub, страницы на Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.