Cómo analizar y optimizar sus LLM en 3 pasos

en producción, respondiendo activamente a las consultas de los usuarios. Sin embargo, ahora desea mejorar su modelo para manejar una mayor fracción de las solicitudes de los clientes con éxito. ¿Cómo te acercas a esto?

En este artículo, discuto el escenario en el que ya tiene un LLM en ejecución y desea analizar y optimizar su rendimiento. Discutiré los enfoques que utilizo para descubrir dónde funciona el LLM y dónde necesita mejora. Además, también discutiré las herramientas que utilizo para mejorar el rendimiento de mi LLM, con herramientas como el apropiado optimizador de Anthrope.

En resumen, sigo un proceso de tres pasos para mejorar rápidamente el rendimiento de mi LLM:

  1. Analizar salidas LLM
  2. Mejorar iterativamente las áreas con el mayor valor para el esfuerzo
  3. Evaluar e iterar

Tabla de contenido

Motivación

Mi motivación para este artículo es que a menudo me encuentro en el escenario descrito en la introducción. Ya tengo mi LLM en funcionamiento; Sin embargo, no funciona como se esperaba o alcanza las expectativas del cliente. A través de innumerables experiencias de análisis de mis LLM, he creado este simple proceso de tres pasos que siempre uso para mejorar las LLM.

Paso 1: Análisis de salidas LLM

El primer paso para mejorar sus LLM siempre debe ser analizar su salida. Para tener una alta observabilidad en su plataforma, recomiendo utilizar una herramienta de Administrador de LLM para rastrear, como Langfuse o Llayer. Estas herramientas hacen que sea simple reunir todas sus invocaciones de LLM en un solo lugar, listas para el análisis.

Ahora discutiré algunos enfoques diferentes que aplicaré para analizar mis salidas LLM.

Inspección manual de salida sin procesar

El enfoque más simple para analizar su salida de LLM es inspeccionar manualmente muchas de sus invocaciones de LLM. Debe reunir sus últimas 50 invocaciones LLM, leer todo el contexto que alimentó en el modelo y la salida que proporcionó el modelo. Encuentro este enfoque sorprendentemente efectivo para descubrir problemas. He descubierto, por ejemplo,:

  • Contexto duplicado (parte de mi contexto se duplicó debido a un error de programación)
  • Contexto faltante (no estaba alimentando toda la información que esperaba en mi LLM)
  • etc.

La inspección manual de los datos nunca debe subestimarse. Mirar completamente los datos le brinda una comprensión del conjunto de datos en el que está trabajando, lo cual es difícil de obtener de cualquier otra manera. Además, también encuentro que debo inspeccionar manualmente más puntos de datos de los que inicialmente quiero pasar tiempo evaluando.

Por ejemplo, supongamos que lleva 5 minutos inspeccionar manualmente un ejemplo de entrada-salida. Mi intuición a menudo me dice que tal vez pase 20-30 minutos en esto y, por lo tanto, inspeccione 4-6 puntos de datos. Sin embargo, encuentro que generalmente debe pasar mucho más tiempo en esta parte del proceso. Recomiendo al menos 5X-practicar esta vez, por lo que en lugar de pasar 30 minutos inspeccionando manualmente, pasa 2.5 horas. Inicialmente, pensará que este es mucho tiempo para gastar en inspección manual, pero generalmente encontrará que le ahorra mucho tiempo a largo plazo. Además, en comparación con un proyecto completo de 3 semanas, 2.5 horas es una cantidad de tiempo insignificante.

Consultas grupales según la taxonomía

A veces, no obtendrá todas sus respuestas del análisis manual simple de sus datos. En esos casos, pasaría a un análisis más cuantitativo de mis datos. Esto es en lugar del primer enfoque, que considero cualitativo ya que estoy inspeccionando manualmente cada punto de datos.

Agrupar las consultas de los usuarios según una taxonomía es un enfoque eficiente para comprender mejor lo que los usuarios esperan de su LLM. Proporcionaré un ejemplo para que esto sea más fácil de entender:

Imagine que es Amazon y tiene un servicio al cliente LLM que maneja las preguntas entrantes del cliente. En este caso, una taxonomía se verá como:

  • Solicitudes de reembolso
  • Habla con las solicitudes humanas
  • Preguntas sobre productos individuales

Luego vería las últimas consultas de usuarios de 1000 y las anotaría manualmente en esta taxonomía. Esto le dirá qué preguntas son más frecuentes y cuáles debe centrarse más en responder correctamente. A menudo encontrará que la distribución de elementos en cada categoría seguirá un Distribución de paretocon la mayoría de los artículos que pertenecen a algunas categorías específicas.

Además, anota si una solicitud de cliente fue respondida con éxito o no. Con esta información, ahora puede descubrir con qué tipo de preguntas está luchando y en cuáles son sus LLM. Tal vez el LLM transfiere fácilmente las consultas de los clientes a los humanos cuando se solicite; Sin embargo, lucha cuando se considera detalles sobre un producto. En este caso, debe centrar su esfuerzo en mejorar el grupo de preguntas con las que más está luchando.

LLM como juez en un conjunto de datos dorado

Otro enfoque cuantitativo que utilizo para analizar mis salidas LLM es crear un conjunto de datos dorado de ejemplos de entrada-salida y utilizar LLM como juez. Esto ayudará cuando realice cambios en su LLM.

