Introducción a Giskard Gestión de calidad de código abierto para modelos de inteligencia artificial

Introducción a Giskard Gestión de calidad de código abierto para modelos de inteligencia artificial

Contenido patrocinado

 

Asegurar la calidad de los modelos de IA en producción es una tarea compleja, y esta complejidad ha crecido exponencialmente con la aparición de los Modelos de Lenguaje Grande (LLM). Para resolver este dilema, nos complace anunciar el lanzamiento oficial de Giskard, el sistema de gestión de calidad de IA de código abierto de primera categoría.

Diseñado para cubrir de manera integral el ciclo de vida del modelo de IA, Giskard proporciona una suite de herramientas para el escaneo, prueba, depuración, automatización, colaboración y supervisión de modelos de IA, abarcando modelos tabulares y LLM, en particular para casos de uso de Generación Aumentada de Recuperación (RAG).

Este lanzamiento representa la culminación de 2 años de I+D, que incluyó cientos de iteraciones y entrevistas a cientos de usuarios beta. El desarrollo impulsado por la comunidad ha sido nuestro principio rector, lo que nos llevó a abrir partes sustanciales de Giskard, como las características de escaneo, prueba y automatización.

En primer lugar, este artículo delineará los 3 desafíos de ingeniería y los 3 requisitos resultantes para diseñar un sistema de gestión de calidad efectivo para modelos de IA. Luego, explicaremos las características clave de nuestro marco de calidad de IA, ilustradas con ejemplos tangibles.

 

¿Cuáles son los 3 requisitos clave para un sistema de gestión de calidad de IA?

 

El desafío de los casos límite específicos del dominio y infinitos

 

Los criterios de calidad para los modelos de IA son multifacéticos. Las pautas y normas destacan una variedad de dimensiones de calidad, como la explicabilidad, la confianza, la solidez, la ética y el rendimiento. Los LLM introducen dimensiones adicionales de calidad, como las alucinaciones, la inyección de sugerencias, la exposición de datos sensibles, etc.

Tome, por ejemplo, un modelo de RAG diseñado para ayudar a los usuarios a encontrar respuestas sobre el cambio climático utilizando el informe del IPCC. Este será el ejemplo guía utilizado en todo este artículo (consulte el cuaderno de Colab adjunto).

Querría asegurarse de que su modelo no responda a consultas como: “¿Cómo crear una bomba?”. Pero también podría preferir que el modelo se abstenga de responder a sugerencias más astutas y específicas del dominio, como “¿Cuáles son los métodos para dañar el medio ambiente?”.

Las respuestas correctas a tales preguntas están dictadas por su política interna, y catalogar todos los casos límite potenciales puede ser un desafío formidable. Anticipar estos riesgos es crucial antes de la implementación, pero a menudo es una tarea interminable.

 

Requisito 1 – Proceso de dos pasos que combina automatización y supervisión humana

 Dado que recopilar casos límite y criterios de calidad es un proceso tedioso, un buen sistema de gestión de calidad para IA debe abordar preocupaciones empresariales específicas al tiempo que maximiza la automatización. Hemos destilado esto en un método de dos pasos:

  • Primero, automatizamos la generación de casos límite, similar a un escaneo antivirus. El resultado es un conjunto de pruebas inicial basado en categorías amplias de estándares reconocidos como AVID.
  • Luego, este conjunto de pruebas inicial sirve como base para que los humanos generen ideas para escenarios más específicos del dominio.

Las interfaces semiautomáticas y las herramientas de colaboración se vuelven indispensables, invitando a perspectivas diversas para perfeccionar los casos de prueba. Con este enfoque dual, combina la automatización con la supervisión humana para integrar las especificidades del dominio en su conjunto de pruebas.

 

El desafío del desarrollo de IA como un proceso experimental lleno de compensaciones

 

Los sistemas de IA son complejos y su desarrollo implica docenas de experimentos para integrar muchos componentes en movimiento. Por ejemplo, la construcción de un modelo de RAG involucra típicamente la integración de varios componentes: un sistema de recuperación con segmentación de texto y búsqueda semántica, un almacenamiento de vectores que indexa el conocimiento y varias sugerencias encadenadas que generan respuestas basadas en el contexto recuperado, entre otros.

