Conceptos sobre los datos en Azure Machine Learning

Con Azure Machine Learning puede traer datos de una máquina local o de un almacenamiento basado en la nube existente. En este artículo aprenderá los conceptos principales sobre los datos de Azure Machine Learning.

URI

Un identificador uniforme de recursos (URI) representa una ubicación de almacenamiento en el equipo local, un almacenamiento de Azure o una ubicación http(s) disponible públicamente. En estos ejemplos se muestran URI para diferentes opciones de almacenamiento:

Ubicación de almacenamiento Ejemplos de URI
Equipo local ./home/username/data/my_data
Servidor http(s) público https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Blob Storage 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>
Almacén de datos de Azure Machine Learning azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet

Un trabajo de Azure Machine Learning asigna URI al sistema de archivos de destino de proceso. Esta asignación significa que, en un comando que consume o genera un URI, ese URI funciona como un archivo o una carpeta. Un URI usa la autenticación basada en identidades para conectarse a los servicios de almacenamiento con el identificador de Azure Active Directory (valor predeterminado) o la identidad administrada. Los URI del almacén de datos de Azure Machine Learning pueden aplicar autenticación basada en identidades o basada en credenciales (por ejemplo, entidad de servicio, token de SAS, clave de cuenta) sin exposición de secretos.

Un URI puede servir como entrada o salida de un trabajo de Azure Machine Learning y puede asignarse al sistema de archivos de destino de proceso con una de las cuatro diferentes opciones de modo:

  • Montaje de solo-lectura (ro_mount): el URI representa una ubicación de almacenamiento que se monta en el sistema de archivos de destino de proceso. La ubicación de datos montada admite exclusivamente la salida de solo lectura.
  • Montaje de solo-escritura (rw_mount): el URI representa una ubicación de almacenamiento que se monta en el sistema de archivos de destino de proceso. La ubicación de datos montada admite tanto la salida de lectura de ella como las escrituras de datos en ella.
  • Descarga (download): el URI representa una ubicación de almacenamiento que contiene los datos que se descargan en el sistema de archivos de destino de proceso.
  • Carga (upload): todos los datos escritos en una ubicación de destino de proceso se cargan en la ubicación de almacenamiento representada por el URI.

Además, puede pasar el URI como una cadena de entrada de trabajo con el modo directo. En esta tabla se resume la combinación de modos disponibles para entradas y salidas:

Trabajo
Entrada o salida
upload download ro_mount rw_mount direct
Entrada
Output

Lea Acceso a datos en un trabajo para más información.

Tipos de datos

Un URI (ubicación de almacenamiento) puede hacer referencia a un archivo, una carpeta o una tabla de datos. Una definición de entrada y salida de un trabajo de aprendizaje automático requiere uno de los tres tipos de datos siguientes:

Tipo API V2 API V1 Escenarios canónicos Diferencia entre la API V2 y V1
Archivo
Referencia a un único archivo.
uri_file FileDataset Lectura o escritura de un único archivo: el archivo puede tener cualquier formato. Nuevo tipo para las API V2. En las API V1, los archivos siempre se asignaban a una carpeta del sistema de archivos de destino de proceso; esta asignación requería un elemento os.path.join. En las API V2, se asigna el único archivo. De este modo, puede hacer referencia a esa ubicación en el código.
Carpeta
Referencia a una única carpeta.
uri_folder FileDataset Debe leer o escribir una carpeta de archivos Parquet o CSV en Pandas o Spark.

Aprendizaje profundo con imágenes, texto, audio, archivos de vídeo ubicados en una carpeta.
En las API V1, FileDataset tenía un motor asociado que podía tomar una muestra de archivos de una carpeta. En las API V2, una carpeta es una asignación sencilla al sistema de archivos del destino de proceso.
Tabla
Referencia a una tabla de datos
mltable TabularDataset Tiene un esquema complejo sujeto a cambios frecuentes o necesita un subconjunto de datos tabulares grandes.

