Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler

Esta é uma postagem convidada de Danny Brock, Rajeev Govindan e Krishnaram Kenthapadi do Fiddler AI.

investimentos Amazon Sage Maker os modelos estão ao vivo. Eles lidam com milhões de inferências todos os dias e geram melhores resultados de negócios para sua empresa. Eles estão tendo um desempenho exatamente tão bom quanto no dia em que foram lançados.

Er, espere. São eles? Talvez. Talvez não.

Sem classe empresarial monitoramento de modelo, seus modelos podem estar decaindo em silêncio. Suas equipes de aprendizado de máquina (ML) talvez nunca saibam que esses modelos, na verdade, passaram de milagres de geração de receita a responsabilidades por tomar decisões incorretas que custam tempo e dinheiro à sua empresa.

Não se preocupe. A solução está mais próxima do que você imagina.

Violinista, uma solução de gerenciamento de desempenho de modelo de classe empresarial disponível no Mercado da AWS, oferece monitoramento de modelo e IA explicável para ajudar as equipes de ML a inspecionar e resolver uma ampla gama de problemas de modelo. Por meio de monitoramento de modelo, explicabilidade de modelo, análise e detecção de preconceito, o Fiddler fornece à sua empresa um painel único e fácil de usar para garantir que seus modelos estejam se comportando como deveriam. E se não estiverem, o Fiddler também oferece recursos que permitem inspecionar seus modelos para encontrar as causas subjacentes da queda no desempenho.

Este post mostra como o seu MLOps A equipe pode melhorar a produtividade do cientista de dados e reduzir o tempo para detectar problemas em seus modelos implantados no SageMaker, integrando-se à plataforma de gerenciamento de desempenho de modelo Fiddler em algumas etapas simples.

Visão geral da solução

A arquitetura de referência a seguir destaca os principais pontos de integração. O Fiddler existe como um “acessório” para seu fluxo de trabalho existente do SageMaker ML.

O restante desta postagem orienta você nas etapas para integrar seu modelo SageMaker com o modelo do Fiddler. Plataforma de gerenciamento de desempenho de modelo:

  1. Certifique-se de que seu modelo tenha a captura de dados habilitada.
  2. Crie um ambiente de teste do Fiddler.
  3. Registre informações sobre seu modelo em seu ambiente Fiddler.
  4. Crie uma AWS Lambda função para publicar inferências do SageMaker no Fiddler.
  5. Explore os recursos de monitoramento do Fiddler em seu ambiente de teste do Fiddler.

Pré-requisitos

Esta postagem pressupõe que você configurou o SageMaker e implantou um endpoint modelo. Para saber como configurar o SageMaker para veiculação de modelo, consulte Implantar modelos para inferência. Alguns exemplos também estão disponíveis no site GitHub repo.

Certifique-se de que seu modelo tenha a captura de dados habilitada

No console do SageMaker, navegue até o endpoint de serviço do seu modelo e certifique-se de ter ativado captura de dados em um Serviço de armazenamento simples da Amazon (Amazon S3) balde. Isso armazena as inferências (solicitações e respostas) que seu modelo faz a cada dia, conforme Arquivos de linhas JSON (.jsonl) no Amazon S3.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Crie um ambiente de teste do Fiddler

De violinista.ai site, você pode solicitar um teste gratuito. Após preencher um formulário rápido, o Fiddler entrará em contato com você para entender as especificidades das necessidades de gerenciamento de desempenho do seu modelo e terá um ambiente de teste pronto para você em algumas horas. Você pode esperar um ambiente dedicado como https://yourcompany.try.fiddler.ai.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Registre informações sobre seu modelo em seu ambiente Fiddler

Antes de começar a publicar eventos do seu modelo hospedado pelo SageMaker no Fiddler, você precisa criar um projeto dentro do seu ambiente de teste do Fiddler e fornecer detalhes do Fiddler sobre seu modelo por meio de uma etapa chamada registro de modelo. Se você quiser usar um notebook pré-configurado de dentro Estúdio Amazon SageMaker em vez de copiar e colar os seguintes trechos de código, você pode consultar o bloco de notas de início rápido do Fiddler em GitHub. O Studio fornece uma interface visual única baseada na Web onde você pode executar todas as etapas de desenvolvimento de ML.

Primeiro, você deve instalar o Cliente Fiddler Python em seu notebook SageMaker e instancie o cliente Fiddler. Você pode obter o AUTH_TOKEN do Configurações página em seu ambiente de teste do 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 seguir, crie um projeto em seu ambiente de teste do 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)

Agora carregue seu conjunto de dados de treinamento. O notebook também fornece um conjunto de dados de amostra para executar o Fiddler explicabilidade algoritmos e como base para monitorar métricas. O conjunto de dados também é usado para gerar o esquema para este modelo no 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 começar a publicar inferências no Fiddler para monitoramento, análise de causa raiz e explicações, você precisa registrar seu modelo. Vamos primeiro criar um model_info objeto que contém os metadados sobre o seu 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

Então você pode registrar o modelo usando seu novo model_info objeto:

# 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
)

