
Las deficiencias silenciosas de las incorporaciones: por qué su IA se está equivocando
Las deficiencias silenciosas de las incorporaciones: por qué tu IA se está equivocando
Los datos de texto no estructurados se han proliferado recientemente, desde la documentación técnica y la literatura científica hasta los mensajes de las redes sociales y las evaluaciones de los clientes.Las empresas de diversos sectores están realizando cada vez más que este texto ofrece insights inestimables, pero obtener, organizar y utilizar estos datos es difícil.
La riqueza semántica del lenguaje humano no se captura por las técnicas convencionales de procesamiento de texto basado en palabras clave, que se han demostrado insuficientes.Por ejemplo, una búsqueda de "problemas de automóviles" puede no aparecer en documentos pertinentes sobre "problemas de automóviles", y una revisión de producto que menciona "congelación de la pantalla" puede faltar al examinar las quejas de los clientes sobre "accidentes del sistema".
Sin embargo, a pesar de su amplio uso, todavía no entendemos completamente cómo funcionan estos modelos de embalaje en entornos prácticos.
Muchas industrias diferentes pueden beneficiarse directamente de este análisis:
Descubrir cómo su modelo de embalaje devuelve resultados similares: Este análisis ayuda a las organizaciones a tomar mejores decisiones sobre la selección del modelo, las necesidades de preprocesamiento y las posibles estrategias de mejora ofreciendo una manera sistemática de comprender el comportamiento de embalaje.
Para los no iniciados, las incorporaciones de texto convierten palabras o frases en vectores numéricos -en esencia, largas listas de números, vectores densos con muchas dimensiones. Estos vectores están posicionados en un espacio de alta dimensión donde la similitud semántica es representada por la proximidad. En términos más simples, las cosas con significados similares deben estar cercanas entre sí en este espacio.
Cuando buscas en Google, entiende que quieres decir "hoteles de Nueva York" a pesar de que escribiste "lugares para alojarse en Nueva York".
Cuando tu cliente de correo electrónico sugiere respuestas
Cuando un sistema de recomendación de contenido muestra artículos que te pueden gustar
Cuando buscas en Google, entiende que querías decir "hoteles de Nueva York" a pesar de que escribiste "lugares para alojarse en Nueva York".
Cuando buscas en Google, entiende que querías decir "hoteles de Nueva York" a pesar de que escribiste "lugares para alojarse en Nueva York".
Cuando su cliente de correo electrónico sugiere respuestas
Cuando su cliente de correo electrónico sugiere respuestas
Cuando un sistema de recomendación de contenido muestra artículos que puede gustar
Cuando un sistema de recomendación de contenido muestra artículos que puede gustar
Esta capacidad potencia numerosas aplicaciones:
La eficacia de estas aplicaciones depende en gran medida de cuán bien el modelo de embalaje maneja diferentes variantes de texto y ocurrencias lingüísticas.Mientras que un modelo que es demasiado sensible a pequeñas variaciones de formatación tendría problemas con las consultas de búsqueda reales, un modelo que trata "Me gusta este producto" y "Odio este producto" como casi idénticos sería ineficaz para el análisis de sentimientos.
Nunca olvidaré el día en que estaba investigando modelos de embalaje para uno de mis clientes con documentos de muestra. Intenté buscar "laptops sin pantallas táctiles", solo para obtener una respuesta sobre los portátiles de pantalla táctil del índice vectorial.
Ese momento me pegó. quiero decir, si el modelo no podía entender un básico "sin", ¿qué más le faltaba?Ese episodio me llevó por un camino inesperado.Tuve que saber cuán serio era el problema.Sí, los parámetros de referencia para nuestro modelo de embalaje parecían impresionantes, pero ¿cómo se comportó con el lenguaje desordenado del mundo real que nuestros usuarios escribían todos los días?¿Qué pasó cuando las palabras estaban mal escritas, las frases eran incompletas, o las personas usaban emojis?
Después de dos años de experimentar con varios modelos de embalaje en diferentes aplicaciones usando RAG Experiment Accelerator (https://github.com/microsoft/rag-experiment-accelerator), he desarrollado una manera sistemática de evaluar cómo estos modelos manejan diferentes tipos de variaciones de sentencias.https://github.com/microsoft/rag-experiment-accelerator
Estos no fueron errores aleatorios – eran puntos ciegos profundos y sistemáticos cocidos en cómo estos modelos ven el lenguaje.Y nadie estaba hablando de ello.Estoy compartiendo estos hallazgos porque he visto que demasiados equipos han perdido meses implementando sofisticados sistemas basados en la incorporación solo para descubrir demasiado tarde que se rompen de maneras inesperadas.
Este problema no es sólo académico. Las consecuencias del malentendido del comportamiento de incorporación son graves: Un colega de una compañía de atención médica importante me dijo que su sistema de recuperación de información médica carecía de documentos clínicos relevantes porque su modelo de incorporación no podía manejar adecuadamente las abreviaturas y las variaciones de la terminología médica.
En una empresa de servicios financieros, su sistema de monitoreo de cumplimiento perdió violaciones de políticas porque su modelo de embalaje no podía reconocer que las frases de voz pasivas ("los fondos fueron transferidos") significaban lo mismo que la voz activa ("alguien transfirió fondos").He sido testigo de que las compañías de comercio electrónico perdieron millones de dólares debido a la incapacidad de su sistema de búsqueda de productos para acomodar los tipos comunes y abreviaturas lingüísticas utilizadas por los compradores.
He desarrollado un marco de pruebas que examina cómo los modelos de embalaje responden a múltiples categorías diferentes de variaciones de texto. Usando la similitud cosina como la métrica (donde 1.0 significa significado idéntico y 0.0 significa completamente no relacionado), he ejecutado cientos de casos de prueba.Voy a pasar por lo que encontré, centrándome en los múltiples modelos, incluyendo MSMarco DistilBERT, embalaje de texto OpenAI, y muchos más, y he visto patrones similares en la mayoría de las embalajes basados en transformadores.
MSMarco DistilBERT, incorporación de texto OpenAI, y muchos más,
Me metí en esto con un sistema de catálogo de productos. La búsqueda no pudo decir la diferencia entre la marca "Apple" y la fruta "Apple".Los clientes que buscan productos de Apple obtuvieron recetas para el pastel de manzana.
Este también me dio el piso. Los modelos de incorporación vean "La inversión se devolvió 2% anualmente" y "La inversión se devolvió 20% anualmente" como lo mismo, una puntuación de similitud locamente alta de 0.97. No hay diferencia discernible entre los dos escenarios.
Los modelos incorporados ver "La inversión se devolvió 2% anualmente" y "La inversión se devolvió 20% anualmente" como lo mismo, una puntuación de similaridad locamente alta de 0.97.
Me metí en esto con un sistema de búsqueda de documentos financieros.El algoritmo no podía decir la diferencia entre "tasa de gestión: 0.2%" y "tasa de gestión: 2.0%."Los inversores que buscan fondos de baja tasa recibieron opciones recomendadas caras en su lugar.¿Piensas que tu cuenta de jubilación estaría satisfecha con ese error?
Piense en todos los casos en los que los valores numéricos son instrucciones de dosificación críticas, tolerancias de ingeniería, retornos financieros y plazos de contrato. Para los textos de inversión o médicos, estas distinciones pueden ser cambiantes para la vida.
Este es realmente peligroso.Añadir "no" a una frase - literalmente cambiando su significado - apenas afecta a las puntuaciones de similitud. Rutinamente vimos puntuaciones por encima de 0,95 para los opuestos completos. "El tratamiento mejoró los resultados de los pacientes" vs. "El tratamiento no mejoró los resultados de los pacientes" → 0.96 similitud Cuando mostré esto a un médico que estaba usando nuestro sistema de búsqueda médica, él estaba horrorizado.Rutinamente vimos puntuaciones por encima de 0,95 para los opuestos completos. "El tratamiento mejoró los resultados de los pacientes" vs. "El tratamiento no mejoró los resultados de los pacientes" → 0.96 similitud
Estábamos construyendo un sistema que los médicos usarían para encontrar protocolos de tratamiento.Se equivoca, y la gente podría morir.La negación no es un caso marginal - es fundamental para el lenguaje humano.Cuando su búsqueda, recomendación o sistema de análisis no puede decir "efectivo" de "ineficaz" o "seguro" de "inseguro", está construyendo máquinas de alucinaciones peligrosas.
En healthcare, podría significar recomendar tratamientos dañinos. En los documentos legales, podría invertir completamente las obligaciones contractuales. En la moderación content, podrías perder la diferencia entre "la violencia es aceptable" y "la violencia nunca es aceptable".
Cuidados de saludEspazos adicionales, pestañas, formatación extraña – los modelos no me importan. La similitud permanece por encima de 0.995. Pero eliminar todos los espacios? La similitud de repente cae a 0.82. Me encontré con este problema mientras trabajaba con contenido que fue rasgado y tenía un rascacielos irregular debido a HTML pobre. Hemos construido este hermoso sistema de búsqueda para una biblioteca digital con miles de documentos rascados. La mitad de las consultas no devolvió nada útil debido a un rascacielos inconsistente.La similitud permanece por encima de 0,995. pero elimina todos los espacios? la similitud cae repentinamente a 0,82.
Esta curiosidad se vuelve devastadora cuando se trata de contenido generado por los usuarios, documentos OCR'd, o idiomas que no utilizan espacios de la misma manera que el inglés hace (como el tailandés o el chino).
Los modelos incorporados ven "El coche está a la izquierda del árbol" y "El coche está a la derecha del árbol" como casi idénticos, con una puntuación de similitud insólita de 0,98. A pesar de describir perspectivas opuestas, los modelos incorporados los perciben como casi idénticos."El coche está a la izquierda del árbol" y "El coche está a la derecha del árbol" como casi idénticos - una puntuación de similitud locamente alta de 0,98.
Piense en todos los casos en los que la perspectiva y los marcos de referencia son esenciales – direcciones de navegación, relaciones espaciales, posicionamiento relativo en procedimientos médicos, y descripciones legales de escenas de accidentes. Estas distinciones no son triviales – cambian completamente el significado basado en la perspectiva.
Este me hizo reír y luego llorar.Los modelos incorporados vean "Si la demanda aumenta, los precios subirán" y "Si la demanda aumenta, los precios caerán" como prácticamente idénticos - una sorprendente puntuación de similitud de 0,95."Si la demanda aumenta, los precios subirán" y "Si la demanda aumenta, los precios caerán" como prácticamente idénticos - una sorprendente puntuación de similitud de 0,95 He golpeado este problema construyendo un sistema de análisis para los documentos de investigación económica.El algoritmo no podía distinguir entre las relaciones causales opuestas.Los economistas que buscan documentos sobre los aumentos de precios durante los aumentos de la demanda obtuvieron resultados sobre las caídas de precios durante las recesións en lugar.¿Crees que los analistas financieros que toman decisiones de inversión de millones de dólares apreciarían obtener información exactamente retroactiva?Estoy seguro de que no quisiera que mis fondos de jubilación se gestionaran de esa manera. Una vez más, piense en todos los casos en los que el razonamiento contra-factual es crítico: proyecciones económicas, relaciones médicas de causa y efecto, hipótesis jurídicas y análisis de fallos de ingeniería. Cuando no se puede decir "si X, entonces Y" de "si no-X, entonces no-Y", se entiende fundamentalmente mal la relación causal. Este me dejó sin palabras. Los modelos incorporados ven "El producto cuesta entre $50-$100" y "El producto cuesta exactamente $101" como Casi lo mismo - una puntuación de semejanza de 0.98 sorprendente. Uno está en un rango, uno está fuera de ese rango, pero el modelo apenas nota!
Rangos y Valores Exactos
Lo descubrí mientras construía un sistema de comparación de precios para un cliente de comercio electrónico.La búsqueda no podía distinguir entre los rangos de precios y los precios exactos, incluso cuando el precio exacto estaba fuera del rango especificado.Los compradores con un presupuesto estricto de $100 que buscaban productos "por debajo de $100" seguían mostrando artículos que costaban $120 o $150. ¿Crees que los clientes con presupuestos fijos aprecian ver productos que explícitamente no pueden pagar?
Piensa en todos los casos en los que los intervalos frente a los valores exactos son cruciales: decisiones de precios, intervalos de dosificación de medicamentos, plazos legales, tolerancias de seguridad y criterios de rendimiento.Cuando tu modelo trata "al menos 25 días" y "exactamente 20 días" como básicamente idénticos, has perdido el significado crítico.
Aquí está la comparación entre msmarco-distilbert-base-tas-b, all-mpnet-base-v2, y open-ai-text-embedding-3-large, y notará que no hay diferencia significativa entre la salida de estos modelos.
msmarco-distilbert-base-tas-b, all-mpnet-base-v2, y open-ai-text-embedding-3-large, y notará que no hay diferencia significativa entre la salida de estos modelos.
|
---|
msmarco-distilbert-base-tas-b puntuación de incorporación en diferentes casos de prueba
Msmarco-distilbert-base-tas-b puntuación de incorporación en diferentes casos de ensayo
all-mpnet-base-v2 puntuación de incorporación en diferentes casos de prueba
score de embalaje de all-mpnet-base-v2 en diferentes casos de prueba
|
---|
openai-text-embedding-3-large embedding score across different test cases
openai-text-embedding-3-large embedding score en diferentes casos de prueba
Mira, las incorporaciones son increíblemente útiles a pesar de estos problemas. no estoy diciendo no usarlas – estoy diciendo usarlas con los ojos abiertos.
Pruebe su modelo en patrones de lenguaje real de los usuarios antes de su implementación. No son referencias académicas, no son casos de ensayo sanitizados – ejemplos reales de cómo se comunican sus usuarios. Hemos construido un kit de herramientas de "test de estrés lingüístico" que simula variaciones comunes como las negaciones, los tipos y las diferencias numéricas. Cada sistema que probamos falla en algunas áreas – la cuestión es si esas áreas son importantes para su aplicación específica.
Construye barras de seguridad alrededor de puntos ciegos críticos. Las diferentes aplicaciones tienen diferentes requisitos de no falla. Para el cuidado de la salud, suele ser negativo y de precisión. Para las finanzas, es números y relaciones temporales.
Pruebe su modelo en patrones de lenguaje real de los usuarios antes de su implementación. No son referencias académicas, no son casos de pruebas sanitizadas – ejemplos reales de cómo se comunican sus usuarios.Hemos construido un kit de herramientas de "test de estrés lingüístico" que simula variaciones comunes como negaciones, tipografías y diferencias numéricas.Todos los sistemas que probamos fallan en algunas áreas – la pregunta es si esas áreas son importantes para su aplicación específica.
Pruebe su modelo en patrones de lenguaje real de los usuarios antes de su implementación.No son referencias académicas, no son casos de pruebas sanitizadas - ejemplos reales de cómo se comunican sus usuarios.Hemos construido un kit de herramientas "test de estrés lingüístico" que simula variaciones comunes como negaciones, tipografías y diferencias numéricas.Cada sistema que probamos falla en algunas áreas - la pregunta es si esas áreas son importantes para su aplicación específica.
Construye guarderías alrededor de puntos ciegos críticos. Diferentes aplicaciones tienen diferentes requisitos que no pueden fallar. Para el cuidado de la salud, generalmente es negación y precisión de la entidad. Para las finanzas, es números y relaciones temporales. Para los legales, es condiciones y obligaciones. Identifica lo que absolutamente no puede ir mal en tu dominio, e implementa salvaguardas especializadas.
Construye guarderías alrededor de puntos ciegos críticos. Las diferentes aplicaciones tienen diferentes requisitos que no pueden fallar. Para el cuidado de la salud, suele ser negación y precisión de la entidad. Para las finanzas, son números y relaciones temporales. Para las leyes, son condiciones y obligaciones. Identifica lo que absolutamente no puede ir mal en tu dominio, e implementa salvaguardas especializadas.
Layer diferentes técnicas en lugar de apostar todo en embeddings.Nuestros sistemas más exitosos combinan la recuperación basada en embeddings con la verificación de palabras clave, verificaciones de reglas explícitas y clasificadores especializados para distinciones críticas.
Sé transparente con los usuarios acerca de lo que el sistema puede y no puede hacer de forma fiable.Hemos añadido puntuaciones de confianza que señalan explícitamente cuando un resultado puede implicar negación, comparación numérica u otros puntos débiles potenciales.Los usuarios aprecian la honestidad, y esto crea confianza en el sistema en general.
Sé transparente con los usuarios acerca de lo que el sistema puede y no puede hacer de forma fiable.Hemos añadido puntuaciones de confianza que señalan explícitamente cuando un resultado puede implicar negación, comparación numérica u otros puntos débiles potenciales.Los usuarios aprecian la honestidad, y esto crea confianza en el sistema en su conjunto.
Aquí está lo más importante que he aprendido: estos modelos no entienden el lenguaje como lo hacen los humanos – entienden patrones estadísticos.Cuando dejé de esperar la comprensión humana y comenzé a tratarlos como sofisticadas herramientas de ajuste de patrones con puntos ciegos específicos, mis sistemas se hicieron mejores.
Aquí está lo más importante que he aprendido:
Los puntos ciegos que he descrito no desaparecen en ningún momento pronto – están cocinados en cómo funcionan estos modelos. pero si sabes que están allí, puedes diseñar alrededor de ellos.
El siguiente artículo de la continuación saldrá pronto. ¡Sé bien!!