Neuropolis

Проблема интеграции инструментов: почему корпоративный ИИ топчется на месте (и как CoTools это решает)

Узнайте о CoTools — новой платформе, которая расширяет возможности больших языковых моделей (LLM) за счёт эффективного использования внешних инструментов. Это позволит создавать мощные AI-агенты для бизнеса без ограничений традиционных методов интеграции.

4 минуты
Улучшение работы больших языковых моделей с внешними инструментами: архитектура Chain-of-Tools

Проблема оснащения больших языковых моделей инструментами

Современные большие языковые модели (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.

Источник:venturebeat.com