量子位Veröffentlichung der Quelle

KV Cache auf konstante Größe komprimiert! Neuer Open-Source-König bei OCR: Seitenzahl ohne Obergrenze, Cache um 96 % reduziert

听雨, berichtet von 凹非寺 QubitAI | WeChat-Öffentlicher Account QbitAI

听雨, berichtet von 凹非寺
QubitAI | WeChat-Öffentlicher Account QbitAI

Baidus OCR wurde erneut verbessert.Wenxin Unlimited OCR 2 offiziell veröffentlicht und als Open Source freigegeben!

Diesmal wagt es direkt die Herausforderung, den gesamten Romanzyklus in einem Zug durchzulesen.

„7 Harry-Poter-Bände, vom Stein der Weisen bis zu den Heiligtümern des Todes, wurden fortlaufend erkannt, transkribiert und über mehr als 3600 Seiten bis zum Ende gelesen.“

Nimmt man stattdessen die komplette Trilogie „Der drei-Körper“-Zyklus, kann man sie ebenfalls in einem Rutsch durchlesen – drei Bücher mit über 1200 Seiten und mehreren hunderttausend Schriftzeichen, ganz ohne Verschnaufpause.

Allerdings muss das Modell, wenn es so viele Seiten am Stück liest, zunächst eine Hürde überwinden:Videospeicher。

„Je länger das Dokument, desto mehr Zwischeninformationen (KV-Cache) müssen beim Inferieren vorgehalten werden – man kann sich das wie die Spickzettel vorstellen, die das Modell beim Lesen anfertigt; je mehr Seiten, desto dicker die Spickzettel. Dicke Spickzettel nehmen nicht nur Platz weg, sondern lassen sich auch langsamer durchblättern.“

Im hundertseitigen Einzelserientest des technischen Berichts lieferte Wenxin Unlimited OCR 2 einen Vergleich:

Die Spitzenbelegung des KV-Caches sinkt gegenüber dem Standard-Decoding (bei dem die visuellen Caches aller Seiten gleichzeitig im Grafikspeicher gehalten werden) vonvon 47GB auf 1.77GB reduziert, eine Verringerung um etwa 96% auf einen Schlag.

Was bedeutet 47GB? Das ist mehr, als so mancher Laptop überhaupt an Gesamtspeicher hat. Und das ist nur der KV-Cache; Modellgewichte und andere Ausgaben kommen noch zusätzlich dazu.

Sein Vorgänger Unlimited OCR hat mit seiner Fähigkeit zur fortlaufenden Analyse mehrseitiger Dokumente bereits erhebliche Beliebtheit in der Open-Source-Community gewonnen: über 1000万 kumulierte Downloads und rund 2.86万 Star auf GitHub.

Von der Community-Erstellung einer Online-Demo bis hin zur Unterstützung der SGLang-Inferenz werden die Anpassungsarbeiten daran kontinuierlich vorangetrieben.

Bei der zweiten Generation liegt der Schwerpunkt des Upgrades darauf, bei der kontinuierlichen Verarbeitung längerer Dokumente gleichzeitig die Rechen- und Cache-Last zu senken.

Zu diesem Zweck schlägt Wenxin Unlimited OCR 2 Folgendes vorSparse Reference Sliding Window Attention Mechanismus SR-SWA, damit das Modell relevante Seiten und visuelle Informationen bedarfsgerecht auswählen kann und redundante Berechnungen reduziert werden.

In Kombination mit dem kontinuierlichen Dekodierungsmechanismus kann das Modell extrem lange Dokumente zusammenhängend verarbeiten, und der Dekodierungsaufwand pro Schritt steigt nicht mit zunehmender Dokumentlänge an.

Derzeit ist Wenxin Unlimited OCR 2 auf Hugging Face und GitHub offiziell als Open Source verfügbar.

