Crie, armazene e compartilhe recursos com a Feature Store - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie, armazene e compartilhe recursos com a Feature Store

O processo de desenvolvimento de aprendizado de máquina (ML) inclui extrair dados brutos e transformá-los em recursos (entradas significativas para seu modelo de ML). Esses recursos são então armazenados de forma útil para exploração de dados, treinamento de ML e inferência de ML. A Amazon SageMaker Feature Store simplifica a forma como você cria, armazena, compartilha e gerencia recursos. Isso é feito fornecendo opções de feature store e reduzindo o trabalho repetitivo de processamento e curadoria de dados.

Entre outras coisas, com a Feature Store, você pode:

  • Simplifique o processamento, o armazenamento, a recuperação e o compartilhamento de recursos para o desenvolvimento de ML entre contas ou em uma organização.

  • Acompanhe o desenvolvimento do código de processamento de recursos, aplique seu processador de recursos aos dados brutos e insira seus recursos na Feature Store de forma consistente. Isso reduz a distorção na oferta de treinamento, um problema comum no ML em que a diferença entre o desempenho durante o treinamento e o serviço pode afetar a precisão do seu modelo de ML.

  • Armazene seus recursos e metadados associados em grupos de recursos, para que os recursos possam ser facilmente descobertos e reutilizados. Os grupos de recursos são mutáveis e podem evoluir seu esquema após a criação.

  • Crie grupos de recursos que podem ser configurados para incluir uma loja online ou offline, ou ambas, para gerenciar seus recursos e automatizar a forma como os recursos são armazenados para suas tarefas de ML.

    • A loja virtual retém somente os registros mais recentes de seus recursos. Ele foi projetado principalmente para oferecer suporte a previsões em tempo real que precisam de leituras de baixa latência de milissegundos e gravações de alto rendimento.

    • A loja offline mantém todos os registros de seus recursos como um banco de dados histórico. Isso se destina principalmente à exploração de dados, treinamento de modelos e previsões em lote.

O diagrama a seguir mostra como você pode usar o Feature Store como parte do seu pipeline de ML. Depois de ler seus dados brutos, você pode usar o Feature Store para transformar os dados brutos em recursos e ingeri-los em seu grupo de recursos. Os recursos podem ser ingeridos por streaming ou em lotes nas lojas online e offline do grupo de recursos. Os recursos podem então ser fornecidos para exploração de dados, treinamento de modelos e inferência em tempo real ou em lote.

Onde a Feature Store se encaixa em seu pipeline de aprendizado de máquina.

Como funciona o Feature Store

No Feature Store, os recursos são armazenados em uma coleção chamada grupo de atributos. Você pode visualizar um grupo de atributos como uma tabela na qual cada coluna é um atributo, com um identificador exclusivo para cada linha. Em princípio, um grupo de atributos é composto por atributos e valores específicos para cada atributo. Um Record é uma coleção de valores para atributos que correspondem a um RecordIdentifier único. Ao todo, o FeatureGroup é um grupo de atributos definidos em seu FeatureStore para descrever um Record

Você pode usar o Feature Store nos seguintes modos: 

  • Online – No modo on-line, os atributos são lidos com leituras de baixa latência (milissegundos) e usados para previsões de alta taxa de transferência. Esse modo exige que um grupo de atributos seja armazenado em um armazenamento on-line. 

  • Offline – No modo offline, grandes fluxos de dados são enviados para um armazenamento offline, que pode ser usado para treinamento e inferência em lote. Esse modo exige que um grupo de atributos seja armazenado em um armazenamento offline. O armazenamento offline usa seu bucket do S3 para armazenamento e também pode buscar dados usando consultas Athena. 

  • Online e offline – Incluem os modos online e offline.

Você pode ingerir dados em grupos de atributos no Feature Store de duas maneiras: streaming ou em lotes. Quando você ingere dados por meio de streaming, uma coleção de registros é enviada para a Feature Store chamando uma chamada PutRecord API síncrona. Isso API permite que você mantenha os valores de recursos mais recentes na Feature Store e envie novos valores de recursos assim que uma atualização for detectada.

Como alternativa, o Feature Store pode processar e ingerir dados em lotes. Por exemplo, você pode criar recursos usando o Amazon SageMaker Data Wrangler e exportar um notebook do Data Wrangler. O notebook pode ser uma tarefa SageMaker de processamento que ingere os recursos em lotes em um grupo de recursos do Feature Store. Esse modo permite a ingestão em lote no armazenamento offline. Ele também suporta a ingestão no armazenamento on-line se o grupo de atributos estiver configurado para uso online e offline. 

