Engenharia de recursos e serviço
Esta página aborda a engenharia de recursos e os recursos de serviço para espaços de trabalho habilitados para o Catálogo Unity. Se o seu espaço de trabalho não estiver ativado para o Catálogo Unity, consulte Workspace Feature Store (antigo).
Por que usar o Databricks como seu repositório de recursos?
Com a Databricks Data Intelligence Platform, todo o fluxo de trabalho de treinamento do modelo ocorre em uma única plataforma:
- Pipelines de dados que ingerem dados brutos, criam tabelas de recursos, treinam modelos e executam inferência em lote. Quando você treina e registra um modelo usando engenharia de recursos no Unity Catalog, 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 valores do recurso. O chamador não precisa saber sobre eles ou incluir lógica para procurar ou unir recursos para pontuar novos dados.
- Modelo e recurso servindo pontos de extremidade que estão disponíveis com um único clique e que fornecem milissegundos de latência.
- Monitorização de dados e modelos.
Além disso, a plataforma fornece o seguinte:
- Descoberta de recursos. Você pode procurar e pesquisar recursos na interface do usuário do Databricks.
- Governação. Tabelas de recursos, funções e modelos são todos regidos pelo Catálogo Unity. Quando você treina um modelo, ele herda permissões dos dados nos quais foi treinado.
- 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.
- Acesso entre espaços de trabalho. Tabelas de recursos, funções e modelos estão automaticamente disponíveis em qualquer espaço de trabalho que tenha acesso ao catálogo.
Requisitos
- Seu espaço de trabalho deve estar habilitado para o Catálogo Unity.
- A engenharia de recursos no Unity Catalog requer o Databricks Runtime 13.3 LTS ou superior.
Se o seu espaço de trabalho não atender a esses requisitos, consulte Repositório de Recursos de Espaço de Trabalho (legado) para saber como usar o Repositório de Recursos de Espaço de Trabalho herdado.
Como funciona a engenharia de recursos no Databricks?
O fluxo de trabalho típico de aprendizado de máquina usando engenharia de recursos no Databricks segue este caminho:
- Escreva código para converter dados brutos em recursos e crie um Spark DataFrame contendo os recursos desejados.
- Crie uma tabela Delta no Unity Catalog. Qualquer tabela Delta com uma chave primária é automaticamente uma tabela de recursos.
- Treine e registre um modelo usando a tabela 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 tabela online. Lojas online de terceiros também são suportadas. Consulte Lojas online de terceiros.
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 a engenharia de recursos — exemplos de blocos de anotações
Para começar, experimente estes blocos de notas de exemplo. O bloco de anotações básico orienta você sobre como criar uma tabela de recursos, usá-la para treinar um modelo e, em seguida, executar a pontuação em lote usando a pesquisa automática de recursos. Ele também apresenta a interface do usuário de engenharia de recursos e mostra como você pode usá-la para pesquisar recursos e entender como os recursos são criados e usados.
Bloco de anotações de exemplo de engenharia de recursos básicos no Unity Catalog
O bloco de anotações de exemplo de táxi ilustra o processo de criação de recursos, atualizando-os e usando-os para treinamento de modelo e inferência em lote.
Engenharia de recursos no notebook de exemplo de táxi do Unity Catalog
Tipos de dados suportados:
A engenharia de funcionalidades no catálogo Unity e no armazém de funcionalidades do Workspace legado suporta os seguintes tipos de dados PySpark:
IntegerType
FloatType
BooleanType
StringType
DoubleType
LongType
TimestampType
DateType
ShortType
ArrayType
-
BinaryType
[1] -
DecimalType
[1] -
MapType
[1] -
StructType
[2]
[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.
[2] StructType
é suportado no Feature Engineering v0.6.0 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 práticas recomendadas, baixe o Guia abrangente para lojas de recursos.