Conceitos de dados no Azure Machine Learning
Com o Azure Machine Learning, você pode importar dados de uma máquina local ou de um recurso de armazenamento baseado em nuvem existente. Este artigo descreve os principais conceitos de dados do Azure Machine Learning.
Arquivo de dados
Um armazenamento de dados do Azure Machine Learning serve como referência para uma conta de armazenamento existente do Azure. Um armazenamento de dados do Azure Machine Learning oferece estes benefícios:
- Uma API comum e fácil de usar que interage com diferentes tipos de armazenamento (Blob/Files/ADLS).
- Descoberta mais fácil de armazenamentos de dados úteis em operações de equipe.
- Para acesso baseado em credenciais (entidade de serviço/SAS/chave), um armazenamento de dados do Azure Machine Learning protege as informações de conexão. Dessa forma, você não precisa colocar essas informações em seus scripts.
Ao criar um armazenamento de dados com uma conta de armazenamento do Azure existente, você tem duas opções diferentes de método de autenticação:
- Baseado em credenciais - autentique o acesso a dados com uma entidade de serviço, token de assinatura de acesso compartilhado (SAS) ou chave de conta. Os usuários com acesso ao espaço de trabalho do Reader podem acessar as credenciais.
- Baseado em identidade - use sua identidade do Microsoft Entra ou identidade gerenciada para autenticar o acesso aos dados.
Esta tabela 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 suportado | Autenticação baseada em credenciais | Autenticação baseada em identidade |
---|---|---|
Contentor de Blobs do Azure | ✓ | ✓ |
Partilha de Ficheiros do Azure | ✓ | |
Azure Data Lake Gen1 | ✓ | ✓ |
Azure Data Lake Gen2 | ✓ | ✓ |
Para obter mais informações sobre armazenamentos de dados, visite Criar datastores.
Armazenamentos de dados padrão
Cada espaço de trabalho do Azure Machine Learning tem uma conta de armazenamento padrão (conta de armazenamento do Azure) que contém estes armazenamentos de dados:
Gorjeta
Para localizar a ID do seu espaço de trabalho, vá para o espaço de trabalho no portal do Azure. Expanda Configurações e selecione Propriedades. A ID do espaço de trabalho é exibida.
Nome do armazenamento de dados | Tipo de armazenamento de dados | Nome do armazenamento de dados | Description |
---|---|---|---|
workspaceblobstore |
Contentor de blobs | azureml-blobstore-{workspace-id} |
Armazena carregamentos de dados, instantâneos de código de trabalho e cache de dados de pipeline. |
workspaceworkingdirectory |
Partilha de ficheiros | code-{GUID} |
Armazena dados para blocos de anotações, instâncias de computação e fluxo de prompt. |
workspacefilestore |
Partilha de ficheiros | azureml-filestore-{workspace-id} |
Contentor alternativo para carregamento de dados. |
workspaceartifactstore |
Contentor de blobs | azureml |
Armazenamento para ativos como métricas, modelos e componentes. |
Tipos de dados
Um URI (local de armazenamento) pode fazer referência a um ficheiro, uma pasta ou uma tabela de dados. Uma definição de entrada e saída de trabalho de aprendizado de máquina requer um destes três tipos de dados:
Type | V2 API | V1 API | Cenários canónicos | Diferença da API V2/V1 |
---|---|---|---|---|
Ficheiro Fazer referência a um único ficheiro |
uri_file |
FileDataset |
Ler/gravar um único ficheiro - o ficheiro pode ter qualquer formato. | Um tipo novo para APIs V2. Nas APIs V1, os ficheiros são sempre mapeados para uma pasta no sistema de ficheiros de destino de computação; Este mapeamento exigiu um os.path.join . Nas APIs V2, o ficheiro único é mapeado. Dessa forma, pode referir-se a essa localização no seu código. |
Pasta Fazer referência a uma única pasta |
uri_folder |
FileDataset |
Tem de ler/gravar uma pasta de ficheiros parquet/CSV no Pandas/Spark. Aprendizagem profunda com ficheiros de imagens, texto, áudio e vídeo localizados numa pasta. |
Nas APIs V1, FileDataset tinha um mecanismo associado que podia obter uma amostra de ficheiro de uma pasta. Nas APIs V2, uma pasta é um mapeamento simples para o sistema de arquivos de destino de computação. |
Tabela Fazer referência a uma tabela de dados |
mltable |
TabularDataset |
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 esquema de materialização de dados. Como resultado, TabularDataset só funcionava se você tivesse um espaço de trabalho do Azure Machine Learning. mltable armazena o plano de materialização de dados em seu armazenamento. Esse local de armazenamento significa que você pode usá-lo desconectado do Azure Machine Learning - por exemplo, local e localmente. Nas APIs V2, é mais fácil fazer a transição de trabalhos locais para remotos. Para obter mais informações, visite Trabalhando com tabelas no Azure Machine Learning. |
URI
Um URI (Uniform Resource Identifier) representa um local de armazenamento em seu computador local, armazenamento do Azure ou um local http(s) disponível publicamente. Estes exemplos mostram URIs para diferentes opções de armazenamento:
Localização de armazenamento | Exemplos de URI |
---|---|
Azure Machine Learning Datastore | azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet |
Computador local | ./home/username/data/my_data |
Servidor http(s) público(s) | https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv |
Armazenamento de Blobs | 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 URIs para o sistema de arquivos de destino de computação. Esse mapeamento significa que, para 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 a serviços de armazenamento, com sua ID do Microsoft Entra (padrão) ou Identidade Gerenciada. Os URIs do Azure Machine Learning Datastore podem aplicar autenticação baseada em identidade ou autenticação baseada em credenciais (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 mapear 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 suporta exclusivamente saída somente leitura. - Montagem de leitura/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 suporta saída de leitura e gravação de dados nele. - Download (
download
): O URI representa um local de armazenamento que contém dados que são baixados para o sistema de arquivos de destino de computação. - Upload (
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:
Tarefa Entrada ou Saída |
upload |
download |
ro_mount |
rw_mount |
direct |
---|---|---|---|---|---|
Entrada | ✓ | ✓ | ✓ | ||
Saída | ✓ | ✓ |
Para obter mais informações, visite Acessar dados em um trabalho.
Capacidade de tempo de execução de dados
O Azure Machine Learning usa seu próprio tempo de execução de dados para uma das três finalidades:
- para montagens/uploads/downloads
- para mapear URIs de armazenamento para o sistema de arquivos de destino de computação
- para materializar dados tabulares em pandas/spark com tabelas do Azure Machine Learning (
mltable
)
O tempo de execução de dados do Azure Machine Learning foi projetado para alta velocidade e alta eficiência de tarefas de aprendizado de máquina. Oferece os seguintes benefícios principais:
- Arquitetura da linguagem Rust . A linguagem Rust é conhecida pela alta velocidade e alta eficiência de memória.
- Peso leve; o tempo de execução de dados do Azure Machine Learning não tem dependências em outras tecnologias - JVM, por exemplo - para que o tempo de execução seja instalado rapidamente em destinos de computação.
- Carregamento de dados multiprocesso (paralelo).
- As pré-buscas de dados operam como tarefa em segundo plano na(s) CPU(s), para melhorar a utilização da(s) GPU(s) em operações de aprendizagem profunda.
- Autenticação perfeita para armazenamento em nuvem.
Ativo de dados
Um ativo de dados do Azure Machine Learning se assemelha aos marcadores do navegador da Web (favoritos). Em vez de lembrar os URIs (caminhos de armazenamento longos) que apontam para os dados usados com mais frequência, você pode criar um ativo de dados e, em seguida, acessar esse ativo com um nome amigável.
A criação de ativos de dados também cria uma referência ao local da fonte de dados, juntamente com uma cópia de seus metadados. Como os dados permanecem em seu local existente, você não incorre em nenhum custo adicional de armazenamento e não corre em risco a integridade da fonte de dados. Você pode criar ativos de dados a partir de armazenamentos de dados do Azure Machine Learning, Armazenamento do Azure, URLs públicas ou arquivos locais.
Para obter mais informações sobre ativos de dados, visite Criar ativos de dados.