Machine Learning 5 min lectura

DPO más allá de chatbots: cómo solucionar la degeneración de texto en OCR

Un experimento reciente con DharmaOCR mostró que Direct Preference Optimization (DPO), usado tradicionalmente para alinear chatbots, también mitiga loops de repetición en tareas objetivas como OCR. Aplicado tras el fine-tuning supervisado, DPO redujo consistentemente la degeneración de texto en varios modelos.

Por Redaccion TD
DPO más allá de chatbots: cómo solucionar la degeneración de texto en OCR

Introducción

En abril, Hugging Face presentó DharmaOCR, un modelo especializado para OCR estructurado, junto con un paper que comparó distintos modelos visión-lenguaje en la extracción de textos en portugués de Brasil. Uno de los hallazgos más relevantes fue que la degeneración de texto —es decir, cuando un modelo entra en un bucle de repetición en lugar de generar una transcripción correcta— persiste incluso después de un fine-tuning supervisado (SFT). La novedad: una segunda etapa de entrenamiento llamada Direct Preference Optimization (DPO) redujo esa degeneración en todos los casos evaluados.

¿Qué es la degeneración de texto y por qué importa?

La degeneración ocurre cuando un modelo autoregresivo se queda atrapado en un attractor probabilístico que hace que repita tokens hasta alcanzar el límite de longitud. En OCR esto se traduce en transcripciones inútiles o dañadas. En el benchmark de DharmaOCR, las tasas de degeneración en familias open-source variaron desde menos de 1% hasta más de 33% en el estado “vanilla”. El SFT mejoró esos números en muchos casos, pero rara vez hasta niveles aceptables para producción.

Para organizaciones en América Latina que dependen de la digitalización masiva —gobiernos, bancos, aseguradoras o empresas de logística— la calidad de OCR es crítica: errores o bucles repetitivos generan retrabajo, costos y riesgos regulatorios. Por eso la reducción de esta falla tiene impacto operativo real.

¿Por qué el SFT no basta?

El fine-tuning supervisado optimiza token a token. Cada predicción se evalúa localmente, sin penalizar explícitamente una secuencia completa que se ha degenerado. El objetivo del SFT es maximizar la probabilidad de las secuencias observadas, pero no contiene un término que marque como malo un loop de repetición. Como resultado, aunque el modelo se acerca al dominio objetivo (mejor vocabulario, sintaxis, fluidez), la geometría de la distribución de probabilidad puede seguir favoreciendo attractors que generan degeneración.

En palabras sencillas: SFT mejora qué secuencias son probables, pero no cambia la forma del espacio probabilístico que alimenta la repetición.

DPO: la segunda etapa que convierte fallos en señal de entrenamiento

Direct Preference Optimization se ha usado mayoritariamente para alinear chatbots mediante juicios humanos sobre cuán útiles o seguros son diferentes outputs. En el caso de DharmaOCR, DPO fue aplicado de manera diferente: se construyeron pares de preferencia binarios a partir de las propias salidas del modelo. Una transcripción correcta se consideró preferida; una salida degenerada fue marcada como rechazada. Es decir, el entrenamiento usó los fracasos del modelo como señal para aprender a evitarlos.

La diferencia clave respecto al SFT es la granularidad del objetivo. DPO opera sobre la salida completa (la secuencia elegida o la rechazada), de modo que una finalización degenerada puede ser explícitamente catalogada como incorrecta. Esto invierte la lógica token-por-token del SFT y permite penalizar directamente el patrón de repetición.

Resultados: reducción consistente de degeneración

El segundo entrenamiento con DPO disminuyó la degeneración en todas las familias de modelos testeadas. La reducción promedio fue de 59.4% y el mejor caso alcanzó una caída del 87.6%. Un ejemplo concreto reportado fue Nanonets-OCR2–3B, cuyo ratio pasó de 1.61% a 0.20% después de DPO. Hubo también una excepción interesante: una familia de modelos mostró una tasa inicial de 0.60% que aumentó a 3.23% tras SFT, y luego se redujo a 1.41% con DPO. Es un dato aislado, pero ilustra que SFT y resistencia a degeneración no siempre evolucionan de forma paralela.

Implicaciones prácticas para proyectos en América Latina

  • Segunda etapa recomendada: Para pipelines de OCR que requieren calidad de producción, incorporar una etapa de DPO tras el SFT puede ser una palanca efectiva para reducir loops de repetición.
  • Recolección de pares de rechazo: No es necesario contar con juicios humanos subjetivos. En tareas objetivas como OCR, las propias salidas fallidas del modelo sirven como pares de preferencia (correcto vs. degenerado), lo que simplifica la preparación del dataset para DPO.
  • No sustituye a las medidas de decodificación: Penalizaciones de repetición, ajuste de temperatura o abortos tempranos aun son útiles como mitigaciones en tiempo de inferencia. Pero son soluciones en la capa de decodificación que tratan el síntoma; DPO cambia la distribución que genera el síntoma.
  • Evaluación continua: DPO mostró reducción consistente en el benchmark, pero la magnitud varía por familia. Recomendable validar en su propio conjunto de documentos y condiciones lingüísticas, especialmente si trabajan con variedades de español o documentos mixtos (escaners de baja calidad, tipografías no estándares).

Limitaciones y preguntas abiertas

El porqué exacto de la persistencia de la degeneración tras SFT no está completamente resuelto; la hipótesis principal involucra la geometría de la distribución de probabilidad y cómo el objetivo de máxima verosimilitud concentra masa en regiones que actúan como attractors. Tampoco se puede concluir que DPO sea la única vía: es una herramienta efectiva en estas pruebas, pero su aplicabilidad y costos de implementación deben analizarse caso por caso.

Además, DPO ha sido mayoritariamente publicado en contextos de alineamiento conversacional (p. ej. trabajos como Rafailov et al., 2023). El caso de DharmaOCR demuestra que la técnica también funciona en tareas objetivas donde la preferencia es binaria y definida por corrección externa, no por juicios de utilidad.

Conclusión: una palanca práctica para reducir fallos críticos

El experimento con DharmaOCR evidencia que convertir las propias fallas del modelo en señal de entrenamiento—mediante pares de preferencia y DPO—es una estrategia robusta para atacar la degeneración de texto en OCR estructurado. Para organizaciones latinoamericanas que digitalizan grandes volúmenes de documentos, incorporar una etapa posterior a SFT con DPO puede traducirse en menos retrabajo y mayor calidad de datos.

Si están evaluando o desplegando modelos de OCR, consideren diseñar un ciclo que incluya: (1) SFT con datos representativos del dominio; (2) recolección automática de pares correcto/rechazado a partir de fallos observados; (3) etapa de DPO para penalizar degeneraciones; y (4) medidas de decodificación en inferencia como segunda línea de defensa. Este flujo no elimina la necesidad de supervisión y pruebas, pero ofrece una herramienta adicional para aumentar la robustez del sistema.

Fuente original: Hugging Face Blog