量子位Publicación de la fuente

¡La KV Cache se comprime a una constante! El nuevo rey del OCR de código abierto: páginas sin límite y caché reducida un 96%

Tingyu, enviado desde Aofeisi QbitAI | Cuenta oficial de WeChat: QbitAI

Tingyu, enviado desde Aofeisi
QbitAI | Cuenta oficial de WeChat: QbitAI

El OCR de Baidu se ha actualizado de nuevo,¡Wenxin Unlimited OCR 2 se lanza oficialmente y se convierte en código abierto!

Esta vez, se propuso directamente el desafío de leer toda la serie de novelas de un tirón.

Los 7 libros de Harry Potter, desde La piedra filosofal hasta Las reliquias de la Muerte, con reconocimiento y transcripción continuos, leyendo sin parar hasta el final más de 3600 páginas.

Si se cambia por la colección completa de "El problema de los tres cuerpos", también puede leerse de un tirón: tres libros con más de 1200 páginas y cientos de miles de palabras, sin pausa en medio.

Sin embargo, para leer tantas páginas seguidas, el modelo primero debe superar una prueba:Memoria de video。

Cuanto más largo es el documento, más información intermedia (la caché KV) hay que conservar durante la inferencia; puede entenderse como los apuntes que el modelo toma mientras lee: cuantas más páginas, más gruesos son los apuntes. Unos apuntes gruesos no solo ocupan espacio, sino que también resultan lentos de consultar.

En las pruebas de secuencia única de cientos de páginas del informe técnico, Wenxin Unlimited OCR 2 presentó un conjunto de comparaciones:

El pico de uso de la caché KV pasa, respecto a la decodificación estándar (que retiene simultáneamente en la memoria de vídeo la caché visual de todas las páginas), deDe 47GB a 1.77GB, una reducción de aproximadamente el 96% de una sola vez.

¿Qué significa 47GB? Es más que la memoria de muchos ordenadores portátiles completos. Y esto es solo la caché KV; los pesos del modelo y otros costes se calculan aparte.

Su generación anterior, Unlimited OCR, ya había ganado considerable popularidad en la comunidad de código abierto gracias a su capacidad de análisis continuo de documentos de varias páginas: acumula más de 1000万 descargas y ha recibido alrededor de 2.86万 Star en GitHub.

Desde un Demo en línea creado por la comunidad hasta el soporte de inferencia con SGlang, la adaptación en torno a él sigue avanzando constantemente.

Con la segunda generación, el foco de la actualización está en procesar de forma continua documentos más largos mientras se reduce la carga de cómputo y de caché.

Para ello, 文心Unlimited OCR 2 proponeel mecanismo de atención de ventana deslizante con referencia dispersa SR-SWA, que permite al modelo seleccionar bajo demanda las páginas y la información visual relevantes, reduciendo los cálculos repetitivos.

Junto con el mecanismo de decodificación continua, el modelo puede procesar de manera continua documentos ultralargos, y el costo de decodificación por paso no aumenta a medida que el documento se alarga.

Actualmente, 文心Unlimited OCR 2 ya está oficialmente disponible como código abierto en Hugging Face y GitHub.

Direcciones de código abierto:
*GitHub:https://github.com/baidu/Unlimited-OCR*
*HuggingFace:https://huggingface.co/baidu/Unlimited-OCR-2*
Desglose de la tecnología central: cómo SR-SWA calcula menos y cómo la decodificación por bloques almacena menos
¿Cómo logra 文心Unlimited OCR 2 leer de un tirón la colección completa de Harry Potter, con millones de caracteres y más de 3600 páginas?
Lo que toma prestado, en realidad, es el enfoque humano de copiar libros.
¿Cuál es el proceso cuando una persona copia un libro a mano? Mira un pasaje, lo copia, con los ojos fijos principalmente en la página que está copiando; solo cuando necesita contrastar información anterior o posterior vuelve a hojear las páginas relevantes.
En cuanto a copiar libros, los humanos lo resolvieron mucho antes que los modelos: nadie, mientras copia las Analectas, despliega simultáneamente en su mente todas las páginas de las Analectas para verlas juntas.
Pero la generación anterior de Unlimited OCR no lo hacía así: aunque R-SWA ya había reducido considerablemente la caché KV en la fase de inferencia, al volver a mirar hacia atrás, la información visual de todas las páginas de entrada seguía participando en el cálculo de atención.
Cuanto más largo es el documento, más información se calcula, y una parte considerable de ella no tiene absolutamente nada que ver con las pocas líneas que se están reconociendo en ese momento: el típico «acompañante que nunca gana».