Open-Source-Adresse:
*GitHub:https://github.com/baidu/Unlimited-OCR*
*HuggingFace:https://huggingface.co/baidu/Unlimited-OCR-2*
Aufschlüsselung der Kerntechnologie: Wie SR-SWA weniger rechnet und wie Block-Decoding weniger speichert
Wie schafft es Wenxin Unlimited OCR 2 eigentlich, die komplette Harry-Potter-Reihe mit mehreren Millionen Wörtern und über 3600 Seiten am Stück zu lesen?
Was hier nachgeahmt wird, ist im Grunde die Herangehensweise des Menschen beim Abschreiben von Büchern.
Wie läuft das Abschreiben von Hand ab? Man liest einen Abschnitt, schreibt ihn ab, und die Augen richten sich hauptsächlich auf die Seite, die gerade abgeschrieben wird; nur wenn Stellen verglichen werden müssen, die vor oder nach der aktuellen Position liegen, blättert man zurück zu den relevanten Seiten.
Beim Abschreiben von Büchern hat der Mensch es früher begriffen als das Modell: Niemand würde beim Abschreiben des Analects of Confucius im Kopf gleichzeitig alle Seiten des Werks aufgeschlagen nebeneinander betrachten.
Die vorherige Generation von Unlimited OCR machte es jedoch anders: Obwohl der KV-Cache in der Inferenzphase durch R-SWA bereits deutlich reduziert worden war, mussten bei jedem Rückblick weiterhin die visuellen Informationen aller Eingabeseiten an den Aufmerksamkeitsberechnungen teilnehmen.
Je länger das Dokument, desto mehr Informationen werden berechnet, und ein beträchtlicher Teil davon hat mit den wenigen Zeilen, die gerade erkannt werden, überhaupt nichts zu tun – ein typischer „Mitläufer“.

△SR-SWA übernimmt die lokal fokussierte Herangehensweise des Menschen beim Abschreiben von Büchern
In Anlehnung an die Herangehensweise des Menschen beim Abschreiben von Büchern führt Wenxin Unlimited OCR 2 einsparsames Referenz-Sliding-Window-Aufmerksamkeitsmechanismus (SR-SWA) ein。
Seine Filterung erfolgt in zwei Ebenen: Zuerst werden die Seiten herausgefiltert, die als Referenz benötigt werden, dann werden aus diesen Seiten die tatsächlich relevanten lokalen Informationen ausgewählt, um irrelevante Berechnungen auszusperren.
Betrachtet man die Gesamtarchitektur, so führt Wenxin Unlimited OCR 2 das Grunddesign der vorherigen Generation fort.

△Gesamtarchitektur von Wenxin Unlimited OCR 2
Die Buchseitenbilder gelangen zunächst in den DeepEncoder und werden in visuelle Token umgewandelt, die das Modell verarbeiten kann – man kann sich das als eine Reihe von Datenkarten vorstellen, die den Inhalt und die Layoutmerkmale einer Seite festhalten.
Anschließend generiert das Sprachmodell Schritt für Schritt das Erkennungsergebnis auf Basis dieser Karten.
Die entscheidende Veränderung findet im Inneren des Sprachmodells statt: Der in der vorherigen Generation verwendeteReferenz-Sliding-Window-Aufmerksamkeitsmechanismus (R-SWA)wurde in dieser Generation zu SR-SWA weiterentwickelt.
Unten links im Architekturdiagramm ist der zweistufige Filterprozess von SR-SWA dargestellt.
Die erste Ebene ist das Page Gate, das dafür zuständig ist, „welche Seiten betrachtet werden sollen“.
Es zieht die Kandidaten der visuellen Informationen auf der Grundlage der Position, die das Modell gerade verarbeitet, auf die relevanten Seiten ein und lässt irrelevante Seiten nicht dazwischenfunken.
Übertragen auf das Abschreiben eines Buches ist das, als würde man beim Lesen einer Seite zuerst die wenigen Seiten finden, die zu dieser Seite gehören, statt das ganze Buch von vorne durchzublättern.
Die zweite Ebene ist der Token Sieve, der dafür zuständig ist, „welche Zeilen auf dieser Seite betrachtet werden sollen“.
Die richtige Seitenwahl ist nur der erste Schritt: Selbst innerhalb dieser Seiten müssen nicht alle visuellen Token an den Berechnungen teilnehmen. Der Token Sieve filtert erneut und wählt aus den Seiten die visuellen Informationsblöcke aus, die für den aktuellen Inhalt relevanter sind, um visuelle Abhängigkeiten über große Distanzen zu erfassen.
Rechts im Architekturdiagramm ist dieser Prozess ausgeführt: Zuerst wird die Relevanz anhand komprimierter Darstellungen der einzelnen Informationsblöcke berechnet, dann werden über TopK die Blöcke mit den höchsten Bewertungen in fester Anzahl ausgewählt.
Nach der Auswahl betrachtet das Modell weiterhin die konkreten visuellen Informationen in diesen Blöcken und nicht nur eine Zusammenfassung.
Das Zusammenspiel der beiden Mechanismen ermöglicht es dem Modell, in langen Dokumenten die relevanten Seiten zu finden und zugleich die in jedem Schritt zu verarbeitenden visuellen Informationen zu reduzieren, wodurch die Effizienz beim Parsen langer Dokumente steigt.

