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:
- Escreva código para converter dados brutos em recursos e crie um Spark DataFrame contendo os recursos desejados.
- 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.
- 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.
- 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.
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.
Comece a usar o Feature Store
Consulte os seguintes artigos para começar a usar a Feature Store:
- Experimente um dos blocos de anotações de exemplo que ilustram os recursos do repositório de recursos.
- Consulte o material de referência para a API Python do Feature Store.
- Saiba mais sobre modelos de treinamento com a Feature Store.
- Saiba mais sobre a engenharia de recursos no catálogo Unity.
- Saiba mais sobre o Workspace Feature Store.
- Use tabelas de recursos de séries temporais e pesquisas point-in-time para recuperar os valores de recursos mais recentes a partir de um determinado momento para treinar ou pontuar um modelo.
- Saiba mais sobre os recursos de publicação em lojas online ou mesas online para atendimento em tempo real e pesquisa automática de recursos.
- Saiba mais sobre o Feature Serving, que disponibiliza recursos na plataforma Databricks com baixa latência para modelos ou aplicativos implantados fora do Databricks.
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:
- Partilhe tabelas de funcionalidades entre espaços de trabalho.
- Controle o acesso às tabelas de recursos.
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
, DecimalType
e 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:
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.