Conceitos de dados no Azure Machine Learning

Com o Azure Machine Learning, você pode importar dados de um computador local ou de um recurso de armazenamento baseado em nuvem existente. Este artigo descreve os principais conceitos de dados do Azure Machine Learning.

Repositório de dados

Um armazenamento de dados do Azure Machine Learning serve como uma referência a uma conta de armazenamento existente do Azure. Um armazenamento de dados do Azure Machine Learning oferece esses benefícios:

  • Uma API comum e fácil de usar que interage com diferentes tipos de armazenamento (Blob/Arquivos/ADLS).
  • Descoberta mais fácil de armazenamentos de dados úteis em operações de equipe.
  • Para o acesso baseado em credencial (entidade de serviço/SAS/chave), o armazenamento de dados do Azure Machine Learning protege as informações de conexão. Dessa forma, você não precisará colocar essas informações em seus scripts.

Ao criar um armazenamento de dados com uma conta de armazenamento existente no Azure, você pode escolher entre dois métodos de autenticação diferentes:

  • Baseado em credencial – autentique o acesso de dados com uma entidade de serviço, um token SAS (assinatura de acesso compartilhado) ou uma chave de conta. Os usuários com acesso ao workspace Leitor podem acessar as credenciais.
  • Baseado em identidade: use sua identidade Microsoft Entra ou identidade gerenciada para autenticar o acesso aos dados.

A tabela a seguir resume os serviços de armazenamento baseados em nuvem do Azure que um armazenamento de dados do Azure Machine Learning pode criar. Além disso, a tabela resume os tipos de autenticação que podem acessar esses serviços:

Serviço de armazenamento com suporte Autenticação baseada em credencial Autenticação baseada em identidade
Contêiner de Blob do Azure
Compartilhamento de Arquivo do Azure
Azure Data Lake Gen1
Azure Data Lake Gen2

Confira Criar armazenamentos de dados para obter mais informações sobre armazenamentos de dados.

Armazenamentos de dados padrão

Cada workspace do Azure Machine Learning tem uma conta de armazenamento padrão (conta de armazenamento do Azure) que contém os seguintes armazenamentos de dados:

Dica

Para localizar a ID do workspace, acesse o workspace no portal do Azure. Expanda Configurações e, em seguida, selecione Propriedades. A ID do Workspace é exibida.

Nome do armazenamento de dados Tipo de armazenamento de dados Nome do armazenamento de dados Descrição
workspaceblobstore Contêiner de blob azureml-blobstore-{workspace-id} Armazena uploads de dados, instantâneos de código de trabalho e cache de dados de pipeline.
workspaceworkingdirectory Compartilhamento de arquivo code-{GUID} Armazena dados para notebooks, instâncias de computação e prompt flow.
workspacefilestore Compartilhamento de arquivo azureml-filestore-{workspace-id} Contêiner alternativo para upload de dados.
workspaceartifactstore Contêiner de blob azureml Armazenamento para ativos como métricas, modelos e componentes.

Tipos de dados

Um URI (local de armazenamento) pode referenciar um arquivo, uma pasta ou uma tabela de dados. Uma definição de entrada e saída de trabalho de aprendizado de máquina requer um dos três seguintes tipos de dados:

Tipo API V2 API V1 Cenários canônicos Diferença entre as APIs V2 e V1
Arquivo
Referenciar um só arquivo
uri_file FileDataset Ler/gravar um arquivo único – o arquivo pode ter qualquer formato. Um novo tipo para APIs V2. Nas APIs V1, os arquivos sempre eram mapeados para uma pasta no sistema de arquivos de destino de computação. Esse mapeamento exigia um os.path.join. Nas APIs V2, o arquivo único é mapeado. Dessa forma, você pode se referir a esse local no seu código.
Pasta
Referenciar uma pasta única
uri_folder FileDataset Você deve ler/gravar uma pasta de arquivos parquet/CSV no Pandas/Spark.

Aprendizado profundo com imagens, texto, áudio, arquivos de vídeo localizados em uma pasta.
Nas APIs V1, FileDataset tinha um mecanismo associado que podia obter uma amostra de arquivo de uma pasta. Nas APIs V2, uma Pasta é um mapeamento simples para o sistema de arquivos do destino de computação.
Tabela
Referenciar uma tabela de dados
mltable TabularDataset Você tem um esquema complexo sujeito a alterações frequentes ou precisa de um subconjunto de dados tabulares grandes.