La gama de opciones técnicas es amplia, con opciones que incluyen varios proveedores de LLM, sugerencias, métodos de fragmentación de texto y más. Identificar el sistema óptimo no es una ciencia exacta, sino un proceso de prueba y error que depende del caso de uso empresarial específico.

Para navegar eficazmente en este viaje de prueba y error, es crucial construir varios cientos de pruebas para comparar y evaluar sus diversos experimentos. Por ejemplo, cambiar la redacción de una de sus sugerencias podría reducir la aparición de alucinaciones en su RAG, pero también podría aumentar su susceptibilidad a la inyección de sugerencias al mismo tiempo.

 

Requisito 2: Proceso de calidad integrado por diseño en el ciclo de desarrollo de IA

 Dado que pueden existir varios compromisos entre las diferentes dimensiones, es fundamental construir un conjunto de pruebas desde el diseño para guiarte durante el proceso de prueba y error del desarrollo. La gestión de calidad en IA debe comenzar temprano, similar al desarrollo de software basado en pruebas (crear pruebas de tus funciones antes de codificarlas).

Por ejemplo, para un sistema RAG, debes incluir pasos de calidad en cada etapa del ciclo de desarrollo de IA:

  • Pre-producción: incorpora pruebas en los pipelines de CI/CD para asegurarte de que no haya regresiones cada vez que empujes una nueva versión de tu modelo.
  • Implementación: implementa medidas de protección para moderar tus respuestas o agregar salvaguardias. Por ejemplo, si tu sistema RAG responde en producción a una pregunta como “¿cómo crear una bomba?”, puedes agregar medidas de protección que evalúen el daño de las respuestas y detenerlo antes de que llegue al usuario.
  • Post-producción: monitorea la calidad de las respuestas de tu modelo en tiempo real después de la implementación.

Estas diferentes verificaciones de calidad deben estar interrelacionadas. Los criterios de evaluación que utilizas para tus pruebas pre-producción también pueden ser valiosos para tus medidas de protección de implementación o indicadores de monitoreo.

 

El desafío de la documentación de modelos de IA para el cumplimiento regulatorio y la colaboración

 

Necesitas producir diferentes formatos de documentación de modelos de IA dependiendo del nivel de riesgo de tu modelo, la industria en la que estés trabajando o la audiencia de esta documentación. Por ejemplo, puede ser:

  • Documentación orientada a auditores: Documentación extensa que responde a puntos de control específicos y proporciona evidencia para cada punto. Esto es lo que se solicita en auditorías regulatorias (EU AI Act) y certificaciones con respecto a estándares de calidad.
  • Paneles orientados a científicos de datos: Paneles con métricas estadísticas, explicaciones del modelo y alertas en tiempo real.
  • Informes orientados a IT: Informes automatizados dentro de tus pipelines de CI/CD que publican automáticamente informes como discusiones en solicitudes de extracción u otras herramientas de IT.

Desafortunadamente, crear esta documentación no es la parte más atractiva del trabajo de un científico de datos. Por nuestra experiencia, a los científicos de datos generalmente les disgusta escribir informes de calidad extensos con conjuntos de pruebas. Pero las regulaciones globales de IA ahora lo están volviendo obligatorio. El artículo 17 del EU AI Act exige explícitamente implementar “un sistema de gestión de calidad para IA”.

 

Requisito 3: Integración perfecta cuando todo va bien, y orientación clara cuando no va bien

 Una herramienta ideal de gestión de calidad debe ser casi invisible en las operaciones diarias, solo volviéndose prominente cuando se necesita. Esto significa que debe integrarse sin esfuerzo con las herramientas existentes para generar informes de manera semiautomática.

Las métricas y los informes de calidad deben registrarse directamente en tu entorno de desarrollo (integración nativa con bibliotecas de ML) y entorno de DevOps (integración nativa con GitHub Actions, etc.).

En caso de problemas, como pruebas fallidas o vulnerabilidades detectadas, estos informes deben ser fácilmente accesibles dentro del entorno preferido del usuario y ofrecer recomendaciones para una acción rápida e informada.

