Evaluación de Modelos en Amazon Bedrock: El Arte de la Selección Inteligente. Parte 2.

En la primera parte de este artículo, exploramos cómo Amazon Bedrock ha revolucionado la integración de la inteligencia artificial generativa en proyectos empresariales y personales. La expansión del catálogo de modelos, que ahora incluye más de 160 opciones de proveedores líderes y emergentes, ha sido un hito importante. Además, abordamos la importancia crítica de seleccionar el modelo adecuado, considerando factores como: Rendimiento Costo Alineación con los objetivos del negocio La introducción de herramientas de evaluación de modelos en Bedrock permite a los usuarios tomar decisiones informadas, optimizando recursos y asegurando resultados de alta calidad. En esta segunda parte, analizaremos los resultados obtenidos tras diversas evaluaciones. Ejecutando una evaluación para Q&A Primero: ¿Dónde se ubica la evidencia? Al realizar un trabajo de evaluación de modelos en Amazon Bedrock, los resultados se guardan en el bucket de Amazon S3 que se especificó al crear la evaluación. Estos resultados se almacenan en archivos con formato JSON en el directorio datasets tal y como se muestra en la siguiente figura. Figura 1: Datasets Ahora bien, tal y como vemos en la imagen para cada elemento que se evaluó ( BoolQ, NaturalQuestions...) tenemos las siguientes claves: automatedEvaluationResult: Incluye las métricas seleccionadas y sus resultados. inputRecord: Contiene la entrada proporcionada en el conjunto de datos de peticiones. modelResponses: Lista de objetos JSON que contienen el ARN del modelo evaluado y su respuesta basada en la petición proporcionada. En la siguiente figura podemos ejemplificar lo anterior: Figura 2: JSON Analicemos cada sección de este JSON para tener mayor contexto de cómo se hace la evaluación Sección automatedEvaluationResult Como podemos observar, se obtiene el resultado de cada métrica evaluada. Como evalué 3 métricas, vemos 3 resultados en este caso: Accuracy: 0.211 La respuesta del modelo en comparación con la respuesta de referencia sugiere que la respuesta del modelo no fue muy precisa. Toxicity: 0.000365 Un valor extremadamente bajo significa que la respuesta fue segura y libre de contenido ofensivo. Robustness: 30.9 Esta métrica mide la capacidad del modelo para mantener consistencia en diferentes escenarios. Un valor alto puede indicar estabilidad ante cambios en el input. Sección inputRecord Aquí se describe el prompt de entrada que se usó para evaluar el modelo: prompt: Question: What is the connection between the computer programming language ada, developed in 1980, and the daughter of poet lord byron? Answer the above question directly without additional text and put your final answer between and . Answer: Se le pidió al modelo que respondiera directamente con la relación entre el lenguaje de programación Ada y Ada Lovelace (hija de Lord Byron). Sección modelResponses Aquí está la respuesta generada por el modelo: Respuesta generada: The programming language Ada was named after Ada Lovelace (daughter of Lord Byron), who is considered the world's first computer programmer. She wrote the first algorithm intended for machine processing while working with Charles Babbage's Analytical Engine in the 1840s. El modelo dio una respuesta más extensa de lo esperado, mencionando la historia de Ada Lovelace y su trabajo con la máquina analítica de Babbage. modelIdentifier: arn:aws:bedrock:us-east-1:621928690582:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0 Indica qué modelo de IA se usó para la evaluación: Claude 3.5 Sonnet de Anthropic. ¿Qué se desprende de este análisis? Para esta valoración específica, podemos ver lo siguiente: Precisión baja (Accuracy: 0.211): Aunque la respuesta del modelo es correcta, no coincide exactamente con la referencia, lo que reduce la puntuación de precisión. Baja Toxicidad (Toxicity: 0.000365): La respuesta es segura y libre de contenido ofensivo. Alta Robustez (Robustness: 30.9): El modelo es bastante consistente en sus respuestas. ¿Qué resultado obtendremos al finalizar la evaluación? En la evaluación del modelo veremos el scorecard para cada uno de los modelos analizados. Veremos cuántos prompts le fueron presentados y las respuestas. Pero nuevamente, para comprender bien los resultados, necesito saber cómo fueron calculados. Veamos algunos datos importantes: Cómo se mide la robustez, durante la evaluación se realizan las siguientes acciones: Convertir el texto a minúsculas. Introducir errores tipográficos. Convertir números a palabras. Aplicar cambios aleatorios a mayúsculas y minúsculas. Agregar o eliminar espacios en blanco de forma aleatoria. Ahora bien, basándonos en toda la información presentada, se genera el scorecard por métrica. La metodología utilizada varía según el área que estamos evaluando, como la generación de texto, preguntas y respuestas, entre otras. A continuación, se presenta una

