В этом руководстве мы создаём самоуправляемого агента 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 при полиномиальном контексте.