AI Personal Learning
und praktische Anleitung
Ali - bemalter Frosch

olmOCR: Konvertierung von PDF-Dokumenten in Text, Unterstützung von Tabellen, Formeln und Erkennung handschriftlicher Inhalte

Allgemeine Einführung

olmOCR ist ein Open-Source-Tool, das vom AllenNLP-Team am Allen Institute for Artificial Intelligence (AI2) entwickelt wurde. Es konzentriert sich auf die Konvertierung von PDF-Dateien in linearisierten Text und eignet sich besonders für die Vorbereitung von Datensätzen und das Training für groß angelegte Sprachmodelle (LLMs). Es unterstützt die Textextraktion aus komplexen PDF-Dokumenten, behält die natürliche Lesereihenfolge bei und kann Tabellen, Formeln und sogar handschriftliche Inhalte verarbeiten. Das Tool ist auf Effizienz ausgelegt und kann auf lokalen GPUs oder über AWS S3 für parallele Verarbeitung mit mehreren Knoten ausgeführt werden, was die Verarbeitungskosten erheblich reduziert. Nach offiziellen Angaben, seine Verarbeitungsgeschwindigkeit bis zu 3000 + Token pro Sekunde, die Kosten ist nur 1/32 von GPT-4o, ist sehr geeignet für Forscher und Entwickler, die mit einer großen Anzahl von PDF umgehen müssen. olmOCR mit Apache 2.0-Lizenz, Code, Modell Gewichte und Daten ist komplett Open Source, und ermutigt die Gemeinschaft, in der Verbesserung zu beteiligen.

olmOCR: Konvertierung von PDF-Dokumenten in Text, Unterstützung für Tabellen, Formeln und Erkennung handschriftlicher Inhalte-1

Demo-Adresse: https://olmocr.allenai.org/


 

Funktionsliste

  • PDF Textextraktion und LinearisierungPDF-Dateien in JSONL-formatierten Text im Dolma-Stil konvertieren, wobei die Lesereihenfolge erhalten bleibt.
  • GPU-beschleunigtes ReasoningNutzung nativer GPUs und der Sglang-Technologie für eine effiziente Dokumentenverarbeitung.
  • Parallele Verarbeitung mit mehreren KnotenUnterstützung für die Koordinierung von Aufgaben mit mehreren Knoten über AWS S3, geeignet für die Verarbeitung von Millionen von PDFs.
  • Erkennung komplexer InhalteVerarbeitung von Tabellen, mathematischen Formeln und handgeschriebenem Text zur Ausgabe strukturierter Ergebnisse.
  • Flexible Verwaltung des ArbeitsbereichsUnterstützung von lokalen oder Cloud-Arbeitsbereichen zur Speicherung von Verarbeitungsergebnissen und Zwischendaten.
  • Open Source Ökologische UnterstützungBereitstellung von vollständigem Code und Dokumentation für sekundäre Entwicklung und Anpassung.

 

Hilfe verwenden

Ablauf der Installation

Die Installation von olmOCR muss in einer Umgebung erfolgen, die Python unterstützt, und es wird empfohlen, einen Grafikprozessor zu verwenden, um die Verarbeitungseffizienz zu verbessern. Nachfolgend finden Sie die detaillierten Schritte:

1. die Vorbereitung der Umwelt

  • Installation von AnacondaWenn Sie Anaconda nicht haben, können Sie es auf der offiziellen Website herunterladen und installieren.
  • Erstellen einer virtuellen Umgebung:
    conda create -n olmocr python=3.11
    conda activate olmocr
  • Code-Repository klonen:
    git clone https://github.com/allenai/olmocr.git
    cd olmocr
    

2. die Installation von Kernabhängigkeiten

  • Installation der grundlegenden Abhängigkeiten:
    pip install -e .
    
  • Installation der GPU-Unterstützung (optional): Installieren Sie sglang und flashinfer, wenn Sie GPU-Beschleunigung benötigen:
    pip install sgl-kernel==0.0.3.post1 --force-reinstall --no-deps
    pip install "sglang[all]==0.4.2" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/
    

    zur Kenntnis nehmenStellen Sie sicher, dass Ihr GPU-Treiber und Ihre CUDA-Version mit den oben genannten Abhängigkeiten kompatibel sind.

3. die Überprüfung der Installation

  • Führen Sie in der Befehlszeile Folgendes aus python -m olmocr.pipeline --helpWenn die Hilfemeldung ausgegeben wird, war die Installation erfolgreich.

Verwendung

olmOCR bietet zwei Hauptanwendungsszenarien: lokale Verarbeitung einzelner Dateien und groß angelegte Verarbeitung in der Cloud. Im Folgenden wird der Betriebsprozess im Detail beschrieben.