Ótimo! Agora você pode publicar alguns eventos no Fiddler para observar o desempenho do modelo.

Crie uma função Lambda para publicar inferências do SageMaker no Fiddler

Com a arquitetura sem servidor simples de implantar do Lambda, você pode criar rapidamente o mecanismo necessário para mover suas inferências do bucket S3 configurado anteriormente para o ambiente de teste do Fiddler recém-provisionado. Esta função Lambda é responsável por abrir quaisquer novos arquivos de log de eventos JSONL no bucket S3 do seu modelo, analisar e formatar o conteúdo JSONL em um dataframe e, em seguida, publicar esse dataframe de eventos em seu ambiente de teste do Fiddler. A captura de tela a seguir mostra os detalhes do código de nossa função.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A função Lambda precisa ser configurada para acionar arquivos recém-criados em seu bucket S3. A seguir tutorial orienta você na criação de um Amazon Event Bridge gatilho que invoca a função Lambda sempre que um arquivo é carregado no Amazon S3. A captura de tela a seguir mostra a configuração do gatilho de nossa função. Isso simplifica a garantia de que, sempre que seu modelo fizer novas inferências, esses eventos armazenados no Amazon S3 sejam carregados no Fiddler para impulsionar a observabilidade do modelo que sua empresa precisa.

Para simplificar ainda mais, o código desta função Lambda está disponível publicamente em Site de documentação do Fiddler. Este exemplo de código funciona atualmente para modelos de classificação binária com entradas estruturadas. Se você tiver tipos de modelo com recursos ou tarefas diferentes, entre em contato com o Fiddler para obter assistência com pequenas alterações no código.

A função Lambda precisa fazer referência ao cliente Fiddler Python. O Fiddler criou uma camada Lambda disponível publicamente que você pode consultar para garantir que o import fiddler as fdl etapa funciona perfeitamente. Você pode fazer referência a essa camada por meio de um ARN na região us-west-2: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, como mostrado na captura de tela a seguir.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você também precisa especificar variáveis ​​de ambiente do Lambda para que a função do Lambda saiba como se conectar ao ambiente de avaliação do Fiddler e quais são as entradas e saídas nos arquivos .jsonl que estão sendo capturados pelo seu modelo. A captura de tela a seguir mostra uma lista das variáveis ​​de ambiente necessárias, que também estão em Site de documentação do Fiddler. Atualize os valores das variáveis ​​de ambiente para corresponder ao seu modelo e conjunto de dados.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Explore os recursos de monitoramento do Fiddler em seu ambiente de teste do Fiddler

Você conseguiu! Com seus dados de referência, modelo e tráfego conectados, agora você pode explicar desvio de dados, discrepantes, viés do modelo, problemas de dados e falhas de desempenho e compartilhe painéis com outras pessoas. Complete sua jornada assistindo a uma demonstração sobre os recursos de gerenciamento de desempenho do modelo que você introduziu em sua empresa.

As capturas de tela de exemplo abaixo fornecem uma visão geral dos insights do modelo, como desvio, detecção de valores discrepantes, explicações de pontos locais e análises de modelo que serão encontradas em seu ambiente de teste do Fiddler.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Conclusão

Esta postagem destacou a necessidade de classe empresarial monitoramento de modelo e mostrei como você pode integrar seus modelos implantados no SageMaker com o Plataforma de gerenciamento de desempenho do modelo Fiddler em apenas alguns passos. O Fiddler oferece funcionalidade para monitoramento de modelo, IA explicável, detecção de viés e análise de causa raiz e está disponível no site Mercado da AWS. Ao fornecer o seu MLOps equipe com um painel único e fácil de usar para garantir que seus modelos se comportem conforme o esperado e para identificar as causas subjacentes da degradação do desempenho, o Fiddler pode ajudar a melhorar a produtividade do cientista de dados e reduzir o tempo para detectar e resolver problemas.

Se você quiser saber mais sobre o Fiddler, visite violinista.ai ou se você preferir configurar uma demonstração personalizada e um e-mail de discussão técnica vendas@fiddler.ai.


Sobre os autores

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Danny Brock é engenheiro de soluções sênior na Fiddler AI. Danny atua há muito tempo na área de análise e ML, administrando equipes de pré-vendas e pós-vendas para startups como Endeca e Incorta. Ele fundou sua própria empresa de consultoria em análise de big data, Branchbird, em 2012.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Rajeev Govindan é engenheiro de soluções sênior na Fiddler AI. Rajeev tem ampla experiência em engenharia de vendas e desenvolvimento de software em diversas empresas, incluindo AppDynamics.

Obtenha monitoramento de nível empresarial para seus modelos do Amazon SageMaker usando o Fiddler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Krishnaram Kenthapadi é o cientista-chefe do Fiddler AI. Anteriormente, ele foi cientista principal da Amazon AWS AI, onde liderou as iniciativas de justiça, explicabilidade, privacidade e compreensão de modelo na plataforma Amazon AI e, antes disso, ocupou cargos no LinkedIn AI e na Microsoft Research. Krishnaram recebeu seu PhD em Ciência da Computação pela Universidade de Stanford em 2006.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS