Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker

Como as empresas estão adotando cada vez mais o aprendizado de máquina (ML) para seus principais aplicativos corporativos, mais decisões de negócios são influenciadas por modelos de ML. Como resultado disso, ter controle de acesso simplificado e transparência aprimorada em todos os seus modelos de ML torna mais fácil validar se seus modelos estão tendo um bom desempenho e agir quando não estão.

Nesta postagem, exploramos como as empresas podem melhorar a visibilidade de seus modelos com painéis centralizados e documentação detalhada de seus modelos usando dois novos recursos: SageMaker Model Cards e SageMaker Model Dashboard. Ambos os recursos estão disponíveis sem custo adicional para os clientes do SageMaker.

Visão geral da governança do modelo

Governança de modelo é uma estrutura que dá visibilidade sistemática ao desenvolvimento, validação e uso de modelo. A governança de modelo é aplicável em todo o fluxo de trabalho de ML de ponta a ponta, desde a identificação do caso de uso de ML até o monitoramento contínuo de um modelo implantado por meio de alertas, relatórios e painéis. Uma estrutura de governança de modelo bem implementada deve minimizar o número de interfaces necessárias para visualizar, rastrear e gerenciar tarefas de ciclo de vida para facilitar o monitoramento do ciclo de vida de ML em escala.

Hoje, as organizações investem conhecimento técnico significativo na criação de ferramentas para automatizar grandes partes de seu fluxo de trabalho de governança e auditabilidade. Por exemplo, os construtores de modelo precisam registrar proativamente as especificações do modelo, como o uso pretendido para um modelo, classificação de risco e critérios de desempenho em relação aos quais um modelo deve ser medido. Além disso, eles também precisam registrar observações sobre o comportamento do modelo e documentar o motivo pelo qual tomaram certas decisões importantes, como a função objetivo com a qual otimizaram o modelo.

É comum que as empresas usem ferramentas como Excel ou e-mail para capturar e compartilhar essas informações do modelo para uso em aprovações para uso em produção. Mas, à medida que a escala do desenvolvimento de ML aumenta, as informações podem ser facilmente perdidas ou extraviadas, e o controle desses detalhes torna-se inviável rapidamente. Além disso, depois que esses modelos são implantados, você pode unir dados de várias fontes para obter visibilidade de ponta a ponta de todos os seus modelos, endpoints, histórico de monitoramento e linhagem. Sem essa visão, você pode facilmente perder o controle de seus modelos e não saber quando precisa agir sobre eles. Esse problema é intensificado em setores altamente regulamentados porque você está sujeito a regulamentações que exigem que você mantenha essas medidas em vigor.

À medida que o volume de modelos começa a aumentar, o gerenciamento de ferramentas personalizadas pode se tornar um desafio e dá às organizações menos tempo para se concentrar nas principais necessidades de negócios. Nas seções a seguir, exploramos como os SageMaker Model Cards e o SageMaker Model Dashboard podem ajudá-lo a dimensionar seus esforços de governança.

Cartões modelo SageMaker

Os cartões de modelo permitem que você padronize como os modelos são documentados, obtendo visibilidade do ciclo de vida de um modelo, desde o projeto, construção, treinamento e avaliação. Os cartões de modelo destinam-se a ser uma fonte única de verdade para metadados comerciais e técnicos sobre o modelo que pode ser usado de forma confiável para fins de auditoria e documentação. Eles fornecem uma ficha informativa do modelo que é importante para a governança do modelo.

Os cartões de modelo permitem que os usuários criem e armazenem decisões, como por que uma função objetiva foi escolhida para otimização e detalhes como uso pretendido e classificação de risco. Você também pode anexar e revisar os resultados da avaliação e anotar observações para referência futura.

Para modelos treinados no SageMaker, os cartões de modelo podem descobrir e preencher automaticamente detalhes como trabalho de treinamento, conjuntos de dados de treinamento, artefatos de modelo e ambiente de inferência, acelerando assim o processo de criação dos cartões. Com o SageMaker Python SDK, você pode atualizar perfeitamente o cartão Modelo com métricas de avaliação.

Os cartões de modelo fornecem aos gerentes de risco de modelo, cientistas de dados e engenheiros de ML a capacidade de executar as seguintes tarefas:

  • Requisitos do modelo de documento, como classificação de risco, uso pretendido, limitações e desempenho esperado
  • Preencher automaticamente cartões de modelo para modelos treinados pelo SageMaker
  • Traga suas próprias informações (BYOI) para modelos não SageMaker
  • Carregar e compartilhar modelos e resultados de avaliação de dados
  • Defina e capture informações personalizadas
  • Status do cartão do modelo de captura (rascunho, revisão pendente ou aprovado para produção)
  • Acesse o hub da placa de modelo a partir do Console de gerenciamento da AWS
  • Crie, edite, visualize, exporte, clone e exclua cartões de modelo
  • Acionar fluxos de trabalho usando Amazon Event Bridge integração para eventos de alteração de status do cartão de modelo

Criar cartões de modelo do SageMaker usando o console

Você pode criar cartões Modelo facilmente usando o console do SageMaker. Aqui você pode ver todos os cartões de modelo existentes e criar novos conforme necessário.

Ao criar um cartão de modelo, você pode documentar informações críticas do modelo, como quem construiu o modelo, por que foi desenvolvido, como está sendo executado para avaliações independentes e quaisquer observações que precisam ser consideradas antes de usar o modelo para um aplicativo de negócios.

Para criar um cartão de modelo no console, conclua as seguintes etapas:

  1. Insira os detalhes da visão geral do modelo.
  2. Insira os detalhes do treinamento (preenchidos automaticamente se o modelo foi treinado no SageMaker).
  3. Carregar os resultados da avaliação.
  4. Adicione detalhes adicionais, como recomendações e considerações éticas.

Depois de criar o cartão Modelo, você pode escolher uma versão para visualizá-lo.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

A captura de tela a seguir mostra os detalhes do nosso cartão de modelo.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Você também pode exportar o cartão Modelo para ser compartilhado como um PDF.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Crie e explore SageMaker Model Cards por meio do SageMaker Python SDK

A interação com as cartas de modelo não se limita ao console. Você também pode usar o SageMaker Python SDK para criar e explorar cartões de modelo. O SageMaker Python SDK permite que cientistas de dados e engenheiros de ML interajam facilmente com os componentes do SageMaker. Os snippets de código a seguir mostram o processo para criar um cartão de modelo usando a funcionalidade SageMaker Python SDK recém-adicionada.

Certifique-se de ter a versão mais recente do SageMaker Python SDK instalada:

$ pip install --upgrade "sagemaker>=2"

Depois de treinar e implantar um modelo usando o SageMaker, você pode usar as informações do modelo SageMaker e o trabalho de treinamento para preencher automaticamente as informações no cartão Modelo.

Usando o SageMaker Python SDK e passando o nome do modelo SageMaker, podemos coletar automaticamente informações básicas do modelo. Informações como o ARN do modelo SageMaker, ambiente de treinamento e saída do modelo Serviço de armazenamento simples da Amazon (Amazon S3) a localização é preenchida automaticamente. Podemos adicionar outros fatos do modelo, como descrição, tipo de problema, tipo de algoritmo, criador do modelo e proprietário. Veja o seguinte código:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

Também podemos coletar automaticamente informações básicas de treinamento, como ARN do trabalho de treinamento, ambiente de treinamento e métricas de treinamento. Detalhes de treinamento adicionais podem ser adicionados, como função objetiva de treinamento e observações. Veja o seguinte código:

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Se tivermos métricas de avaliação disponíveis, também podemos adicioná-las ao cartão Modelo:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Também podemos adicionar informações adicionais sobre o modelo que podem ajudar na governança do modelo:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Depois de fornecer todos os detalhes necessários, podemos criar o cartão Modelo usando a configuração anterior:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

O SageMaker SDK também oferece a capacidade de atualizar, carregar, listar, exportar e excluir um cartão de modelo.

Para saber mais sobre cartões de modelo, consulte o guia do desenvolvedor e siga isto caderno de exemplo para começar.

Painel de modelos do SageMaker

O painel Modelo é um repositório centralizado de todos os modelos que foram criados na conta. Os modelos geralmente são criados por treinamento no SageMaker, ou você pode trazer seus modelos treinados em outro lugar para hospedar no SageMaker.

O painel Modelo fornece uma interface única para administradores de TI, gerentes de risco de modelo ou líderes de negócios para visualizar todos os modelos implantados e seu desempenho. Você pode visualizar seus endpoints, trabalhos de transformação em lote e trabalhos de monitoramento para obter informações sobre o desempenho do modelo. As organizações podem se aprofundar para identificar quais modelos têm monitores ausentes ou inativos e adicioná-los usando as APIs do SageMaker para garantir que todos os modelos sejam verificados quanto à variação de dados, variação de modelo, variação de viés e variação de atribuição de recursos.

A captura de tela a seguir mostra um exemplo do painel Modelo.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O painel Modelo fornece uma visão geral de todos os seus modelos, qual é sua classificação de risco e como esses modelos estão se saindo na produção. Ele faz isso extraindo informações do SageMaker. As informações de monitoramento de desempenho são capturadas por meio de Monitor de modelo do Amazon SageMaker, e você também pode ver informações sobre modelos invocados para previsões em lote por meio de trabalhos de transformação em lote do SageMaker. As informações de linhagem, como como o modelo foi treinado, os dados usados ​​e muito mais são capturados, e as informações dos cartões de modelo também são extraídas.