Lokale Verarbeitung von einzelnen PDFs

  1. Vorbereiten von PDF-Dateien:
    • Legen Sie die zu verarbeitende PDF-Datei in ein lokales Verzeichnis, z. B. . /tests/gnarly_pdfs/horribleocr.pdf.
  2. Verarbeitungsbefehl ausführen:
    python -m olmocr.pipeline . /localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf
    
  3. Ergebnisse anzeigen:
    • Wenn die Verarbeitung abgeschlossen ist, werden die Ergebnisse im JSON-Format in der Datei . /lokalerArbeitsbereich.
    • Der extrahierte Text wird im Dolma-ähnlichen JSONL-Format in der . /localworkspace/results Mitte.
  4. Anpassungsparameter (optional):
    • --ArbeiterLegt die Anzahl der gleichzeitigen Arbeits-Threads fest, Standardwert 8.
    • ---target_longest_image_dimLegt die maximale Seitenlänge des gerenderten Bildes fest, Standardwert 1024 Pixel.

Musterausgabe (Berechnung):

{ "text": "Molmo und PixMo:\nOpen Gewichte and Open Data\nfor State-of-the..." , "metadata": {"primary_language": "en", "is_table": false}}

Groß angelegte Verarbeitung in der Cloud (AWS S3)

  1. Konfigurieren der AWS-Umgebung:
    • Stellen Sie sicher, dass Sie über ein AWS-Konto verfügen, und generieren Sie einen Zugangsschlüssel.
    • Erstellen Sie zwei Buckets auf S3, zum Beispiel s3://my_s3_bucket/pdfworkspaces/exampleworkspace im Gesang antworten s3://my_s3_bucket/jakep/gnarly_pdfs/.
  2. Hochladen von PDF-Dateien:
    • Hochladen von PDF-Dateien auf s3://my_s3_bucket/jakep/gnarly_pdfs/.
  3. Starten einer Masterknotenaufgabe:
    python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf
    
    • Mit diesem Befehl wird ein Arbeitsvorrat angelegt und die Verarbeitung gestartet.
  4. Hinzufügen von Slave-Knoten:
    • Läuft auf anderen Rechnern:
    python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace
    
    • Der Slave-Knoten holt die Aufgabe automatisch aus der Warteschlange und bearbeitet sie.
  5. Ergebnisse Ansicht:
    • Die Ergebnisse werden in der Datei s3://my_s3_bucket/pdfworkspaces/exampleworkspace/results.

zur Kenntnis nehmenSie müssen die AWS-Befehlszeilenschnittstelle konfigurieren und sicherstellen, dass Sie über ausreichende Berechtigungen für den Zugriff auf den S3-Speicher-Bucket verfügen.

Verwendung des Bechers (AI2 interner Benutzer)

  1. Becherglas hinzufügen Parameter:
    python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf --beaker -- beaker_gpus 4
    
  2. operative Wirkung:
    • Nachdem der Arbeitsbereich lokal vorbereitet wurde, werden automatisch 4 GPU-Arbeitsknoten im Cluster gestartet.

Featured Function Bedienung

1. die Bearbeitung komplexer Dokumente

  • Verfahren:
    • Hochladen von PDF-Dateien, die Tabellen oder Formeln enthalten.
    • Verwendung des Standardmodells alleai/olmOCR-7B-0225-vorschauführen Sie den Verarbeitungsbefehl aus.
    • Überprüfen Sie die JSONL-Ausgabedatei, um sicherzustellen, dass die Tabellen und Formeln korrekt als Text geparst werden.
  • auf etw. aufmerksam machen:: Anpassung bei schlechter Erkennung ---target_longest_image_dim um die Bildauflösung zu erhöhen.

2. die Verarbeitung mit hohem Durchsatz

  • Verfahren:
    • Konfigurieren Sie eine Umgebung mit mehreren Knoten (wie AWS oder Beaker).
    • aufsteigen --Arbeiter Parameter, um die eigenständige Parallelität zu verbessern.
    • Überwachen Sie die Verarbeitungsgeschwindigkeit, um 3000+ Token pro Sekunde zu gewährleisten.
  • SchneidkanteDie Kosten liegen bei 190 $ pro Million Seiten und damit weit unter denen kommerzieller APIs.

3. kundenspezifische Entwicklung

  • Verfahren:
    • Änderungen olmocr/pipeline.pyAnpassung der Verarbeitungslogik.
    • Austauschbarkeit ---Modell unter Verwendung eines benutzerdefinierten Modellpfads.
    • Senden Sie Code an GitHub und beteiligen Sie sich an der Entwicklung der Community.

caveat

  • Hardware-Voraussetzung: Für den lokalen Betrieb ist ein Grafikprozessor erforderlich, eine NVIDIA-Grafikkarte wird empfohlen.
  • NetzanforderungCloud-Verarbeitung: Die Cloud-Verarbeitung erfordert eine stabile Netzwerkverbindung zu AWS.
  • Tipps zur Fehlersuche: Verwendung --Statistiken Parameter zur Anzeige von Arbeitsbereichsstatistiken für die Fehlersuche.

Mit diesen Schritten können Sie sich schnell in olmOCR einarbeiten und Ihre Arbeit effizient erledigen, egal ob Sie mit einem einzelnen PDF oder einem großen Datensatz arbeiten.

CDN1
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " olmOCR: Konvertierung von PDF-Dokumenten in Text, Unterstützung von Tabellen, Formeln und Erkennung handschriftlicher Inhalte

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)