△SR-SWA adopta el enfoque de enfoque local que usan los humanos al copiar libros
Siguiendo el enfoque humano de copiar libros, Wenxin Unlimited OCR 2 introduceel mecanismo de atención con ventana deslizante de referencia dispersa (SR-SWA)。
Su filtrado tiene dos capas: primero selecciona las páginas que necesitan ser consultadas, y luego, de esas páginas filtradas, elige la información local realmente relevante, manteniendo fuera los cálculos innecesarios.
Desde la perspectiva de la arquitectura general, Wenxin Unlimited OCR 2 continúa con el diseño básico de la generación anterior.

△Arquitectura general de Wenxin Unlimited OCR 2
Las imágenes de las páginas del libro entran primero en el DeepEncoder, donde se convierten en tokens visuales que el modelo puede procesar; pueden entenderse como un conjunto de tarjetas de datos que registran el contenido de la página y sus características de maquetación.
Luego, el modelo de lenguaje, basándose en estas tarjetas, genera el resultado del reconocimiento paso a paso.
El cambio clave ocurre dentro del modelo de lenguaje: elmecanismo de atención con ventana deslizante de referencia (R-SWA)de la generación anterior se actualiza en esta generación a SR-SWA.
Lo que se muestra en la parte inferior izquierda del diagrama de arquitectura es el proceso de filtrado en dos capas del SR-SWA.
La primera capa es el Page Gate, que se encarga de «qué páginas hay que mirar».
Según la posición que el modelo está analizando en ese momento, concentra la información visual candidata en el rango de las páginas relevantes, sin dejar que las páginas irrelevantes se entrometan.
Trasladado al escenario de copiar un libro, es como cuando se lee una página: primero se localizan las pocas páginas relacionadas con ella, en lugar de hojear todo el libro desde el principio.
La segunda capa es el Token Sieve, que se encarga de «qué líneas mirar dentro de esa página».
Elegir las páginas correctas es solo el primer paso: incluso dentro de esas páginas, no es necesario que todos los tokens visuales participen en el cálculo. El Token Sieve realiza un filtrado adicional, seleccionando de la página los bloques de información visual más relacionados con el contenido actual, para capturar las dependencias visuales de larga distancia.
La parte derecha del diagrama de arquitectura despliega este proceso: primero se calcula la relevancia usando representaciones breves de cada bloque de información, y luego, mediante TopK, se seleccionan los bloques con las puntuaciones más altas, en una cantidad fija.
Tras la selección, el modelo todavía mira la información visual concreta de esos bloques, y no solo un resumen.
La combinación de los dos mecanismos permite que el modelo encuentre las páginas relevantes en documentos largos y, al mismo tiempo, reduzca la información visual que debe procesar en cada paso, mejorando así la eficiencia del análisis de documentos largos.

