Paper2Code: conversión automática de documentos de aprendizaje automático en código ejecutable
Últimos recursos sobre IAActualizado hace 4 meses Círculo de intercambio de inteligencia artificial 11.1K 00
Introducción general
Paper2Code es un proyecto de código abierto que pretende resolver el problema de la falta de implementaciones de código para artículos de aprendizaje automático. Transforma automáticamente artículos científicos en repositorios de código ejecutables mediante el sistema multiagente de modelado de grandes lenguajes (LLM) PaperCoder. El sistema adopta un proceso en tres fases de planificación, análisis y generación de código, que los agentes especializados gestionan por separado para generar implementaciones de código de alta calidad que sean fieles al artículo. El proyecto toma como ejemplo el famoso documento "Attention Is All You Need" (La atención es todo lo que necesitas), y demuestra el proceso que va del documento a Transformador Paper2Code es compatible con la entrada de papel en formato PDF y LaTeX. Es compatible con la entrada de papel en formato PDF y LaTeX para investigadores de aprendizaje automático, desarrolladores y estudiantes.Paper2Code tiene un buen rendimiento en los puntos de referencia PaperBench, y el código está disponible públicamente en GitHub, por lo que es fácil de instalar y utilizar.

Lista de funciones
- Convierta automáticamente documentos de aprendizaje automático en repositorios de código ejecutable.
- Admite la entrada de papel en formatos PDF y LaTeX para generar datos JSON estructurados.
- Proporciona un flujo de procesamiento en tres fases para la planificación, el análisis y la generación de código.
- Genere un repositorio de código completo que incluya la arquitectura del sistema, las dependencias y los archivos de configuración.
- Admite la evaluación de la calidad del código referenciado y no referenciado en una escala de 1 a 5.
- Proporciona ejemplos de scripts para ejecutar rápidamente el código Transformer del documento "La atención es todo lo que necesitas".
- Código abierto y gratuito, que permite a los usuarios modificar y contribuir al código.
Utilizar la ayuda
Proceso de instalación
Para utilizar Paper2Code, debe instalar las dependencias necesarias y configurar su entorno. A continuación se detallan los pasos de instalación:
- almacén de clones
Ejecute el siguiente comando en un terminal para clonar el repositorio Paper2Code localmente:git clone https://github.com/going-doer/Paper2Code.git cd Paper2Code
- Instalación de dependencias
Instale las dependencias de Python, incluyendoopenai
responder cantandotiktoken
etc:pip install openai tiktoken
Si necesita utilizar el vLLM consulte el repositorio oficial de vLLM (https://github.com/vllm-project/vllm) para su instalación.
- Configuración de la clave de la API de OpenAI
Tras obtener la clave de la API de OpenAI, configura las variables de entorno:export OPENAI_API_KEY="your-api-key"
Los usuarios de Windows lo ejecutan:
set OPENAI_API_KEY=your-api-key
- Instalación de la herramienta de conversión de PDF
Paper2Code permite convertir documentos PDF a formato JSON. Clona el repositorio s2orc-doc2json:git clone https://github.com/allenai/s2orc-doc2json.git
Ejecute el script de conversión a 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
Utilización
Paper2Code ofrece varias formas de ejecución y admite documentos en formato PDF y LaTeX. Aquí están los detalles de la operación:
Ejecute el script de ejemplo
Paper2Code incluye un script de ejemplo para generar código Transformer para el documento "Attention Is All You Need". Ir a scripts
Catálogo:
cd scripts
bash run.sh
La salida se guardará en el archivo outputs/Transformer
Catálogo, incluido:
planning_artifacts
: Arquitectura del sistema y archivos de dependencia.analyzing_artifacts
: Análisis detallado de la realización de la tesis.coding_artifacts
El archivo de código generado.Transformer_repo
: El repositorio de código final.
Gestión de ensayos personalizados
Para convertir su documento en código, prepare un archivo en formato PDF o LaTeX y modifique las variables de entorno. Por ejemplo, utilice el formato PDF:
export OPENAI_API_KEY="your-api-key"
cd scripts
bash run.sh
Para el formato LaTeX, ejecute:
bash run_latex.sh
Si se utilizan otros modelos lingüísticos de gran tamaño, ejecútelos:
bash run_llm.sh # PDF 格式
bash run_latex_llm.sh # LaTeX 格式
Evaluación de la calidad del código
Paper2Code admite la evaluación de la calidad del código tanto referenciado como no referenciado. Ejecuta scripts de evaluación:
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
Es necesario especificar los recorridos estándar del almacén para la evaluación de referencia:
--eval_type ref_based \
--gold_repo_dir ../examples/Transformer_gold_repo
Los resultados de la evaluación, incluida una puntuación de corrección de 1 a 5, se guardan en el archivo results
Catálogo.
Función destacada Operación
- Colaboración multiagenteAgentes de planificación para diseñar la arquitectura del código, agentes de análisis para extraer los detalles de la tesis y agentes de generación para escribir código modular. Los usuarios no necesitan intervenir manualmente, el sistema completa automáticamente todo el proceso.
- Código de alta calidad: El código generado es fiel al documento, incluye gestión de dependencias y archivos de configuración, y es apto para entornos de producción.
- Entrada flexible: Soporta los formatos PDF y LaTeX, compatible con una variedad de formatos de papel, conveniente para las diferentes necesidades de los usuarios.
- Herramientas de evaluaciónFunciones: Proporcionar scripts de evaluación automatizados para cuantificar la corrección del código y ayudar a los usuarios a verificar la calidad de la implementación.
advertencia
- Asegúrate de que la clave de la API de OpenAI es válida ejecutando o3-mini El coste estimado del modelo es de 0,50-0,70 dólares.
- Al convertir PDF, compruebe que la salida JSON esté completa para evitar errores de formato.
- Los papeles personalizados requieren el ajuste de rutas y parámetros en el script, consulte la sección
README.md
.
escenario de aplicación
- investigación académica
Los investigadores pueden convertir rápidamente nuevos artículos en código para validar algoritmos y ahorrar tiempo en la codificación manual. Por ejemplo, los estudiosos del aprendizaje automático pueden ejecutar directamente el código generado por Paper2Code para probar el rendimiento de los modelos de sus artículos. - Aprendizaje educativo
A través de Paper2Code, los estudiantes pueden convertir documentos clásicos (por ejemplo, Transformer) en código para obtener una comprensión más profunda de los detalles de la implementación del modelo y ayudar en el aprendizaje de los principios del aprendizaje profundo. - Desarrollo de prototipos
Los desarrolladores pueden construir rápidamente prototipos de aprendizaje automático basados en el repositorio de código generado, lo que acorta el ciclo de desarrollo y lo hace adecuado para proyectos comerciales iterativos rápidos.
CONTROL DE CALIDAD
- ¿Qué formatos de papel admite Paper2Code?
Admite documentos de aprendizaje automático en formato PDF y LaTeX; el PDF debe convertirse a JSON, mientras que LaTeX puede procesarse directamente. - ¿Cuál es la calidad del código generado?
El código se procesa mediante un proceso de tres fases de planificación, análisis y generación para ser fiel al contenido del documento. La herramienta de evaluación proporciona una puntuación de corrección de 1 a 5 para garantizar un resultado de alta calidad. - ¿Tengo que pagar para utilizar Paper2Code?
Hay que pagar para utilizar la API OpenAI, que cuesta alrededor de 0,50-0,70 dólares para ejecutar el modelo o3-mini. El resto de funciones son gratuitas. - ¿Cómo gestiona sus propios papeles?
Prepare el archivo PDF o LaTeX, configure las variables de entorno, ejecute el programarun.sh
tal vezrun_latex.sh
sólo hay que ajustar la ruta y los parámetros.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...