AI Personal Learning
und praktische Anleitung
TRAE

Paper2Code: Automatisches Umwandeln von Papieren zum maschinellen Lernen in lauffähigen Code

Allgemeine Einführung

Paper2Code ist ein Open-Source-Projekt, das den Mangel an Code-Implementierungen für Arbeiten zum maschinellen Lernen beheben soll. Es wandelt wissenschaftliche Arbeiten durch das Multi-Agenten-LLM-System (Large Language Modelling) PaperCoder automatisch in lauffähige Code-Repositories um. Das System basiert auf einem dreistufigen Prozess aus Planung, Analyse und Codegenerierung, der von spezialisierten Agenten getrennt abgewickelt wird, um qualitativ hochwertige, papiergetreue Codeimplementierungen zu erzeugen. Das Projekt nimmt das berühmte "Attention Is All You Need"-Papier als Beispiel und demonstriert den Prozess vom Papier zur Transformator Paper2Code unterstützt Papiereingaben im PDF- und LaTeX-Format. Es unterstützt Papiereingaben im PDF- und LaTeX-Format für Forscher, Entwickler und Studenten im Bereich maschinelles Lernen. Paper2Code schneidet in PaperBench-Benchmarks gut ab und der Code ist auf GitHub öffentlich verfügbar, sodass er einfach zu installieren und zu verwenden ist.

Paper2Code: Automatisches Umwandeln von Papers zum maschinellen Lernen in lauffähigen Code-1


 

Funktionsliste

  • Automatische Umwandlung von Papieren zum maschinellen Lernen in ausführbaren Code.
  • Unterstützt die Eingabe von Papier in den Formaten PDF und LaTeX, um strukturierte JSON-Daten zu erzeugen.
  • Bietet einen dreiphasigen Verarbeitungsablauf für Planung, Analyse und Codegenerierung.
  • Generieren Sie ein vollständiges Code-Repository mit Systemarchitektur, Abhängigkeiten und Konfigurationsdateien.
  • Unterstützt die Bewertung der Qualität von referenziertem und nicht referenziertem Code auf einer Skala von 1-5.
  • Enthält Beispielskripte zur schnellen Ausführung des Transformer-Codes für das Papier "Attention Is All You Need".
  • Sie ist quelloffen und kostenlos, so dass die Benutzer den Code verändern und zu ihm beitragen können.

 

Hilfe verwenden

Einbauverfahren

