Si introduces un informe jurídico de 300 páginas o un informe anual encuadernado en la mayoría de los flujos de trabajo de OCR, el software lo dividirá silenciosamente en fragmentos. Página uno, procesar, vaciar memoria. Página dos, procesar, vaciar memoria. Para cuando el sistema llega a los anexos al final, cualquier contexto que haya podido extraer de la introducción se ha perdido hace tiempo. Las notas al pie se convierten en huérfanas. Las tablas que se dividen entre páginas pierden su estructura. Los encabezados que continúan a través de las páginas se etiquetan incorrectamente. El resultado es un archivo de texto remendado que un humano tiene que volver a ensamblar.
Baidu piensa que este flujo de trabajo está fundamentalmente roto. Su respuesta es Unlimited OCR, una arquitectura diseñada para ingerir documentos masivos de varias páginas en una sola pasada hacia adelante sin la explosión de memoria de la GPU que suele producirse. El truco es un nuevo mecanismo de atención que trata la memoria menos como un disco duro y más como la memoria de trabajo humana: mantén el material de origen frente a ti, recuerda lo que acabas de escribir y deja que el pasado lejano se desvanezca.
Por qué los documentos largos arruinan el OCR estándar
Para entender la solución, ayuda ver dónde fallan los sistemas de OCR de extremo a extremo convencionales.
La mayoría de los flujos de trabajo de OCR modernos utilizan un modelo de lenguaje extenso como decodificador. A medida que el modelo lee una página y genera texto, almacena representaciones internas llamadas KV cache; esencialmente, un diario continuo de claves y valores que ayudan al modelo a realizar un seguimiento de lo que ya ha dicho. El problema es que este diario crece linealmente con cada nueva línea de salida. Procesa diez páginas y la caché tendrá la profundidad de diez páginas. Procesa cien y se inflará hasta alcanzar cientos de miles de tokens, consumiendo la VRAM y ralentizando la velocidad de generación hasta casi detenerla.
Los ingenieros han lidiado con esto simplemente no lidiando con ello. Dividen los documentos en páginas individuales, pasan cada página por el modelo de forma independiente y reinician la KV cache en cada paso. Esto permite que el sistema siga funcionando, pero también despoja al modelo de cualquier hilo conductor continuo. Un párrafo que comienza en la página tres y termina en la página cuatro se divide por la mitad. El formato de las tablas que abarcan varias páginas se desintegra. Las referencias a secciones anteriores se convierten en enlaces rotos porque el decodificador no tiene memoria persistente de lo que vino antes. El modelo no está leyendo realmente el documento; está realizando una serie de fichas de estudio aisladas.
El truco humano: Reference Sliding Window Attention
Los investigadores de Baidu abordaron esto tomando prestado un concepto de la cognición humana. Piensa en copiar manualmente un pasaje de un libro. No mantienes cada frase copiada anteriormente cargada en tu mente. Echas un vistazo a la fuente, miras las últimas palabras que escribiste y continúas. Tu memoria de trabajo es diminuta, pero como el texto de origen permanece abierto frente a ti, la tarea resulta sin esfuerzo.
Reference Sliding Window Attention, o R-SWA, formaliza exactamente esta intuición.
Bajo el capó, la KV cache se convierte en una cola de longitud fija. Cuando el modelo genera un nuevo token, mantiene la visibilidad completa de los "reference tokens" —los embeddings de la imagen visual original y el prompt inicial— pero solo mira hacia atrás a los últimos 128 tokens que ha generado personalmente. Eso es todo. Ya sea que el modelo esté en la página uno o en la página cincuenta, la huella de memoria de su propio historial de salida permanece fija. La caché no crece. Se recicla.
Esto es un
