Introducción
Evaluar modelos de lenguaje grandes (LLMs) y pequeños (SLMs) en datos personalizados es esencial para garantizar su rendimiento en casos de uso específicos. Azure Prompt Flow, combinado con Azure Machine Learning (AML), ofrece una solución robusta para construir pipelines de evaluación que permiten comparar modelos en escenarios reales. Este artículo detalla cómo implementar un pipeline de evaluación utilizando estas herramientas.
Note: Este enfoque es particularmente útil para organizaciones que buscan optimizar modelos de lenguaje para tareas específicas, como generación de texto, clasificación o análisis semántico.
Preparación del entorno
Requisitos previos
Antes de comenzar, asegúrate de tener configurados los siguientes recursos en Azure:
- Azure Machine Learning Workspace: Necesitarás un workspace activo para gestionar los experimentos y pipelines.
- Prompt Flow: Habilitado dentro de tu workspace de AML.
- Modelos de lenguaje: Puedes usar modelos preentrenados disponibles en Azure AI o cargar tus propios modelos personalizados.
Configuración inicial
Primero, inicia sesión en tu cuenta de Azure y configura el entorno de trabajo. Usa el siguiente comando para autenticarte en Azure CLI:
az login
Luego, selecciona el subscription y el resource group donde se encuentra tu workspace de AML:
az account set --subscription "<ID_DE_TU_SUBSCRIPCIÓN>"
az configure --defaults group="<NOMBRE_DE_TU_RESOURCE_GROUP>"
Warning: Asegúrate de que los permisos de tu cuenta incluyen acceso a los recursos de AML y Prompt Flow. Sin estos permisos, no podrás completar la configuración.
Creación del pipeline de evaluación
Paso 1: Implementación del modelo en un endpoint online
Para evaluar un modelo, primero necesitas desplegarlo en un endpoint online. Usa el siguiente código para registrar tu modelo en AML:
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model, OnlineEndpoint, Deployment
# Configuración del cliente de AML
ml_client = MLClient.from_config()
# Registro del modelo
model = Model(
path="./model/",
name="mi-modelo-llm",
description="Modelo LLM personalizado para evaluación",
tags={"tipo": "LLM", "versión": "1.0"}
)
ml_client.models.create_or_update(model)
# Creación del endpoint online
endpoint = OnlineEndpoint(
name="mi-endpoint-llm",
description="Endpoint para evaluación de LLMs",
auth_mode="key"
)
ml_client.online_endpoints.create_or_update(endpoint)
# Despliegue del modelo en el endpoint
deployment = Deployment(
name="mi-despliegue-llm",
endpoint_name=endpoint.name,
model=model,
instance_type="Standard_DS3_v2",
instance_count=1
)
ml_client.online_deployments.create_or_update(deployment)
Note: El tamaño de instancia
Standard_DS3_v2es adecuado para pruebas iniciales. Para cargas más pesadas, considera opciones comoStandard_NC6.
Paso 2: Configuración de Prompt Flow
Prompt Flow permite crear flujos de trabajo interactivos para evaluar modelos. Configura un flujo básico para comparar el rendimiento de un SLM y un LLM en tareas de clasificación de texto.
Creación de un flujo de trabajo
- Accede a tu workspace de AML y selecciona la opción de Prompt Flow.
- Crea un nuevo flujo de trabajo y define los siguientes pasos:
- Input: Datos personalizados para evaluación.
- Model Evaluation: Configura las llamadas al endpoint online.
- Metrics Calculation: Define las métricas de evaluación (precisión, recall, F1-score).
Ejemplo de configuración en YAML
steps:
- name: input_data
type: data_input
parameters:
path: "datasets/evaluacion.csv"
- name: model_evaluation
type: model_inference
parameters:
endpoint: "https://<NOMBRE_DE_TU_ENDPOINT>.azureml.net"
model: "mi-modelo-llm"
- name: metrics_calculation
type: metrics
parameters:
metrics:
- name: accuracy
- name: f1_score
Warning: Asegúrate de que el dataset
evaluacion.csvesté almacenado en tu workspace de AML y tenga el formato correcto.
Paso 3: Ejecución y análisis
Ejecuta el flujo de trabajo desde la interfaz de Prompt Flow. Los resultados se mostrarán en tiempo real, incluyendo las métricas calculadas para cada modelo.
Comparación de resultados
Una vez ejecutado el pipeline, analiza los resultados obtenidos por el SLM y el LLM. Usa las métricas generadas para identificar cuál modelo se adapta mejor a tus datos personalizados.
Note: En escenarios donde los datos son limitados, los SLMs pueden ofrecer un rendimiento competitivo con menor costo computacional.
Conclusión
Azure Prompt Flow, junto con AML, proporciona una solución escalable para evaluar modelos de lenguaje en datos personalizados. Este enfoque no solo permite comparar modelos, sino también optimizar su rendimiento para tareas específicas.
Para profundizar en el rendimiento de modelos frontier como Claude Sonnet 4.6, consulta nuestro artículo relacionado: Claude Sonnet 4.6 en Microsoft Foundry: Rendimiento Frontier a Escala.
Note: La elección entre SLMs y LLMs dependerá de tus necesidades específicas de negocio, presupuesto y capacidad de datos.