Criar grupo de atributos

Para ingerir atributos no Feature Store, você deve primeiro definir o grupo de atributos e as definições do atributo (nome do atributo e tipo de dados) para todos os atributos que pertencem ao grupo de atributos. Após serem criados, os grupos de atributos são mutáveis e podem evoluir seu esquema. Os nomes dos grupos de recursos são exclusivos em um Região da AWS Conta da AWS e. Ao criar um grupo de recursos, você também pode criar os metadados para o grupo de recursos. Os metadados podem conter uma breve descrição, configuração de armazenamento, recursos para identificar cada registro e a hora do evento. Além disso, os metadados podem incluir tags para armazenar informações como autor, fonte de dados, versão e muito mais.

Importante

FeatureGroupnomes ou metadados associados, como descrição ou etiquetas, não devem conter nenhuma informação pessoal identificável (PII) ou informação confidencial.

Encontrar, descobrir e compartilhar atributos

Depois de criar um grupo de atributos no Feature Store, outros usuários autorizados do Feature Store podem compartilhá-lo e descobri-lo. Os usuários podem navegar por uma lista de todos os grupos de atributos no Feature Store ou descobrir grupos de atributos existentes pesquisando por nome do grupo de atributos, descrição, nome do identificador de registro, data de criação e tags. 

Inferência em tempo real para atributos armazenados no armazenamento on-line 

Com o Feature Store, você pode enriquecer seus atributos armazenados no armazenamento on-line em tempo real com dados de uma fonte de streaming (dados de fluxo limpo de outro aplicativo) e fornecer os atributos com baixa latência de milissegundos para inferência em tempo real. 

Você também pode realizar junções entre diferentes FeatureGroups para inferência em tempo real consultando dois FeatureGroups diferentes no aplicativo cliente. 

Armazenamento offline para treinamento de modelos e inferência em lote

O Feature Store fornece armazenamento offline para valores de atributos em seu bucket do S3. Seus dados são armazenados no bucket do S3 usando um esquema de prefixos com base no horário do evento. O armazenamento offline é um armazenamento somente para anexos, permitindo que o Feature Store mantenha um registro histórico de todos os valores dos atributos. Os dados são armazenados no armazenamento offline no formato Parquet para armazenamento otimizado e acesso às consultas.

Você pode consultar, explorar e visualizar recursos usando o Data Wrangler no console.  O Feature Store suporta a combinação de dados para produzir, treinar, validar e testar conjuntos de dados, além de permitir que você extraia dados em diferentes momentos.

Ingestão de dados de atributos

Os pipelines de geração de atributos podem ser criados para processar grandes lotes (1 milhão de linhas de dados ou mais) ou pequenos lotes e para gravar dados de atributos no armazenamento offline ou online. Fontes de streaming, como Transmissão gerenciada para Apache Kafka da Amazon ou Amazon Kinesis, também podem ser usados como fontes de dados das quais os atributos são extraídos e enviados diretamente ao armazenamento on-line para treinamento, inferência ou criação de atributos. 

Você pode enviar registros para a Feature Store chamando a PutRecord API chamada síncrona. Como essa é uma API chamada síncrona, ela permite que pequenos lotes de atualizações sejam enviados em uma única API chamada. Isso permite que você mantenha um alto nível de atualização dos valores do atributo e publique os valores assim que uma atualização for detectada. Esses também são chamados de atributos de streaming

Quando os dados do atributo são ingeridos e atualizados, o Feature Store armazena dados históricos de todos os atributos no armazenamento offline. Para ingestão em lote, você pode extrair valores de atributos do seu bucket do S3 ou usar o Athena para fazer consultas. Você também pode usar o Data Wrangler para processar e criar novos atributos que podem ser exportados para um bucket S3 escolhido para serem acessados pelo Feature Store. Para ingestão em lote, você pode configurar um trabalho de processamento para ingerir em lote seus dados no Feature Store ou extrair valores de atributos do seu bucket do S3 usando o Athena. 

Para remover um Record da sua loja virtual, use a DeleteRecordAPIchamada. Isso também adicionará o registro excluído ao armazenamento offline.

Resiliência no Feature Store

O Feature Store é distribuído em várias zonas de disponibilidade (AZs). Uma AZ é um local isolado dentro de uma Região da AWS. Se alguns AZs falharem, a Feature Store pode usar outrosAZs. Para obter mais informações sobreAZs, consulteResiliência na Amazon SageMaker.