La elección que hagas depende 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 video: Cloud Storage es una opción natural para almacenar estos tipos de archivos grandes, a menudo individuales.
- Cuando los datos de entrenamiento están estructurados en formatos como TFRecord: Cloud Storage se usa comúnmente para estos formatos específicos de 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 generar tiempos de carga de datos y de inicio de trabajos más rápidos para conjuntos de datos grandes.
- Cuando se realiza un entrenamiento distribuido: Cloud Storage FUSE proporciona una alta capacidad de procesamiento para lecturas secuenciales de archivos grandes, lo que es 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 explícitas a la API en tu código de entrenamiento.
- Cuando tu necesidad principal es el almacenamiento escalable y te preocupa menos la latencia más baja para el acceso aleatorio a varios archivos pequeños.
Específico de Ray en 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 buckets de Cloud Storage como sistemas de archivos locales en tus 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 estándar de E/S de archivos.
- Para obtener un rendimiento óptimo, te recomendamos 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 se almacenaran 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 en 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 se prefiere administrar los permisos a nivel del sistema de archivos.
Específico de Ray en Agent Platform
- Puedes activar recursos compartidos de NFS en tu clúster de Ray en Agent Platform, lo que hace que los archivos remotos sean accesibles 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 activaciones de NFS cuando creas 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 activado, 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 en Agent Platform. Esto ayuda con el seguimiento y el control de tus recursos de datos en diferentes proyectos y experimentos.
- Data Labeling: Puedes crear tareas de etiquetado y administrar conjuntos de anotaciones directamente en el conjunto de datos administrado.
- Seguimiento del linaje de datos: Los conjuntos de datos administrados realizan un seguimiento automático del linaje de tus datos a los modelos entrenados en ellos. Esto es fundamental para comprender las fuentes de datos que se usan para modelos específicos y para garantizar la reproducibilidad y el control.
- Comparación de modelos personalizados y de AutoML: Los conjuntos de datos administrados te permiten entrenar modelos personalizados y 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: Agent Platform 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 se usan conjuntos de datos administrados en 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 especificadas. Esto simplifica el proceso de preparación de datos.
- Uso de versiones de conjuntos de datos: Los conjuntos de datos administrados habilitan 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ífico 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 activados 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 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, procesarlos previamente y, luego, entrenar un modelo.
- Canalizaciones de entrenamiento de modelos continuos: Para configurar el entrenamiento de modelos continuos, puedes activar ejecuciones de canalizaciones según los datos nuevos que llegan a una tabla de BigQuery. Esto permite la automatización del reentrenamiento de modelos. Puedes configurar un activador de Eventarc para iniciar una canalización cuando se inserta un trabajo nuevo en una tabla de BigQuery específica.
- Supervisión de modelos: BigQuery se puede usar como fuente para supervisar el sesgo y la desviación de atributos de tus 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, lo ideal es que tu tabla de BigQuery tenga 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 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 la experimentación y el entrenamiento en Vertex AI Workbench.
Específico de Ray en Vertex AI
- Ray en Vertex AI tiene capacidades para 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 lees desde BigQuery, ten en cuenta el tamaño máximo de respuesta de la consulta, que es de 10 GB.
- También puedes escribir datos desde tus aplicaciones de Ray en BigQuery con el SDK de Agent Platform para Python.
Más información
- Agent Platform para usuarios de BigQuery
- Compila una canalización para el entrenamiento de modelos continuo
- Usa Ray en Vertex AI con BigQuery