Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker con Fiddler

Esta es una publicación de blog invitada de Danny Brock, Rajeev Govindan y Krishnaram Kenthapadi en Fiddler AI.

Amazon SageMaker Los modelos están en vivo. Manejan millones de inferencias cada día y generan mejores resultados comerciales para su empresa. Están funcionando exactamente tan bien como el día en que se lanzaron.

Eh, espera. ¿Son ellos? Quizás. Tal vez no.

Sin clase empresarial seguimiento del modelo, tus modelos pueden estar decayendo en silencio. Es posible que sus equipos de aprendizaje automático (ML) nunca sepan que estos modelos en realidad se han transformado de milagros de generación de ingresos a pasivos que toman decisiones incorrectas que le cuestan tiempo y dinero a su empresa.

No te preocupes. La solución está más cerca de lo que crees.

Fiddler, una solución de gestión del rendimiento de modelos de clase empresarial disponible en el AWS Marketplace, ofrece monitoreo de modelos e inteligencia artificial explicable para ayudar a los equipos de ML a inspeccionar y abordar una amplia gama de problemas de modelos. A través de la supervisión de modelos, la explicabilidad de modelos, el análisis y la detección de sesgos, Fiddler proporciona a su empresa un único panel de control fácil de usar para garantizar que sus modelos se comporten como deberían. Y si no lo son, Fiddler también proporciona funciones que le permiten inspeccionar sus modelos para encontrar las causas subyacentes de la disminución del rendimiento.

Esta publicación muestra cómo su MLOps El equipo puede mejorar la productividad de los científicos de datos y reducir el tiempo para detectar problemas en sus modelos implementados en SageMaker mediante la integración con Fiddler Model Performance Management Platform en unos simples pasos.

Resumen de la solución

La siguiente arquitectura de referencia destaca los principales puntos de integración. Fiddler existe como un "acompañante" para su flujo de trabajo existente de SageMaker ML.

El resto de esta publicación lo guía a través de los pasos para integrar su modelo de SageMaker con el de Fiddler. Plataforma de gestión del rendimiento del modelo:

  1. Asegúrese de que su modelo tenga habilitada la captura de datos.
  2. Cree un entorno de prueba de Fiddler.
  3. Registre información sobre su modelo en su entorno Fiddler.
  4. Crear una AWS Lambda Función para publicar inferencias de SageMaker en Fiddler.
  5. Explore las capacidades de supervisión de Fiddler en su entorno de prueba de Fiddler.

Requisitos previos

Esta publicación asume que configuró SageMaker e implementó un punto final modelo. Para obtener información sobre cómo configurar SageMaker para la publicación de modelos, consulte Implementar modelos para inferencia. Algunos ejemplos también están disponibles en el Repositorio GitHub.

Asegúrese de que su modelo tenga habilitada la captura de datos

En la consola de SageMaker, navegue hasta el extremo de servicio de su modelo y asegúrese de haber habilitado captura de datos en una Servicio de almacenamiento simple de Amazon (Amazon S3) cubeta. Esto almacena las inferencias (solicitudes y respuestas) que su modelo hace cada día como Archivos de líneas JSON (.jsonl) en Amazon S3.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Crear un entorno de prueba de Fiddler

Desde el violinista.ai sitio web, puede solicitar una prueba gratuita. Después de completar un formulario rápido, Fiddler se comunicará con usted para comprender los detalles de las necesidades de administración del rendimiento de su modelo y tendrá un entorno de prueba listo para usted en unas pocas horas. Puede esperar un entorno dedicado como https://yourcompany.try.fiddler.ai.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Registre información sobre su modelo en su entorno Fiddler

Antes de que pueda comenzar a publicar eventos desde su modelo alojado de SageMaker en Fiddler, debe crear un proyecto dentro de su entorno de prueba de Fiddler y proporcionar detalles de Fiddler sobre su modelo a través de un paso llamado registro de modelo. Si desea utilizar un portátil preconfigurado desde dentro Estudio Amazon SageMaker en lugar de copiar y pegar los siguientes fragmentos de código, puede hacer referencia al cuaderno de inicio rápido de Fiddler en GitHub. Studio proporciona una única interfaz visual basada en web donde puede realizar todos los pasos de desarrollo de ML.

