Como datos, nos sentimos cómodos con los datos tabulares …

Datos tabulares. Imagen del autor.

También podemos manejar palabras, JSON, XML Feeds y imágenes de gatos. Pero, ¿qué pasa con una caja de cartón llena de cosas como esta?

(Imagen de Annie Spratt, Sin estelares)

La información sobre este recibo quiere que tanto esté en una base de datos tabular en algún lugar. ¿No sería genial si pudiéramos escanear todo esto, ejecutarlos a través de un LLM y guardar los resultados en una tabla?

Afortunado para nosotros, vivimos en la era de Documento AI. Document AI combina OCR con LLMS y nos permite construir un puente entre el mundo del papel y el mundo de la base de datos digital.

Todos los principales proveedores de la nube tienen alguna versión de esto …

Aquí compartiré mis pensamientos sobre Copo de nieveDocumento AI. Además de usar copos de nieve en el trabajo, no tengo afiliación con el copo de nieve. No me encargaron que escribiera esta pieza y no soy parte de ningún programa de embajadores. Todo eso es decir que puedo escribir un imparcial revisión de Documento de Snowflake AI.


¿Qué es el documento AI?

Document AI permite a los usuarios extraer rápidamente información de documentos digitales. Cuando decimos «documentos» nos referimos a imágenes con palabras. No confundas esto con nicho de nosql cosas.

El producto combina modelos OCR y LLM para que un usuario pueda crear un conjunto de indicaciones y ejecutar esas indicaciones contra una gran colección de documentos a la vez.

El documento de Snowflake AI en un currículum (fregado). Imagen del autor.

LLMS y OCR tienen margen de error. Snowflake resolvió esto (1) golpeándose la cabeza contra OCR hasta que es agudo, te veo, desarrollador de copos de nieve, y (2) dejándome afinar mi LLM.

Ajunte de Flake LLM se siente mucho más como glamping que alguna aventura al aire libre resistente. Reviso más de 20 documentos, presiono el botón «Modelo de tren», luego enjuago y repito hasta que el rendimiento sea satisfactorio. ¿Ya soy un científico de datos?

Una vez que el modelo está entrenado, puedo ejecutar mis indicaciones en 1000 documentos a la vez. Me gusta guardar los resultados en una tabla, pero podría hacer lo que quiera con los resultados en tiempo real.


¿Por qué importa?

Este producto es genial por varias razones.

  • Puede construir un puente entre el papel y el mundo digital. Nunca pensé que la gran caja de facturas de papel debajo de mi escritorio llegaría a mi almacén de datos en la nube, pero ahora puede. ¡Escanee la factura de papel, cárguela al copo de nieve, ejecute mi modelo de documento AI y Wham! Tengo mi información deseada analizada en una mesa ordenada.
  • Es terriblemente conveniente invocar un modelo de aprendizaje automático a través de SQL. ¿Por qué no pensamos en esto antes? En los viejos tiempos, se trataba de unos cientos de líneas de código para cargar los datos sin procesar (SQL >> Python/Spark/etc.), Limpiarlo, las características del ingeniero, el tren/división de pruebas, entrenar un modelo, hacer predicciones y luego volver a escribir las predicciones en SQL.
  • Construir esto interno sería una tarea importante. Sí, OCR ha existido mucho tiempo, pero aún puede ser quisquilloso. Ajustar un LLM obviamente no ha existido demasiado tiempo, pero se está volviendo más fácil por semana. Poner estos juntos de una manera que logre una alta precisión para una variedad de documentos podría llevar mucho tiempo hackear por su cuenta. Meses de meses de polaco.

Por supuesto, algunos elementos todavía están construidos en casa. Una vez que extrajo información del documento, tengo que descubrir qué hacer con esa información. Sin embargo, ese es un trabajo relativamente rápido.


Nuestro caso de uso – Trae la temporada de gripe:

Trabajo en una empresa llamada Mayor cuidado. Operamos en el espacio de personal de atención médica, lo que significa que ayudamos a hospitales, hogares de ancianos y centros de rehabilitación a encontrar médicos de calidad para cambios individuales, contratos extendidos o compromisos a tiempo completo/a tiempo parcial.

Muchas de nuestras instalaciones requieren que los médicos tengan una vacuna de gripe actualizada. El año pasado, nuestros médicos presentaron más de 10,000 vacunas contra la gripe además de cientos de miles de otros documentos. Revisamos manualmente todos estos manualmente para garantizar la validez. ¡Parte de la alegría de trabajar en el mundo del personal de atención médica!

Alerta de spoiler: usando el documento AI, pudimos reducir la cantidad de documentos de disparo de gripe que necesitaban una revisión manual en ~ 50% y todo en solo un par de semanas.

