Создание полностью самоуправляемого агента для работы с данными с помощью локальных моделей Hugging Face для автоматизированного планирования, выполнения и тестирования

В этом руководстве мы создаём самоуправляемого агента DataOps, который может планировать, выполнять и тестировать операции с данными автоматически, используя локальные модели Hugging Face. Мы разрабатываем агента с тремя интеллектуальными ролями: планировщик, который создаёт стратегию выполнения; исполнитель, который пишет и запускает код с использованием pandas; и тестировщик, который проверяет результаты на точность и согласованность.

Используя модель Microsoft Phi-2 локально в Google Colab, мы обеспечиваем эффективность, воспроизводимость и сохранение конфиденциальности рабочего процесса, демонстрируя, как LLM могут автоматизировать комплексные задачи обработки данных от начала до конца.

Установка необходимых библиотек и загрузка модели Phi-2 локально с помощью Hugging Face Transformers

Мы устанавливаем необходимые библиотеки и загружаем модель Phi-2 локально с помощью Hugging Face Transformers. Мы создаём класс LocalLLM, который инициализирует токенизатор и модель, поддерживает необязательное квантование и определяет метод generate для получения текстовых выходных данных. Мы обеспечиваем бесперебойную работу модели как на CPU, так и на GPU, что делает её идеальной для использования в Colab.

Определение системных подсказок для планировщика, исполнителя и тестировщика ролей нашего агента DataOps

Мы определяем системные подсказки для планировщика, исполнителя и тестировщика ролей нашего агента DataOps. Затем мы инициализируем класс DataOpsAgent с помощью вспомогательных методов и утилиты извлечения JSON для анализа структурированных ответов. Мы готовим основу для логического вывода и конвейера выполнения агента.

Реализация фаз планирования и выполнения агента

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

Фаза тестирования и верификации

Мы фокусируемся на фазе тестирования и верификации нашего рабочего процесса. Мы позволяем агенту оценивать свой собственный вывод по заранее определённым критериям проверки и суммировать результат в виде структурированного JSON. Затем мы интегрируем все три фазы — планирование, выполнение и тестирование — в единый самоуправляемый конвейер, обеспечивающий полную автоматизацию.

Исследование мощности диффузионных LLM по сравнению с классическими авторегрессионными LLM

Новое исследование от группы исследователей из Технологического института Toyota в Чикаго и MIT даёт формальный ответ на вопрос о том, насколько мощны диффузионные LLM по сравнению с классическими авторегрессионными LLM, если рассматривать генерацию как алгоритм с временной и пространственной сложностью, а не просто как декодирование.

Исследование сравнивает авторегрессионные модели (ARM), модели замаскированной диффузии (MDM) и новое семейство под названием Any-Process MDM (AP-MDM), используя теорию сложности и контролируемые задачи рассуждения.

Основные результаты исследования

  • MDM может имитировать любой алгоритм PRAM (Parallel Random Access Machine) с параллельным временем (T(n)), используя (O(T(n))) шагов диффузии и контекст (S(n)), пропорциональный общему объёму работы.

  • Это делает MDM Turing complete и позволяет ему соответствовать идеальному параллельному времени на задачах в NC, таких как связность графов и некоторые задачи с контекстно-свободными языками, где ARM требуется время, линейное по длине последовательности.

  • Диффузионные LLM получают эффективность на параллелизуемых задачах, а не дополнительную выразительную силу сами по себе.

Выводы исследования

  • Модели Any-Order Masked Diffusion Models так же выразительны, как и авторегрессионные модели, если вы фиксируете архитектуру и параллелизм, они в основном обеспечивают параллельную эффективность, а не новую вычислительную мощность.

  • Модели Masked Diffusion Models могут имитировать алгоритмы PRAM и достигать экспоненциального ускорения на параллелизуемых задачах в NC, но с полиномиальным контекстом они остаются фактически ограниченными задачами класса P, аналогично авторегрессионным моделям.

  • Any Process MDM расширяет диффузионные LLM с помощью операций remask, insert и delete, реализованных с помощью трёхбитного управляющего вектора на токен, и может имитировать PRAM с оптимальным параллельным временем и оптимальным пространством, достигая уровня выразительности PSPACE при полиномиальном контексте.

На сложных задачах рассуждения, таких как обобщённое судоку, языки Dyck, редактирование графиков и чётность, AP MDM показывает сильные эмпирические преимущества, например, достигая около 99,28% точности в судоку всего со 100 обучающими экземплярами и гораздо меньшим бюджетом параметров, чем у базовых линий авторегрессии и Any-Order MDM.

Для таких областей, как кодирование, математика и AI4Science, которые включают структурированные правки и истории пересмотров, AP MDM лучше соответствует базовым процессам генерации, чем следующий токен-прогноз, а его операции редактирования доказуемо трудно симулировать с помощью авторегрессионных моделей с постоянной глубиной.

1. Какие интеллектуальные роли предусмотрены у агента DataOps, созданного в статье, и как они взаимодействуют между собой?

Ответ: у агента DataOps три интеллектуальные роли: планировщик, исполнитель и тестировщик. Планировщик создаёт стратегию выполнения задачи, исполнитель пишет и запускает код с использованием pandas, а тестировщик проверяет результаты на точность и согласованность. Все три фазы — планирование, выполнение и тестирование — интегрированы в единый самоуправляемый конвейер, обеспечивающий полную автоматизацию.

2. Какие модели и инструменты используются для создания самоуправляемого агента DataOps в статье?

Ответ: для создания самоуправляемого агента DataOps используется модель Microsoft Phi-2, которая загружается локально в Google Colab с помощью Hugging Face Transformers. Также создаётся класс LocalLLM, который инициализирует токенизатор и модель, поддерживает необязательное квантование и определяет метод generate для получения текстовых выходных данных.

3. В чём заключается основное отличие диффузионных LLM от классических авторегрессионных LLM согласно исследованию, упомянутому в статье?

Ответ: основное отличие диффузионных LLM от классических авторегрессионных LLM заключается в том, что диффузионные модели могут имитировать любой алгоритм PRAM с параллельным временем (T(n)), используя (O(T(n))) шагов диффузии и контекст (S(n)), пропорциональный общему объёму работы. Это делает их Turing complete и позволяет соответствовать идеальному параллельному времени на задачах в NC. Однако они не получают дополнительную выразительную силу сами по себе, а лишь эффективность на параллелизуемых задачах.

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

Ответ: из исследования можно сделать вывод, что диффузионные LLM так же выразительны, как и авторегрессионные модели, если фиксировать архитектуру и параллелизм. Они обеспечивают параллельную эффективность, а не новую вычислительную мощность. Модели Masked Diffusion Models могут имитировать алгоритмы PRAM и достигать экспоненциального ускорения на параллелизуемых задачах в NC, но с полиномиальным контекстом они остаются фактически ограниченными задачами класса P, аналогично авторегрессионным моделям. Any Process MDM расширяет диффузионные LLM с помощью операций remask, insert и delete и может имитировать PRAM с оптимальным параллельным временем и оптимальным пространством, достигая уровня выразительности PSPACE при полиномиальном контексте.

Источник