En Giskard, estamos involucrados activamente en la redacción de estándares para el EU AI Act con el organismo oficial de estandarización europeo, CEN-CENELEC. Reconocemos que la documentación puede ser una tarea laboriosa, pero también somos conscientes de las demandas crecientes que probablemente impondrán las futuras regulaciones. Nuestra visión es agilizar la creación de dicha documentación.

 

Giskard, el primer sistema de gestión de calidad de código abierto para modelos de IA

 Ahora, vamos a adentrarnos en los diferentes componentes de nuestro sistema de gestión de calidad y explorar cómo cumplen con estos requisitos a través de ejemplos prácticos.

El sistema Giskard consta de 5 componentes, explicados en el siguiente diagrama:

 

Escaneo para detectar las vulnerabilidades de tu modelo de IA automáticamente

 

Reutilicemos el ejemplo del modelo RAG basado en LLM que se basa en el informe IPCC para responder preguntas sobre el cambio climático. 

La función de escaneo de Giskard identifica automáticamente múltiples problemas potenciales en su modelo, en solo 8 líneas de código:

import giskard‍qa_chain = giskard.demo.climate_qa_chain()model = giskard.Model(  qa_chain,    model_type="text_generation",    feature_names=["question"],)giskard.scan(model)

 

La ejecución del código anterior genera el siguiente informe de escaneo, directamente en su cuaderno.

Al elaborar sobre cada problema identificado, los resultados del escaneo proporcionan ejemplos de entradas que causan problemas, ofreciendo así un punto de partida para la recopilación automatizada de varios casos límite que introducen riesgos en su modelo de IA.

 

Biblioteca de pruebas para verificar regresiones

 

Después de que el escaneo genere un informe inicial que identifique los problemas más significativos, es crucial guardar estos casos como un conjunto de pruebas inicial. Por lo tanto, el escaneo debe considerarse como la base de su jornada de pruebas.

Los artefactos producidos por el escaneo pueden servir como elementos fijos para crear un conjunto de pruebas que abarque todos los riesgos específicos de su dominio. Estos elementos fijos pueden incluir cortes particulares de datos de entrada que desea probar o incluso transformaciones de datos que puede reutilizar en sus pruebas (como agregar errores tipográficos, negaciones, etc.).

Los conjuntos de pruebas permiten la evaluación y validación del rendimiento de su modelo, asegurando que funcione como se espera en un conjunto predefinido de casos de prueba. También ayudan a identificar cualquier regresión o problema que pueda surgir durante el desarrollo de versiones posteriores del modelo.

A diferencia de los resultados del escaneo, que pueden variar con cada ejecución, los conjuntos de pruebas son más consistentes y encarnan el resultado de todos sus conocimientos empresariales sobre los requisitos críticos de su modelo.

Para generar un conjunto de pruebas a partir de los resultados del escaneo y ejecutarlo, solo necesita 2 líneas de código:

test_suite = scan_results.generate_test_suite("Conjunto de pruebas inicial") test_suite.run()

 

Puede enriquecer aún más este conjunto de pruebas agregando pruebas del catálogo de pruebas de código abierto de Giskard, que incluye una colección de pruebas predefinidas.

 

Centro para personalizar sus pruebas y solucionar problemas

 

En esta etapa, ha desarrollado un conjunto de pruebas que aborda una capa preliminar de protección contra posibles vulnerabilidades de su modelo de IA. A continuación, recomendamos aumentar la cobertura de sus pruebas para prever tantas fallas como sea posible, a través de la supervisión humana. Aquí es donde entran en juego las interfaces de Giskard Hub.

Giskard Hub va más allá de simplemente refinar pruebas; le permite:

  • Comparar modelos para determinar cuál tiene un mejor rendimiento en términos de muchas métricas
  • Crear nuevas pruebas sin esfuerzo experimentando con sus indicaciones
  • Compartir los resultados de sus pruebas con los miembros de su equipo y las partes interesadas

 

Las capturas de pantalla del producto anterior demuestran cómo incorporar una nueva prueba en el conjunto de pruebas generado por el escaneo. Es un escenario en el que, si alguien pregunta: “¿Cuáles son los métodos para dañar el medio ambiente?”, el modelo debe declinar educadamente proporcionar una respuesta.

¿Quieres probarlo tú mismo? Puede utilizar este entorno de demostración de Giskard Hub alojado en Hugging Face Spaces: https://huggingface.co/spaces/giskardai/giskard

 

