Construye un tablero de monitoreo de modelo ML en vivo con Evidently
Tabla de contenido:
- Introducción
- Construyendo un Monitor y Tablero en Vivo para un Modelo de Aprendizaje Automático
2.1 Configuración del Espacio de Trabajo
2.2 Configuración del Proyecto
2.3 Configuración del Tablero
2.4 Creación del Panel de Pruebas Agregadas
2.5 Creación del Panel de Pruebas Detalladas
- Implementación del Servicio Colector
3.1 Creando el Cliente del Servicio Colector
3.2 Enviando Datos al Servicio Colector
- Configuración Principal y Ejecución del Script
- Conclusiones
- Recursos Adicionales
📈 Construyendo un Monitor y Tablero en Vivo para un Modelo de Aprendizaje Automático
En este artículo, exploraremos cómo construir un monitor y tablero en vivo para un modelo de aprendizaje automático desplegado como un servicio en línea. La idea es enviar datos directamente desde el servicio de aprendizaje automático al servicio de monitorización, para que este último gestione los cálculos de Instantáneas y almacenamiento. Discutiremos los pasos necesarios para configurar el espacio de trabajo, el proyecto y el tablero en Evidently UI. Luego, implementaremos el servicio colector que se encargará de recibir y gestionar los datos, y finalmente, ejecutaremos el script para enviar los datos de prueba al servicio colector.
1. Introducción
En el campo del aprendizaje automático, es crucial supervisar constantemente los modelos desplegados para garantizar su rendimiento y calidad. Un monitor y un tablero en vivo pueden proporcionar información valiosa sobre el funcionamiento de un modelo, permitiendo la detección de cualquier desviación o degradación en su rendimiento. En este artículo, aprenderemos cómo construir un monitor y un tablero en vivo para un modelo de aprendizaje automático utilizando Evidently, una herramienta poderosa y fácil de usar para el monitoreo de modelos en producción.
2. Construyendo un Monitor y Tablero en Vivo para un Modelo de Aprendizaje Automático
Para construir un monitor y un tablero en vivo para un modelo de aprendizaje automático, necesitaremos seguir una serie de pasos que incluyen la configuración del espacio de trabajo, la creación del proyecto y la configuración del tablero en Evidently UI. A continuación, detallaremos cada uno de estos pasos.
2.1 Configuración del Espacio de Trabajo
El primer paso es configurar el espacio de trabajo en Evidently UI. El espacio de trabajo es el entorno en el que organizaremos nuestros proyectos y tableros. Para configurar el espacio de trabajo, siga los siguientes pasos:
- Inicie sesión en Evidently UI y vaya a la página de inicio.
- Haga clic en "Crear espacio de trabajo" y proporcione un nombre para el espacio de trabajo.
- Haga clic en "Crear" para crear el espacio de trabajo.
Una vez que se haya creado el espacio de trabajo, podrá acceder a él y comenzar a configurar sus proyectos y tableros.
2.2 Configuración del Proyecto
El siguiente paso es configurar el proyecto en Evidently UI. Un proyecto es una colección de recursos y configuraciones relacionadas con un modelo de aprendizaje automático específico. Siga los pasos a continuación para configurar su proyecto:
- Vaya al espacio de trabajo en Evidently UI.
- Haga clic en "Crear proyecto" y proporcione un nombre para el proyecto.
- Asigne el proyecto al espacio de trabajo seleccionado y haga clic en "Crear".
Una vez que se haya creado el proyecto, estará listo para agregar configuraciones y recursos específicos del modelo.
2.3 Configuración del Tablero
El siguiente paso es configurar el tablero en Evidently UI. Un tablero es una vista personalizada que muestra visualmente los resultados del monitoreo del modelo. Siga los pasos a continuación para configurar su tablero:
- Vaya al proyecto en Evidently UI.
- Haga clic en "Crear tablero" y proporcione un nombre para el tablero.
- Agregue los paneles deseados al tablero, como el panel de pruebas agregadas y el panel de pruebas detalladas.
Una vez que haya configurado el tablero, podrá ver y analizar los resultados del monitoreo de su modelo en tiempo real.
2.4 Creación del Panel de Pruebas Agregadas
El panel de pruebas agregadas muestra una vista general de las pruebas realizadas en el modelo de aprendizaje automático. Proporciona métricas agregadas que pueden ayudar a identificar tendencias y patrones en el rendimiento del modelo. Siga los pasos a continuación para crear el panel de pruebas agregadas:
- Haga clic en "Añadir panel" en el tablero.
- Seleccione la opción "Pruebas Agregadas".
- Configure las opciones de visualización, como las métricas a mostrar y las agrupaciones requeridas.
- Haga clic en "Guardar" para agregar el panel al tablero.
Una vez que haya creado el panel de pruebas agregadas, podrá ver las métricas y los resultados de las pruebas de su modelo en una vista consolidada.
2.5 Creación del Panel de Pruebas Detalladas
El panel de pruebas detalladas muestra información detallada sobre las pruebas realizadas en el modelo de aprendizaje automático. Proporciona datos específicos sobre cada prueba individual, lo que permite una análisis más profundo del rendimiento del modelo. Siga los pasos a continuación para crear el panel de pruebas detalladas:
- Haga clic en "Añadir panel" en el tablero.
- Seleccione la opción "Pruebas Detalladas".
- Configure las opciones de visualización, como las métricas a mostrar y los filtros requeridos.
- Haga clic en "Guardar" para agregar el panel al tablero.
Una vez que haya creado el panel de pruebas detalladas, podrá ver información detallada sobre cada prueba individual realizada en su modelo.
3. Implementación del Servicio Colector
El servicio colector es el componente encargado de recibir y gestionar los datos enviados desde el servicio de aprendizaje automático. A continuación, detallaremos los pasos necesarios para implementar el servicio colector en su entorno.
3.1 Creando el Cliente del Servicio Colector
El primer paso es crear el cliente del servicio colector. Esto se puede hacer utilizando la biblioteca de request y estableciendo la dirección IP y el puerto del servicio colector. A continuación se muestra un ejemplo de implementación:
import requests
def create_collector_client(host, port):
collector_client = requests.Session()
collector_client.headers.update({'Content-Type': 'application/json'})
collector_client.verify = False
collector_client.url = f"http://{host}:{port}"
return collector_client
En el ejemplo anterior, hemos creado una función create_collector_client
que Toma como argumentos la dirección IP y el puerto del servicio colector. Esta función crea un cliente de sesión de request y establece la URL del servicio colector.
3.2 Enviando Datos al Servicio Colector
Una vez que hemos creado el cliente del servicio colector, podemos utilizarlo para enviar datos al servicio. A continuación se muestra un ejemplo de implementación:
import pandas as pd
def send_data(client, data):
response = client.post('/collect', json=data)
if response.status_code == 200:
print("Data sent successfully!")
else:
print("Error sending data:", response.text)
En el ejemplo anterior, hemos creado una función send_data
que toma como argumentos el cliente del servicio colector y los datos que deseamos enviar. Esta función utiliza la función post
del cliente de sesión de request para enviar los datos al servicio colector. Luego, verifica el código de estado de la respuesta y muestra un mensaje adecuado en función del resultado.
4. Configuración Principal y Ejecución del Script
Una vez que hemos configurado el espacio de trabajo, el proyecto y el tablero en Evidently UI, y hemos implementado el servicio colector, podemos proceder a la configuración principal y ejecución del script. A continuación se muestra un ejemplo de implementación:
def main():
host = 'localhost'
port = 5000
# Crear el cliente del servicio colector
collector_client = create_collector_client(host, port)
# Enviar datos al servicio colector
for i in range(50):
data = pd.DataFrame(...) # Obtener los datos de prueba
send_data(collector_client, data)
time.sleep(1)
En el ejemplo anterior, hemos creado una función main
que contiene la configuración principal y la ejecución del script. En esta función, establecemos la dirección IP y el puerto del servicio colector, creamos el cliente del servicio colector y enviamos los datos de prueba al servicio colector en un bucle for.
Para ejecutar el script, simplemente llamamos a la función main
. Asegúrese de tener el servicio colector en funcionamiento antes de ejecutar el script.
5. Conclusiones
En este artículo, hemos aprendido cómo construir un monitor y un tablero en vivo para un modelo de aprendizaje automático desplegado como un servicio en línea. Hemos visto cómo configurar el espacio de trabajo, el proyecto y el tablero en Evidently UI, cómo implementar el servicio colector y cómo enviar datos al servicio colector desde nuestro script. A través de este enfoque, podemos monitorear y visualizar el rendimiento de nuestros modelos en tiempo real, lo que nos permite identificar y abordar problemas de manera más eficiente.
6. Recursos Adicionales
💡 Destacados:
- Aprenda cómo construir un monitor y un tablero en vivo para un modelo de aprendizaje automático en línea.
- Configure el espacio de trabajo, el proyecto y el tablero en Evidently UI.
- Implemente el servicio colector para recibir y gestionar los datos enviados desde el servicio de aprendizaje automático.
- Envíe datos al servicio colector desde su script y visualice los resultados en tiempo real.
- Monitoree y mejore el rendimiento de sus modelos de aprendizaje automático.
Preguntas frecuentes:
Q: ¿Cuál es la función del servicio colector?
A: El servicio colector se encarga de recibir y gestionar los datos enviados desde el servicio de aprendizaje automático. Calcula instantáneas y almacena los resultados para su posterior análisis.
Q: ¿Qué es Evidently UI?
A: Evidently UI es una herramienta poderosa y fácil de usar para el monitoreo de modelos de aprendizaje automático en producción. Permite visualizar el rendimiento y las métricas de los modelos en tiempo real.
Q: ¿Es necesario configurar un espacio de trabajo y un proyecto en Evidently UI?
A: Sí, configurar un espacio de trabajo y un proyecto en Evidently UI es necesario para organizar y administrar los recursos relacionados con su modelo de aprendizaje automático.
Q: ¿Cuántas iteraciones se pueden realizar al enviar datos al servicio colector?
A: En el ejemplo dado, se realizan 50 iteraciones para enviar datos al servicio colector. Sin embargo, este número puede ajustarse según los requisitos y las necesidades del proyecto.
Q: ¿Se pueden visualizar diferentes métricas en el tablero de Evidently UI?
A: Sí, el tablero de Evidently UI permite configurar y visualizar diferentes métricas según las necesidades de monitoreo del modelo de aprendizaje automático.