Articles · arXiv 2606.23050
Unlimited OCR Works
Résumé en trois lignes
- 🎯 Les décodeurs OCR standards basés sur des LLM souffrent d'une croissance linéaire du cache KV et d'un ralentissement lors de la transcription de documents multi-pages longs.
- 🔧 Emploie la Reference Sliding Window Attention (R-SWA), où les jetons de décodage portent une attention globale à tous les jetons de préfixe/visuels tout en ne conservant qu'une fenêtre causale constante des sorties récentes ().
- 📈 Obtient 93,23 % au global sur OmniDocBench v1.5 (+6,22 % par rapport à DeepSeek OCR) et maintient une latence de génération constante sur les sorties de grande longueur.
Résumé
Récemment, les modèles d'OCR de bout en bout, illustrés par DeepSeek OCR, ont de nouveau propulsé l'OCR sur le devant de la scène. Une idée largement répandue est que l'utilisation d'un grand modèle de langage (LLM) comme décodeur permet au modèle d'exploiter la distribution a priori de la langue, améliorant ainsi les performances d'OCR. Cependant, l'inconvénient est tout aussi évident : à mesure que la séquence de sortie s'allonge, le cache KV accumulé augmente la consommation de mémoire et ralentit progressivement la génération. Cela contraste fortement avec les humains, qui ne montrent aucune baisse d'efficacité lors de tâches de copie sur de longs horizons. Dans ce rapport technique, nous proposons Unlimited OCR, un modèle conçu pour émuler la mémoire de travail d'analyse syntaxique humaine. En prenant DeepSeek OCR comme référence de départ, nous remplaçons toutes les couches d'attention du décodeur par notre mécanisme proposé, la Reference Sliding Window Attention (R-SWA), qui réduit les coûts de calcul d'attention tout en maintenant un cache KV constant pendant tout le processus de décodage. En combinant le taux de compression élevé de l'encodeur de DeepSeek OCR avec notre conception à cache KV constant, Unlimited OCR peut transcrire des dizaines de pages de documents en une seule passe avant sous une longueur maximale standard de 32K. Plus important encore, la R-SWA est un mécanisme d'attention d'analyse polyvalent — au-delà de l'OCR, elle s'applique tout aussi bien à des tâches telles que l'ASR, la traduction, etc. Le code et les poids du modèle sont disponibles publiquement à l'adresse http://github.com/baidu/Unlimited-OCR.
Résumé original (anglais)
Recently, end-to-end OCR models, exemplified by DeepSeek OCR, have once again thrust OCR into the spotlight. A widely held view is that employing a large language model (LLM) as the decoder allows the model to leverage the prior distribution of language, leading to improved OCR performance. However, the downside is equally evident: as the output sequence lengthens, the accumulated KV cache drives up memory consumption and progressively slows down generation. This stands in stark contrast to humans, who exhibit no such decline in efficiency during long-horizon copying tasks. In this technical report, we propose Unlimited OCR, a model designed to emulate human parsing working memory. Taking DeepSeek OCR as the baseline, we replace all attention layers in the decoder with our proposed Reference Sliding Window Attention (R-SWA), which reduces attention computation costs while maintaining a constant KV cache throughout the entire decoding process. By combining the high compression rate of DeepSeek OCR's encoder with our constant KV cache design, Unlimited OCR can transcribe dozens of pages of documents in a single forward pass under a standard maximum length of 32K. More importantly, R-SWA is a general-purpose parsing attention mechanism - beyond OCR, it is equally applicable to tasks such as ASR, translation, etc. Codes and model weights are publicly available at http://github.com/baidu/Unlimited-OCR.
Guide de lecture
Problème et motivation
Les humains peuvent transcrire des centaines de pages ou traduire des heures d'enregistrement audio en continu sans perdre de vitesse, en utilisant leur mémoire de travail pour suivre le contexte local pendant que le document source original reste accessible. En revanche, les modèles de langage multimodaux (MLLM) actuels et les systèmes d'OCR denses peinent sur les tâches d'analyse à long horizon. Les systèmes existants traitent généralement les documents multi-pages via une boucle for page par page qui réinitialise la mémoire à chaque étape, créant ainsi une solution de contournement technique plutôt qu'un véritable traitement continu.
Lorsque les modèles de bout en bout tentent de décoder de longues séquences, l'attention multi-têtes standard (MHA) accumule le cache clé-valeur (KV) de manière linéaire avec la longueur de sortie . Cela entraîne une augmentation progressive de la consommation de mémoire GPU et une dégradation de la latence. Les modèles d'attention linéaire avec mises à jour récurrentes échouent également car les mises à jour récurrentes de l'état estompent progressivement les caractéristiques de référence visuelles.
Idées clés
- Reference Sliding Window Attention (R-SWA) : Les jetons générés portent une attention globale à tous les jetons statiques de référence du préfixe (représentations visuelles et instructions), tout en n'accordant une attention locale qu'aux jetons de sortie précédents ( par défaut).
- Cache KV de décodage constant : En évacuant les jetons plus anciens que dans le tampon de génération via une file FIFO, l'empreinte mémoire du cache de décodage est strictement bornée supérieurement par , garantissant une latence par étape constante et une utilisation constante de la mémoire GPU.
- Préfixe visuel à forte compression : Associé au DeepEncoder de DeepSeek OCR (qui compresse une image de par un facteur de pour n'obtenir que 256 jetons), des dizaines de pages peuvent être pré-remplies en une seule passe sans dépasser les limites de contexte standard.
Méthode
Unlimited OCR s'appuie sur la base de référence DeepSeek OCR, en conservant son DeepEncoder gelé (associant en cascade SAM-ViT et CLIP-ViT) combiné à un décodeur LLM Mixture-of-Experts (MoE) de 3B de paramètres (activant 500M de paramètres). Toutes les couches standard de MHA dans le décodeur sont remplacées par la R-SWA.
Formulation mathématique
Pour un jeton généré à l'étape de décodage , l'ensemble d'attention accessible comprend deux segments :
où est le segment de préfixe statique de longueur , et est la fenêtre glissante causale sur les jetons générés :
Le poids d'attention du jeton vers la position est :
La représentation de sortie est agrégée sur l'ensemble accessible :
Mise à l'échelle du cache KV
Alors que la MHA standard croît linéairement avec la longueur de décodage (), la R-SWA borne la capacité du cache :
Lorsque le décodage domine ( et ), le ratio relatif de cache tend vers zéro :
Résultats
- OmniDocBench v1.5 : Unlimited OCR atteint un score global de 93,23 % (un gain absolu de 6,22 % par rapport à DeepSeek OCR à 87,01 %), réduisant la Text Edit Distance de 0,073 à 0,038 et augmentant le score TEDS pour les tableaux de 84,97 % à 90,93 %.
- OmniDocBench v1.6 : Atteint 93,92 % au global, égalant ou surpassant les modèles de bout en bout contemporains tels que Qianfan-OCR (93,90 %) et FireRed-OCR (93,26 %).
- Vitesse d'inférence : Lors des tests sur OmniDocBench, Unlimited OCR fournit 5 580 TPS contre 4 951 TPS pour DeepSeek OCR (une accélération de 12,7 %). Sous une concurrence théorique maximale avec 6 144 jetons générés, Unlimited OCR atteint 7 847,71 TPS tandis que DeepSeek OCR chute à 5 822,87 TPS (un écart de performance de 35 %).
- OCR multi-pages à long horizon : Évalué sur des livres de plusieurs pages, Unlimited OCR atteint une distance d'édition de 0,0362 sur 2 pages, 0,0572 sur 20 pages et 0,1069 sur plus de 40 pages (conservant 96,90 % de Distinct-35).
Limites et questions ouvertes
- Goulot d'étranglement du prefill : Le modèle actuel reste limité par la longueur maximale de contexte en entrée (32K jetons). Bien que le DeepEncoder compresse une page unique à 256 jetons, des centaines de pages occupent toujours une mémoire de prefill importante.
- Dégradation sur les petits textes : Dans les contextes multi-pages, l'utilisation du mode Base 1024×1024 de DeepEncoder provoque des erreurs de reconnaissance sur les polices de très petite taille en raison des limites de résolution plutôt que d'une perte liée à la fenêtre d'attention.
- Pool de prefill externe : Les travaux futurs prévoient l'entraînement sur un contexte de 128K et la création d'un mécanisme autonome de récupération dynamique des KV de prefill qui imiterait l'action de tourner les pages.
Termes clés
- Reference Sliding Window Attention (R-SWA)
- Un mécanisme d'attention où chaque jeton de décodage porte une attention globale à tous les jetons statiques de préfixe/visuels et une attention locale aux jetons générés précédents.
- DeepEncoder
- Un encodeur visuel associant SAM-ViT et CLIP-ViT en cascade qui atteint un taux de compression de jetons de 16x, comprimant une image de 1024x1024 en 256 jetons visuels.
- Constant KV Cache
- Une structure de cache de décodage plafonnée à jetons à l'aide d'une file d'éviction FIFO, maintenant stables la mémoire GPU et la latence par étape.
- Long-horizon Parsing
- La transcription continue ou l'analyse syntaxique de documents multi-pages (par exemple, de 20 à plus de 40 pages) en une seule passe avant ininterrompue.
- OmniDocBench
- Un benchmark d'analyse documentaire polyvalent évaluant la distance d'édition du texte, le CDM des formules, la structure des tableaux (TEDS) et l'ordre de lecture.
- Flash Attention v3 Kernel Latency
- La durée d'exécution du kernel par étape pendant le décodage, qui augmente linéairement dans une MHA standard mais reste constante sous R-SWA.
- Distinct-n
- Une métrique de diversité définie comme le ratio des n-grammes uniques sur le total des n-grammes, utilisée pour mesurer les hallucinations ou les boucles répétitives lors de la génération.
Questions
Quelle est la largeur de fenêtre glissante $n$ par défaut dans Unlimited OCR ?
La fenêtre causale de décodage est fixée par défaut à 128 jetons, ce qui est suffisant pour suivre la progression et la continuité au sein d'une page.
En quoi la R-SWA diffère-t-elle de la Sliding Window Attention (SWA) classique ?
La SWA classique applique une fenêtre locale sur tous les jetons, ce qui supprimerait ou estomperait progressivement les jetons de référence visuelle. La R-SWA maintient tous les jetons visuels/de préfixe accessibles globalement sans transition d'état, tout en faisant glisser la fenêtre uniquement sur le texte généré.
Combien de paramètres sont activés pendant l'inférence ?
Unlimited OCR utilise une architecture MoE de 3B paramètres au total, avec seulement 500M paramètres activés lors de l'inférence.
Pourquoi DeepSeek OCR ralentit-il à mesure que la sortie s'allonge alors qu'Unlimited OCR maintient sa vitesse ?
DeepSeek OCR repose sur une MHA standard où la taille du cache KV croît avec la longueur de la séquence, augmentant le coût de calcul d'attention et la surcharge mémoire. Unlimited OCR conserve un cache KV constant de , préservant une latence par étape stable.
La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.