Paper2Code: преобразование научных работ в рабочий код 74

小编 ·

Paper2Code: преобразование научных работ в рабочий код

Paper2Code превращает статьи по машинному обучению в рабочие программные фреймворки. Разработанный совместно KAIST (Корейским институтом передовых технологий) и DeepAuto.ai, он имитирует процесс разработки ПО человеком, генерируя код в три этапа: планирование, анализ и кодирование.

Paper2Code: преобразование научных работ в рабочий код

Что такое Paper2Code?

Paper2Code — это инструмент, который преобразует научные статьи по машинному обучению в готовые к использованию кодовые фреймворки. Он разработан совместно Корейским институтом передовых технологий (KAIST) и DeepAuto.ai. Подобно тому, как человек разрабатывает программное обеспечение, он генерирует код в три этапа: «планирование — анализ — кодирование».

Как работает Paper2Code

  • Этап планирования: сначала создаётся общая структура, проектируется архитектура системы — например, составляются UML-диаграммы, определяется структура файлов, затем планируется взаимодействие файлов и модулей, и в завершение генерируются конфигурационные файлы.

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

  • Этап генерации: на основе предыдущего планирования и анализа генерируется модульный код с учётом зависимостей.

Основные функции Paper2Code

  • Автоматическая генерация кода: способен напрямую преобразовывать научные статьи по машинному обучению в полноценный кодовый репозиторий, включая архитектуру системы, файлы зависимостей и конфигурационные файлы.

  • Поддержка нескольких форматов ввода: поддерживаются статьи в формате PDF и LaTeX, а также возможно преобразование PDF-статей в формат JSON.

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

  • Этап планирования: составляется высокоуровневая «дорожная карта», определяются ключевые компоненты, моделируются структурные связи между модулями, выявляются зависимости файлов и порядок их выполнения, генерируются конфигурационные файлы,便于 исследователям настраивать эксперименты.

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

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

  • Оценка качества кода: поддерживается оценка с эталоном и без эталона, по шкале от 1 до 5.

Paper2Code:科研论文转换代码.webp

Преимущества:

  • Высокое качество генерации кода: в бенчмарке PaperBench Paper2Code превосходит существующие фреймворки генерации кода и простые базовые методы.

  • Множественная агентная协作: многоагентный фреймворк обеспечивает лучшее выполнение задач на каждом этапе и повышает качество генерации кода.

  • Структурированный вывод: сгенерированный кодовый репозиторий имеет чёткую структуру с файлами, модулями, архитектурными диаграммами и конфигурационными файлами.

  • Высокая исполнимость: сгенерированный код в основном готов к запуску без изменений.

Ограничения:

  • В настоящее время поддерживаются только статьи в области машинного обучения.

  • В некоторых крайних случаях по-прежнему требуется ручная отладка.

  • Пока не поддерживаются такие области, как биология, физика, экономика и др.

Сценарии применения Paper2Code

  • Воспроизведение результатов исследований: помогает исследователям воспроизводить результаты из статей, не сопровождаемых кодом.

  • Образование: предоставляет студентам возможность обучения — от теории к практике.

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

  • Настройка экспериментов: облегчает исследователям корректировку конфигураций, архитектуры и наборов данных.

Результаты экспериментальной оценки показывают, что PaperCoder генерирует высококачественный код из статей по машинному обучению, близкий к реализации авторов, и превосходит другие базовые модели.

Ссылка на открытый исходный код

Github:https://github.com/going-doer/Paper2Code