La decisión que tomes dependerá de muchos 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 son no estructurados, como imágenes, texto o video, Cloud Storage es una opción ideal para almacenar estos tipos de archivos grandes, a menudo individuales.
- Cuando los datos de entrenamiento están estructurados en formatos como TFRecord, por lo general, se usa Cloud Storage 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 todo el archivo 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 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 prefieras la comodidad de acceder a los datos de Cloud Storage como si fuera un sistema de archivos local sin tener que realizar llamadas a la API explícitas 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 para Ray en Vertex AI
- Puedes almacenar tus datos en buckets de Cloud Storage, a los que Ray en Vertex AI puede acceder.
- Ray puede leer datos directamente desde Cloud Storage. Por ejemplo, cuando ejecutas Spark en Ray, puedes leer archivos de Cloud Storage.
- Vertex AI usa Cloud Storage FUSE para activar los buckets de Cloud Storage como sistemas de archivos locales dentro de 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 de E/S de archivos estándar.
- Para obtener un rendimiento óptimo, te recomendamos que uses los 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 necesites 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 de archivos complejas 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 Vertex AI.
- 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 el FUSE de Cloud Storage.
- Tienes una infraestructura de NFS existente en tu nube privada virtual que quieres usar.
- Debes compartir archivos o directorios en varias tareas o clústeres con acceso coherente y de baja latencia, y se prefiere administrar los permisos a nivel del sistema de archivos.
Específico para Ray en Vertex AI
- Puedes activar recursos compartidos de NFS en tu clúster de Ray en Vertex AI, lo que permite 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 sistemas de archivos compartidos.
- Puedes configurar las activaciones de NFS cuando creas tu clúster de Ray con el SDK de Vertex AI para Python y especificar el servidor, la ruta de acceso y el punto de activación. Una vez activados, el código de Ray puede leer y escribir en estos volúmenes de NFS con operaciones de archivo estándar.
Más información
Conjunto de datos administrado
- Administración y gobernanza de datos centralizados: Los conjuntos de datos administrados proporcionan una ubicación central para organizar y administrar tus conjuntos de datos en Vertex AI. Esto ayuda con el seguimiento y la administración de tus recursos 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 datos: Los conjuntos de datos administrados hacen un seguimiento automático del linaje de tus datos hasta los modelos que se entrenaron en ellos. Esto es fundamental para comprender las fuentes de datos que se usan para modelos específicos y para garantizar la reproducibilidad y la gobernanza.
- 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: Vertex AI puede generar automáticamente estadísticas y visualizaciones para los datos de un conjunto de datos administrado. Esto puede ayudarte en el análisis exploratorio de datos y ayudarte a comprender las características de tus datos.
- División automática de datos: Cuando usas conjuntos de datos administrados en las canalización de entrenamiento, Vertex AI puede dividir automáticamente tus datos en conjuntos de entrenamiento, validación y prueba según fracciones, filtros, divisiones predefinidas o marcas de tiempo especificadas. Esto simplifica el proceso de preparación de datos.
- Usar 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 volver a versiones anteriores si es necesario.
Específico para Ray en Vertex AI
- Si usas un conjunto de datos administrado en una canalización de entrenamiento de Vertex AI que usa Ray para el entrenamiento distribuido, los datos del conjunto de datos administrado estarán disponibles para los contenedores de entrenamiento, a los que tu aplicación de Ray podrá acceder (a través de Cloud Storage activado o BigQuery si el conjunto de datos está vinculado a esas fuentes). Las variables de entorno
AIP_TRAINING_DATA_URI
,AIP_VALIDATION_DATA_URI
yAIP_TEST_DATA_URI
apuntarían a los datos.
Más información
BigQuery
- Cuando te conectas a datos dentro de componentes de Vertex AI: Muchas herramientas y servicios de Vertex AI 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 Vertex AI, 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 continuo de modelos: Para configurar el entrenamiento continuo de modelos, puedes activar ejecuciones de canalizaciones en función de datos nuevos que llegan a una tabla de BigQuery. Esto permite automatizar el reentrenamiento de modelos. Puedes configurar un activador de Eventarc para iniciar una canalización cuando se inserte un trabajo nuevo en una tabla de BigQuery específica.
- Supervisión de modelos: BigQuery se puede usar como fuente para supervisar la desviación y el sesgo de los atributos de tus modelos implementados. Para la detección de sesgos, 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 para Ray en Vertex AI
- Ray en Vertex AI tiene capacidades para leer datos directamente desde BigQuery. Puedes usar el SDK de Vertex AI para Python dentro de 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 volver a escribir datos de tus aplicaciones de Ray en BigQuery con el SDK de Vertex AI para Python.
Más información
- Vertex AI para usuarios de BigQuery
- Compila una canalización para el entrenamiento de modelos continuo
- Usa Ray en Vertex AI con BigQuery