Partilhar via


O que é a loja de recursos com gerência?

Em nossa visão para a loja de recursos gerenciados, queremos capacitar os profissionais de aprendizado de máquina para desenvolver e produzir recursos de forma independente. Você fornece uma especificação de conjunto de recursos e, em seguida, permite que o sistema cuide da servir, proteger e monitorar os recursos. Isso libera você da sobrecarga de configuração e gerenciamento de pipeline de engenharia de recursos subjacentes.

Graças à integração de nossa loja de recursos em todo o ciclo de vida do aprendizado de máquina, você pode experimentar e enviar modelos mais rapidamente, aumentar a confiabilidade de seus modelos e reduzir seus custos operacionais. A redefinição da experiência de aprendizado de máquina oferece essas vantagens.

Para obter mais informações sobre entidades de nível superior no repositório de recursos, incluindo especificações de conjunto de recursos, consulte Noções básicas sobre entidades de nível superior no repositório de recursos gerenciado.

O que são recursos?

Os recursos servem como dados de entrada para o seu modelo. Para casos de uso orientados por dados em um contexto empresarial, os recursos geralmente transformam dados históricos (agregações simples, agregações de janelas, transformações em nível de linha, etc.). Por exemplo, considere um modelo de aprendizado de máquina de rotatividade de clientes. As entradas do modelo podem incluir dados de interação com o cliente, como 7day_transactions_sum (número de transações nos últimos sete dias) ou 7day_complaints_sum (número de reclamações nos últimos sete dias). Ambas as funções agregadas são calculadas nos dados anteriores de sete dias.

Problemas resolvidos pela loja de recursos

Para entender melhor o repositório de recursos gerenciados, você deve primeiro entender os problemas que o repositório de recursos pode resolver.

  • O repositório de recursos permite que você pesquise e reutilize recursos criados por sua equipe, para evitar trabalho redundante e fornecer previsões consistentes.

  • Você pode criar novos recursos com a capacidade de transformações, para atender aos requisitos de engenharia de recursos de forma ágil e dinâmica.

  • O sistema operacionaliza e gerencia os pipelines de engenharia de recursos necessários para transformação e materialização para libertar sua equipe dos aspetos operacionais.

  • Você pode usar o mesmo pipeline de recursos, originalmente usado para geração de dados de treinamento, para novo uso para fins de inferência para fornecer consistência on-line/offline e para evitar distorção de treinamento/serviço.

Compartilhar repositório de recursos gerenciados

Diagram that shows how you can share a feature store among multiple users and workspaces

O repositório de recursos é um novo tipo de espaço de trabalho que vários espaços de trabalho de projeto podem usar. Você pode consumir recursos de ambientes baseados no Spark diferentes do Azure Machine Learning, como o Azure Databricks. Você também pode executar o desenvolvimento local e testes de recursos.

Visão geral do repositório de recursos

Diagram depicting a conceptual architecture of Azure Machine Learning

Para armazenamento de recursos gerenciados, você fornece uma especificação de conjunto de recursos. Em seguida, o sistema lida com o serviço, a proteção e o monitoramento de seus recursos. Uma especificação de conjunto de recursos contém definições de recursos e lógica de transformação opcional. Você também pode fornecer declarativamente configurações de materialização para materializar em uma loja offline (ADLS Gen2). O sistema gera e gerencia os pipelines de materialização de recursos subjacentes. Você pode usar o catálogo de recursos para pesquisar, compartilhar e reutilizar recursos. Com a API de serviço, os usuários podem procurar recursos para gerar dados para treinamento e inferência. A API de serviço pode extrair os dados diretamente da fonte ou de um armazenamento de materialização offline para inferência de treinamento/lote. O sistema também fornece recursos para monitorar trabalhos de materialização de recursos.

Benefícios de usar o repositório de recursos gerenciados do Azure Machine Learning

  • Aumenta a agilidade no envio do modelo (prototipagem para operacionalização):
    • Descubra e reutilize recursos em vez de criar recursos do zero
    • Experimentação mais rápida com desenvolvimento/teste local de novos recursos com suporte à transformação e uso de especificação de recuperação de recursos como um tecido conjuntivo no fluxo MLOps
    • Materialização declarativa e enchimento
    • Construções pré-construídas: componente de recuperação de recursos e especificações de recuperação de recursos
  • Melhora a confiabilidade dos modelos de ML
    • Uma definição de recurso consistente em toda a unidade de negócios/organização
    • Os conjuntos de recursos são versionados e imutáveis: as versões mais recentes dos modelos podem usar versões de recursos mais recentes sem interromper a versão mais antiga do modelo
    • Monitorar a materialização do conjunto de recursos
    • A materialização evita a distorção do treino/serviço
    • A recuperação de recursos suporta junções temporais point-in-time (também conhecidas como viagens no tempo) para evitar vazamento de dados.
  • Reduz custos
    • Reutilizar recursos criados por outras pessoas na organização
    • A materialização e monitorização são geridas pelo sistema, para reduzir os custos de engenharia

