O que é uma loja de recursos?

Esta página explica o que é um repositório de recursos e quais benefícios ele oferece, além das vantagens específicas do Databricks Feature Store.

Um repositório de recursos é um repositório centralizado que permite que cientistas de dados encontrem e compartilhem recursos e também garante que o mesmo código usado para calcular os valores de recursos seja usado para treinamento e inferência de modelos.

O aprendizado de máquina usa dados existentes para criar um modelo para prever resultados futuros. Em quase todos os casos, os dados brutos requerem pré-processamento e transformação antes de poderem ser usados para construir um modelo. Esse processo é chamado de engenharia de recursos, e as saídas desse processo são chamadas de recursos - os blocos de construção do modelo.

O desenvolvimento de recursos é complexo e demorado. Uma complicação adicional é que, para o aprendizado de máquina, os cálculos de recursos precisam ser feitos para o treinamento do modelo e, novamente, quando o modelo é usado para fazer previsões. Essas implementações podem não ser feitas pela mesma equipe ou usando o mesmo ambiente de código, o que pode levar a atrasos e erros. Além disso, equipes diferentes em uma organização geralmente terão necessidades de recursos semelhantes, mas podem não estar cientes do trabalho que outras equipes fizeram. Um repositório de recursos foi projetado para resolver esses problemas.

Por que usar o Databricks Feature Store?

O Databricks Feature Store está totalmente integrado com outros componentes do Azure Databricks.

  • Capacidade de descoberta. A interface do usuário do Feature Store, acessível a partir do espaço de trabalho Databricks, permite navegar e pesquisar recursos existentes.
  • Linhagem. Quando você cria uma tabela de recursos no Azure Databricks, as fontes de dados usadas para criar a tabela de recursos são salvas e acessíveis. Para cada recurso em uma tabela de recursos, você também pode acessar os modelos, blocos de anotações, trabalhos e pontos de extremidade que usam o recurso.
  • Integração com pontuação e serviço de modelos. Quando você usa recursos do Feature Store para treinar um modelo, o modelo é empacotado com metadados de recurso. Quando você usa o modelo para pontuação em lote ou inferência online, ele recupera automaticamente os recursos do Feature Store. O chamador não precisa saber sobre eles ou incluir lógica para procurar ou unir recursos para pontuar novos dados. Isso torna a implantação e as atualizações do modelo muito mais fáceis.
  • Pesquisas point-in-time. O Feature Store suporta séries cronológicas e casos de uso baseados em eventos que exigem correção point-in-time.

Engenharia de recursos no catálogo Unity

Com o Databricks Runtime 13.3 LTS e superior, se o seu espaço de trabalho estiver habilitado para o Unity Catalog, o Unity Catalog se tornará seu repositório de recursos. Você pode usar qualquer tabela Delta ou Delta Live Table no Unity Catalog com uma chave primária como uma tabela de recursos para treinamento ou inferência de modelos. O Unity Catalog fornece descoberta de recursos, governança, linhagem e acesso entre espaços de trabalho.

Como funciona o Databricks Feature Store?

O fluxo de trabalho típico de aprendizado de máquina usando o Feature Store segue este caminho:

  1. Escreva código para converter dados brutos em recursos e crie um Spark DataFrame contendo os recursos desejados.
  2. Para espaços de trabalho habilitados para o Unity Catalog, escreva o DataFrame como uma tabela de recursos no Unity Catalog. Se seu espaço de trabalho não estiver habilitado para o Unity Catalog, escreva o DataFrame como uma tabela de recursos no Workspace Feature Store.
  3. Treine um modelo usando recursos da loja de recursos. Quando você faz isso, o modelo armazena as especificações dos recursos usados para treinamento. Quando o modelo é usado para inferência, ele une automaticamente recursos das tabelas de recursos apropriadas.
  4. Modelo de registo no Registo Modelo.

Agora você pode usar o modelo para fazer previsões sobre novos dados.

Para casos de uso em lote, o modelo recupera automaticamente os recursos necessários do Feature Store.

Fluxo de trabalho do Feature Store para casos de uso de aprendizado de máquina em lote.

Para casos de uso de serviço em tempo real, publique os recursos em uma loja online ou use uma tabela online.

No momento da inferência, o modelo lê recursos pré-computados da loja online e os une com os dados fornecidos na solicitação do cliente ao ponto de extremidade de serviço do modelo.

Fluxo do Repositório de Recursos para modelos de aprendizado de máquina que são servidos.

Comece a usar o Feature Store

Consulte os seguintes artigos para começar a usar a Feature Store:

Quando você usa a Engenharia de Recursos no Unity Catalog, o Unity Catalog cuida do compartilhamento de tabelas de recursos entre espaços de trabalho e você usa os privilégios do Unity Catalog para controlar o acesso às tabelas de recursos. Os links a seguir são apenas para o Repositório de Recursos de Espaço de Trabalho:

Tipos de dados suportados:

A Engenharia de Recursos no Unity Catalog e no Workspace Feature Store suporta os seguintes tipos de dados do PySpark:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]

[1] BinaryType, DecimalTypee MapType são suportados em todas as versões do Feature Engineering no Unity Catalog e no Workspace Feature Store v0.3.5 ou superior.

Os tipos de dados listados acima suportam tipos de recursos que são comuns em aplicativos de aprendizado de máquina. Por exemplo:

  • Você pode armazenar vetores densos, tensores e incorporações como ArrayType.
  • Você pode armazenar vetores, tensores e incorporações esparsos como MapType.
  • Você pode armazenar texto como StringType.

Quando publicado em lojas online, ArrayType os MapType recursos são armazenados no formato JSON.

A interface do usuário do Feature Store exibe metadados sobre tipos de dados de recursos:

Exemplo de tipos de dados complexos

Mais informações

Para obter mais informações sobre as práticas recomendadas para usar o Feature Store, baixe o Guia abrangente para repositórios de recursos.