Primero, debe instalar el Cliente de Fiddler Python en su cuaderno SageMaker e instanciar el cliente Fiddler. Puedes obtener el AUTH_TOKEN del desplegable Ajustes en su entorno de prueba de Fiddler.

# Install the fiddler client
!pip install fiddler-client

# Connect to the Fiddler Trial Environment
import fiddler as fdl
import pandas as pd

fdl.__version__

URL = 'https://yourcompany.try.fiddler.ai'
ORG_ID = 'yourcompany'
AUTH_TOKEN = 'UUID-Token-Here-Found-In-Your-Fiddler-Env-Settings-Page'

client = fdl.FiddlerApi(URL, ORG_ID, AUTH_TOKEN)

A continuación, cree un proyecto dentro de su entorno de prueba de Fiddler:

# Create Project
PROJECT_ID = 'credit_default'  # update this with your project name
DATASET_ID = f'{PROJECT_ID}_dataset'
MODEL_ID = f'{PROJECT_ID}_model'

client.create_project(PROJECT_ID)

Ahora cargue su conjunto de datos de entrenamiento. El cuaderno también proporciona un conjunto de datos de muestra para ejecutar Fiddler's explicabilidad algoritmos y como línea de base para monitorear métricas. El conjunto de datos también se usa para generar el esquema para este modelo en Fiddler.

