Par 听雨, depuis 凹非寺
Quantum Bit | Compte officiel QbitAI
L'OCR de Baidu vient encore d'être amélioré,Wenxin Unlimited OCR 2 est officiellement lancé et publié en open source !
Cette fois, il défie directement la lecture d'une série complète de romans d'une traite.
Les 7 tomes de Harry Potter, de L'École des sorciers aux Reliques de la Mort, reconnus et transcrits en continu, 3600+ pages lus jusqu'au bout.
Avec la trilogie complète du Problème à trois corps, même résultat : lecture d'une traite, trois livres de 1200+ pages, plusieurs centaines de milliers de mots, sans souffler au passage.
Cependant, pour lire autant de pages d'affilée, le modèle doit d'abord franchir un obstacle :la mémoire vidéo。
Plus le document est long, plus il faut conserver d'informations intermédiaires (cache KV) lors de l'inférence — on peut le voir comme les antisèches que le modèle prend en lisant : plus il y a de pages, plus l'antisèche est épaisse. Et une antisèche épaisse non seulement prend de la place, mais est aussi lente à parcourir.
Dans les tests sur séquence unique de l'ordre de la centaine de pages présentés dans le rapport technique, Wenxin Unlimited OCR 2 donne une comparaison :
le pic d'occupation du cache KV passe de 47GB en décodage standard (en conservant simultanément en mémoire vidéo le cache visuel de toutes les pages) àRéduit de 47GB à 1,77GB, soit une diminution d'environ 96% d'un coup.
47GB, qu'est-ce que cela représente ? Plus que la mémoire totale de nombreux ordinateurs portables. Et ce n'est que le cache KV ; les poids du modèle et autres coûts sont à comptabiliser en plus.
Sa génération précédente, Unlimited OCR, avait déjà acquis une popularité considérable dans la communauté open source grâce à sa capacité d'analyse continue de documents multipages : plus de 1000万 téléchargements cumulés, et environ 28600 Stars sur GitHub.
Des démos en ligne créées par la communauté au support de l'inférence SGlang, son écosystème d'adaptation continue de se développer.
Pour cette deuxième génération, l'accent de la mise à niveau porte sur le traitement continu de documents encore plus longs tout en réduisant la charge de calcul et de cache.
Pour cela, Wenxin Unlimited OCR 2 proposele mécanisme d'attention à fenêtre glissante à référence éparses SR-SWA, permettant au modèle de sélectionner à la demande les pages et informations visuelles pertinentes, réduisant ainsi les calculs répétitifs.
Combiné au mécanisme de décodage continu, le modèle peut traiter des documents ultra-longs en continu, sans que le coût de décodage par étape n'augmente avec la longueur du document.
À l'heure actuelle, Wenxin Unlimited OCR 2 est officiellement disponible en open source sur Hugging Face et GitHub.
Adresses open source :
*GitHub:https://github.com/baidu/Unlimited-OCR*
*HuggingFace:https://huggingface.co/baidu/Unlimited-OCR-2*
Décryptage des technologies clés : comment SR-SWA calcule moins et comment le décodage par blocs stocke moins
Comment Wenxin Unlimited OCR 2 est-il parvenu à lire en continu l'intégralité de Harry Potter, plusieurs millions de mots et 3600+ pages ?
En réalité, ce qu'elle emprunte, c'est l'approche humaine de la copie de livres.
Quel est le processus quand un humain copie un livre à la main ? Il regarde un passage, le recopie, les yeux fixés principalement sur la page en cours de copie ; ce n'est que lorsqu'il rencontre un endroit nécessitant une comparaison avant-arrière qu'il retourne consulter les pages concernées.
Pour la copie de livres, les humains ont compris la chose bien avant les modèles : personne ne recopie les Entretiens de Confucius en déployant en même temps, dans son esprit, toutes les pages de l'ouvrage pour les lire ensemble.
Mais l'Unlimited OCR de la génération précédente ne procédait pas ainsi : bien que le KV cache de la phase d'inférence ait déjà été considérablement réduit grâce à R-SWA, lors du retour en arrière, les informations visuelles de toutes les pages d'entrée devaient tout de même participer aux calculs d'attention.
Plus le document est long, plus il faut calculer d'informations, et une part considérable de celles-ci n'a absolument aucun rapport avec les quelques lignes en cours de reconnaissance — un cas typique de « coureur de complaisance ».
△ SR-SWA s'inspire de la focalisation locale qu'utilise l'humain lors de la copie de livres
En suivant l'approche humaine de la copie de livres, ERNIE Unlimited OCR 2 introduitle mécanisme d'attention par fenêtre glissante à référence clairsemée (SR-SWA)。
Sa sélection s'effectue en deux niveaux : on filtre d'abord les pages nécessitant une consultation, puis on extrait des pages retenues les informations locales réellement pertinentes, en tenant à distance les calculs inutiles.
Vue dans son ensemble, l'architecture d'ERNIE Unlimited OCR 2 reprend la conception de base de la génération précédente.
△ Architecture globale d'ERNIE Unlimited OCR 2
L'image de la page du livre entre d'abord dans le DeepEncoder, où elle est convertie en tokens visuels que le modèle peut traiter — que l'on peut concevoir comme un ensemble de cartes de données enregistrant le contenu de la page et ses caractéristiques de mise en page.
Ensuite, le modèle de langage, à partir de ces cartes, génère le résultat de la reconnaissance pas à pas.
Le changement clé se produit à l'intérieur du modèle de langage : lemécanisme d'attention par fenêtre glissante à référence (R-SWA)utilisé par la génération précédente est, dans cette génération, remplacé par SR-SWA.
Ce qui est présenté en bas à gauche du schéma d'architecture, c'est le processus de sélection à deux niveaux de SR-SWA.
Le premier niveau est le Page Gate, chargé de « quelles pages regarder ».
En fonction de la position que le modèle est en train d'analyser, il concentre les informations visuelles candidates dans le périmètre des pages pertinentes, empêchant les pages sans rapport de s'y mêler.
Transposé à la copie de livres, cela revient à, lorsqu'on lit une page donnée, commencer par identifier les quelques pages liées à celle-ci, plutôt que de parcourir tout le livre depuis le début.
Le deuxième niveau est le Token Sieve, chargé de « quelles lignes regarder dans cette page ».
Choisir les bonnes pages n'est que la première étape : même au sein de ces pages, il n'est pas nécessaire que tous les tokens visuels participent au calcul. Le Token Sieve effectue une seconde sélection, extrayant de la page les blocs d'informations visuelles les plus pertinents par rapport au contenu courant, afin de capturer les dépendances visuelles à longue distance.
La partie droite du schéma d'architecture détaille ce processus : on calcule d'abord la pertinence à partir des représentations succinctes de chaque bloc d'informations, puis on sélectionne via un TopK les blocs obtenant les meilleurs scores, en nombre fixe.
Une fois la sélection effectuée, le modèle va quand même examiner les informations visuelles concrètes contenues dans ces blocs, et non un simple résumé.
La combinaison de ces deux mécanismes permet au modèle de trouver les pages pertinentes dans les longs documents tout en réduisant les informations visuelles à traiter à chaque étape, améliorant ainsi l'efficacité de l'analyse des longs documents.
△ Détails du Token Sieve
Les informations visuelles sélectionnées participent également à l'analyse, avec ce que montre le schéma, leLocal Window(fenêtre glissante locale).
Cette fenêtre, de taille fixe, contient le contexte le plus récent et se décale vers l'avant au fil du processus de génération, chargée de permettre au modèle de poursuivre dans la continuité du contenu précédent.
Le nombre de blocs d'informations est fixe, la taille de la fenêtre locale est également fixe, de sorte que la quantité d'informations à consulter à chaque étape est encadrée — si long que soit le document, cette étape représente toujours la même quantité de travail. Il n'y a pas de situation où « plus le livre est épais, plus l'écriture de chaque caractère devient pénible ».
SR-SWA est chargé de réduire les calculs à chaque étape ; quant à la quantité d'informations à conserver en mémoire vidéo, c'est une autre question.
Chaque image de page, après encodage, devient un ensemble de tokens visuels. Le modèle doit s'y référer pour générer le résultat d'analyse, il stocke donc le cache KV correspondant afin de le réutiliser dans les calculs ultérieurs.
Si l'on charge un document entier d'un coup et que l'on conserve en mémoire vidéo les caches visuels de toutes les pages, plus le nombre de pages est élevé, plus l'espace occupé est important.
Plus gênant encore : même si ces pages ne participent pas du tout au calcul en cours, tant que le cache n'est pas libéré, elles occupent la mémoire vidéo sans la rendre. C'est comme copier un livre en étalant chaque brouillon de page sur la table sans en jeter aucune — même une grande table ne suffit plus.
Donc, en calculant un peu moins, il faut aussi stocker un peu moins.
Pour cela, Wenxin Unlimited OCR 2 introduitMécanisme de décodage illimité« Unlimited-Horizon Decoding Paradigm », qui contrôle l'occupation du cache grâce à un traitement par blocs.
△ Schéma de décodage par blocs
Ce mécanisme divise le document en blocs de pages de taille contrôlable, analysés successivement. Deux blocs adjacents se chevauchent d'une page : la dernière page du bloc précédent constitue aussi le point de départ du suivant — un signet tout prêt.
Lors du passage au bloc suivant, le modèle réutilise directement le cache visuel KV de la page de chevauchement, tout en conservant le cache de texte de la fin de la sortie du segment précédent, afin d'assurer la continuité entre les contenus. Les caches visuels des pages déjà inutilisés sont libérés en temps utile, libérant ainsi de la mémoire vidéo.
Ainsi, le cache visuel devant être conservé en mémoire vidéo reste confiné à l'échelle du bloc en cours de traitement. Une fois un bloc traité, on garde les informations nécessaires à la continuité, puis on ouvre le bloc suivant — sans que le cache visuel de tout le document doive occuper de la place du début à la fin.
*SR-SWA est chargé de réduire le calcul à chaque étape, et le mécanisme de décodage illimité de contrôler l'occupation du cache.Grâce à la combinaison des deux, le modèle peut analyser en continu des documents ultra-longs. 884 pages du Seigneur des Anneaux lues en 42 minutes, cache réduit à 1,77 GB Après tant de technique, nous voulions voir le résultat de nos propres yeux : nous lui avons directement soumis un exemplaire duSeigneur des Anneaux en version anglaise de 884 pages。
Environ 42 minutes et 56 secondes plus tard, l'analyse était terminée. 884 pages en entrée, correspondant à 884 pages en sortie, soit environ 2,9 secondes par page en moyenne. À peu près la durée d'un épisode de série télévisée, et la « Terre du Milieu » a été parcourue en entier. Avec un document aussi long, l'effet de reconnaissance tient-il encore jusqu'à la fin ? Nous avons volontairement vérifié les pages 600 et 750 : le texte reconnu correspondait à l'original. À la page 750, pas une seule faute, signe que le modèle ne s'était pas « emballé » au début.
Tout au long de la tâche, le système a également marqué466 fusions entre pagesPar exemple, aux pages 873 à 874, vers la fin du livre, les phrases brutalement coupées par la pagination ont été recollées dans la sortie.
Le test réel a montré le processus d'analyse continue de tout le livre ; le rapport technique répondait pour sa part à trois autres questions : quel cache est nécessaire, quelle vitesse est possible, et quelle est la qualité de reconnaissance. Sur le benchmark MarathonDocBench, à l'échelle de la centaine de pages, l'équipe a comparé le décodage standard au Unlimited-Horizon Decoding. En inférence à séquence unique, après traitement par blocs et réutilisation du cache aux frontières,l'occupation maximale du cache KV est passée de 47 GB à 1,77 GB, soit une réduction d'environ 96 %.*
Les nombreuses pages qui devaient auparavant rester simultanément en mémoire vidéo peuvent désormais être traitées par lots et libérées à temps. Ici, les 1,77 GB ne concernent que le cache KV ; les poids du modèle et autres coûts mémoire sont comptés à part.
Au-delà de l'économie de cache, le rapport a aussi mesuré les performances lors du traitement simultané de plusieurs documents.
Dans un autretest de concurrence à 16 voiesl'utilisation de ce mode de décodage a fait passer le débit de bout en bout de 360 à 1315 Tokens/seconde, soit environ 3,65 fois le décodage standard.
△ Comparaison des modes de décodage : pic de cache KV en séquence unique et débit en concurrence à 16 voies
Pour les services devant traiter en masse rapports annuels et manuels techniques, ces deux changements ont un intérêt pratique : l'occupation mémoire diminue, une même carte peut donc accueillir plus de travail ; et en concurrence, davantage de contenu est produit par unité de temps.
Les utilisateurs n'ont rien à gérer non plus : ils soumettent toujours le document entier, le découpage et la jonction étant effectués en interne par le modèle, ce qui évite de couper manuellement les fichiers, de les soumettre par lots puis de les recoller.
Outre la rapidité et l'économie, la qualité de l'analyse doit aussi se maintenir.
MPDocBench évalue la qualité d'analyse des documents multi-pages : face à des documents de plusieurs dizaines de pages, le modèle doit à la fois reconnaître fidèlement le contenu et restituer la structure du document.
Dans ce test, ERNIE Unlimited OCR 2 a obtenu un score global de84.59。
Pour tester davantage les documents de cent pages, l'équipe a également crééMarathonDocBench。Il contient 100 documents, chacun comportant de 103 à 300 pages. De nombreux paragraphes et tableaux se prolongent à la page suivante, précisément pour tester la capacité du modèle à relier correctement les contenus qui se suivent.
Sur ce benchmark plus long et plus corsé, Wenxin Unlimited OCR 2 a obtenuLe score global de 77.06"。" doit rester la ponctuation ; traduire la phrase. Remplacer «它» ? Il faut traduire : «. Dans les deux évaluations, son score global est le plus élevé parmi tous les modèles évalués répertoriés dans le rapport. »
△ Tiré du rapport technique : résultats de l'évaluation de l'analyse de documents multipages
Les performances de traitement des documents longs ont également connu une évolution remarquable. Dans le test sur des rapports de l'ordre de cent pages mentionné dans le rapport, SR-SWAVitesse de décodage en une seule étapeatteignant respectivement ceux du Full Attention (mécanisme d'attention complète) à hauteur de7,0 fois, du R-SWA utilisé par la génération précédente,5,6 fois。
Il est plus intuitif d'observer les courbes : à mesure que les documents s'allongent, le temps de décodage par étape des deux premières solutions grimpe sans cesse, tandis que celui de SR-SWA reste quasiment une ligne horizontale.
Cela signifie que le temps nécessaire au modèle pour générer chaque Token ne s'allonge pas de manière notable lorsque le nombre de pages en entrée augmente — plus le livre est épais, mais la vitesse d'écriture reste inchangée.
△ Latence de décodage en une seule étape selon les différentes longueurs de document
Par rapport à la génération précédente, le score global par page de Wenxin Unlimited OCR 2 reste essentiellement identique.
L'endroit où l'écart se creuse réellement,Apparu après l'allongement des documents: peut traiter davantage de pages en continu, reconnaître plus précisément le contenu inter-pages, et réduire simultanément les coûts de calcul et de cache de l'analyse de documents longs.
Quant à la façon dont tout le monde va l'utiliser…
Vous pouvez saisir un rapport annuel de plusieurs centaines de pages, ou un épais manuel technique.
Surtout pour les documents numérisés : on peut d'abord les faire analyser en continu par le modèle, les convertir en texte, puis rechercher les informations et vérifier le contenu, ce qui permet aussi d'éviter bien des tâches fastidieuses de découpage de pages et d'assemblage manuel.
Cela dit, une OCR aussi puissante, qui l'utiliserait pour travailler…
Bien sûr, c'est pour lire des romans !
L'ère de l'OCR 3.0 arrive
Bien sûr, en passant de quelques pages de matériel à un livre entier, les problèmes que l'OCR doit résoudre évoluent également.
Dans le rapport technique, l'équipe résume l'évolution de l'analyse de documents comme suit :OCR 1.0, 2.0 et 3.0Trois étapes.
Les premiers OCR ressemblaient davantage à une chaîne de production aux rôles bien définis : on localisait d'abord la position du texte, puis on en reconnaissait le contenu, et enfin on mettait en page et on exportait les résultats. Lorsqu'il s'agissait d'une analyse multi-pages, le traitement se faisait généralement page par page, puis les résultats étaient assemblés,Voici l'OCR 1.0。
Chaque module a son propre rôle, mais une erreur à une étape peut se propager jusqu'au bout du processus — si un maillon éternue, tous les suivants attrapent froid.
AvecOCR 2.0, les modèles de vision-langage commencent à générer directement le résultat d'analyse à partir de l'image de la page, réduisant les transferts entre les multiples modules. La première génération d'Unlimited OCR a étendu cette analyse de bout en bout à des documents de dizaines de pages.
△ Généré par l'IA
Lorsqu'un document passe de quelques dizaines de pages à plusieurs centaines, le parsing continu doit à la fois assurer la cohérence entre le contenu précédent et suivant, et maîtriser les coûts de calcul et de cache.
Grâce au référencement à la demande et au décodage par blocs, l'ERNIE Unlimited OCR 2 permet au modèle de traiter davantage de pages sans que la portée de calcul de chaque étape ne s'accroisse avec le nombre de pages, ni qu'il faille conserver en permanence le cache visuel de toutes les pages.
L'équipe appelle cette étapeOCR 3.0 : faire du traitement continu d'un document entier le nouvel objectif technique — d'un seul souffle, sans découpage en pages, parsing illimité, jamais d'interruption.
Et d'ailleurs, cet objectif existe aussi dans une version « nijigen » (univers de l'animation japonaise).
Le nom Unlimited OCR Works est lui-même un hommage au « Unlimited Blade Works » de Fate/stay night, c'est-à-direUnlimited Blade Works。
△ Page d'accueil du site officiel de l'anime Fate/stay night
Dans l'œuvre originale, il s'agit d'une magie appelée « Reality Marble » (固有结界), qui, une fois invoquée, déploie un espace particulier rempli d'innombrables lames et épées.
Après la sortie de la génération précédente, l'utilisateur Hugging Face Snarcy a repéré cette allusion dans le nom et a ainsi réécrit l'incantation classique en version OCR.
À la deuxième génération, l'équipe a réellement intégré cette réécriture dans l'introduction du rapport technique, en conservant la signature de Snarcy.
Ainsi, en ouvrant ce rapport consacré aux mécanismes d'attention et aux coûts de mémoire vidéo, voici l'incantation qui accueille le lecteur en ouverture :
Les pixels sont mon corps, et les jetons sont mon sang.
Le pixel pour corps, et le Token pour sang.
I have parsed over a thousand pages.
J'ai parcouru plus de mille pages de documents.
Unknown to KV cache.
Insensible au KV Cache,
Nor known to context limits.
Insoumis aux limites du contexte.
So, as I pray: Unlimited OCR Works
C'est pourquoi, je prie ainsi : Unlimited OCR Works.
En passant de 47GB à 1.77GB, la phrase « insensible au KV cache » n'a vraiment pas été chantée en vain.
Très « chuunibyou », on ne peut plus classique.
— Fin —
@QbitAI · Suivre les nouvelles tendances des technologies et produits IA
À tous ceux qui se sentent touchés, n'hésitez pas à liker, suivre et partager վ’ᴗ’ ի ❤