Continuando con el ejemplo de atención al cliente desde anteriormente, puede crear una lista de 50 consultas (reales) de usuario y la respuesta deseada de cada uno de ellos. Cada vez que realiza cambios en su LLM (cambie la versión del modelo, agregue más contexto, …), puede probar automáticamente el nuevo LLM en el conjunto de datos dorado y hacer que un Juez como juez determine si la respuesta del nuevo modelo es al menos tan buena como la respuesta del modelo anterior. Esto le ahorrará una gran cantidad de tiempo inspeccionar manualmente las salidas de LLM cada vez que actualice su LLM.

Si desea obtener más información sobre LLM como juez, puede leer Mi artículo de TDS sobre el tema aquí.

Paso 2: Mejora iterativamente su LLM

Ya terminaste con el primer paso, y ahora quieres usar esas ideas para mejorar tu LLM. En esta sección, discuto cómo abordo este paso para mejorar de manera eficiente el rendimiento de mi LLM.

Si descubro problemas importantes, por ejemplo, al inspeccionar los datos manualmente, siempre los arreglo primero. Esto puede, por ejemplo, descubrir que se agrega ruido innecesario al contexto de la LLM, o errores tipográficos en mis indicaciones. Cuando termine con eso, sigo usando algunas herramientas.

Una herramienta que uso son los optimizadores rápidos, como El rápido mejorador de Anthrope. Con estas herramientas, generalmente ingresa su solicitud y algunos ejemplos de entrada-salida. Puede, por ejemplo, ingresar el aviso que utiliza para sus agentes de servicio al cliente, junto con ejemplos de interacciones del cliente donde falló el LLM. El Optimizador del mensaje analizará su solicitud y ejemplos y devolverá una versión mejorada de su aviso. Es probable que vea mejoras como:

  • Estructura mejorada en su mensaje, por ejemplo, usando Markdown
  • Manejo de casos de borde. Por ejemplo, manejo de casos en los que el usuario consulte al agente de atención al cliente sobre temas completamente no relacionados, como preguntar “¿Cuál es el clima en Nueva York hoy?”. El optimizador del mensaje podría agregar algo como “si la pregunta no está relacionada con Amazon, dígale al usuario que solo está diseñado para responder preguntas sobre Amazon”.

Si tengo más datos cuantitativos, como de Agrupación de consultas de usuario o conjunto de datos doradoTambién analizo estos datos y creo un gráfico de esfuerzo de valor. El gráfico de esfuerzo de valor resalta las diferentes mejoras disponibles que puede hacer, como:

  • Manejo de estuches de borde mejorado en el aviso del sistema
  • Use un modelo de inscripción mejor para mejorar el trapo

Luego trazas estos puntos de datos en una cuadrícula 2D, como a continuación. Naturalmente, debe priorizar elementos en el cuadrante superior izquierdo porque proporcionan mucho valor y requieren poco esfuerzo. Normalmente, sin embargo, los elementos están contenidos en una diagonal, donde el valor mejorado se correlaciona fuertemente con un mayor esfuerzo requerido.

Esta figura muestra un gráfico de esfuerzo de valor. El gráfico de esfuerzo de valor muestra diferentes mejoras que puede hacer a su producto. Las mejoras se muestran en el gráfico de acuerdo con lo valiosos que son y el esfuerzo requerido para construirlas. Imagen de Chatgpt.

Puso todas mis sugerencias de mejora en un gráfico de valor de valor, y luego elijo gradualmente elementos que son lo más altos posible en valor y lo más bajo posible en el esfuerzo. Este es un enfoque súper efectivo para resolver rápidamente los problemas más apremiantes con su LLM, impactando positivamente el mayor número de clientes que puede por una cantidad determinada de esfuerzo.

Paso 3: evaluar e iterar

El último paso en mi proceso de tres pasos es evaluar mi LLM e iterar. Hay una gran cantidad de técnicas que puede usar para evaluar su LLM, muchas de las cuales cubro Mi artículo sobre el tema.

Preferiblemente, crea algunas métricas cuantitativas para el rendimiento de su LLMS, y se asegura de que esas métricas hayan mejorado a partir de los cambios que aplicó en el Paso 2. Después de aplicar estos cambios y verificar que mejoren su LLM, debe considerar si el modelo es lo suficientemente bueno o si debe continuar mejorando el modelo. A menudo opero con el principio del 80%, que establece que el rendimiento del 80% es lo suficientemente bueno en casi todos los casos. Este no es un 80% literal como en precisión. Más bien resalta el punto de que no necesita crear un modelo perfecto, sino que solo cree un modelo que sea lo suficientemente bueno.

Conclusión

En este artículo, he discutido el escenario en el que ya tiene una LLM en producción, y desea analizar y mejorar su LLM. Me acerco a este escenario analizando primero las entradas y salidas del modelo, preferiblemente mediante una inspección manual completa. Después de asegurarme de entender realmente el conjunto de datos y cómo se comporta el modelo, también me muevo a métricas más cuantitativas, como agrupar consultas en una taxonomía y usar LLM como juez. Después de esto, implemento mejoras basadas en mis hallazgos en el paso anterior y, por último, evalúo si mis mejoras funcionaron según lo previsto.

👉 Encuéntrame en Socials:

🧑‍💻 Ponerse en contacto

🔗 LinkedIn

🐦 X / Twitter

✍️ Medio

O lee mis otros artículos: