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 aos cientistas de dados encontrar e compartilhar características, além de garantir que o mesmo código usado para calcular os valores das características seja usado no treinamento e inferência de modelos.

O machine learning usa dados existentes para construir um modelo para prever resultados futuros. Em quase todos os casos, os dados brutos exigem pré-processamento e transformação antes de serem 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.

Desenvolver recursos é complexo e demorado. Uma complicação adicional é que, no aprendizado de máquina, os cálculos de recursos precisam ser feitos para o treinamento do modelo e, em seguida, 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, diferentes equipes em uma organização frequentemente terão necessidades de recursos semelhantes, mas podem não estar cientes do trabalho que outras equipes realizaramUm feature store foi projetado para resolver esses problemas.

Por que usar a Loja de recursos Databricks?

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

  • Possibilidade de descoberta. A interface do Feature Store, acessível a partir do espaço de trabalho do Databricks, permite que você navegue e pesquise recursos existentes.

  • Linhagem. Quando você cria uma tabela de recursos no Databricks, a fonte de dados usada para criar a tabela de recursos é salva e acessível. Para cada recurso em uma tabela de recursos, você também pode acessar os modelos, Notebook, Job e endpoint que usam o recurso.

  • Integração com pontuação e veiculação de modelo. Quando você usa recursos da Feature Store para treinar um modelo, o modelo é empacotado com metadados de recursos. Quando você usa o modelo para pontuação em lote ou inferência on-line, ele recupera automaticamente os recursos da 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 pontuais. O Feature Store oferece suporte a casos de uso de séries temporais e baseados em eventos que exigem precisão no ponto no tempo.

recurso engenharia no Unity Catalog

Com Databricks Runtime 13.3 LTS e acima, se o seu workspace estiver habilitado para Unity Catalog, Unity Catalog se tornará seu repositório de recursos. O senhor pode usar qualquer tabela Delta ou Delta Live Table em Unity Catalog com um primário key como uma tabela de recurso para treinamento ou inferência de modelo. Unity Catalog fornece descoberta de recurso, governança, linhagem e acesso entreworkspace.

Como funciona Feature Store do Databricks?

O fluxo de trabalho típico machine learning usando recurso 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 workspace habilitados para Unity Catalog, escreva o DataFrame como uma tabela de recursos em Unity Catalog. Se o seu espaço de trabalho não estiver habilitado para o Unity Catalog, escreva o DataFrame como uma tabela de recursos no Workspace recurso Store.

  3. ensinar um modelo usando recursos do repositório de recursos. Ao fazer isso, o modelo armazena as especificações dos recursos usados para treinamento. Quando o modelo é usado para inferência, ele join automaticamente recursos das tabelas de recursos apropriadas.

  4. modelo de registro em Model Registry.

Agora você pode usar o modelo para fazer previsões sobre novos dados. O modelo recupera automaticamente o recurso necessário do Feature Store.

recurso Armazena fluxo de trabalho para lotes de casos de uso machine learning .

Comece a usar a Loja de recursos

Consulte os seguintes artigos para começar a usar a Loja de recursos:

Ao usar recursos engenharia no Unity Catalog, você usa privilégiosUnity Catalog para controlar o acesso às tabelas de recursos. O link a seguir é apenas para o Feature Store workspace :

Tipos de dados compatíveis

A engenharia de recurso no Unity Catalog e workspace recurso Store suporta os seguintes tipos de dados 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 recurso engenharia no Unity Catalog e no workspace repositório de recursos v0.3.5 ou acima.

Os tipos de dados listados acima suportam tipos de recursos comuns em aplicativos machine learning . Por exemplo:

  • Você pode armazenar vetores densos, tensores e embeddings como ArrayType.

  • Você pode armazenar vetores, tensores e embeddings esparsos como MapType.

  • Você pode armazenar texto como StringType.

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

A UI do repositório de recursos 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 de uso do Feature Store, faça o download do The Comprehensive Guide to Feature Stores(O Guia Completo para Repositórios de Recursos).