Descubra e gerencie recursos

O repositório de recursos gerenciado fornece estes recursos para descoberta e gerenciamento de recursos:

  • Recursos de pesquisa e reutilização - Você pode pesquisar e reutilizar recursos em lojas de recursos
  • Suporte a controle de versão - Os conjuntos de recursos são versionados e imutáveis, o que permite gerenciar de forma independente o ciclo de vida do conjunto de recursos. Você pode implantar novas versões de modelo com diferentes versões de recursos e evitar a interrupção da versão mais antiga do modelo
  • Exibir custo no nível do repositório de recursos - O principal custo associado ao uso do repositório de recursos envolve trabalhos gerenciados de materialização do Spark. Você pode ver esse custo no nível da loja de recursos
  • Uso do conjunto de recursos - Você pode ver a lista de modelos registrados usando os conjuntos de recursos.

Transformação de recursos

A transformação de recursos envolve a modificação de recursos do conjunto de dados para melhorar o desempenho do modelo. O código de transformação, definido em uma especificação de recurso, lida com a transformação de recurso. Para uma experimentação mais rápida, o código de transformação executa cálculos em dados de origem e permite o desenvolvimento local e testes de transformações.

O repositório de recursos gerenciado fornece estes recursos de transformação de recursos:

  • Suporte para transformações personalizadas - Você pode escrever um transformador Spark para desenvolver recursos com transformações personalizadas, como agregados baseados em janelas , por exemplo
  • Suporte para recursos pré-computados - Você pode trazer recursos pré-computados para o repositório de recursos e servi-los sem escrever código
  • Desenvolvimento e testes locais - Com um ambiente Spark, você pode desenvolver e testar conjuntos de recursos totalmente localmente

Materialização de recursos

A materialização envolve o cálculo de valores de feição para uma determinada janela de recurso e a persistência desses valores em um repositório de materialização. Agora, os dados do recurso podem ser recuperados de forma mais rápida e confiável para fins de treinamento e inferência.

  • Pipeline de materialização de recursos gerenciados - Você especifica declarativamente o cronograma de materialização e, em seguida, o sistema lida com o agendamento, pré-computação e materialização dos valores no repositório de materialização.
  • Suporte de preenchimento - Você pode executar a materialização sob demanda de conjuntos de recursos para uma determinada janela de recursos
  • Suporte do Managed Spark para materialização - o Azure Machine Learning gerenciado pelo Spark (em instâncias de computação sem servidor) executa os trabalhos de materialização . Ele libera você da configuração e gerenciamento da infraestrutura do Spark.

Nota

Tanto a materialização da loja offline (ADLS Gen2) como da loja online (Redis) são atualmente suportadas.

Recuperação de recursos

O Azure Machine Learning inclui um componente interno que lida com a recuperação de recursos offline. Ele permite o uso dos recursos nas etapas de treinamento e inferência em lote de um trabalho de pipeline do Azure Machine Learning.

O repositório de recursos gerenciado fornece estes recursos de recuperação de recursos:

  • Geração de dados de treinamento declarativo - Com o componente de recuperação de recursos integrado, você pode gerar dados de treinamento em seus pipelines sem escrever nenhum código
  • Geração declarativa de dados de inferência em lote - Com o mesmo componente interno de recuperação de recursos, você pode gerar dados de inferência em lote
  • Recuperação de recursos programáticos - Você também pode usar o Python SDK get_offline_features()para gerar os dados de treinamento/inferência

Monitorização

O repositório de recursos gerenciados fornece os seguintes recursos de monitoramento:

  • Status dos trabalhos de materialização - Você pode visualizar o status dos trabalhos de materialização usando a interface do usuário, CLI ou SDK
  • Notificação sobre trabalhos de materialização - Você pode configurar notificações por e-mail sobre os diferentes status dos trabalhos de materialização

Segurança

O repositório de recursos gerenciado fornece os seguintes recursos de segurança:

  • RBAC - Controle de acesso baseado em função para armazenamento de recursos, conjunto de recursos e entidades.
  • Consulta entre repositórios de recursos - Você pode criar vários repositórios de recursos com diferentes permissões de acesso para os usuários, mas permitir consultas (por exemplo, gerar dados de treinamento) em vários repositórios de recursos

Próximos passos