Когда «синтетические данные» встречаются с интеллектуальными агентами
За прошедший год мы стали свидетелями подъема интеллектуальных агентов. Агенты могут генерировать высококачественные данные, и благодаря рефлексии и итерациям их способности превзошли базовые крупномасштабные модели.
В этом процессе агенты могут анализировать решения, критиковать себя и улучшать решения. Они даже могут использовать инструменты, такие как API поиска, калькуляторы, интерпретаторы кода, чтобы расширить возможности крупных моделей.
Кроме того, множественные агенты могут принести дополнительные преимущества, такие как моделирование сценариев, одновременная генерация новых запросов и ответов. Они также могут автоматизировать рабочие процессы генерации данных, уменьшая или устраняя потребность в человеческом вмешательстве для определенных задач.
В статье авторы предлагают концепцию «генеративного обучения». Это означает использование синтетических данных для последующего обучения, особенно создание данных с помощью мощных моделей для обучения другой модели новым навыкам или поведению.
AgentInstruct - это решение с использованием агентов для генеративного обучения.
В целом, AgentInstruct может создавать:
- Высококачественные данные: используя мощные модели, такие как GPT-4, в сочетании с инструментами, такими как поиск и интерпретатор кода.
- Разнообразные данные: AgentInstruct одновременно генерирует запросы и ответы. Он использует множественных агентов (оснащенных мощными LLM, инструментами и процессами рефлексии) и таксономию с более чем 100 подкатегориями для создания разнообразных и качественных запросов и ответов.
- Большие объемы данных: AgentInstruct может работать автономно и применять процессы валидации и фильтрации данных. Он не требует начальных запросов, а использует исходные документы в качестве семян.
Генеративное обучение: AgentInstruct
Как нам создать огромные объемы данных? Как обеспечить разнообразие генерируемых данных? Как генерировать сложные или тонкие данные?
Для этого исследователи описали структурированный подход к решению этих задач:
В частности, AgentInstruct определяет три различных автоматизированных процесса генерации:
Процесс преобразования контента: преобразует исходные семена в промежуточное представление, упрощая процесс создания инструкций для конкретных целей.
Процесс генерации начальных инструкций: состоит из нескольких агентов, принимает на вход преобразованные семена из процесса преобразования контента и генерирует набор разнообразных инструкций.
Процесс улучшения инструкций: принимает на вход инструкции из процесса генерации начальных инструкций и итеративно повышает их сложность и качество.
Далее исследователи реализовали эти процессы для 17 различных навыков, каждый из которых имеет несколько подкатегорий. Эти навыки включают понимание прочитанного, вопросы и ответы, кодирование, генерацию с усилением поиска, творческое письмо, использование инструментов/API и веб-контроль.
Результаты экспериментов
Как упоминалось в начале, исследователи использовали 25,8 миллионов пар инструкций для дообучения модели Mistral-7b-v0.1, получив в результате Orca-3.
Так как же работает Orca-3 после обучения на данных AgentInstruct?
Цель AgentInstruct - синтезировать большой и разнообразный набор данных, содержащий данные различных уровней сложности. На этом наборе данных базовые модели, такие как Orca-2.5, Mistral-Instruct-7b и ChatGPT, получили оценки значительно ниже 10, демонстрируя свое отставание от GPT-4 (назначенного в качестве эталона с оценкой 10).
В среднем, включая Orca-3 после каждого раунда обучения, введение данных AgentInstruct улучшило производительность на 33,94% по сравнению с базовой Orca 2.5 и на 14,92% по сравнению с Mistral-Instruct-7B.
Обновление нескольких эталонных SOTA
Например, улучшение на 40% в AGIEval, на 19% в MMLU, на 54% в GSM8K, на 38% в BBH и на 45% в AlpacaEval.