Para lograr esto, hicimos lo siguiente:

  • Subí una pila de documentos de disparo de gripe al copo de nieve.
  • Masajeó las indicaciones, capacitó el modelo, masajeó las indicaciones un poco más, se recuperó el modelo un poco más …
  • Construido la lógica para comparar la salida del modelo con el perfil del clínico (¡por ejemplo, ¿coinciden los nombres?). Definitivamente algunas pruebas y errores aquí con nombres de formato, fechas, etc.
  • Construyó la «lógica de decisión» para aprobar el documento o enviarlo de regreso a los humanos.
  • Probó la tubería completa en una pila más grande de documentos revisados ​​manualmente. Eché un vistazo de cerca a los falsos positivos.
  • Repetido hasta que nuestra matriz de confusión fuera satisfactoria.

Para este proyecto, los falsos positivos representan un riesgo comercial. No queremos aprobar un documento caducado o faltando información clave. Seguimos iterando hasta que la tasa falsa positiva alcanzó cero. Eventualmente tendremos algunos falsos positivos, pero menos de lo que tenemos ahora con un proceso de revisión humana.

Los falsos negativos, sin embargo, son inofensivos. Si a nuestra tubería no le gusta una vacuna contra la gripe, simplemente enruta el documento al equipo humano para su revisión. Si continúan aprobando el documento, es un negocio como de costumbre.

El modelo funciona bien con los documentos limpios/fáciles, que representan ~ 50% de todas las vacunas contra la gripe. Si es desordenado o confuso, se remonta a los humanos como antes.


Cosas que aprendimos en el camino

  1. El modelo lo hace mejor al leer el documento, no tomar decisiones o hacer matemáticas basadas en el documento.

Inicialmente, nuestras indicaciones intentaron determinar la validez del documento.

Malo: ¿El documento ya ha caducado?

Lo encontramos lejos Más efectivo para limitar nuestras indicaciones a las preguntas que podrían responderse mirando el documento. El LLM no determinar cualquier cosa. Simplemente toma los puntos de datos relevantes de la página.

Bien: ¿Cuál es la fecha de vencimiento?

Guarde los resultados y haga las matemáticas aguas abajo.

  1. Todavía necesita ser atento sobre los datos de capacitación

Tuvimos algunas tomas de gripe duplicadas de un médico en nuestros datos de entrenamiento. Llame a este clínico Ben. Una de nuestras indicaciones fue: «¿Cuál es el nombre del paciente?» Debido a que «Ben» estaba en los datos de capacitación varias veces, cualquier documento remotamente poco claro volvería con «Ben» como nombre del paciente.

Así que el sobreajuste sigue siendo una cosa. Sobre/bajo muestreo sigue siendo una cosa. Lo intentamos nuevamente con una colección más reflexiva de documentos de entrenamiento y las cosas lo hicieron mucho mejor.

Document Ai es bastante mágico, pero no eso mágico. Los fundamentos aún son importantes.

  1. El modelo podría ser engañado escribiendo en una servilleta.

Que yo sepa, Snowflake no tiene una forma de representar la imagen del documento como un incrustación. Puede crear una incrustación del texto extraído, pero eso no le dirá si el texto fue escrito a mano o no. Mientras el texto es válido, el modelo y la lógica aguas abajo le darán una luz verde.

Puede solucionar esto con bastante facilidad comparando los incrustaciones de imágenes de los documentos enviados con las incrustaciones de documentos aceptados. Cualquier documento con una salida de incrustación en el campo izquierdo se envía de regreso para la revisión humana. Este es un trabajo sencillo, pero tendrás que hacerlo fuera del copo de nieve por ahora.

  1. No tan caro como esperaba

El copero de nieve tiene la reputación de ser gastado. Y para las preocupaciones de cumplimiento de HIPAA, realizamos una cuenta de copo de nieve de nivel superior para este proyecto. Tiendo a preocuparme por correr una pestaña de copos de nieve.

Al final, tuvimos que esforzarnos más para gastar más de $ 100/semana mientras entrena el modelo. Ejecutamos miles de documentos a través del modelo cada pocos días para medir su precisión mientras iteramos en el modelo, pero nunca logramos romper el presupuesto.

Mejor aún, estamos ahorrando dinero en el proceso de revisión manual. Los costos para la IA revisando 1000 documentos (aprobación de ~ 500 documentos) son ~ 20% del costo que gastamos en humanos revisando los 500 restantes. Todo en, una reducción del 40% en los costos para revisar las tomas de gripe.


Resumir

Me ha impresionado la rapidez con que podríamos completar un proyecto de este alcance utilizando el documento AI. Hemos pasado de meses a días. Le doy 4 estrellas de 5, y estoy abierto a darle una quinta estrella si Snowflake alguna vez nos da acceso a incrustaciones de imágenes.

Desde las vacunas contra la gripe, hemos implementado modelos similares para otros documentos con resultados similares o mejores. Y con todo este trabajo de preparación, en lugar de temer la próxima temporada de gripe, estamos listos para traerlo.

Por automata