La elección que hagas dependerá de varios factores.
Cloud Storage como un sistema de archivos activado (Cloud Storage FUSE)
Considera usar Cloud Storage como un sistema de archivos activado (Cloud Storage FUSE) por los siguientes motivos:
- Cuando los datos de entrenamiento no están estructurados, como imágenes, texto o videos, Cloud Storage es una opción natural para almacenar estos tipos de archivos grandes y, a menudo, individuales.
- Cuando los datos de entrenamiento se estructuran en formatos como TFRecord, Cloud Storage es de uso frecuente para estos formatos específicos del AA.
- Cuando trabajas con archivos muy grandes: Cloud Storage FUSE transmite los datos a tu trabajo de entrenamiento en lugar de requerir que se descargue el archivo completo en las réplicas. Esto puede acelerar la carga de datos y los tiempos de inicio de trabajos para conjuntos de datos grandes.
- Cuando se realiza el entrenamiento distribuido, Cloud Storage FUSE proporciona una alta capacidad de procesamiento para las lecturas secuenciales de archivos grandes, lo que resulta beneficioso en situaciones de entrenamiento distribuido en las que varios trabajadores necesitan acceder a los datos en paralelo.
- Cuando prefieres la comodidad de acceder a los datos de Cloud Storage como si fuera un sistema de archivos local sin necesidad de realizar llamadas a la API explícitas en tu código de entrenamiento
- Cuando tu necesidad principal es el almacenamiento escalable y no te preocupa la latencia más baja para el acceso aleatorio a numerosos archivos pequeños.
Específico para Ray on Agent Platform
- Puedes almacenar tus datos en buckets de Cloud Storage a los que Ray en Agent Platform puede acceder.
- Ray puede leer datos directamente desde Cloud Storage. Por ejemplo, cuando ejecutas Spark en Ray, puedes leer archivos desde Cloud Storage.
- Agent Platform usa Cloud Storage FUSE para activar los buckets de Cloud Storage como sistemas de archivos locales dentro de los trabajos de entrenamiento que se ejecutan en Ray. Esto permite que tus aplicaciones de Ray accedan a los datos como si estuvieran en un disco local con operaciones de E/S de archivos estándar.
- Para obtener un rendimiento óptimo, se recomienda que uses buckets de Cloud Storage en la misma región en la que ejecutas tu clúster de Ray.
Más información
Recurso compartido del sistema de archivos de red (NFS)
- Cuando necesitas una capacidad de procesamiento muy alta y acceso de baja latencia a archivos remotos, como si estuvieran almacenados de forma local. Esto puede ser importante para ciertos tipos de datos o interacciones complejas de archivos durante el entrenamiento.
- Cuando necesitas que los archivos remotos estén disponibles para todos los nodos de un clúster de procesamiento, como un clúster de Ray en Agent Platform
- Cuando tu aplicación se beneficia de una interfaz de sistema de archivos más estándar con un cumplimiento de POSIX potencialmente más sólido en comparación con Cloud Storage FUSE
- Tienes una infraestructura de NFS existente dentro de tu nube privada virtual que deseas usar.
- Necesitas compartir archivos o directorios en varios trabajos o clústeres con acceso coherente y de baja latencia, y prefieres administrar los permisos a nivel del sistema de archivos.
Específico para Ray on Agent Platform
- Puedes activar recursos compartidos de NFS en tu clúster de Ray en Agent Platform, lo que permite acceder a archivos remotos como si fueran locales.
- Esto es beneficioso para el acceso de alta capacidad de procesamiento y baja latencia a los sistemas de archivos compartidos.
- Puedes configurar las activaciones de NFS cuando crees tu clúster de Ray con el SDK de Agent Platform para Python, especificando el servidor, la ruta de acceso y el punto de activación. Una vez que se activan, tu código de Ray puede leer y escribir en estos volúmenes de NFS con operaciones de archivos estándar.
Más información
Conjunto de datos administrado
- Administración y control de datos centralizados: Los conjuntos de datos administrados proporcionan una ubicación central para organizar y administrar tus conjuntos de datos dentro de la Plataforma de agentes. Esto ayuda con el seguimiento y la administración de tus activos de datos en diferentes proyectos y experimentos.
- Etiquetado de datos: Puedes crear tareas de etiquetado y administrar conjuntos de anotaciones directamente en el conjunto de datos administrado.
- Seguimiento del linaje de los datos: Los conjuntos de datos administrados realizan un seguimiento automático del linaje de tus datos hasta los modelos entrenados con ellos. Esto es fundamental para comprender las fuentes de datos que se usan para modelos específicos y para garantizar la reproducibilidad y la administración.
- Comparación de modelos personalizados y de AutoML: Los conjuntos de datos administrados te permiten entrenar modelos personalizados y modelos de AutoML con los mismos datos. Esto facilita una comparación directa de su rendimiento en el mismo conjunto de datos, lo que te ayuda a elegir el mejor enfoque para tu problema.
- Generación de estadísticas y visualizaciones de datos: La Plataforma de agentes puede generar automáticamente estadísticas y visualizaciones para los datos dentro de un conjunto de datos administrado. Esto puede ayudar en el análisis exploratorio de datos y a comprender las características de tus datos.
- División automática de datos: Cuando usas conjuntos de datos administrados en las canalizaciones de entrenamiento, Agent Platform puede dividir automáticamente tus datos en conjuntos de entrenamiento, validación y prueba según las fracciones, los filtros, las divisiones predefinidas o las marcas de tiempo especificados. Esto simplifica el proceso de preparación de datos.
- Utiliza versiones de conjuntos de datos: Los conjuntos de datos administrados permiten el control de versiones, lo que te permite hacer un seguimiento de los cambios en tus datos a lo largo del tiempo y revertir a versiones anteriores si es necesario.
Específicos de Ray en Vertex AI
- Si usas un conjunto de datos administrado en una canalización de entrenamiento de Agent Platform que utiliza Ray para el entrenamiento distribuido, los datos del conjunto de datos administrado se ponen a disposición de los contenedores de entrenamiento, a los que tu aplicación de Ray puede acceder (a través de Cloud Storage o BigQuery montados si el conjunto de datos está vinculado a esas fuentes). Las variables de entorno
AIP_TRAINING_DATA_URI,AIP_VALIDATION_DATA_URIyAIP_TEST_DATA_URIapuntarían a los datos.
Más información
BigQuery
- Cuando te conectas a los datos dentro de los componentes de Agent Platform: Muchas herramientas y servicios de Agent Platform se integran directamente con BigQuery. Puedes consultar datos en BigQuery desde JupyterLab. Esto te permite interactuar directamente con tus datos de BigQuery para la exploración, la visualización y el desarrollo de modelos sin necesidad de moverlos a otro sistema de almacenamiento.
- Cuando compilas canalizaciones de entrenamiento: Cuando compilas canalizaciones de entrenamiento en Agent Platform, puedes usar datos directamente desde BigQuery. Por ejemplo, una canalización puede recuperar datos de BigQuery, preprocesarlos y, luego, entrenar un modelo.
- Canalizaciones de entrenamiento continuo del modelo: Para configurar el entrenamiento continuo del modelo, puedes activar ejecuciones de canalizaciones según los datos nuevos que lleguen a una tabla de BigQuery. Esto permite automatizar el reentrenamiento del modelo. Puedes configurar un activador de Eventarc para iniciar una canalización cuando se inserte un trabajo nuevo en una tabla específica de BigQuery.
- Supervisión del modelo: BigQuery se puede usar como fuente para supervisar el sesgo y la desviación de las funciones de los modelos implementados. Para la detección de sesgo, puedes especificar el URI de BigQuery de tu conjunto de datos de entrenamiento. Además, BigQuery puede almacenar los registros de los extremos de inferencia en línea, que luego se pueden usar como fuente de datos para la supervisión continua. Para ello, tu tabla de BigQuery debería tener idealmente una columna de marca de tiempo.
- Integración de BigQuery ML: Puedes usar conjuntos de datos de BigQuery cuando aprovechas BigQuery ML para compilar modelos de aprendizaje automático con SQL. Vertex AI Workbench permite el análisis exploratorio interactivo de los datos de BigQuery y el uso de BigQuery ML en un entorno de notebook.
- Exploración y preparación de datos: Antes del entrenamiento, puedes usar BigQuery para explorar y visualizar tus datos. También puedes realizar transformaciones de datos con consultas de SQL directamente en BigQuery antes de usar los datos para el entrenamiento.
- Acceso a conjuntos de datos públicos: BigQuery aloja muchos conjuntos de datos públicos, como el conjunto de datos de viajes en taxi de Chicago, que puedes usar fácilmente para experimentar y entrenar en Vertex AI Workbench.
Específicos de Ray en Vertex AI
- Ray en Vertex AI tiene la capacidad de leer datos directamente desde BigQuery. Puedes usar el SDK de Agent Platform para Python en una tarea de Ray para ejecutar consultas de BigQuery y materializar los resultados para usarlos en tus aplicaciones de Ray.
- Cuando leas desde BigQuery, ten en cuenta el tamaño máximo de la respuesta de la consulta, que es de 10 GB.
- También puedes escribir datos de tus aplicaciones de Ray en BigQuery con el SDK de Agent Platform para Python.
Más información
- Plataforma de agentes para usuarios de BigQuery
- Compila una canalización para el entrenamiento de modelos continuo
- Usa Ray en Vertex AI con BigQuery