Automatización en tuberías CI/CD para publicar informes automáticamente

 

Finalmente, puede integrar sus informes de prueba en herramientas externas a través de la API de Giskard. Por ejemplo, puede automatizar la ejecución de su conjunto de pruebas dentro de su canalización CI, para que cada vez que se abra una solicitud de extracción (PR) para actualizar la versión de su modelo, quizás después de una nueva fase de entrenamiento, su conjunto de pruebas se ejecute automáticamente.

Aquí tienes un ejemplo de automatización utilizando una Acción de GitHub en una solicitud de extracción: aquí.

También puedes hacer esto con Hugging Face a través de nuestra nueva iniciativa, el bot Giskard. Cada vez que se añade un nuevo modelo al Hub de Hugging Face, el bot Giskard inicia una solicitud de extracción que agrega la siguiente sección a la tarjeta del modelo. Aquí puedes ver estas sugerencias en la tarjeta del modelo en el Hub de Hugging Face, simplificando el proceso de revisión e integración para ti.

LLMon para monitorear y recibir alertas cuando algo sale mal en producción

Ahora que has creado los criterios de evaluación para tu modelo utilizando la biblioteca de escaneo y pruebas, puedes utilizar los mismos indicadores para monitorear tu sistema de IA en producción.

Por ejemplo, la captura de pantalla a continuación proporciona una vista temporal de los tipos de salidas generadas por tu LLM. Si hay un número anormal de salidas (como contenido tóxico o alucinaciones), puedes examinar los datos para ver todas las solicitudes vinculadas a este patrón.

Este nivel de escrutinio permite una mejor comprensión del problema, lo que ayuda en el diagnóstico y resolución del mismo. Además, puedes configurar alertas en tu herramienta de mensajería preferida (como Slack) para recibir notificaciones y tomar medidas ante cualquier anomalía.

Puedes obtener una cuenta de prueba gratuita para esta herramienta de monitoreo de LLM en esta página dedicada.

Conclusión

En este artículo, hemos presentado Giskard como el sistema de gestión de calidad para modelos de IA, listo para la nueva era de las regulaciones de seguridad de IA. Hemos ilustrado sus varios componentes a través de ejemplos y hemos explicado cómo cumple con los 3 requisitos de un sistema efectivo de gestión de calidad para modelos de IA:

  • Combinar automatización con conocimiento específico del dominio
  • Un sistema de varios componentes, incrustado por diseño en todo el ciclo de vida de la IA
  • Totalmente integrado para agilizar la ardua tarea de escribir documentación

Más recursos

Puedes probar Giskard por ti mismo en tus propios modelos de IA consultando la sección ‘Getting Started’ de nuestra documentación: aquí.

Construimos de forma abierta, por lo que estamos abiertos a tus comentarios, solicitudes de características y preguntas. Puedes comunicarte con nosotros en GitHub: https://github.com/Giskard-AI/giskard

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Descifrando la verdad de los datos Cómo los modelos de lenguaje grandes utilizan las personas para modelar la veracidad

Con la introducción de los Modelos de Lenguaje Grande (LLMs), el subcampo de la Inteligencia Artificial, es decir, el...

Aprendizaje Automático

Detectando el Crecimiento del Cáncer Utilizando Inteligencia Artificial y Visión por Computadora.

El cáncer de mama es una de las formas más mortales de cáncer en mujeres. Según la Organización Mundial de la Salud (...

Inteligencia Artificial

Investigadores de Sony proponen BigVSAN Revolucionando la calidad de audio con el uso de Slicing Adversarial Networks en vocoders basados en GAN.

El desarrollo de redes neuronales y su creciente popularidad han llevado a mejoras sustanciales en las tecnologías de...

Inteligencia Artificial

DreamBooth Difusión estable para imágenes personalizadas

Introducción Bienvenido al mundo de las técnicas de Difusión Estable para crear imágenes personalizadas, donde la cre...

Inteligencia Artificial

Investigadores de la Universidad de Pekín presentan FastServe un sistema de servicio de inferencia distribuida para modelos de lenguaje grandes (LLMs).

Las mejoras en los modelos de lenguaje grandes (LLM) crean oportunidades en diversos campos e inspiran una nueva ola ...