△Detalles del Token Sieve
La información visual seleccionada participa además en el análisis junto con elLocal Window(ventana deslizante local) del diagrama.
Esta ventana tiene un tamaño fijo, contiene el contexto más reciente y se desplaza hacia adelante a lo largo del proceso de generación, encargándose de que el modelo continúe escribiendo a partir del contenido anterior.
La cantidad de bloques de información es fija y el tamaño de la ventana local también, de modo que la cantidad de información a consultar en cada paso queda acotada: por más largo que sea el documento, el trabajo de este paso sigue siendo el mismo. No ocurre que «cuanto más grueso es el libro, más cuesta escribir cada carácter».
El SR-SWA se encarga de calcular menos en cada paso; cuánta información hay que mantener en la memoria de vídeo es, en cambio, otra cuestión.
Cada imagen de página, al codificarse, se convierte en un conjunto de tokens visuales. El modelo necesita consultarlos para generar el resultado del análisis, por lo que guarda el KV cache correspondiente para reutilizarlo en cálculos posteriores.
Si se lee un documento completo de una sola vez y se mantienen en la memoria de vídeo todos los cachés visuales de todas las páginas, cuantas más páginas haya, más espacio se ocupa.
El problema es aún mayor: aunque esas páginas no participen en absoluto en el cálculo actual, mientras el caché no se libere, siguen ocupando memoria de vídeo sin irse. Es como si, al copiar un libro, se extendieran sobre la mesa los borradores de cada página sin tirar ninguno: por grande que sea la mesa, nunca será suficiente.
Por eso, además de calcular menos, hay que almacenar menos.
Para ello, Wenxin Unlimited OCR 2 introduceel mecanismo de decodificación ilimitada(Unlimited-Horizon Decoding Paradigm), que controla el consumo del caché mediante el procesamiento por bloques.

△Diagrama de la decodificación por bloques
Este mecanismo divide el documento en bloques de páginas de tamaño controlable que se analizan uno tras otro. Dos bloques adyacentes se solapan en una página: la última página del bloque anterior es también el punto de partida del siguiente, como una marca de libros ya hecha.
Al pasar al bloque siguiente, el modelo reutiliza directamente el KV cache visual de esa página de solapamiento, y conserva al mismo tiempo el caché de texto del final de la salida anterior, de modo que el contenido anterior y el posterior queden conectados. Los cachés visuales de las demás páginas que ya no se necesitan se liberan a tiempo, liberando memoria de vídeo.
De este modo, el caché visual que hay que conservar en la memoria de vídeo queda limitado al tamaño del bloque que se está procesando. Al terminar un bloque, se deja la información necesaria para la conexión y se empieza el siguiente, sin que el caché visual de todo el documento tenga que ocupar sitio de principio a fin.
*SR-SWA se encarga de reducir el cálculo en cada paso, y el mecanismo de decodificación ilimitada se encarga de controlar el consumo del caché.Con ambos mecanismos combinados, el modelo puede analizar de forma continua documentos ultralargos. 884 páginas de El Señor de los Anillos leídas en 42 minutos, con el caché reducido a 1.77 GB. Después de tanta explicación técnica, también queríamos comprobar el resultado con nuestros propios ojos: entregarle directamentela versión en inglés de El Señor de los Anillos, de 884 páginas,。

Al cabo de unos 42 minutos y 56 segundos, el análisis se completó. 884 páginas de entrada correspondieron a 884 páginas de salida, con un tiempo medio de unos 2.9 segundos por página. En el tiempo aproximado de un episodio de una serie de televisión, «la Tierra Media» recorrió el camino completo. Con un documento tan largo, ¿se mantiene la calidad de reconocimiento hacia el final? Revisamos expresamente el texto de las páginas 600 y 750: el texto reconocido coincidía con el original. Que en la página 750 no haya ni una letra fuera de lugar indica que el modelo no se «emocionó demasiado» al principio.

Durante toda la tarea, el sistema también marcó466 fusiones entre páginas. Por ejemplo, las páginas 873 y 874, cerca del final del libro, donde una frase quedaba cortada abruptamente por la división en páginas, volvieron a unirse en la salida.

