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 tiene que colocar esa información en los scripts.
Al crear un almacén de datos con una cuenta de Azure Storage existente, tiene dos opciones de método 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 esta tabla 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 | ✓ | ✓ |
Para obtener más información sobre los almacenes de datos, visite Crear 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 estos 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. Aparece 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 estos 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 Machine Learning, por ejemplo, de forma local. En las API V2, es más fácil realizar la transición de trabajos locales a remotos. Para obtener más información, visite Trabajar con tablas en 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 |
---|---|
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, para 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 autenticación 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 | ✓ | ✓ |
Para obtener más información, visite Acceso a datos en un trabajo.
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.
Para obtener más información sobre los recursos de datos, visite Crear recursos de datos.