Paper2Code: автоматическое преобразование документов по машинному обучению в исполняемый код

Общее введение

Paper2Code - это проект с открытым исходным кодом, направленный на решение проблемы нехватки реализаций кода для статей по машинному обучению. Он автоматически преобразует научные статьи в репозитории кода, пригодного для выполнения, с помощью многоагентной системы моделирования большого языка (LLM) PaperCoder. Система использует трехфазный процесс планирования, анализа и генерации кода, который отдельно обрабатывается специализированными агентами для создания высококачественных реализаций кода, верных статье. В качестве примера в проекте взята знаменитая статья "Attention Is All You Need", демонстрирующая процесс перехода от бумаги к Трансформатор Paper2Code поддерживает ввод данных в форматах PDF и LaTeX. Paper2Code поддерживает ввод бумажных данных в форматах PDF и LaTeX для исследователей, разработчиков и студентов в области машинного обучения. Paper2Code демонстрирует хорошие результаты в бенчмарках PaperBench, а код находится в открытом доступе на GitHub, что делает его простым в установке и использовании.

Paper2Code:将机器学习论文自动转化为可运行代码

 

Список функций

  • Автоматическое преобразование документов по машинному обучению в репозитории исполняемого кода.
  • Поддерживает ввод бумажных данных в форматах PDF и LaTeX для генерации структурированных данных JSON.
  • Обеспечивает трехфазный поток обработки для планирования, анализа и генерации кода.
  • Создайте полный репозиторий кода, включая архитектуру системы, зависимости и конфигурационные файлы.
  • Поддерживает оценку качества кода по шкале 1-5 со ссылками и без ссылок.
  • Примеры скриптов для быстрого выполнения кода Transformer для статьи "Внимание - это все, что вам нужно".
  • Открытый и бесплатный исходный код, позволяющий пользователям изменять его и вносить в него свой вклад.

 

Использование помощи

Процесс установки