La prueba práctica mostró el proceso de análisis continuo del libro completo, y el informe técnico responde a otras tres preguntas: cuánto caché se necesita, cuán rápido puede ser y cómo es la calidad del reconocimiento. En el benchmark de nivel de cientos de páginas MarathonDocBench, el equipo comparó la decodificación estándar con la Unlimited-Horizon Decoding. En la inferencia de una sola secuencia, con el procesamiento por bloques y la reutilización del caché en los límites,el consumo pico del KV cache bajó de 47 GB a 1.77 GB, una reducción de aproximadamente el 96%.*
La gran cantidad de información de páginas que antes debía permanecer simultáneamente en la memoria de vídeo puede ahora procesarse por lotes y liberarse a tiempo. Aquí, los 1.77 GB se refieren únicamente al KV cache; otros consumos de memoria de vídeo, como los pesos del modelo, se cuentan aparte.
Además de ahorrar caché, el informe también midió el rendimiento al procesar varios documentos a la vez.
En otraprueba de concurrencia de 16 vías,con este método de decodificación, el rendimiento extremo a extremo pasó de 360 a 1315 tokens/segundo, unas 3.65 veces el de la decodificación estándar.

△Comparación de métodos de decodificación: KV cache pico de una sola secuencia y rendimiento con concurrencia de 16 vías
Para servicios que necesitan procesar por lotes informes anuales y manuales técnicos, ambos cambios tienen significado práctico: al bajar el consumo de memoria de vídeo, una misma tarjeta puede acomodar más trabajo; y al ejecutarse en concurrencia, se produce más contenido por unidad de tiempo.
Los usuarios tampoco necesitan preocuparse: se entrega el documento completo como siempre, y el fragmentado y la conexión los realiza el modelo internamente, eliminando la molestia de dividir archivos manualmente, enviarlos por lotes y volver a unirlos.
Además de más rápido y más económico, la calidad del análisis también debe mantenerse.
MPDocBench evalúa la calidad del análisis de documentos multipágina: ante documentos de decenas de páginas, el modelo debe tanto identificar el contenido con precisión como reconstruir la estructura del documento.
En esta prueba, Wenxin Unlimited OCR 2 obtuvouna puntuación global de 84.59。
Para probar aún más documentos de cientos de páginas, el equipo también creóMarathonDocBench. Contiene 100 documentos, cada uno de entre 103 y 300 páginas. Numerosos párrafos y tablas se extienden hasta la página siguiente, poniendo a prueba específicamente la capacidad del modelo para conectar correctamente el contenido previo y posterior.
En este conjunto de pruebas más largo y más exigente, Wenxin Unlimited OCR 2 obtuvouna puntuación global de 77.06. En ambas evaluaciones, su puntuación global fue la más alta entre todos los modelos evaluados enumerados en el informe.

△ Tomado del informe técnico: resultados de evaluación del análisis de documentos de varias páginas
El cambio en la velocidad de procesamiento de documentos largos es igualmente notable. En la prueba de nivel de cien páginas mencionada en el informe, el SR-SWAVelocidad de decodificación de un solo pasoalcanzando respectivamente los del mecanismo Full Attention (atención completa)7.0 veces, del R-SWA utilizado por la generación anterior,5.6 veces。
Es más intuitivo mirar la curva: a medida que los documentos se alargan, el tiempo de decodificación por paso de los dos primeros esquemas sube sin parar, mientras que el tiempo por paso de SR-SWA es casi una línea horizontal.
Esto significa que el tiempo necesario para generar cada Token por parte del modelo no se alarga de forma notable a medida que aumenta el número de páginas de entrada: cuanto más grueso es el libro, la velocidad de escritura se mantiene igual.

△ Latencia de decodificación de un solo paso con diferentes longitudes de documento
En comparación con la generación anterior, la puntuación integral por página de Wenxin Unlimited OCR 2 se mantiene prácticamente igual.
Lo que realmente marca la diferencia,Aparece después de que el documento se alarga: Puede procesar más páginas de forma continua, reconoce con mayor precisión el contenido que cruza páginas, y los costos de cálculo y caché para analizar documentos largos disminuyen al mismo tiempo.
En cuanto a cómo lo usará cada uno...
Puedes introducir informes anuales de cientos de páginas, o un denso manual técnico.
Especially en el caso de los documentos escaneados: primero se entregan al modelo para analizarlos de forma continua y convertirlos en texto, y luego se busca la información y se verifica el contenido, lo que también reduce bastante el trabajo de separar páginas y unirlas manualmente.
Sin embargo, con un OCR tan potente, ¿quién lo usaría para trabajar...?