AutoML con tablas.
En las API V1, el back-end de Azure Machine Learning almacenaba el plano técnico de materialización de datos. Como resultado, TabularDataset solo funcionaba si tenía un área de trabajo de Azure Machine Learning. mltable almacena el plano técnico de materialización de datos en su almacenamiento. Esta ubicación de almacenamiento significa que puede usarlo desconectado de Azure ML, por ejemplo, de forma local. En las API V2, le resultará más fácil realizar la transición de trabajos locales a remotos. Lea Uso de tablas en Azure Machine Learning para más información.

Funcionalidad del entorno de ejecución de datos

Azure Machine Learning usa su propio entorno de ejecución de datos para montajes, cargas y descargas, para asignar los URI de almacenamiento al sistema de archivos de destino de proceso o para materializar datos tabulares en Pandas o Spark con tablas de Azure Machine Learning (mltable). El entorno de ejecución de datos de Azure Machine Learning está diseñado para tareas de aprendizaje automático de alta velocidad y eficiencia. Entre las ventajas clave se incluyen las siguientes:

  • Arquitectura del lenguaje Rust. El lenguaje Rust es conocido por su eficacia: alta velocidad y memoria alta.
  • Peso ligero; el entorno de ejecución de datos de Azure Machine Learning no tiene dependencias sobre otras tecnologías (JVM, por ejemplo), por lo que el entorno de ejecución se instala rápidamente en los destinos de proceso.
  • Carga de datos de varios procesos (paralelos).
  • Las capturas previas de datos funcionan como tarea en segundo plano en las CPU para mejorar el uso de estas en operaciones de aprendizaje profundo.
  • Autenticación sin problemas en el almacenamiento en la nube.

Almacén de datos

Un almacén de datos de Azure Machine Learning es una referencia a una cuenta de almacenamiento existente de Azure. Entre las ventajas de la creación y uso del almacén de datos de Azure Machine Learning se incluyen:

  1. Tener una API común y fácil de usar que interactúa con diferentes tipos de almacenamiento (Blob, Files, ADLS).
  2. Detección más sencilla de almacenes de datos útiles en operaciones de equipo.
  3. Para el acceso basado en credenciales (entidad de servicio/SAS/clave), el almacén de datos de Azure Machine Learning protege la información de conexión. De este modo, no tendrá que colocar esa información en los scripts.

Al crear un almacén de datos con una cuenta de almacenamiento existente en Azure, puede elegir entre dos métodos de autenticación diferentes:

  • Basado en credenciales: el acceso a los datos se autentica mediante una entidad de servicio, un token de firma de acceso compartido (SAS) o una clave de cuenta. Los usuarios con acceso de Lector al área de trabajo pueden acceder a las credenciales.
  • Basado en identidades: use la identidad o la identidad administrada de Azure Active Directory para autenticar el acceso a los datos.

En la tabla siguiente se resumen los servicios de almacenamiento basados en la nube de Azure que puede crear un almacén de datos de Azure Machine Learning. Además, en la tabla se resumen los tipos de autenticación que pueden acceder a esos servicios:

Servicio de almacenamiento admitido Autenticación basada en credenciales Habilitación basada en identidad
Azure Blob Container
Recurso compartido de archivos de Azure
Azure Data Lake Gen1
Azure Data Lake Gen2

Lea Creación de almacenes de datos para más información sobre los almacenes de datos.

Recurso de datos

Un activo de datos de Azure Machine Learning se parece a los marcadores del explorador web (favoritos). En lugar de recordar largas rutas de acceso de almacenamiento (URI) que apuntan a los datos usados con más frecuencia, puede crear un recurso de datos y, luego, acceder a ese recurso con un nombre descriptivo.

La creación de un recurso de datos también crea una referencia a la ubicación del origen de datos, junto con una copia de sus metadatos. Dado que los datos permanecen en su ubicación existente, no incurre en ningún costo de almacenamiento adicional ni arriesga la integridad de los orígenes de datos. Puede crear recursos de datos a partir de almacenes de datos de Azure Machine Learning, Azure Storage, URL públicas o archivos locales.

Lea Creación de recursos de datos para más información sobre los recursos de datos.

Pasos siguientes