Чтобы использовать Paper2Code, необходимо установить необходимые зависимости и настроить среду. Ниже приведены подробные шаги по установке:

  1. склад клонов
    Выполните следующую команду в терминале, чтобы клонировать репозиторий Paper2Code локально:

    git clone https://github.com/going-doer/Paper2Code.git
    cd Paper2Code
  1. Установка зависимостей
    Установите зависимости Python, включая openai ответить пением tiktoken и т.д. библиотеки:

    pip install openai tiktoken
    

    Если вам нужно использовать vLLM модель, обратитесь к официальному репозиторию vLLM (https://github.com/vllm-project/vllm) для установки.

  2. Установка ключа API OpenAI
    После получения ключа API OpenAI настройте переменные окружения:

    export OPENAI_API_KEY="your-api-key"
    

    Пользователи Windows запускают его:

    set OPENAI_API_KEY=your-api-key
    
  3. Установка инструмента для преобразования PDF
    Paper2Code поддерживает преобразование PDF-документов в формат JSON. Клонируйте репозиторий s2orc-doc2json:

    git clone https://github.com/allenai/s2orc-doc2json.git
    

    Запустите сценарий преобразования PDF:

    mkdir -p ./s2orc-doc2json/output_dir/paper_coder
    python ./s2orc-doc2json/doc2json/grobid2json/process_pdf.py -i <PDF_PATH> -t ./s2orc-doc2json/temp_dir/ -o ./s2orc-doc2json/output_dir/paper_coder
    

Использование

Paper2Code предоставляет несколько способов запуска и поддерживает работу с документами в форматах PDF и LaTeX. Вот подробности работы:

Запустите пример сценария

Paper2Code содержит пример сценария для генерации кода трансформера для бумаги "Attention Is All You Need". Перейти к scripts Каталог:

cd scripts
bash run.sh

Результаты будут сохранены в файле outputs/Transformer Каталог, вкл:

  • planning_artifacts: Архитектура системы и файлы зависимостей.
  • analyzing_artifacts: Анализ деталей реализации диссертации.
  • coding_artifacts: Сгенерированный файл кода.
  • Transformer_repo: Репозиторий финального кода.

Работа с эссе на заказ

Чтобы преобразовать статью в код, подготовьте файл в формате PDF или LaTeX и измените переменные окружения. Например, используйте формат PDF:

export OPENAI_API_KEY="your-api-key"
cd scripts
bash run.sh

Для формата LaTeX выполните команду:

bash run_latex.sh

Если используются другие большие языковые модели, запустите их:

bash run_llm.sh  # PDF 格式
bash run_latex_llm.sh  # LaTeX 格式

Оценка качества кода

Paper2Code поддерживает оценку качества кода как со ссылками, так и без ссылок. Запускайте сценарии оценки:

cd codes
python eval.py \
--paper_name Transformer \
--pdf_json_path ../examples/Transformer_cleaned.json \
--data_dir ../data \
--output_dir ../outputs/Transformer \
--target_repo_dir ../outputs/Transformer_repo \
--eval_result_dir ../results \
--eval_type ref_free \
--generated_n 8 \
--papercoder

Для оценки ссылок необходимо указать стандартные пути склада:

--eval_type ref_based \
--gold_repo_dir ../examples/Transformer_gold_repo

Результаты оценки включают в себя баллы за правильность от 1 до 5 и хранятся в results Каталог.

Функциональное управление

  • Совместная работа нескольких агентовАгенты планирования - для проектирования архитектуры кода, агенты анализа - для извлечения деталей диссертации, агенты генерации - для написания модульного кода. Пользователям не нужно вмешиваться вручную, система автоматически завершает весь процесс.
  • Высококачественный код: Сгенерированный код соответствует статье, включает управление зависимостями и конфигурационные файлы и подходит для использования в производственных средах.
  • Гибкий ввод: Поддержка форматов PDF и LaTeX, совместимость с различными форматами бумаги, удобство для различных потребностей пользователей.
  • Инструменты оценки: Предоставление автоматизированных сценариев оценки для количественной оценки корректности кода и помощи пользователям в проверке качества реализации.

предостережение

  • Убедитесь, что ключ API OpenAI действителен, выполнив команду o3-mini Предполагаемая стоимость модели составляет 0,50-0,70 долл.
  • При конвертировании PDF проверьте полноту вывода JSON, чтобы избежать ошибок форматирования.
  • Для пользовательских бумаг требуется настройка путей и параметров в сценарии, см. README.md.

 

сценарий применения

  1. научные исследования
    Исследователи могут быстро превратить новые статьи в код для проверки алгоритмов и сэкономить время на ручном кодировании. Например, ученые, занимающиеся машинным обучением, могут напрямую запускать код, сгенерированный Paper2Code, чтобы проверить эффективность моделей, описанных в их работах.
  2. Образовательное обучение
    С помощью Paper2Code студенты могут преобразовать классические статьи (например, Transformer) в код, чтобы глубже понять детали реализации модели и помочь в изучении принципов глубокого обучения.
  3. Разработка прототипов
    Разработчики могут быстро создавать прототипы машинного обучения на основе сгенерированного репозитория кода, что сокращает цикл разработки и делает его подходящим для быстрых итеративных коммерческих проектов.

 

QA

  1. Какие форматы бумаги поддерживает Paper2Code?
    Поддерживает документы по машинному обучению в форматах PDF и LaTeX; PDF необходимо преобразовать в JSON, LaTeX можно обрабатывать напрямую.
  2. Каково качество сгенерированного кода?
    Код проходит трехфазный процесс планирования, анализа и генерации, чтобы быть верным содержанию статьи. Инструмент оценки дает оценку правильности от 1 до 5 баллов, чтобы обеспечить высокое качество результата.
  3. Нужно ли мне платить за запуск Paper2Code?
    Использование API OpenAI платное, а запуск модели o3-mini стоит около 0,50-0,70 доллара. Остальные функции бесплатны.
  4. Как вы обращаетесь с собственными бумагами?
    Подготовьте файл PDF или LaTeX, настройте переменные окружения, запустите программу run.sh возможно run_latex.sh скрипт, просто настройте путь и параметры.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...