Share via


O que é um repositório de recursos?

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

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

O aprendizado de máquina usa os dados existentes para criar um modelo e prever resultados futuros. Em quase todos os casos, os dados brutos exigem pré-processamento e transformação antes que possam ser usados para criar um modelo. Esse processo é chamado de engenharia de recursos e as saídas dele 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 depois 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 têm 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 Repositório de Recursos do Databricks?

O Repositório de Recursos do Databricks é totalmente integrado a outros componentes do Azure Databricks.

  • Detectabilidade. A interface do usuário do Repositório de Recursos, acessível no workspace do 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, também é possível acessar os modelos, notebooks, trabalhos e pontos de extremidade que o utilizam.
  • Integração com a pontuação e o fornecimento de modelo. Ao usar recursos do Repositório de Recursos para treinar um modelo, esse modelo é empacotado com metadados de recursos. Quando você usa o modelo para pontuação em lote ou inferência online, ele recupera automaticamente os recursos do Repositório de Recursos. O chamador não precisa saber sobre eles ou incluir lógica para pesquisar ou unir recursos a fim de pontuar novos dados. Isso facilita muito a implantação e as atualizações do modelo.
  • Pesquisas pontuais. O Repositório de Recursos dá suporte a casos de uso de série temporal e baseados em eventos que exigem uma correção pontual.

Engenharia de Recursos no Catálogo do 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 o Delta Live Tables no Catálogo do Unity com uma chave primária como uma tabela de recursos para treinamento ou inferência de modelo. O Catálogo do Unity 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 machine learning com o Repositório de Recursos segue este caminho:

  1. Escrever o código para converter dados brutos em recursos e criar um DataFrame do Spark contendo os recursos desejados.
  2. Quanto aos espaços de trabalho que estão habilitados para o Catálogo do Unity, registre o DataFrame como uma tabela de recursos no Catálogo do Unity. Se seu espaço de trabalho não estiver habilitado para o Catálogo do Unity, grave o DataFrame como uma tabela de recursos no Repositório de Recursos do Espaço de Trabalho.
  3. Treine 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 une automaticamente os recursos das tabelas de recursos apropriadas.
  4. Registre o modelo no Registro de modelos.

Agora é possível usar o modelo para fazer previsões sobre novos dados.

Para casos de uso em lote, o modelo recupera automaticamente os recursos necessários no Repositório de Recursos.

Fluxo de trabalho do Repositório de Recursos para casos de uso de aprendizado de máquina em lote.

Para casos de uso de distribuição em tempo real, publique os recursos em uma tabela online. Também há suporte para lojas online de terceiros. Confira Lojas online de terceiros.

No momento da inferência, o modelo faz a leitura dos recursos pré-computados do Repositório de Recursos online e os une aos dados fornecidos na solicitação do cliente para o ponto de extremidade de serviço do modelo.

Fluxo do Repositório de Recursos para os modelos de aprendizado de máquina distribuídos.

Começar a usar o Repositório de Recursos

Confira os seguintes artigos para começar a usar o Repositório de Recursos:

Quando você usa a Engenharia de Recursos no Catálogo do Unity, o Catálogo do Unity cuida do compartilhamento de tabelas de recursos entre workspaces e você usa privilégios do Catálogo do Unity para controlar o acesso às tabelas de recursos. Os links a seguir são apenas para o Repositório de Recursos do Workspace:

Tipos de dados com suporte

A Engenharia de Recursos no Catálogo do Unity e o Repositório de Recursos do Workspace dá suporte para os seguintes tipos de dados PySpark:

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

[1] há suporte para BinaryType, DecimalTypee MapType em todas as versões da Engenharia de Recursos no Catálogo do Unity e no Repositório de Recursos do Workspace v0.3.5 ou superior.

Os tipos de dados listados acima dão suporte a tipos de recursos comuns em aplicativos de machine learning. Por exemplo:

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

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

A interface do usuário do Repositório de Recursos exibe metadados em tipos de dados de recurso:

Exemplo de tipos dados complexos

Mais informações

Para obter mais informações sobre as melhores práticas para usar os Repositórios de Recursos, baixe o Manual Abrangente para Repositórios de Recursos.