Conceptos sobre los datos en Azure Machine Learning

Con Azure Machine Learning, puede importar datos de una máquina local o de un recurso de almacenamiento existente basado en la nube. En este artículo, se describen los conceptos clave de datos de Azure Machine Learning.

Almacén de datos

Un almacén de datos de Azure Machine Learning es una referencia a una cuenta de almacenamiento existente de Azure. Un almacén de datos de Azure Machine Learning ofrece estas ventajas:

  • Tener una API común y fácil de usar que interactúa con diferentes tipos de almacenamiento (Blob, Files, ADLS).
  • Detección más sencilla de almacenes de datos útiles en operaciones de equipo.
  • 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 instancia de Microsoft Entra ID o la identidad administrada 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

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

Almacenes de datos predeterminados

Cada área de trabajo de Azure Machine Learning tiene una cuenta de almacenamiento predeterminada (cuenta de Azure Storage) que contiene los siguientes almacenes de datos:

Sugerencia

Para buscar el identificador del área de trabajo, vaya al área de trabajo en Azure Portal. Expanda Configuración y, a continuación, seleccione Propiedades. Se muestra el id. del área de trabajo.

Nombre del almacén de datos Tipo de almacenamiento de datos Nombre del almacenamiento de datos Descripción
workspaceblobstore Contenedor de blobs azureml-blobstore-{workspace-id} Almacena cargas de datos, instantáneas de código de trabajo y caché de datos de canalización.
workspaceworkingdirectory Recurso compartido de archivos code-{GUID} Almacena datos para cuadernos, instancias de proceso y flujo de solicitud.
workspacefilestore Recurso compartido de archivos azureml-filestore-{workspace-id} Contenedor alternativo para la carga de datos.
workspaceartifactstore Contenedor de blobs azureml Almacenamiento para recursos como métricas, modelos y componentes.

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 y en el entorno local. En las API V2, le resultará más fácil realizar la transición de trabajos locales a remotos. Consulte Uso de tablas en Azure Machine Learning para obtener más información.

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
Almacén de datos de Azure Machine Learning azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
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>

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 Microsoft Entra ID (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

Consulte Acceso a datos en un trabajo para obtener 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 uno de estos tres fines:

  • para montajes, cargas y descargas
  • para asignar URI de almacenamiento al sistema de archivos de destino de proceso
  • para materializar datos tabulares en pandas/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. Ofrece estas ventajas clave:

  • 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.

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.

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

Pasos siguientes