△Details zum Token Sieve
Die herausgefilterten visuellen Informationen werden zusammen mit dem im Diagramm gezeigtenLocal Window(lokalen gleitenden Fenster) in die Analyse einbezogen.
Dieses Fenster hat eine feste Größe, enthält den letzten Kontext und wandert mit dem Generierungsprozess kontinuierlich nach vorne mit, damit das Modell beim weiteren Schreiben dem zuvor geschriebenen Inhalt folgt.
Die Anzahl der Informationsblöcke ist fest, die Größe des lokalen Fensters ebenfalls – damit ist die in jedem Schritt zu berücksichtigende Informationsmenge begrenzt: So lang das Dokument auch sein mag, der Arbeitsaufwand pro Schritt bleibt derselbe. Es tritt also nicht der Fall ein, dass „je dicker das Buch, desto mühsamer jedes einzelne Zeichen“ wird.
SR-SWA sorgt dafür, dass in jedem Schritt weniger berechnet wird; wie viele Informationen im Grafikspeicher zurückbehalten werden müssen, ist hingegen eine andere Frage.
Jede Seitenbilddarstellung wird bei der Kodierung in eine Gruppe visueller Token umgewandelt. Da das Modell beim Erzeugen der Parsing-Ergebnisse auf sie zurückgreifen muss, wird der entsprechende KV-Cache gespeichert, um ihn für spätere Berechnungen wiederzuverwenden.
Wenn man ein ganzes Dokument auf einmal einliest und die visuellen Caches aller Seiten im Grafikspeicher belässt, wächst der belegte Platz mit jeder weiteren Seite.
Ärgerlicher ist noch: Selbst wenn diese Seiten an der aktuellen Berechnung gar nicht beteiligt sind, belegen sie so lange den Grafikspeicher, bis der Cache freigegeben wird. Das ist, als würde man beim Abschreiben eines Buches die Entwürfe jeder Seite auf dem Tisch ausbreiten und keine einzige wegwerfen – so groß der Tisch auch ist, er reicht nie aus.
Deshalb gilt: Weniger rechnen muss mit weniger Speichern einhergehen.
Dazu führt Wenxin Unlimited OCR 2 einenUnlimited-Decoding-Mechanismusein (Unlimited-Horizon Decoding Paradigm), der den Cache-Verbrauch durch blockweise Verarbeitung kontrolliert.

