Immagine AI

Baidu ha reso disponibile Unlimited OCR, un modello open source progettato per leggere e trascrivere documenti molto lunghi senza il progressivo aumento di memoria che normalmente rallenta i sistemi OCR basati su modelli linguistici e visivi. Il progetto punta a superare uno dei limiti più rilevanti dell’OCR end-to-end: la necessità di elaborare grandi quantità di testo generato mantenendo in memoria tutta la sequenza precedente.

Nei sistemi OCR tradizionali, il riconoscimento di un documento viene spesso suddiviso in passaggi separati, come rilevamento della pagina, identificazione delle aree testuali, estrazione dei caratteri e ricostruzione del layout. I modelli più recenti basati su Vision Language Model trattano invece l’intera pagina come un input visivo e generano direttamente il testo strutturato, comprese tabelle, formule, elementi grafici e relazioni tra le diverse sezioni del documento.

Questo approccio migliora la comprensione del layout, ma introduce un problema tecnico importante quando il documento contiene molte pagine. Durante la generazione del testo, il modello conserva nella cache KV, cioè la memoria utilizzata dal meccanismo di attenzione, le rappresentazioni dei token elaborati in precedenza. Più aumenta la lunghezza dell’output, più cresce la memoria richiesta dalla GPU. Di conseguenza, l’elaborazione tende a rallentare e documenti estesi devono spesso essere divisi in blocchi o processati pagina per pagina.

Unlimited OCR affronta questo limite con una struttura chiamata Reference Sliding Window Attention, abbreviata in R-SWA. Il sistema mantiene sempre disponibili le informazioni di riferimento legate all’immagine e al prompt iniziale, ma conserva solo una piccola finestra degli ultimi token generati. In configurazione standard, la finestra include 128 token recenti, mentre il resto della sequenza prodotta viene rimosso dalla cache.

Il funzionamento ricorda la trascrizione manuale di un libro. Chi copia un testo non rilegge continuamente tutte le pagine già trascritte, ma osserva il documento originale e controlla soltanto le ultime righe scritte per mantenere continuità. R-SWA applica lo stesso principio alla generazione dell’output: il modello continua a vedere il contenuto visivo di riferimento, ma non deve trattenere in memoria l’intera trascrizione prodotta fino a quel momento.

Il risultato è una cache KV che non cresce in modo lineare con il numero di token generati. Nei modelli con attenzione multi-head convenzionale, ogni nuovo token richiede spazio aggiuntivo e aumenta il carico di calcolo. Con R-SWA, invece, la memoria resta sostanzialmente stabile perché il modello conserva solo i token di riferimento e una porzione limitata della sequenza più recente. Questo permette di mantenere più costante anche la velocità di generazione, soprattutto quando l’output supera diverse migliaia di token.

Il modello deriva dall’architettura DeepSeek OCR e mantiene una combinazione tra DeepEncoder e decoder basato su Mixture of Experts. La componente DeepEncoder comprime immagini PDF da 1024×1024 pixel in 256 token visivi, applicando una riduzione di sedici volte rispetto a una rappresentazione più estesa dell’immagine. Questa compressione riduce il peso del contenuto visivo prima ancora che inizi la generazione del testo.

Unlimited OCR ha una dimensione complessiva di 3 miliardi di parametri, ma durante l’inferenza ne attiva circa 500 milioni grazie all’architettura MoE. Questo consente di mantenere un rapporto più favorevole tra capacità del modello e risorse effettivamente utilizzate. Per i documenti multipagina viene impiegata una modalità Base a risoluzione 1024×1024, mentre per le singole pagine è disponibile una modalità a risoluzione dinamica denominata Gundam.

L’addestramento è stato effettuato attraverso continual training su checkpoint esistenti, utilizzando circa due milioni di documenti. Il 90% dei dati era composto da documenti a pagina singola, mentre il restante 10% comprendeva sequenze di più pagine concatenate. Durante questa fase il DeepEncoder è rimasto congelato e l’aggiornamento ha riguardato il decoder, una scelta che riduce il costo computazionale del fine tuning e concentra l’apprendimento sulla nuova logica di attenzione.

Nei test su OmniDocBench, Unlimited OCR ha raggiunto un punteggio complessivo di 93,23 nella versione 1.5 del benchmark e 93,92 nella versione 1.6, con risultati elevati non solo nel riconoscimento testuale ma anche nella lettura di formule, tabelle e layout complessi. In modalità Base il sistema ha raggiunto 5.580 token al secondo, contro i 4.951 token al secondo del modello DeepSeek OCR di riferimento. Quando la generazione arriva a 6.000 token, il vantaggio di velocità cresce fino a circa il 35%.

La capacità di gestire documenti estesi rappresenta il punto più rilevante del progetto. Unlimited OCR è stato testato su documenti di oltre 20 pagine in un’unica inferenza e ha mantenuto risultati stabili anche oltre le 40 pagine. In questi casi, eventuali errori risultano legati soprattutto alla difficoltà di distinguere caratteri molto piccoli in immagini a bassa risoluzione, più che alla perdita di coerenza nella sequenza testuale lunga.

L’architettura R-SWA non è limitata all’OCR. La stessa logica può essere applicata ad attività che richiedono input e output molto lunghi, come trascrizione automatica, traduzione, analisi di archivi documentali e generazione di testi strutturati. Il principio è ridurre la memoria necessaria senza perdere il collegamento con il contenuto di riferimento, rendendo più sostenibile l’elaborazione di documenti complessi direttamente in un singolo passaggio.

Di Fantasy