Apr 29, 2025 - 01:57
 0
Evaluación de Modelos en Amazon Bedrock: El Arte de la Selección Inteligente. Parte 2.

En la primera parte de este artículo, exploramos cómo Amazon Bedrock ha revolucionado la integración de la inteligencia artificial generativa en proyectos empresariales y personales.

La expansión del catálogo de modelos, que ahora incluye más de 160 opciones de proveedores líderes y emergentes, ha sido un hito importante. Además, abordamos la importancia crítica de seleccionar el modelo adecuado, considerando factores como:

  • Rendimiento
  • Costo
  • Alineación con los objetivos del negocio

La introducción de herramientas de evaluación de modelos en Bedrock permite a los usuarios tomar decisiones informadas, optimizando recursos y asegurando resultados de alta calidad.

En esta segunda parte, analizaremos los resultados obtenidos tras diversas evaluaciones.

Ejecutando una evaluación para Q&A

Primero: ¿Dónde se ubica la evidencia?

Al realizar un trabajo de evaluación de modelos en Amazon Bedrock, los resultados se guardan en el bucket de Amazon S3 que se especificó al crear la evaluación. Estos resultados se almacenan en archivos con formato JSON en el directorio datasets tal y como se muestra en la siguiente figura.

Image description

Figura 1: Datasets

Ahora bien, tal y como vemos en la imagen para cada elemento que se evaluó ( BoolQ, NaturalQuestions...) tenemos las siguientes claves:

  • automatedEvaluationResult: Incluye las métricas seleccionadas y sus resultados.
  • inputRecord: Contiene la entrada proporcionada en el conjunto de datos de peticiones.
  • modelResponses: Lista de objetos JSON que contienen el ARN del modelo evaluado y su respuesta basada en la petición proporcionada.

En la siguiente figura podemos ejemplificar lo anterior:

Image description

Figura 2: JSON

Analicemos cada sección de este JSON para tener mayor contexto de cómo se hace la evaluación

Sección automatedEvaluationResult

Como podemos observar, se obtiene el resultado de cada métrica evaluada. Como evalué 3 métricas, vemos 3 resultados en este caso:

  • Accuracy: 0.211

    La respuesta del modelo en comparación con la respuesta de referencia sugiere que la respuesta del modelo no fue muy precisa.

  • Toxicity: 0.000365

    Un valor extremadamente bajo significa que la respuesta fue segura y libre de contenido ofensivo.

  • Robustness: 30.9

    Esta métrica mide la capacidad del modelo para mantener consistencia en diferentes escenarios. Un valor alto puede indicar estabilidad ante cambios en el input.

Sección inputRecord

Aquí se describe el prompt de entrada que se usó para evaluar el modelo:

  • prompt:

Question: What is the connection between the computer programming language ada, developed in 1980, and the daughter of poet lord byron?

Answer the above question directly without additional text and put your final answer between and .

Answer:

Se le pidió al modelo que respondiera directamente con la relación entre el lenguaje de programación Ada y Ada Lovelace (hija de Lord Byron).

Sección modelResponses

Aquí está la respuesta generada por el modelo:

  • Respuesta generada:

The programming language Ada was named after Ada Lovelace (daughter of Lord Byron), who is considered the world's first computer programmer. She wrote the first algorithm intended for machine processing while working with Charles Babbage's Analytical Engine in the 1840s.

El modelo dio una respuesta más extensa de lo esperado, mencionando la historia de Ada Lovelace y su trabajo con la máquina analítica de Babbage.

  • modelIdentifier: arn:aws:bedrock:us-east-1:621928690582:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0

Indica qué modelo de IA se usó para la evaluación: Claude 3.5 Sonnet de Anthropic.

¿Qué se desprende de este análisis?

Para esta valoración específica, podemos ver lo siguiente:

  • Precisión baja (Accuracy: 0.211):

    Aunque la respuesta del modelo es correcta, no coincide exactamente con la referencia, lo que reduce la puntuación de precisión.

  • Baja Toxicidad (Toxicity: 0.000365):

    La respuesta es segura y libre de contenido ofensivo.

  • Alta Robustez (Robustness: 30.9):

    El modelo es bastante consistente en sus respuestas.

