Artigos · arXiv 2606.23050
Unlimited OCR Works
Publicado em cs.CVcs.CL arXivPDF
Resumo em três linhas
- 🎯 Decodificadores de OCR padrão baseados em LLMs sofrem com o crescimento linear do KV cache e a queda de velocidade durante a transcrição de documentos longos e multipáginas.
- 🔧 Emprega a Reference Sliding Window Attention (R-SWA), na qual os tokens de decodificação atendem globalmente a todos os tokens visuais/de prefixo, enquanto retêm apenas uma janela causal constante de saídas recentes ().
- 📈 Atinge 93,23% no geral no OmniDocBench v1.5 (+6,22% sobre o DeepSeek OCR) e mantém latência de geração constante ao longo de saídas longas.
Resumo
Recentemente, modelos de OCR de ponta a ponta, exemplificados pelo DeepSeek OCR, colocaram o OCR novamente sob os holofotes. Uma visão amplamente difundida é que o emprego de um grande modelo de linguagem (LLM) como decodificador permite que o modelo aproveite a distribuição a priori da linguagem, levando a um melhor desempenho de OCR. No entanto, a desvantagem é igualmente evidente: à medida que a sequência de saída se alonga, o KV cache acumulado aumenta o consumo de memória e desacelera progressivamente a geração. Isso contrasta fortemente com os humanos, que não exibem esse declínio de eficiência durante tarefas de cópia de longo horizonte. Neste relatório técnico, propomos o Unlimited OCR, um modelo projetado para emular a memória de trabalho de parsing dos humanos. Tomando o DeepSeek OCR como linha de base, substituímos todas as camadas de atenção no decodificador pela nossa proposta Reference Sliding Window Attention (R-SWA), que reduz os custos computacionais de atenção mantendo um KV cache constante ao longo de todo o processo de decodificação. Ao combinar a alta taxa de compressão do codificador do DeepSeek OCR com o nosso design de KV cache constante, o Unlimited OCR consegue transcrever dezenas de páginas de documentos em uma única passagem direta sob um comprimento máximo padrão de 32K. Mais importante ainda, a R-SWA é um mecanismo de atenção de parsing de uso geral — além do OCR, ela é igualmente aplicável a tarefas como ASR, tradução, etc. Os códigos e pesos do modelo estão disponíveis publicamente em http://github.com/baidu/Unlimited-OCR.
Resumo original (inglês)
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.
Guia de leitura
Problema e motivação
Humanos conseguem transcrever centenas de páginas ou traduzir horas de áudio continuamente sem perder velocidade, utilizando a memória de trabalho para rastrear o contexto local enquanto o material original de origem permanece acessível. Em contraste, os atuais modelos de linguagem visual multimodais (MLLMs) e sistemas densos de OCR enfrentam dificuldades com o parsing de longo horizonte. Os sistemas existentes costumam processar documentos de várias páginas em um esquema de repetição for-loop página por página que redefine a memória a cada passo, criando uma solução de contorno de engenharia em vez de um processamento contínuo genuíno.
Quando modelos ponta a ponta tentam decodificar sequências longas, a atenção multi-cabeça padrão (MHA) acumula o cache de chave-valor (KV) linearmente com o comprimento da saída . Isso causa um aumento progressivo no consumo de memória da GPU e a degradação da latência. Modelos de atenção linear com atualizações recorrentes também falham porque as atualizações recorrentes de estado degradam e borram progressivamente as características das referências visuais.
Ideias principais
- Reference Sliding Window Attention (R-SWA): Os tokens gerados atendem globalmente a todos os tokens estáticos de referência de prefixo (representações visuais e instruções), enquanto atendem localmente apenas aos tokens de saída precedentes ( por padrão).
- KV Cache de decodificação constante: Ao descartar tokens mais antigos que no buffer de geração por meio de uma fila FIFO, o espaço ocupado pelo cache de decodificação é estritamente limitado superiormente por , garantindo latência por passo e uso de memória de GPU constantes.
- Prefixo visual de alta compressão: Combinado com o DeepEncoder do DeepSeek OCR (que comprime uma imagem de em , reduzindo-a para 256 tokens), dezenas de páginas podem ser processadas em prefill em uma única passagem sem ultrapassar os limites de contexto padrão.
Método
O Unlimited OCR é construído sobre a linha de base do DeepSeek OCR, mantendo seu DeepEncoder congelado (em cascata com SAM-ViT e CLIP-ViT) emparelhado com um decodificador LLM Mixture-of-Experts (MoE) de 3B parâmetros (ativando 500M parâmetros). Todas as camadas padrão de MHA no decodificador são substituídas por R-SWA.
Formulação matemática
Para um token gerado no passo de decodificação , o conjunto de atenção acessível compreende dois segmentos:
onde é o segmento de prefixo estático de comprimento , e é a janela deslizante causal sobre os tokens gerados:
O peso de atenção do token para a posição é:
A representação de saída é agregada sobre o conjunto acessível:
Escalonamento do KV Cache
Enquanto a MHA padrão escala linearmente com o comprimento de decodificação (), a R-SWA delimita a capacidade do cache:
Quando a decodificação domina ( e ), a razão de cache relativa aproxima-se de zero:
Resultados
- OmniDocBench v1.5: O Unlimited OCR alcança uma pontuação geral de 93,23% (um ganho absoluto de 6,22% sobre o DeepSeek OCR, que obteve 87,01%), reduzindo a Distância de Edição de Texto de 0,073 para 0,038 e aumentando o TEDS de tabelas de 84,97% para 90,93%.
- OmniDocBench v1.6: Atinge 93,92% no geral, igualando ou superando modelos contemporâneos de ponta a ponta como Qianfan-OCR (93,90%) e FireRed-OCR (93,26%).
- Velocidade de inferência: Em testes com o OmniDocBench, o Unlimited OCR alcança 5.580 TPS em comparação com os 4.951 TPS do DeepSeek OCR (uma aceleração de 12,7%). Sob a concorrência teórica máxima a 6.144 tokens gerados, o Unlimited OCR atinge 7.847,71 TPS, enquanto o DeepSeek OCR cai para 5.822,87 TPS (uma diferença de desempenho de 35%).
- OCR de longo horizonte multipáginas: Avaliado em livros com várias páginas, o Unlimited OCR alcança uma Distância de Edição de 0,0362 em 2 páginas, 0,0572 em 20 páginas e 0,1069 em mais de 40 páginas (retendo 96,90% de Distinct-35).
Limitações e questões em aberto
- Gargalo de prefill: O modelo atual ainda é limitado pelo comprimento máximo do contexto de entrada (32K tokens). Embora o DeepEncoder comprima uma única página para 256 tokens, centenas de páginas ainda ocupam uma memória de prefill significativa.
- Degradação de texto pequeno: Em cenários multipáginas, usar o modo Base de 1024×1024 do DeepEncoder causa erros de reconhecimento em fontes muito pequenas devido a limites de resolução, e não pela perda da janela de atenção.
- Pool externo de prefill: Trabalhos futuros exploram o treinamento em contextos de 128K e a criação de um mecanismo dinâmico e autônomo de busca de KV no prefill que imite o ato de virar as páginas.
Termos-chave
- Reference Sliding Window Attention (R-SWA)
- Um mecanismo de atenção no qual cada token de decodificação atende globalmente a todos os tokens visuais/de prefixo estáticos e localmente aos tokens gerados precedentes.
- DeepEncoder
- Um codificador visual em cascata com SAM-ViT e CLIP-ViT que alcança uma taxa de compressão de tokens de 16x, comprimindo uma imagem de 1024x1024 em 256 tokens visuais.
- Constant KV Cache
- Uma estrutura de cache de decodificação limitada a tokens utilizando uma fila de descarte FIFO, mantendo constantes a memória da GPU e a latência por passo.
- Long-horizon Parsing
- Transcrever ou analisar continuamente documentos multipáginas (por exemplo, de 20 a mais de 40 páginas) em uma única passagem direta ininterrupta.
- OmniDocBench
- Um benchmark multifacetado de análise de documentos que avalia a distância de edição de texto, CDM de fórmulas, estrutura de tabelas (TEDS) e ordem de leitura.
- Flash Attention v3 Kernel Latency
- A duração do kernel por passo durante a decodificação, que aumenta linearmente na MHA padrão, mas permanece constante sob a R-SWA.
- Distinct-n
- Uma métrica de diversidade definida como a razão de n-gramas únicos em relação ao total de n-gramas, usada para medir alucinações ou repetições em loop durante a geração.
Perguntas
Qual é a largura padrão da janela deslizante $n$ no Unlimited OCR?
A janela causal de decodificação tem por padrão 128 tokens, o que é suficiente para rastrear o progresso e a continuidade intrapágina.
Como a R-SWA se diferencia da Sliding Window Attention (SWA) convencional?
A SWA convencional aplica uma janela local sobre todos os tokens, o que descartaria ou degradaria progressivamente os tokens de referência visual. A R-SWA mantém todos os tokens visuais/de prefixo globalmente acessíveis sem transições de estado, enquanto desliza apenas sobre o texto gerado.
Quantos parâmetros são ativados durante a inferência?
O Unlimited OCR usa uma arquitetura MoE com 3B de parâmetros totais, ativando apenas 500M de parâmetros durante a inferência.
Por que o DeepSeek OCR desacelera à medida que o comprimento de saída cresce, enquanto o Unlimited OCR não?
O DeepSeek OCR depende da MHA padrão, na qual o tamanho do KV cache cresce linearmente com o comprimento da sequência, aumentando a sobrecarga computacional de atenção e de memória. O Unlimited OCR mantém um KV cache constante de , preservando uma latência uniforme por passo.
A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.