Um Paper2Code zu verwenden, müssen Sie die erforderlichen Abhängigkeiten installieren und Ihre Umgebung konfigurieren. Nachfolgend finden Sie die detaillierten Installationsschritte:

  1. Klon-Lager
    Führen Sie den folgenden Befehl in einem Terminal aus, um das Paper2Code-Repository lokal zu klonen:

    git clone https://github.com/going-doer/Paper2Code.git
    cd Paper2Code
  1. Installation von Abhängigkeiten
    Installieren Sie die Python-Abhängigkeiten, einschließlich openai im Gesang antworten tiktoken usw. Bibliothek:

    pip install openai tiktoken
    

    Wenn Sie die vLLM Modell zu installieren, finden Sie im offiziellen vLLM-Repository (https://github.com/vllm-project/vllm).

  2. Einstellen des OpenAI-API-Schlüssels
    Nachdem Sie den OpenAI-API-Schlüssel erhalten haben, konfigurieren Sie die Umgebungsvariablen:

    export OPENAI_API_KEY="your-api-key"
    

    Windows-Benutzer führen es aus:

    set OPENAI_API_KEY=your-api-key
    
  3. Installation des PDF-Konvertierungsprogramms
    Paper2Code unterstützt die Konvertierung von PDF-Dokumenten in das JSON-Format. Klonen Sie das Repository s2orc-doc2json:

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

    Führen Sie das PDF-Konvertierungsskript aus:

    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
    

Verwendung

Paper2Code bietet mehrere Möglichkeiten zur Ausführung und unterstützt Papiere im PDF- und LaTeX-Format. Hier sind die Details der Operation:

Führen Sie das Beispielskript aus

Paper2Code enthält ein Beispielskript zur Erzeugung von Transformer-Code für das Papier "Attention Is All You Need". Gehen Sie zu scripts Katalog:

cd scripts
bash run.sh

Die Ausgabe wird in der Datei outputs/Transformer Katalog, inklusive:

  • planning_artifactsSystemarchitektur und Abhängigkeitsdateien.
  • analyzing_artifactsDetailanalyse der Thesenrealisierung.
  • coding_artifactsDie generierte Codedatei.
  • Transformer_repo: Das endgültige Code-Repository.

Umgang mit maßgeschneiderten Aufsätzen

Um Ihre Arbeit in Code umzuwandeln, bereiten Sie eine Datei im PDF- oder LaTeX-Format vor und ändern Sie die Umgebungsvariablen. Verwenden Sie zum Beispiel das PDF-Format:

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

Für das LaTeX-Format, führen Sie aus:

bash run_latex.sh

Wenn andere große Sprachmodelle verwendet werden, starten Sie:

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

Bewertung der Codequalität

Paper2Code unterstützt sowohl referenzierte als auch nicht referenzierte Codequalitätsbewertungen. Ausführen von Bewertungsskripten:

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

Für die Referenzbewertung müssen Standardlagerpfade festgelegt werden:

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

Die Bewertungsergebnisse, einschließlich einer 1-5 Korrektheitsbewertung, werden in der results Katalog.

Featured Function Bedienung

  • Zusammenarbeit zwischen mehreren AgentenPlanung von Agenten für den Entwurf der Code-Architektur, Analyse von Agenten für die Extraktion von Thesis-Details, Generierung von Agenten für das Schreiben von modularem Code. Die Benutzer müssen nicht manuell eingreifen, das System führt den gesamten Prozess automatisch durch.
  • Hochwertiger CodeDer generierte Code entspricht dem Papier, enthält Abhängigkeitsmanagement und Konfigurationsdateien und ist für Produktionsumgebungen geeignet.
  • Flexible EingabeUnterstützung der Formate PDF und LaTeX, kompatibel mit einer Vielzahl von Papierformaten, geeignet für verschiedene Benutzeranforderungen.
  • BewertungsinstrumenteAutomatisierte Evaluierungsskripte zur Quantifizierung der Korrektheit des Codes und zur Unterstützung der Benutzer bei der Überprüfung der Implementierungsqualität bereitstellen.

caveat

  • Stellen Sie sicher, dass der OpenAI-API-Schlüssel gültig ist, indem Sie o3-mini Die Kosten des Modells werden auf 0,50-0,70 US-Dollar geschätzt.
  • Überprüfen Sie bei der PDF-Konvertierung die JSON-Ausgabe auf Vollständigkeit, um Formatierungsfehler zu vermeiden.
  • Benutzerdefinierte Papiere erfordern die Anpassung von Pfaden und Parametern im Skript, siehe die README.md.

 

Anwendungsszenario

  1. akademische Forschung
    Forscher können neue Arbeiten schnell in Code umwandeln, um Algorithmen zu validieren und Zeit für die manuelle Codierung zu sparen. Wissenschaftler, die sich mit maschinellem Lernen beschäftigen, können beispielsweise den von Paper2Code generierten Code direkt ausführen, um die Leistung der Modelle in ihren Arbeiten zu testen.
  2. Pädagogisches Lernen
    Mit Paper2Code können Studierende klassische Papers (z. B. Transformer) in Code umwandeln, um ein tieferes Verständnis für die Details der Modellimplementierung zu gewinnen und die Prinzipien des Deep Learning zu erlernen.
  3. Entwicklung von Prototypen
    Entwickler können auf der Grundlage des generierten Code-Repositorys schnell Prototypen für maschinelles Lernen erstellen, wodurch sich der Entwicklungszyklus verkürzt und die Software für schnelle iterative kommerzielle Projekte geeignet ist.

 

QA

  1. Welche Papierformate werden von Paper2Code unterstützt?
    Unterstützt Arbeiten zum maschinellen Lernen in den Formaten PDF und LaTeX; PDF muss in JSON konvertiert werden, LaTeX kann direkt verarbeitet werden.
  2. Wie hoch ist die Qualität des generierten Codes?
    Der Code durchläuft einen dreistufigen Prozess der Planung, Analyse und Generierung und entspricht dem Inhalt des Papiers. Das Bewertungstool vergibt eine Korrektheitspunktezahl von 1-5, um eine qualitativ hochwertige Ausgabe zu gewährleisten.
  3. Muss ich für die Nutzung von Paper2Code bezahlen?
    Die Nutzung der OpenAI-API ist gebührenpflichtig und kostet etwa 0,50-0,70 $ für den Betrieb des o3-mini-Modells. Andere Funktionen sind kostenlos.
  4. Wie gehen Sie mit Ihren eigenen Papieren um?
    Bereiten Sie die PDF- oder LaTeX-Datei vor, konfigurieren Sie die Umgebungsvariablen, führen Sie die run.sh vielleicht run_latex.sh Skript, passen Sie einfach den Pfad und die Parameter an.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Paper2Code: Automatisches Umwandeln von Papieren zum maschinellen Lernen in lauffähigen Code
de_DEDeutsch