# Upload Baseline Dataset
df_baseline = pd.read_csv(‘<your-training-file.csv>')

dataset_info = fdl.DatasetInfo.from_dataframe(df_baseline, max_inferred_cardinality=1000)

upload_result = client.upload_dataset(PROJECT_ID,
                                      dataset={'baseline': df_baseline},
                                      dataset_id=DATASET_ID,
                                      info=dataset_info)

Por último, antes de que pueda comenzar a publicar inferencias en Fiddler para monitoreo, análisis de causa raíz y explicaciones, debe registrar su modelo. Primero vamos a crear un model_info objeto que contiene los metadatos sobre su modelo:

# Update task from the list below if your model task is not binary classification
model_task = 'binary' 

if model_task == 'regression':
    model_task_fdl = fdl.ModelTask.REGRESSION
    
elif model_task == 'binary':
    model_task_fdl = fdl.ModelTask.BINARY_CLASSIFICATION

elif model_task == 'multiclass':
    model_task_fdl = fdl.ModelTask.MULTICLASS_CLASSIFICATION

elif model_task == 'ranking':
    model_task_fdl = fdl.ModelTask.RANKING

    
# Specify column types|
target = 'TARGET'
outputs = ['prediction']  # change this to your target variable
features = [‘<add your feature list here>’]
     
# Generate ModelInfo
model_info = fdl.ModelInfo.from_dataset_info(
    dataset_info=dataset_info,
    dataset_id=DATASET_ID,
    model_task=model_task_fdl,
    target=target,
    outputs=outputs,
    features=features,
    binary_classification_threshold=.125,  # update this if your task is not a binary classification
    description='<model-description>',
    display_name='<model-display-name>'
)
model_info

Luego puede registrar el modelo usando su nuevo model_info :

# Register Info about your model with Fiddler
client.register_model(
    project_id=PROJECT_ID,
    dataset_id=DATASET_ID,
    model_id=MODEL_ID,
    model_info=model_info
)

¡Excelente! Ahora puede publicar algunos eventos en Fiddler para observar el rendimiento del modelo.

Cree una función Lambda para publicar inferencias de SageMaker en Fiddler

Con la arquitectura sin servidor de Lambda fácil de implementar, puede crear rápidamente el mecanismo necesario para mover sus inferencias desde el depósito de S3 que configuró anteriormente a su entorno de prueba de Fiddler recién aprovisionado. Esta función Lambda es responsable de abrir cualquier archivo de registro de eventos JSONL nuevo en el depósito S3 de su modelo, analizar y formatear el contenido JSONL en un marco de datos y luego publicar ese marco de datos de eventos en su entorno de prueba de Fiddler. La siguiente captura de pantalla muestra los detalles del código de nuestra función.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

La función Lambda debe configurarse para que se active a partir de archivos recién creados en su depósito S3. El seguimiento tutoriales lo guía a través de la creación de un Puente de eventos de Amazon activador que invoca la función Lambda cada vez que se carga un archivo en Amazon S3. La siguiente captura de pantalla muestra la configuración del disparador de nuestra función. Esto simplifica garantizar que cada vez que su modelo haga nuevas inferencias, los eventos almacenados en Amazon S3 se carguen en Fiddler para impulsar la observabilidad del modelo que su empresa necesita.

Para simplificar esto aún más, el código para esta función de Lambda está disponible públicamente en Sitio de documentación de Fiddler. Este ejemplo de código actualmente funciona para modelos de clasificación binaria con entradas estructuradas. Si tiene tipos de modelos con diferentes características o tareas, comuníquese con Fiddler para obtener ayuda con cambios menores en el código.

La función Lambda debe hacer referencia al cliente Fiddler Python. Fiddler ha creado una capa Lambda disponible públicamente a la que puede hacer referencia para asegurarse de que import fiddler as fdl paso funciona a la perfección. Puede hacer referencia a esta capa a través de un ARN en la región us-west-2: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, como se muestra en la siguiente captura de pantalla.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

También debe especificar las variables de entorno de Lambda para que la función de Lambda sepa cómo conectarse a su entorno de prueba de Fiddler y cuáles son las entradas y salidas dentro de los archivos .jsonl que captura su modelo. La siguiente captura de pantalla muestra una lista de las variables de entorno requeridas, que también están en Sitio de documentación de Fiddler. Actualice los valores de las variables de entorno para que coincidan con su modelo y conjunto de datos.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Explore las capacidades de monitoreo de Fiddler en su entorno de prueba de Fiddler

¡Lo has hecho! Con sus datos de referencia, modelo y tráfico conectados, ahora puede explicar deriva de datos, valores atípicos, sesgo del modelo, problemas de datos y problemas de rendimiento, y comparta paneles con otros. Completa tu viaje por viendo una demostración sobre las capacidades de gestión del rendimiento del modelo que ha introducido en su empresa.

Las capturas de pantalla de ejemplo a continuación brindan una idea de la información del modelo, como la deriva, la detección de valores atípicos, las explicaciones de puntos locales y el análisis del modelo que se encontrará en su entorno de prueba de Fiddler.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Conclusión

Esta publicación destacó la necesidad de clase empresarial seguimiento del modelo y mostró cómo puede integrar sus modelos implementados en SageMaker con el Plataforma de gestión del rendimiento del modelo Fiddler en solo unos pocos pasos. Fiddler ofrece funcionalidad para el monitoreo de modelos, IA explicable, detección de sesgos y análisis de causa raíz, y está disponible en el AWS Marketplace. Al proporcionar su MLOps equipo con un único panel de vidrio fácil de usar para garantizar que sus modelos se comporten como se espera y para identificar las causas subyacentes de la degradación del rendimiento, Fiddler puede ayudar a mejorar la productividad de los científicos de datos y reducir el tiempo para detectar y resolver problemas.

Si desea obtener más información sobre Fiddler, visite violinista.ai o si prefiere configurar una demostración personalizada y un correo electrónico de discusión técnica ventas@fiddler.ai.


Acerca de los autores

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.danny brock es ingeniero de soluciones sénior en Fiddler AI. Danny tiene una larga experiencia en el espacio de análisis y ML, dirigiendo equipos de preventa y posventa para nuevas empresas como Endeca e Incorta. Fundó su propia empresa de consultoría de análisis de big data, Branchbird, en 2012.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Rajeev Govindan es ingeniero de soluciones sénior en Fiddler AI. Rajeev tiene una amplia experiencia en ingeniería de ventas y desarrollo de software en varias empresas empresariales, incluida AppDynamics.

Logre un monitoreo de nivel empresarial para sus modelos de Amazon SageMaker utilizando Fiddler PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Krishnaram Kenthapadi es el científico jefe de Fiddler AI. Anteriormente, fue científico principal en Amazon AWS AI, donde lideró las iniciativas de equidad, explicabilidad, privacidad y comprensión de modelos en la plataforma de Amazon AI, y antes de eso, ocupó cargos en LinkedIn AI y Microsoft Research. Krishnaram recibió su doctorado en Ciencias de la Computación de la Universidad de Stanford en 2006.

Sello de tiempo:

Mas de Aprendizaje automático de AWS