Los frameworks de testing tradicionales dan por hecho que una misma entrada siempre produce la misma salida. Con aplicaciones basadas en modelos de lenguaje esa premisa deja de ser cierta, y la mayoría de equipos no tiene ni idea de cómo testear algo así con rigor.
DevAcademy propone este curso para perfiles de QA y desarrollo que necesitan testear aplicaciones con IA de forma sistemática, más allá de «»probarlo a mano y ver si suena bien»», que es como se testea la mayoría del software con IA hoy en día.
- Comprender por qué el testing tradicional no es suficiente para sistemas no deterministas.
- Aplicar técnicas de evaluación automática de respuestas, incluyendo LLM-as-judge.
- Diseñar pruebas adversariales que encuentren fallos antes que el usuario.
- Construir benchmarks de calidad que se ejecuten en cada despliegue.
- Detectar regresiones de calidad provocadas por un cambio de prompt o de modelo.
Después de este curso sabrás construir una suite de evaluación automática para una aplicación con IA, capaz de detectar regresiones de calidad antes de que lleguen a producción.
Temario
- Diferencias con el testing de funciones puras:
- Qué significa que una misma entrada dé resultados distintos.
- Implicaciones para definir qué es un test que ‘pasa’ o ‘falla’.
- Nuevas categorías de fallo a considerar:
- Fallos de coherencia frente a fallos de exactitud.
- Fallos que solo aparecen en ciertos contextos o idiomas.
- Métricas cuantitativas y sus límites:
- Qué miden realmente las métricas automáticas más habituales.
- Casos donde una métrica alta no implica una buena respuesta.
- LLM-as-judge:
- Cómo usar otro modelo para evaluar la calidad de una respuesta.
- Límites y sesgos de este enfoque de evaluación.
- Búsqueda proactiva de casos de fallo:
- Técnicas para encontrar entradas que rompen el sistema.
- Priorización de qué casos adversariales probar primero.
- Documentación de los casos encontrados:
- Cómo convertir un fallo encontrado en un test permanente.
- Seguimiento de casos adversariales a lo largo del tiempo.
- Diseño de un conjunto de benchmarks propio:
- Qué casos incluir para representar el uso real de la aplicación.
- Cómo mantener el benchmark actualizado con el tiempo.
- Ejecución en cada despliegue:
- Cómo detectar que un cambio ha empeorado la calidad antes de publicarlo.
- Definición de un umbral mínimo aceptable antes de bloquear un despliegue.
- Aplicación práctica:
- Cada alumno construirá una suite de evaluación automática para una aplicación con LLM ya existente, incluyendo casos adversariales y un umbral de calidad mínimo aceptable antes de cada despliegue.
Responsabilidades profesor
Presentar el contenido conforme lo presentado en el programa de formación
Proyecto en Github para clonar
Dar acceso al material necesario (PDFs, ejercicios, software, etcs) para el curso contratado.
Proveer de local para impartir la formación
Responsabilidades alumno
Participar en la formación en el periodo determinado, trayendo un notebook con los requisitos mínimos necesarios para la participación en la formación, siendo estos los siguientes:
Mínimo de 4GB de memoria RAM
Mínimo de 10GB de espacio en disco (HD).
Habilitada la virtualización tanto en software como hardware
Poseer privilegios de administración
Observaciones importantes
Confirmaciones
Las confirmaciones serán enviadas a la dirección de e-mail enviada por el alumno
Cancelaciones
Los plazos para el cancelamiento de inscripciones solicitadas, son de 5 días laborales antes del inicio del curso.
En caso de cancelamiento fuera de plazo por parte del alumno, DevAcademy se reserva el derecho a cobrar un porcentaje (20%) del valor del curso.
DevAcademy se reserva el derecho de cancelar o posponer la formación, siempre y cuando avise al contratante y/o devuelva el importe íntegro en caso de cancelación
Obligaciones del alumno
Es obligatorio que el alumno cumpla con todos las obligaciones recomendadas por el profesor para seguir todos los ejercicios y no demorar ni perjudicar la clase. Es posible que días antes se envie un email como recordatorio al alumno con instrucciones a seguir u obligaciones desarrollar para poder estar preparado al comienzo de la clase.