△Schematische Darstellung des blockweisen Decodings
Dieser Mechanismus unterteilt das Dokument in Blöcke kontrollierbarer Seitenzahl und analysiert sie nacheinander. Zwei benachbarte Blöcke überlappen sich um eine Seite: Die letzte Seite des vorherigen Blocks ist zugleich der Startpunkt des nächsten – ein fertig mitgeliefertes Lesezeichen.
Beim Wechsel in den nächsten Block verwendet das Modell direkt den visuellen KV-Cache dieser überlappenden Seite wieder und behält zugleich den Text-Cache vom Ende der vorherigen Ausgabe, damit der Inhalt nahtlos weiterführt. Die visuellen Caches der übrigen, nicht mehr benötigten Seiten werden rechtzeitig freigegeben, um Grafikspeicher freizumachen.
Auf diese Weise wird der im Grafikspeicher zu haltende visuelle Cache auf die Größe des aktuell verarbeiteten Blocks begrenzt. Nach der Verarbeitung eines Blocks bleiben nur die für den Anschluss nötigen Informationen erhalten, bevor der nächste Block beginnt – der visuelle Cache des gesamten Dokuments muss nicht von Anfang bis Ende belegt bleiben.
*SR-SWA ist für die Reduzierung der Berechnung pro Schritt zuständig, der Unlimited-Decoding-Mechanismus kontrolliert den Cache-Verbrauch.Nur im Zusammenspiel beider kann das Modell extrem lange Dokumente kontinuierlich analysieren. 884 Seiten „Der Herr der Ringe“ in 42 Minuten gelesen, Cache auf 1,77 GB reduziert – nach so viel Technik wollten wir die Ergebnisse auch mit eigenen Augen sehen: Wir haben dem Modell einfachdie 884-seitige englische Ausgabe von „Der Herr der Ringe“。

vorgelegt. Nach etwa 42 Minuten und 56 Sekunden war die Analyse abgeschlossen. 884 Seiten Eingabe entsprachen 884 Seiten Ausgabe, durchschnittlich etwa 2,9 Sekunden pro Seite. In etwa so lange wie eine Fernsehserie dauerte die komplette Reise durch „Mittelerde“. Aber kann bei einem so langen Dokument die Erkennungsqualität am Ende noch mithalten? Wir haben gezielt den Fließtext von Seite 600 und Seite 750 stichprobenartig geprüft: Der erkannte Text stimmte mit dem Original überein. Dass selbst auf Seite 750 noch alles haargenau stimmt, zeigt, dass das Modell vorher nicht „abgedriftet“ ist.

Im gesamten Vorgang markierte das System außerdem466 seitenübergreifende Zusammenführungen. So wurden etwa auf den Seiten 873 bis 874 gegen Ende des Buches durch die Seitentrennung abrupt abgeschnittene Sätze in der Ausgabe wieder zusammengefügt.

Der Praxistest zeigt den kontinuierlichen Analyseprozess des gesamten Buches, der technischen Bericht beantwortet drei weitere Fragen: Wie viel Cache wird benötigt, wie schnell kann es gehen, und wie ist die Erkennungsqualität? Auf dem MarathondocBench-Benchmark mit hundertseitigen Dokumenten stellte das Team Standard-Decoding und Unlimited-Horizon Decoding im direkten Vergleich gegenüber. Bei der Single-Sequence-Inferenz sank derSpitzenwert des KV-Cache-Verbrauchs durch blockweise Verarbeitung und Wiederverwendung der Grenzcaches von 47 GB auf 1,77 GB, eine Reduktion von etwa 96 %.*
Die große Menge an Seiteninformationen, die zuvor gleichzeitig im Grafikspeicher bleiben musste, kann nun in Schritten verarbeitet und rechtzeitig freigegeben werden. Die 1,77 GB beziehen sich nur auf den KV-Cache; andere Speicherkosten wie Modellgewichte kommen hinzu.
Neben der Cache-Ersparnis testete der Bericht auch das Verhalten bei der gleichzeitigen Verarbeitung mehrerer Dokumente.
In einem weiterenTest mit 16-facher Parallelitätstieg der End-to-End-Durchsatz mit dieser Decoding-Methode von 360 auf 1315 Token/Sekunde, rund das 3,65-fache des Standard-Decodings.

