17 Punkte von xguru 2024-09-13 | 2 Kommentare | Auf WhatsApp teilen
  • Jina AI hat im April 2024 Jina Reader veröffentlicht, eine API, die Webseiten-URLs in LLM-freundliches Markdown umwandelt
  • Jina Reader ruft den Quelltext von Webseiten über den Chrome-Browser ab, extrahiert mit dem Readability-Paket den Hauptinhalt und wandelt das bereinigte HTML mithilfe von Regex und der Bibliothek Turndown in Markdown um
  • Es gab jedoch Punkte mit Verbesserungsbedarf, etwa wenn der Readability-Filter fälschlich Inhalte entfernte oder Turndown Schwierigkeiten hatte, bestimmtes HTML in Markdown umzuwandeln
  • Deshalb begann Jina AI darüber nachzudenken, HTML mithilfe eines Small Language Model (SLM) end-to-end in Markdown umzuwandeln

Merkmale von Reader-LM

  • Die Umwandlung von HTML in Markdown ist im Vergleich zu allgemeinen LLM-Aufgaben weder besonders kreativ noch komplex, sondern erfordert überwiegend selektives Kopieren vom Input in den Output
  • Daher ist eine flache Modellarchitektur mit weniger Transformer-Blöcken möglich
  • Da echtes HTML jedoch sehr viel Rauschen enthält und die Tokenlänge groß ist, wird Long-Context-Unterstützung bis zu 256K Token benötigt
  • Dafür hat Jina AI die „shallow-but-wide“ SLMs reader-lm-0.5b und reader-lm-1.5b vorgestellt. Sie verfügen über 494M bzw. 1.54B Parameter

Verwendung von Reader-LM

  • reader-lm kann in Google Colab ausprobiert werden. Es gibt ein Notebook, das zeigt, wie die Hacker-News-Website in Markdown umgewandelt wird
  • Für den produktiven Einsatz wird die Verwendung leistungsstarker GPUs empfohlen. Geeigneter sind Systeme auf dem Niveau einer RTX 3090/4090 als eine T4
  • Reader-LM soll in Kürze auch im Azure Marketplace und bei AWS SageMaker verfügbar sein
  • Die kommerzielle Lizenz ist CC BY-NC 4.0; für kommerzielle Nutzung sollte Jina AI kontaktiert werden

Benchmark-Ergebnisse von Reader-LM

  • Es wurde eine vergleichende Bewertung mit verschiedenen LLMs wie GPT-4o, Gemini und LLaMA durchgeführt
  • Verwendet wurden Metriken wie ROUGE-L, Token Error Rate (TER) und Word Error Rate (WER)
  • reader-lm-1.5b zeigte mit ROUGE-L 0.72 und WER 1.87 die beste Leistung
  • Bei visueller Prüfung des tatsächlich erzeugten Markdown schnitt reader-lm-1.5b in allen Aspekten am besten ab, darunter Header-Extraktion, Extraktion des Hauptinhalts, Erhalt der Struktur und Verwendung der Markdown-Syntax

Trainingsprozess von Reader-LM

  • Mit der Jina Reader API wurden HTML/Markdown-Paare erstellt und als Trainingsdaten verwendet. Zusätzlich wurde teilweise synthetisches HTML hinzugefügt
  • Es wurden Modelle in verschiedenen Größen von 65M bis 3B Parametern erprobt
  • Es wurde ein zweistufiger Trainingsprozess durchlaufen. In Phase 1 wurden kurze und einfache HTMLs mit 32K-Token-Sequenzen trainiert, in Phase 2 wurde das Training auf bis zu 128K Token erweitert
  • Um das Degenerationsproblem mit Wiederholungen und Schleifen zu lösen, wurden Contrastive Search und Kriterien zum Stoppen von Wiederholungen angewendet
  • Zur Lösung von OOM-Problemen wurde chunk-wise model forwarding implementiert und die Implementierung des Data Packing verbessert
  • Es wurde auch versucht, das Problem mit einem Encoder-only-Modell zu lösen, doch es war schwierig, es als Token-Klassifikationsaufgabe zu behandeln

Fazit

  • Reader-LM ist ein neues SLM, das für die Extraktion und Bereinigung von Webdaten entwickelt wurde
  • Die Umwandlung von HTML in Markdown ist schwieriger als gedacht. Da positionsbewusstes und kontextbasiertes Schlussfolgern erforderlich ist, wird eine große Parameterzahl benötigt
  • Ein SLM von Grund auf zu trainieren, ist sehr schwierig. Von einem vortrainierten Modell aus zu starten, ist deutlich effizienter
  • Für die Zukunft gibt es noch viel Raum für Verbesserungen, etwa bei längeren Kontextfenstern, höherer Decoding-Geschwindigkeit und der Unterstützung von Anweisungen im Input

2 Kommentare

 
ragingwind 2025-01-21

So etwas möchte ich gerne bauen.

 
xguru 2024-09-13

Jina AI Reader - Ein Tool, das URLs in LLM-freundliche Eingaben umwandelt

Ich nutze das ziemlich gerne, und ich denke, es wäre schön, wenn man es noch kleiner machen und direkt in den Browser integrieren könnte, haha