Отслеживание ответов агентов OpenAI с помощью MLFlow

MLflow — это платформа с открытым исходным кодом для управления и отслеживания экспериментов в области машинного обучения. При использовании с SDK для агентов OpenAI, MLflow автоматически:
* регистрирует все взаимодействия агентов и вызовы API;
* фиксирует использование инструментов, входные/выходные сообщения и промежуточные решения;
* отслеживает запуски для отладки, анализа производительности и воспроизводимости.

Это особенно полезно при создании мультиагентных систем, где разные агенты сотрудничают или динамически вызывают функции.

В этом руководстве мы рассмотрим два ключевых примера: простую передачу управления между агентами и использование ограничений для агентов — всё это при отслеживании их поведения с помощью MLflow.

Настройка зависимостей

* Установка библиотек:
“`
pip install openai-agents mlflow pydantic pydotenv
“`

Ключ API OpenAI

Чтобы получить ключ API OpenAI, посетите https://platform.openai.com/settings/organization/api-keys и сгенерируйте новый ключ. Если вы новый пользователь, вам может потребоваться добавить платёжные данные и внести минимальный платёж в размере 5 долларов для активации доступа к API.

После генерации ключа создайте файл .env и введите следующее:
“`
OPENAIAPIKEY = APIKEY>
“`
Замените `APIKEY>` на сгенерированный вами ключ.

Мультиагентная система (multiagentdemo.py)

В этом скрипте (multiagentdemo.py) мы создаём простого мультиагентного помощника с помощью SDK для агентов OpenAI, предназначенного для маршрутизации запросов пользователей либо к эксперту по кодированию, либо к эксперту по кулинарии. Мы включаем `mlflow.openai.autolog()`, который автоматически отслеживает и регистрирует все взаимодействия агентов с API OpenAI — включая входные данные, выходные данные и передачу управления между агентами — упрощая мониторинг и отладку системы.

MLFlow UI

Чтобы открыть интерфейс MLflow и просмотреть все зарегистрированные взаимодействия агентов, выполните в новом терминале следующую команду:
“`
mlflow ui
“`
Это запустит сервер отслеживания MLflow и отобразит приглашение с URL-адресом и портом, где доступен пользовательский интерфейс — обычно по умолчанию http://localhost:5000.

Мы можем просмотреть весь поток взаимодействия в разделе Tracing — от первоначального ввода пользователя до того, как помощник направил запрос соответствующему агенту, и, наконец, ответ, сгенерированный этим агентом.

Дробное рассуждение в LLM: новый способ контроля глубины вывода

Введение: проблемы единообразного рассуждения во время вывода

Большие языковые модели (LLMs) показали улучшения в различных областях, причём вычисления во время тестирования играют решающую роль в их производительности. Однако текущие стратегии вычислений во время тестирования рассматривают все задачи одинаково, применяя одинаковую глубину рассуждений независимо от сложности запроса или его структуры.

Исследователи из Стэнфордского университета предложили дробное рассуждение (FR), бесплатную для обучения и модельную независимую структуру для улучшения вычислений во время тестирования за счёт адаптивного контроля рассуждений. FR регулирует поведение рассуждений, напрямую модифицируя внутренние представления модели, извлекая скрытый сдвиг, вызванный входными данными, способствующими рассуждениям, такими как CoT или рефлексивные подсказки, и снова применяя этот сдвиг с настраиваемым коэффициентом масштабирования.

Бенчмаркинг: повышение производительности в задачах рассуждения

FR оценивается на трёх бенчмарках, требующих многоэтапного рассуждения: GSM8K, MATH500 и GPQA. Оценка использует тестовые наборы для GSM8K и MATH500, а также алмазное разделение для GPQA. Основные эксперименты используют две конкурентоспособные модели с открытым исходным кодом, настроенные для инструкций: Qwen2.5-7B-Instruct и LLaMA-3.1-8B-Instruct.

FR превосходит стандартные методы вычислений во время тестирования по всем бенчмаркам и моделям, показывая, что она может значительно повысить производительность.

Поведение и модельная общность дробного рассуждения

Анализ показывает, что увеличение параметра масштабирования приводит к более длинным выходным данным с более подробным многоэтапным рассуждением, подтверждая, что структура предсказуемо и непрерывно управляет поведением модели. FR остаётся эффективной даже при применении к моделям, специализирующимся на рассуждениях, таким как DeepSeek-R1-Distill-Qwen-7B, улучшая точность по сравнению со стандартными базовыми показателями и демонстрируя свою общность как для общих, так и для специализированных LLM.

Заключение: на пути к более динамичному и эффективному выводу LLM

В заключение исследователи из Стэнфордского университета представили дробное рассуждение (FR), бесплатную для обучения и модельную независимую структуру, которая улучшает вычисления во время тестирования за счёт адаптивного контроля поведения рассуждений в LLM. Однако в настоящее время структура зависит от предопределённых направлений рассуждений и не имеет автоматического выбора коэффициентов масштабирования, что указывает на будущие направления исследований в сторону адаптивных политик для полностью динамического вывода.

1. Какие возможности предоставляет платформа MLflow при работе с агентами OpenAI?

MLflow автоматически регистрирует все взаимодействия агентов и вызовы API, фиксирует использование инструментов, входные и выходные сообщения, промежуточные решения. Это позволяет отслеживать запуски для отладки, анализа производительности и воспроизводимости.

2. Какие шаги необходимо выполнить для настройки зависимостей при работе с MLflow и OpenAI?

Для начала нужно установить библиотеки с помощью команды `pip install openai-agents mlflow pydantic pydotenv`. Затем необходимо получить ключ API OpenAI на сайте https://platform.openai.com/settings/organization/api-keys, создать файл .env и ввести туда ключ с помощью команды `OPENAIAPIKEY = APIKEY>`.

3. Какие преимущества даёт использование дробного рассуждения (FR) в больших языковых моделях (LLMs)?

Дробное рассуждение позволяет адаптивно контролировать глубину рассуждений в зависимости от сложности запроса или его структуры. Это улучшает вычисления во время тестирования и повышает производительность LLM в задачах, требующих многоэтапного рассуждения.

4. Какие модели использовались для оценки эффективности дробного рассуждения?

Для оценки эффективности FR использовались две конкурентоспособные модели с открытым исходным кодом, настроенные для инструкций: Qwen2.5-7B-Instruct и LLaMA-3.1-8B-Instruct.

5. Какие выводы можно сделать о поведении и модельной общности дробного рассуждения?

Анализ показал, что увеличение параметра масштабирования приводит к более длинным выходным данным с более подробным многоэтапным рассуждением. FR остаётся эффективной даже при применении к моделям, специализирующимся на рассуждениях, таким как DeepSeek-R1-Distill-Qwen-7B, улучшая точность по сравнению со стандартными базовыми показателями и демонстрируя свою общность как для общих, так и для специализированных LLM.

Источник

Оставьте комментарий