△Vergleich der Decoding-Methoden: Spitzenwert des KV-Cache bei Einzelsequenz und Durchsatz bei 16-facher Parallelität
Für Dienste, die Geschäftsberichte und technische Handbücher in großen Mengen verarbeiten müssen, sind beide Veränderungen praktisch bedeutsam: Sinkt der Grafikspeicherverbrauch, passt auf dieselbe Karte mehr Arbeit; läuft die Parallelverarbeitung, wird pro Zeiteinheit mehr Inhalt ausgegeben.
Auch die Nutzer müssen sich um nichts kümmern: Wie gewohnt wird das gesamte Dokument eingereicht, die Blockaufteilung und der Anschluss übernimmt das Modell intern – das mühsame manuelle Zerlegen von Dateien, stufenweise Einreichung und nachträgliche Zusammenfügung entfällt.
Neben mehr Geschwindigkeit und Ersparnis muss auch die Analysequalität gehalten werden.
MPDocBench prüft die Analysequalität bei mehrseitigen Dokumenten: Bei Dokumenten mit Dutzenden Seiten muss das Modell den Inhalt sowohl genau erkennen als auch die Dokumentstruktur wiedergeben.
In diesem Test erzielte Wenxin Unlimited OCR 2 eineGesamtpunktzahl von 84,59。
Um Dokumente mit Hunderten von Seiten weiter zu testen, hat das Team zudem neu erstelltMarathonDocBench。Es enthält 100 Dokumente mit jeweils 103 bis 300 Seiten. Zahlreiche Absätze und Tabellen setzen sich auf der nächsten Seite fort, um gezielt zu prüfen, ob das Modell vorangehende und nachfolgende Inhalte korrekt verknüpfen kann.
Auf diesem längeren und anspruchsvolleren Benchmark erzielte Wenxin Unlimited OCR 2Gesamtpunktzahl von 77.06. In beiden Bewertungen lag sein Gesamtergebnis jeweils am höchsten unter allen im Bericht aufgeführten bewerteten Modellen.

△ Aus dem technischen Bericht: Evaluierungsergebnisse zur mehrseitigen Dokumentenanalyse
Die Änderung der Verarbeitungsgeschwindigkeit bei langen Dokumenten ist ebenso deutlich. In den Berichtstests mit Dokumenten im Umfang von hundert Seiten erreichte SR-SWASchrittweise Decodierungsgeschwindigkeitbeide erreichen das7.0-Fachevon Full Attention bzw. das5.6-Fache。
des in der vorherigen Generation verwendeten R-SWA.
Auf der Kurve ist es anschaulicher zu sehen: Mit zunehmender Dokumentlänge klettert dieDecode-Zeit pro Schritt der beiden ersten Ansätze stetig nach oben, während die Schrittzeit von SR-SWA praktisch eine horizontale Linie bildet.

Das bedeutet, dass die Zeit, die das Modell zur Generierung eines Tokens benötigt, mit wachsender Seitenzahl des Inputs nicht deutlich länger wird – das Buch wird dicker, aber die Schreibgeschwindigkeit bleibt gleich.
Im Vergleich zur Vorgängergeneration ist der Gesamtwert pro Seite von 文心Unlimited OCR 2 im Wesentlichen gleichgeblieben.
Im Vergleich zur vorherigen Generation ist der Gesamtwert von Wenxin Unlimited OCR 2 pro Seite im Wesentlichen gleichauf.Der echte Unterschied zeigt sich,sobald die Dokumente länger werden
: Es können mehr Seiten in Folge verarbeitet werden, seitenübergreifende Inhalte werden genauer erkannt, und der Rechen- und Cache-Aufwand für die Analyse langer Dokumente sinkt gleichzeitig.
Wie die Leute das nun nutzen……
Du kannst Jahresberichte mit mehreren hundert Seiten eingeben oder ein dickes technisches Handbuch.
Besonders bei Scans: Erst das Modell kontinuierlich parsen und in Text umwandeln lassen, dann Informationen suchen und Inhalte abgleichen – so erspart man sich einiges an Seitenzerteilen und manuellem Zusammenfügen.

Allerdings, wer nutzt so eine starke OCR schon zum Arbeiten……