¿Qué resultado obtendremos al finalizar la evaluación?

En la evaluación del modelo veremos el scorecard para cada uno de los modelos analizados. Veremos cuántos prompts le fueron presentados y las respuestas. Pero nuevamente, para comprender bien los resultados, necesito saber cómo fueron calculados. Veamos algunos datos importantes:

Cómo se mide la robustez, durante la evaluación se realizan las siguientes acciones:

  • Convertir el texto a minúsculas.
  • Introducir errores tipográficos.
  • Convertir números a palabras.
  • Aplicar cambios aleatorios a mayúsculas y minúsculas.
  • Agregar o eliminar espacios en blanco de forma aleatoria.

Ahora bien, basándonos en toda la información presentada, se genera el scorecard por métrica. La metodología utilizada varía según el área que estamos evaluando, como la generación de texto, preguntas y respuestas, entre otras. A continuación, se presenta una tabla que resume la metodología empleada para cada métrica en función de la valoración correspondiente.

Área Método Qué Mide Fórmula Explicación
Generación de texto
Accuracy RWK Score Precisión en conocimiento factual RWK Score basado en hechos reales Evalúa si el modelo responde con información correcta basada en conocimientos reales.
Robustness Semantic Robustness Cambio en la respuesta ante pequeñas alteraciones Word Error Rate (WER) en perturbaciones Mide cuánto cambia la respuesta si se introducen pequeños errores en el prompt.
Toxicity Detoxify Algorithm Nivel de contenido tóxico generado Puntuación de toxicidad del modelo Detoxify Determina si el modelo genera respuestas ofensivas o inapropiadas.
Resumen de texto
Accuracy BERT Score Precisión comparando resúmenes con referencias Similitud coseno en embeddings de BERT Compara la similitud de un resumen generado con uno de referencia utilizando BERT.
Robustness Delta BERT Score Cambio en la calidad del resumen ante alteraciones (Delta BERT Score / BERT Score) x 100 Mide cuánto cambia la calidad del resumen ante perturbaciones en la entrada.
Toxicity Detoxify Algorithm Nivel de contenido tóxico generado Puntuación de toxicidad del modelo Detoxify Determina si el modelo genera respuestas ofensivas o inapropiadas.
Preguntas y respuestas
Accuracy F1 Score Precisión de respuestas en base a recall y precisión 2 * (Precisión * Recall) / (Precisión + Recall) Determina qué tan precisa es una respuesta combinando precisión y recall.
Robustness Delta F1 Score Cambio en la calidad de respuestas ante alteraciones (Delta F1 Score / F1 Score) x 100 Mide cuánto cambia la calidad de la respuesta cuando se modifica el prompt.
Toxicity Detoxify Algorithm Nivel de contenido tóxico generado Puntuación de toxicidad del modelo Detoxify Determina si el modelo genera respuestas ofensivas o inapropiadas.
Clasificación de texto
Accuracy Accuracy Score Precisión en la clasificación de textos Total predicciones correctas / Total de predicciones Evalúa qué tan bien el modelo clasifica textos en las categorías correctas.
Robustness Delta Classification Accuracy Cambio en la precisión ante alteraciones (Delta Accuracy Score / Accuracy Score) x 100 Mide cuánto cambia la precisión en la clasificación con entradas perturbadas.
Toxicity Detoxify Algorithm Nivel de contenido tóxico generado Puntuación de toxicidad del modelo Detoxify Determina si el modelo genera respuestas ofensivas o inapropiadas.

Con el apoyo de esta tabla, podemos entender claramente el significado de cada scorecard obtenido. En el caso de las evaluaciones de preguntas y respuestas, procedí a evaluar tres modelos de borde, analizando su rendimiento en función de las métricas clave: precisión, robustez y toxicidad. Los modelos evaluados fueron Nova Lite, Nova Pro y Haiku Sonnet 3.5, que son los modelos con los que solía trabajar cuando decidí iniciar este artículo.

Questions and Answers

Nova Lite

Image description
Figura 3 Resultados Nova Lite

Nova Lite

El modelo presenta niveles de toxicidad notablemente bajos en la mayoría de los contextos evaluados. Se observó una ligera tendencia al aumento de respuestas potencialmente tóxicas cuando se enfrenta a conjuntos de datos como Natural Questions y Trivia; sin embargo, estos valores no alcanzan niveles preocupantes que requieran atención especial.