O Model Monitor monitora a qualidade dos modelos do SageMaker usados ​​na produção para inferência em lote ou endpoints em tempo real. Você pode configurar monitoramento contínuo ou monitores agendados por meio de APIs do SageMaker e editar as configurações de alerta por meio do painel Modelo. Você pode definir alertas que o notificam quando há desvios na qualidade do modelo. A detecção antecipada e proativa desses desvios permite que você tome ações corretivas, como retreinar modelos, auditar sistemas upstream ou corrigir problemas de qualidade sem precisar monitorar modelos manualmente ou construir ferramentas adicionais. O painel Modelo fornece informações rápidas sobre quais modelos estão sendo monitorados e como estão sendo executados. Para obter mais informações sobre o Monitor de modelo, visite Monitore os modelos para dados e qualidade do modelo, viés e explicabilidade.

Ao escolher um modelo no painel Modelo, você pode obter informações mais profundas sobre o modelo, como o cartão Modelo (se houver), linhagem do modelo, detalhes sobre o endpoint no qual o modelo foi implantado e o cronograma de monitoramento para o modelo modelo.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Esta exibição permite que você crie um cartão de modelo, se necessário. A programação de monitoramento também pode ser ativada, desativada ou editada por meio do painel do Modelo.

Para modelos que não têm um cronograma de monitoramento, você pode configurar isso habilitando o Model Monitor para o endpoint no qual o modelo foi implantado. Por meio dos detalhes e status do alerta, você será notificado sobre os modelos que exibem desvio de dados, desvio de modelo, desvio de viés ou desvio de recurso, dependendo de quais monitores você configurou.

Vejamos um exemplo de fluxo de trabalho de como configurar o monitoramento de modelo. As principais etapas desse processo são:

  1. Capture dados enviados para o terminal (ou tarefa de transformação em lote).
  2. Estabeleça uma linha de base (para cada um dos tipos de monitoramento).
  3. Crie uma programação do Model Monitor para comparar as previsões em tempo real com a linha de base para relatar violações e acionar alertas.

Com base nos alertas, você pode executar ações como reverter o endpoint para uma versão anterior ou treinar novamente o modelo com novos dados. Ao fazer isso, pode ser necessário rastrear como o modelo foi treinado, o que pode ser feito visualizando a linhagem do modelo.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O painel do modelo oferece um rico conjunto de informações sobre o ecossistema geral do modelo em uma conta, além da capacidade de detalhar os detalhes específicos de um modelo. Para saber mais sobre o painel Modelo, consulte guia do desenvolvedor.

Conclusão

A governança do modelo é complexa e geralmente envolve muitas necessidades personalizadas específicas para uma organização ou um setor. Isso pode ser baseado nos requisitos regulamentares que sua organização precisa cumprir, nos tipos de personas presentes na organização e nos tipos de modelos usados. Não existe uma abordagem única para governança e é importante ter as ferramentas certas disponíveis para que um processo de governança robusto possa ser implementado.

Com as ferramentas de governança de ML criadas especificamente no SageMaker, as organizações podem implementar os mecanismos certos para melhorar o controle e a visibilidade dos projetos de ML para seus casos de uso específicos. Experimente os cartões de modelo e o painel de modelo e deixe seus comentários com perguntas e comentários. Para saber mais sobre os cartões de modelo e o painel de modelo, consulte guia do desenvolvedor.


Sobre os autores

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Kirit Thadaka é um arquiteto de soluções de ML que trabalha na equipe SageMaker Service SA. Antes de ingressar na AWS, Kirit trabalhou em startups de IA em estágio inicial, seguido por algum tempo de consultoria em várias funções em pesquisa de IA, MLOps e liderança técnica.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Marc Karp é um arquiteto de ML da equipe SageMaker Service. Ele se concentra em ajudar os clientes a projetar, implantar e gerenciar cargas de trabalho de ML em escala. Em seu tempo livre, ele gosta de viajar e explorar novos lugares.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Raghu Ramesha é arquiteto de soluções de ML da equipe do Amazon SageMaker Service. Ele se concentra em ajudar os clientes a criar, implantar e migrar cargas de trabalho de produção de ML para o SageMaker em escala. Ele é especializado em domínios de aprendizado de máquina, IA e visão computacional e possui mestrado em Ciência da Computação pela UT Dallas. Nos tempos livres gosta de viajar e fotografar.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Carneiro Vital é arquiteto de soluções especialista em ML na AWS. Ele tem mais de 20 anos de experiência em arquitetura e construção de aplicativos distribuídos, híbridos e em nuvem. Ele é apaixonado por criar soluções de IA/ML e big data seguras e escaláveis ​​para ajudar os clientes corporativos em sua jornada de adoção e otimização da nuvem para melhorar seus resultados de negócios. Em seu tempo livre, ele gosta de tênis, fotografia e filmes de ação.

Melhore a governança de seus modelos de machine learning com o Amazon SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Sahil Saini é Arquiteto de Soluções ISV na Amazon Web Services. Ele trabalha com equipes de produtos e engenharia de clientes estratégicos da AWS para ajudá-los com soluções de tecnologia usando serviços da AWS para IA/ML, contêineres, HPC e IoT. Ele ajudou a configurar plataformas AI/ML para clientes corporativos.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS