Проблема интеграции инструментов: почему корпоративный ИИ топчется на месте (и как CoTools это решает)
Узнайте о CoTools — новой платформе, которая расширяет возможности больших языковых моделей (LLM) за счёт эффективного использования внешних инструментов. Это позволит создавать мощные AI-агенты для бизнеса без ограничений традиционных методов интеграции.
Проблема оснащения больших языковых моделей инструментами
Современные большие языковые модели (LLM) демонстрируют впечатляющие результаты в генерации текста, понимании и даже сложном рассуждении. Однако для решения многих задач им необходимо взаимодействие с внешними ресурсами и инструментами, такими как базы данных или приложения. Интеграция LLM с внешними инструментами — по сути, API или функции, которые они могут вызывать — критически важна для расширения их практической применимости.
Существующие методы интеграции инструментов сталкиваются с серьезными ограничениями. Один из распространенных подходов — дообучение LLM на примерах использования инструментов. Хотя это повышает компетентность модели в вызове конкретных инструментов, использованных в процессе обучения, это существенно ограничивает ее возможности. Более того, дообучение может негативно сказаться на способностях LLM к рассуждению, например, на методе Chain-of-Thought (CoT), ослабляя сильные стороны базовой модели.
Альтернативный подход — обучение в контексте (ICL), где LLM предоставляются описания инструментов и примеры их использования непосредственно в запросе. Это обеспечивает гибкость, позволяя использовать ранее неизвестные модели инструментов. Однако формирование таких запросов сложно, а эффективность модели резко падает с ростом числа доступных инструментов, что делает ICL малопригодным для работы с большими, динамическими наборами.
Как отмечают исследователи, эффективный агент LLM должен уметь управлять большим количеством инструментов и использовать неизвестные ему инструменты в процессе рассуждения CoT, поскольку в реальных приложениях постоянно появляются новые инструменты.
Представляем Chain-of-Tools (CoTools)
CoTools предлагает эффективную альтернативу существующим методам, сочетая аспекты дообучения и семантического понимания, при этом сохраняя исходные веса базовой LLM неизменными. Вместо дообучения всей модели CoTools обучает легкие, специализированные модули, работающие совместно с LLM во время генерации ответа.
Основная идея CoTools — использовать возможности семантического представления замороженной базовой модели для определения, какие и когда инструменты вызывать. CoTools использует глубокое понимание, встроенное во внутренние представления LLM (скрытые состояния), которые вычисляются по мере обработки текста и генерации токенов ответа.
Архитектура CoTools
Архитектура CoTools состоит из трех основных компонентов:
Tool Judge (Оценщик инструментов)
Оценщик анализирует скрытое состояние, связанное с потенциальным следующим токеном, и определяет целесообразность вызова инструмента на данном этапе рассуждения.
Tool Retriever (Извлекатель инструментов)
Если Оценщик определяет необходимость инструмента, Извлекатель выбирает наиболее подходящий инструмент. Он обучен создавать вложения запроса и сравнивать их с доступными инструментами, эффективно выбирая семантически релевантный инструмент, включая "невидимые" инструменты (не присутствовавшие в данных обучения).
Tool Calling (Вызов инструмента)
После выбора инструмента CoTools использует запрос ICL, демонстрируя заполнение параметров инструмента на основе контекста. Это позволяет избежать неэффективности добавления множества демонстраций в запрос для выбора инструмента. Результат работы инструмента добавляется в генерируемый LLM ответ.
Разделение принятия решений (Оценщик) и выбора (Извлекатель) на основе семантического понимания от заполнения параметров (Вызов через фокусированный ICL) обеспечивает эффективность CoTools даже при наличии огромных наборов инструментов, сохраняя возможности LLM и гибкость в использовании новых инструментов. Однако, поскольку CoTools требует доступа к скрытым состояниям модели, он применим только к моделям с открытыми весами (например, Llama и Mistral), а не к закрытым (GPT-4 и Claude).
CoTools в действии: производительность и гибкость
CoTools был протестирован в сценариях числового рассуждения с арифметическими инструментами и ответа на вопросы на основе знаний (KBQA), требующего извлечения информации из баз знаний.
На арифметических тестах (GSM8K-XL и FuncQA) CoTools, примененный к LLaMA2-7B, показал производительность, сопоставимую с ChatGPT и превосходящую другие методы, такие как ToolkenGPT. Результаты подтверждают эффективность CoTools в расширении возможностей базовой модели.
В задачах KBQA (наборы данных KAMEL и SimpleToolQuestions) с огромным количеством инструментов (включая невидимые), CoTools продемонстрировал высокую точность выбора инструментов, особенно в сценариях с большим количеством инструментов и невидимыми инструментами, превосходя методы, основанные на обученных представлениях инструментов. CoTools сохранял высокую производительность даже при низком качестве данных обучения.
Внедрение в корпоративную среду
CoTools представляет собой перспективное направление в создании мощных агентов на основе больших языковых моделей для корпоративной среды. Это особенно актуально в свете новых стандартов, таких как Model Context Protocol (MCP), упрощающих интеграцию внешних инструментов и ресурсов. Предприятия смогут развертывать агентов, адаптирующихся к новым API и функциям с минимальными затратами на переобучение.
Опора на семантическое понимание позволяет осуществлять точный выбор инструментов, что ведет к созданию более надежных помощников ИИ для задач, требующих взаимодействия с различными источниками информации и системами.
Несмотря на многообещающие результаты, исследователи отмечают, что необходима дальнейшая работа по поиску баланса между затратами на тонкую настройку и эффективностью обобщенного вызова инструментов.
Исследователи опубликовали код для обучения модулей Judge и Retriever на GitHub.