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

Список функций
- Автоматическое преобразование документов по машинному обучению в репозитории исполняемого кода.
- Поддерживает ввод бумажных данных в форматах PDF и LaTeX для генерации структурированных данных JSON.
- Обеспечивает трехфазный поток обработки для планирования, анализа и генерации кода.
- Создайте полный репозиторий кода, включая архитектуру системы, зависимости и конфигурационные файлы.
- Поддерживает оценку качества кода по шкале 1-5 со ссылками и без ссылок.
- Примеры скриптов для быстрого выполнения кода Transformer для статьи "Внимание - это все, что вам нужно".
- Открытый и бесплатный исходный код, позволяющий пользователям изменять его и вносить в него свой вклад.
Использование помощи
Процесс установки
Чтобы использовать Paper2Code, необходимо установить необходимые зависимости и настроить среду. Ниже приведены подробные шаги по установке:
- склад клонов
Выполните следующую команду в терминале, чтобы клонировать репозиторий Paper2Code локально:git clone https://github.com/going-doer/Paper2Code.git cd Paper2Code
- Установка зависимостей
Установите зависимости Python, включаяopenai
ответить пениемtiktoken
и т.д. библиотеки:pip install openai tiktoken
Если вам нужно использовать vLLM модель, обратитесь к официальному репозиторию vLLM (https://github.com/vllm-project/vllm) для установки.
- Установка ключа API OpenAI
После получения ключа API OpenAI настройте переменные окружения:export OPENAI_API_KEY="your-api-key"
Пользователи Windows запускают его:
set OPENAI_API_KEY=your-api-key
- Установка инструмента для преобразования 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
.
сценарий применения
- научные исследования
Исследователи могут быстро превратить новые статьи в код для проверки алгоритмов и сэкономить время на ручном кодировании. Например, ученые, занимающиеся машинным обучением, могут напрямую запускать код, сгенерированный Paper2Code, чтобы проверить эффективность моделей, описанных в их работах. - Образовательное обучение
С помощью Paper2Code студенты могут преобразовать классические статьи (например, Transformer) в код, чтобы глубже понять детали реализации модели и помочь в изучении принципов глубокого обучения. - Разработка прототипов
Разработчики могут быстро создавать прототипы машинного обучения на основе сгенерированного репозитория кода, что сокращает цикл разработки и делает его подходящим для быстрых итеративных коммерческих проектов.
QA
- Какие форматы бумаги поддерживает Paper2Code?
Поддерживает документы по машинному обучению в форматах PDF и LaTeX; PDF необходимо преобразовать в JSON, LaTeX можно обрабатывать напрямую. - Каково качество сгенерированного кода?
Код проходит трехфазный процесс планирования, анализа и генерации, чтобы быть верным содержанию статьи. Инструмент оценки дает оценку правильности от 1 до 5 баллов, чтобы обеспечить высокое качество результата. - Нужно ли мне платить за запуск Paper2Code?
Использование API OpenAI платное, а запуск модели o3-mini стоит около 0,50-0,70 доллара. Остальные функции бесплатны. - Как вы обращаетесь с собственными бумагами?
Подготовьте файл PDF или LaTeX, настройте переменные окружения, запустите программуrun.sh
возможноrun_latex.sh
скрипт, просто настройте путь и параметры.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...