¡Por supuesto que es para leer novelas!

Llegó la era del OCR 3.0
Por supuesto, desde unas pocas páginas de material hasta un libro entero, los problemas que el OCR necesita resolver también están cambiando.
En el informe técnico, el equipo resumió la evolución del análisis de documentos comoOCR 1.0, 2.0 y 3.0Tres etapas.
El OCR temprano funcionaba más como una cadena de montaje con tareas bien definidas: primero localizaba la posición del texto, luego reconocía su contenido y finalmente organizaba la maquetación y generaba el resultado. Si se trataba del análisis de varias páginas, normalmente se procesaba página por página y después se unían los resultados,Esto es OCR 1.0。
Cada módulo cumple su propia función, pero un error en un paso anterior también puede propagarse hasta el final: si un eslabón estornuda, todo lo demás se resfría.
Al llegar aOCR 2.0, los modelos de lenguaje visual comenzaron a generar directamente los resultados de análisis a partir de la imagen de la página, reduciendo las transferencias entre múltiples módulos. La primera generación de Unlimited OCR llevó este análisis de extremo a extremo a documentos de decenas de páginas.

△Generado por IA
Cuando un documento pasa de decenas de páginas a cientos, el análisis continuo debe garantizar tanto la coherencia entre el contenido anterior y el posterior como el control de los costos de cómputo y caché.
Wenxin Unlimited OCR 2, mediante referencia bajo demanda y decodificación por bloques, permite al modelo procesar más páginas sin que el alcance del cálculo de cada paso crezca con el número de páginas, ni tener que conservar siempre la caché visual de todas las páginas.
El equipo llama a este pasoOCR 3.0: convertir el procesamiento continuo de un documento completo en el nuevo objetivo técnico: de un solo tirón, sin paginación, análisis ilimitado, sin caídas nunca.
Y además, este objetivo tiene también una versión anime.
El nombre Unlimited OCR Works rinde homenaje, en sí mismo, al «Unlimited Blade Works» (manufactura ilimitada de espadas) de Fate/stay night, es decir,Unlimited Blade Works。

△Página de inicio del sitio web oficial del anime Fate/stay night
En el escenario de la obra original, se trata de una magia llamada «Reality Marble» (界结界固有), que al ser invocada despliega un espacio especial repleto de innumerables espadas clavadas.
Tras el lanzamiento de la generación anterior, el usuario de Hugging Face Snarcy descubrió este guiño en el nombre y decidió reescribir el recitado clásico en versión OCR.
Con la segunda generación, el equipo realmente incluyó esta reescritura en la introducción del informe técnico, conservando la autoría de Snarcy.

Así, al abrir este informe que aborda mecanismos de atención y costos de memoria de vídeo, verás al comienzo este recitado:
Los píxeles son mi cuerpo y los tokens son mi sangre.
Los píxeles son mi cuerpo, y los tokens, mi sangre.
I have parsed over a thousand pages.
He analizado más de mil páginas de documentos.
Unknown to KV cache.
Sin conocer los límites de la caché KV,
Nor known to context limits.
sin conocer los límites del contexto.
So, as I pray: Unlimited OCR Works
Por eso, en este lugar rezo: Unlimited OCR Works.

De 47 GB a 1.77 GB: aquello de «sin conocer los límites de la caché KV» realmente no fue en vano.
Qué chuunibyou de la vieja escuela.

—Fin—

@QbitAI · Siguiendo las novedades en tecnología y productos de IA

A quienes lo hayan sentido profundamente, bienvenidos a apoyar, seguir y compartir: el trío de likes վ’ᴗ’ ի ❤

Fuente original

量子位

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original