Die Ära von OCR 3.0 ist da
Das Zeitalter von OCR 3.0 ist da
Natürlich verändern sich auch die Probleme, die OCR lösen muss, wenn es von wenigen Seiten Material zum gesamten Buch geht.OCR 1.0, 2.0 und 3.0OCR 1.0, 2.0 und 3.0.
Frühes OCR glich eher einer klar aufgeteilten Fließbandarbeit: Zuerst wurde die Position des Textes gefunden, dann der Inhalt erkannt, und schließlich wurden Layout geordnet und Ergebnisse ausgegeben. Bei mehrseitiger Analyse wurde üblicherweise Seite für Seite verarbeitet und die Ergebnisse anschließend zusammengefügt,das ist OCR 1.0。
Die verschiedenen Module erfüllen jeweils ihre eigene Aufgabe, doch Fehler aus einem früheren Schritt können sich auch bis nach hinten fortsetzen – niest eine Station, erkalten alle nachfolgenden.
MitOCR 2.0begannen visuelle Sprachmodelle, Parse-Ergebnisse direkt aus dem Seitenbild zu erzeugen, wodurch die Übergaben zwischen den mehreren Modulen reduziert wurden. Die erste Generation von Unlimited OCR brachte diese End-to-End-Parsierung auf Dokumente mit Dutzenden von Seiten.

△KI-generiert
Wenn ein Dokument von wenigen Dutzend Seiten auf mehrere Hundert Seiten anwächst, muss die kontinuierliche Analyse sowohl die Verbindung zwischen vorherigen und nachfolgenden Inhalten sicherstellen als auch den Rechen- und Cache-Aufwand unter Kontrolle halten.
Wenxin Unlimited OCR 2 ermöglicht durch bedarfsorientiertes Nachschlagen und blockweise Dekodierung, dass das Modell mehr Seiten verarbeiten kann, ohne dass sich der Berechnungsumfang jedes Schritts mit der Seitenzahl vergrößert, und ohne dass der visuelle Cache aller Seiten ständig vorgehalten werden muss.
Das Team nennt diesen SchrittOCR 3.0: die kontinuierliche Verarbeitung eines gesamten Dokuments als neues technisches Ziel — in einem Zug, ohne Seitenumbruch, unbegrenzte Analyse, niemals Ausfall.
Und dieses Ziel gibt es übrigens auch in einer Anime-Version.
Der Name Unlimited OCR Works ist selbst eine Hommage an die „Unlimited Blade Works“ aus Fate/stay night, alsoUnlimited Blade Works。

△Startseite der offiziellen Website des Anime Fate/stay night
In der Vorlage des Originals handelt es sich um eine Art Magie namens „Reality Marble“ (固有結界), die nach dem Wirken einen speziellen Raum erschafft, in dem unzählige Klingen und Schwerter stecken.
Nach der Veröffentlichung der vorherigen Generation entdeckte der Hugging-Face-Nutzer Snarcy den Wortspiel-Hintergrund des Namens und verwandelte kurzerhand den klassischen Gesang in eine OCR-Version.
In der zweiten Generation hat das Team diese Umdichtung tatsächlich in die Einleitung des technischen Berichts aufgenommen — mit Snarcys Namensnennung.

Wer also diesen Bericht über Aufmerksamkeitsmechanismen und Speicheraufwand aufschlägt, sieht gleich zu Beginn folgenden Gesang:
Pixel sind mein Körper, und Token sind mein Blut.
Pixel sind der Körper, und Token sind das Blut.
I have parsed over a thousand pages.
Ich habe über tausend Seiten Dokumente gelesen.
Unknown to KV cache.
Nicht begrenzt vom KV-Cache,
Nor known to context limits.
Nicht gebunden an die Grenzen des Kontexts.
So, as I pray: Unlimited OCR Works
Daher bete ich hiermit: Unlimited OCR Works.

Von 47GB auf 1.77GB gesenkt — der Satz „nicht begrenzt vom KV-Cache“ wurde also nicht umsonst gesungen.
Typisch chuunibyou eben.

—Ende—

@QbitAI · Verfolgung neuer Entwicklungen bei KI-Technologien und -Produkten

Wer sich davon angesprochen fühlt, ist herzlich eingeladen zu liken, folgen und teilen — das Dreierpack վ’ᴗ’ ի ❤

Originalquelle

量子位

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten