Исследователи Meta AI представили Matrix: децентрализованную систему для генерации синтетических данных с помощью нескольких агентов

Как обеспечить свежесть и разнообразие синтетических данных для современных моделей искусственного интеллекта, не превращая единый конвейер оркестрации в узкое место? Исследователи Meta AI представляют Matrix — децентрализованную систему, в которой контроль и потоки данных сериализуются в сообщения, перемещающиеся через распределённые очереди.

Проблема централизованных контроллеров

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

Matrix использует другой подход. Он сериализует потоки управления и данных в объект-оркестратор, который хранит состояние задачи, включая историю разговоров, промежуточные результаты и логику маршрутизации. Агенты без состояния, реализованные как Ray-акторы, извлекают оркестратор из распределённой очереди, применяют свою логику, обновляют состояние и затем отправляют его непосредственно следующему агенту, выбранному оркестратором.

Системный стек и сервисы

Matrix работает на кластере Ray, который обычно запускается на SLURM. Ray предоставляет распределённых актёров и очереди. Ray Serve открывает конечные точки LLM за vLLM и SGLang, а также может маршрутизировать к внешним API, таким как Azure OpenAI или Gemini, через прокси-серверы.

Вызовы инструментов и другие сложные сервисы запускаются внутри контейнеров Apptainer. Это изолирует среду выполнения агентов от песочниц выполнения кода, HTTP-инструментов или пользовательских оценщиков. Hydra управляет конфигурацией для ролей агентов, типов оркестраторов, распределением ресурсов и схемами ввода-вывода. Grafana интегрируется с метриками Ray для отслеживания длины очереди, ожидающих задач, пропускной способности токенов и использования GPU в режиме реального времени.

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

Примеры использования

Пример 1: Collaborative Reasoner

Collaborative Reasoner, также известный как Coral, оценивает многоагентный диалог, в котором два агента LLM обсуждают вопрос, при необходимости расходятся во мнениях и приходят к окончательному ответу. В исходной реализации центральный контроллер управляет тысячами траекторий самосотрудничества. Matrix перереализует тот же протокол, используя одноранговых оркестраторов и агентов без состояния.

На 31 узле A100, используя LLaMA 3.1 8B Instruct, Matrix настраивает параллелизм как 248 GPU с 50 запросами на GPU, таким образом, 12 400 одновременных разговоров. Базовая линия Coral работает на оптимальном параллелизме в 5 000. При идентичном оборудовании Matrix генерирует около 2 миллиардов токенов примерно за 4 часа, в то время как Coral производит около 0,62 миллиарда токенов примерно за 9 часов. Это увеличение пропускной способности в 6,8 раза при почти идентичной корректности согласования около 0,47.

Пример 2: NaturalReasoning Web Data Curation

NaturalReasoning создаёт набор данных для рассуждений из больших веб-корпусов. Matrix моделирует конвейер с тремя агентами. Агент Filter использует более мелкую модель классификатора для выбора английских отрывков, которые, вероятно, содержат рассуждения. Агент Score использует более крупную модель, настроенную на инструкции, для присвоения оценок качества. Агент Question извлекает вопросы, ответы и цепочки рассуждений.

На 25 миллионах веб-документов DCLM только около 5,45% проходят все фильтры, в результате чего получается около 1,19 миллиона пар вопросов и ответов с соответствующими шагами рассуждений. Matrix затем сравнивает различные стратегии параллелизма на подмножестве из 500 тысяч документов. Лучшая конфигурация сочетает параллелизм данных и параллелизм задач с 20 разделами данных и 700 одновременными задачами на раздел. Это обеспечивает примерно в 1,61 раза более высокую пропускную способность, чем настройка, которая масштабирует только параллелизм задач.

Пример 3: Tau2-Bench Tool Use Trajectories

Tau2-Bench оценивает диалоговых агентов, которые должны использовать инструменты и базу данных в условиях поддержки клиентов. Matrix представляет эту среду с четырьмя агентами: симулятором пользователя, помощником, исполнителем инструментов и калькулятором вознаграждений, а также приёмником, который собирает метрики. API инструментов и логика вознаграждения повторно используются из эталонной реализации Tau2 и заключены в контейнеры.

На кластере с 13 узлами H100 и десятками реплик LLM Matrix генерирует 22 800 траекторий примерно за 1,25 часа. Это соответствует примерно 41 000 токенов в секунду. Базовая реализация Tau2-агента на одном узле, настроенном с 500 одновременными потоками, достигает примерно 2 654 токенов в секунду и 1 519 траекторий. Среднее вознаграждение остаётся практически неизменным в обеих системах, что подтверждает, что ускорение не связано с упрощением среды. В целом Matrix обеспечивает примерно в 15,4 раза более высокую пропускную способность токенов в этом бенчмарке.

Ключевые выводы

Matrix заменяет централизованных оркестраторов одноранговой, управляемой сообщениями архитектурой агентов, которая обрабатывает каждую задачу как независимый конечный автомат, перемещающийся через агентов без состояния.

Фреймворк построен полностью на стеке с открытым исходным кодом: SLURM, Ray, vLLM, SGLang и Apptainer, и масштабируется до десятков тысяч параллельных многоагентных рабочих процессов для генерации синтетических данных, бенчмаркинга и обработки данных.

В трёх примерах использования — Collaborative Reasoner, NaturalReasoning и Tau2-Bench — Matrix обеспечивает примерно в 2–15,4 раза более высокую пропускную способность токенов, чем специализированные базовые показатели при идентичном оборудовании, сохраняя при этом сопоставимое качество выходных данных и вознаграждения.

Matrix выгружает большие истории разговоров в хранилище объектов Ray и сохраняет только облегчённые ссылки в сообщениях, что снижает пиковую пропускную способность сети и поддерживает высокую пропускную способность обслуживания LLM с помощью серверных частей на основе gRPC.

Примечания редактора

Matrix — это прагматичный системный вклад, который переводит генерацию синтетических данных с помощью нескольких агентов из специализированных скриптов в операционную среду выполнения. Закодировав потоки управления и данных в оркестраторы, а затем запустив выполнение в одноранговых агентах без состояния на Ray, он чётко разделяет планирование, вывод LLM и инструменты.

Примеры использования Collaborative Reasoner, NaturalReasoning и Tau2-Bench показывают, что тщательный системный дизайн, а не новые архитектуры моделей, является сейчас основным рычагом для масштабирования конвейеров синтетических данных.

1. Какие проблемы решает система Matrix в контексте генерации синтетических данных?

Matrix решает проблему масштабируемости централизованных систем управления агентами. Традиционные системы плохо масштабируются, когда требуется обработка десятков тысяч параллельных синтетических диалогов или траекторий инструментов. Matrix использует децентрализованный подход, который позволяет системе эффективно обрабатывать большие объёмы данных.

2. Какие компоненты входят в системный стек Matrix?

В системный стек Matrix входят следующие компоненты:
* кластер Ray, который обычно запускается на SLURM;
* Ray Serve, который открывает конечные точки LLM за vLLM и SGLang;
* контейнеры Apptainer для изоляции среды выполнения агентов;
* Hydra для управления конфигурацией;
* Grafana для отслеживания метрик Ray.

3. Какие примеры использования приведены в статье для демонстрации возможностей Matrix?

В статье приведены три примера использования Matrix:
* Collaborative Reasoner (Coral) — система, которая оценивает многоагентный диалог, в котором два агента LLM обсуждают вопрос, при необходимости расходятся во мнениях и приходят к окончательному ответу.
* NaturalReasoning — система, которая создаёт набор данных для рассуждений из больших веб-корпусов.
* Tau2-Bench — система, которая оценивает диалоговых агентов, которые должны использовать инструменты и базу данных в условиях поддержки клиентов.

4. Какие ключевые выводы можно сделать из статьи о системе Matrix?

Ключевые выводы из статьи о системе Matrix:
* Matrix заменяет централизованных оркестраторов одноранговой, управляемой сообщениями архитектурой агентов.
* Фреймворк построен полностью на стеке с открытым исходным кодом и масштабируется до десятков тысяч параллельных многоагентных рабочих процессов.
* В трёх примерах использования Matrix обеспечивает примерно в 2–15,4 раза более высокую пропускную способность токенов, чем специализированные базовые показатели при идентичном оборудовании, сохраняя при этом сопоставимое качество выходных данных и вознаграждения.

5. Какие преимущества предоставляет система Matrix по сравнению с традиционными централизованными системами управления агентами?

Система Matrix предоставляет следующие преимущества по сравнению с традиционными централизованными системами управления агентами:
* масштабируемость до десятков тысяч параллельных многоагентных рабочих процессов;
* более высокая пропускная способность токенов;
* сохранение сопоставимого качества выходных данных и вознаграждения;
* возможность эффективного обработки больших объёмов данных.

Источник