AutoML com Tabelas.
Nas APIs V1, o back-end do Azure Machine Learning armazenava o blueprint de materialização de dados. Como resultado, TabularDataset só funcionava se você tivesse um workspace do Azure Machine Learning. mltable armazena o blueprint para materialização de dados no seu armazenamento. Esse local de armazenamento significa que você pode usá-lo desconectado do AzureML, por exemplo, localmente e no local. Nas APIs V2, você achará mais fácil fazer a transição de trabalhos locais para remotos. Confira Trabalhar com tabelas no Azure Machine Learning para obter mais informações.

URI

Um URI (Uniform Resource Identifier) representa um local de armazenamento em seu computador local, um armazenamento do Azure ou um local http(s) disponível publicamente. Estes exemplos mostram URIs para diferentes opções de armazenamento:

Local de armazenamento Exemplos de URI
Armazenamento de dados do Azure Machine Learning azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
Computador local ./home/username/data/my_data
Servidor http(s) público https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Armazenamento de blob wasbs://<containername>@<accountname>.blob.core.windows.net/<folder>/
Azure Data Lake (gen2) abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>.csv
Azure Data Lake (gen1) adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2>

Um trabalho do Azure Machine Learning mapeia os URIs para o sistema de arquivos de destino de computação. Esse mapeamento significa que, em um comando que consome ou produz um URI, esse URI funciona como um arquivo ou uma pasta. Um URI usa autenticação baseada em identidade para se conectar aos serviços de armazenamento, com Microsoft Entra ID (padrão) ou a Identidade Gerenciada. Os URIs de Armazenamento de dados do Azure Machine Learning podem aplicar autenticação baseada em identidade ou baseada em credencial (por exemplo, entidade de serviço, token SAS, chave de conta), sem exposição de segredos.

Um URI pode servir como entrada ou saída para um trabalho do Azure Machine Learning e pode ser mapeado para o sistema de arquivos de destino de computação com uma das quatro opções de modo diferentes:

  • Montagem somente leitura (ro_mount): o URI representa um local de armazenamento montado no sistema de arquivos de destino de computação. O local de dados montado dá suporte exclusivamente à saída somente leitura.
  • Montagem somente gravação (rw_mount): o URI representa um local de armazenamento montado no sistema de arquivos de destino de computação. O local de dados montado dá suporte à saída de leitura e às gravações de dados.
  • Baixar (download): o URI representa um local de armazenamento que contém dados baixados para o sistema de arquivos de destino de computação.
  • Carregar (upload): todos os dados gravados em um local de destino de computação são carregados no local de armazenamento representado pelo URI.

Além disso, você pode passar o URI como uma cadeia de caracteres de entrada de trabalho com o modo direto. Esta tabela resume a combinação de modos disponíveis para entradas e saídas:

Trabalho
Entrada ou Saída
upload download ro_mount rw_mount direct
Entrada
Saída

Confira Acessar dados em um trabalho para obter mais informações.

Funcionalidade de runtime de dados

O Azure Machine Learning usa seu próprio runtime de dados para uma das três finalidades:

  • para montagens/uploads/downloads
  • para mapear URIs de armazenamento para o sistema de arquivos de destino da computação
  • para materializar dados tabulares em pandas/spark com tabelas do Azure Machine Learning (mltable)

O runtime de dados do Azure Machine Learning foi projetado para alta velocidade e alta eficiência das tarefas de aprendizado de máquina. Ele oferece os seguintes principais benefícios:

  • Arquitetura da linguagem Rust. A linguagem Rust é conhecida pela alta velocidade e alta eficiência de memória.
  • Leve: o runtime de dados do Azure Machine Learning não depende de outras tecnologias (JVM, por exemplo) para que o runtime seja instalado rapidamente nos destinos de computação.
  • Carregamento de dados de vários processos (paralelos).
  • As pré-buscas de dados operam como tarefa em segundo plano nas CPUs, para aprimorar a utilização das GPUs em operações de aprendizado profundo.
  • Autenticação contínua no armazenamento em nuvem.

Ativos de dados

Um ativo de dados do Azure Machine Learning é semelhante aos indicadores do navegador da Web (favoritos). Em vez de se lembrar de longos caminhos de armazenamento (URIs) que apontam para os dados usados com mais frequência, você pode criar um ativo de dados e acessar esse ativo com um nome amigável.

A criação do ativo de dados também cria uma referência para a localização da fonte de dados, junto de uma cópia dos metadados. Como os dados permanecem na localização existente, você não tem nenhum custo de armazenamento adicional e não arrisca a integridade da fonte de dados. Você pode criar ativos de dados por meio dos armazenamentos de dados do Azure Machine Learning, do Armazenamento do Azure, de URLs públicas ou de arquivos locais.

Confira Criar ativos de dados para obter mais informações sobre ativos de dados.

Próximas etapas