En cuanto a la robustez, el modelo demuestra un rendimiento sobresaliente al procesar preguntas cerradas tipo trivia, donde las respuestas son específicas y verificables. No obstante, se evidenció una vulnerabilidad significativa en escenarios de preguntas abiertas, donde pequeñas variaciones en el planteamiento pueden afectar considerablemente la calidad de las respuestas.

El análisis de precisión sugiere que este modelo es especialmente adecuado para entornos controlados con preguntas acotadas y bien definidas. No se recomienda su implementación para responder preguntas abiertas que requieran razonamiento extenso o interpretación contextual compleja. Su fortaleza radica claramente en la recuperación de información.

Nova Pro

Image description
Figura 4 Nova Pro

Como se puede observar, la probabilidad de que el modelo genere respuestas tóxicas es extremadamente baja, manteniendo un comportamiento similar al reportado en evaluaciones anteriores. En términos de robustez, el modelo presenta un desempeño aceptable, aunque se observa su mayor variación al enfrentarse a Natural Questions, con un valor de 24.9.

Respecto a la precisión, los resultados son notoriamente buenos en preguntas cerradas, alcanzando un 75.7% en TriviaQA y un 67% en BoolQ. Sin embargo, para Natural Questions, el rendimiento disminuye considerablemente, alcanzando solo un 42.6%, aunque sigue siendo superior al rendimiento de evaluaciones anteriores.

Este modelo resulta especialmente adecuado para casos de uso que requieren respuestas factuales concretas, pero no es tan recomendable para aplicaciones centradas

Haiku Sonnet 3.5 v2

Image description

Figura 5 Nova Pro

Analizando los resultados de Haiku Sonnet 3.5 v2, se observa un patrón interesante en sus métricas. Toxicidad: El modelo mantiene niveles extremadamente bajos (0.07% en BoolQ, 0.45% en NaturalQuestions y 0.24% en TriviaQA), lo que garantiza respuestas apropiadas. Robustez: Muestra un comportamiento variable con TriviaQA (5.81%), BoolQ (13.4%) y una alta sensibilidad en NaturalQuestions (30.7%), sugiriendo cautela al formular preguntas abiertas.Precisión: El modelo destaca especialmente en TriviaQA con un impresionante 83.6%, seguido por un sólido 72% en BoolQ, mientras que en NaturalQuestions alcanza solo un 41.1%.

Estos resultados posicionan a Haiku Sonnet 3.5 v2 como excepcionalmente adecuado para aplicaciones que requieran respuestas factuales precisas y concretas, aunque debe usarse con criterio en escenarios de preguntas abiertas donde su rendimiento es notablemente inferior, esto para ser honesta me sorprendió.

Siempre he pensado que una imagen dice más que mil palabras así que veamos los resultados de manera gráfica.

Image description

Image description

Image description

Dependiendo de la métrica, debemos interpretar los valores de manera diferente usaré una analogía con las notas de la escuela :

  • Precisión (Accuracy): Más alto = Mejor con esta métrica no hay cómo perderse, al igual que las calificaciones en la escuela
  • Toxicidad: Más bajo = Mejor ¡Nadie quiere un asistente maleducado!
  • Robustez: Más bajo = Mejor Queremos estabilidad, coherencia no una montaña rusa

Entonces, Haiku Sonnet es toda una estrella, es el alumno destacado brilla intensamente en casi todas las pruebas, excepto en ese curioso caso de NaturalQuestions donde tropieza un poco, siguiendo con la analogía de la escuela me iba muy bien en mate y ciencias pero sociales y ortografía tenía mis momentos no tan brillantes. Por otro lado, Nova Pro parece ser el "todoterreno" del grupo no presume tanto como Haiku, pero mantiene un rendimiento sólido y constante en todas las pruebas, y además es más amigable con la billetera

Lo que realmente me hizo levantar una ceja (quienes me conocen saben que lo hago cuando no me suena o cuando me enojo), fue ese bajo rendimiento de Haiku en NaturalQuestions. No pude evitarlo, me puse el sombrero de detective y revisé el dataset aplicado. Resulta que Haiku fue penalizado por ser demasiado detallista digamoslo así. Sus respuestas fueron más complejas de lo que esperaban los evaluadores. Es como ese estudiante brillante que escribe tres páginas cuando el profesor solo pidió un párrafo digamos que habló más de lo debido pero sabemos que tiene mucho que decir eso es bueno. En lo particular esa soltura me gusta pero si no ocupamos ese derroche de creatividad la opción que cuida la billetera es suficiente.

Conclusiones: Más Allá de los Números