Los servicios de almacenamiento proporcionan la arquitectura de datos esencial que ayuda a habilitar el entrenamiento, la inferencia y el ajuste de modelos de alto rendimiento en el ecosistema de AI Hypercomputer. Si bien hay varios servicios de almacenamiento disponibles en Google Cloud, la opción más adecuada depende de tus requisitos de E/S, capacidad de procesamiento, escala y latencia para los casos de uso dentro del ciclo de vida de la inteligencia artificial (IA) y el aprendizaje automático (AA).
En este documento, se presentan y comparan los servicios de almacenamiento en Google Cloud que pueden ayudarte a optimizar el rendimiento de la GPU o la TPU. También proporciona recomendaciones sobre el servicio ideal para casos de uso específicos de la IA y el AA.
Introducción a los servicios de almacenamiento
Google Cloud ofrece varias soluciones de almacenamiento optimizadas para casos de uso de IA y AA:
Cloud Storage es un sistema de almacenamiento de objetos diseñado para procesar y almacenar conjuntos de datos masivos, como los que se requieren para el entrenamiento o la inferencia masiva. Cloud Storage ofrece varias capacidades para ayudarte a optimizar el almacenamiento de datos para tareas de IA y AA.
Google Cloud Managed Lustre es un sistema de archivos paralelos completamente administrado y compatible con POSIX que está diseñado para el rendimiento de metadatos especializado, de baja latencia y de alta simultaneidad que se requiere para las cargas de trabajo de entrenamiento y de inferencia.
En las siguientes secciones, se proporciona más información sobre cada servicio de almacenamiento.
Cloud Storage
Cloud Storage es un almacén de objetos fundamental diseñado para ofrecer escalabilidad global, durabilidad y rentabilidad. Cuando usas Cloud Storage, almacenas los datos como objetos en contenedores llamados buckets. Cloud Storage ofrece varias funciones para tus buckets que ayudan a optimizar el rendimiento de las cargas de trabajo de IA y AA:
Los productos de la familia Rapid de Cloud Storage están diseñados para eliminar los cuellos de botella de datos de tus cargas de trabajo de IA y AA, ya que acercan tus datos a tus recursos de procesamiento. Estos productos te permiten ubicar tus datos en las mismas zonas que tus cargas de trabajo de procesamiento y habilitar el almacenamiento de datos de alto rendimiento y rentable para tus clústeres de GPU o TPU. Los productos de Cloud Storage Rapid incluyen lo siguiente:
Rapid Bucket proporciona el rendimiento de lectura y escritura más rápido en Cloud Storage para los buckets zonales. Los objetos de los buckets zonales se almacenan en la clase de almacenamiento Rapid, una clase de almacenamiento de alto rendimiento optimizada para cargas de trabajo con uso intensivo de E/S. Además de una menor latencia, Rapid Bucket ofrece una capacidad de procesamiento significativamente mayor (hasta 15 TB/s) en comparación con otros productos y ubicaciones de buckets en Cloud Storage.
Rapid Cache acelera las lecturas de datos en los buckets existentes sin necesidad de realizar cambios en el código. Rapid Cache es una caché de lectura zonal respaldada por SSD para los buckets de Cloud Storage que se utiliza para entregar datos para las solicitudes de lectura de datos. El producto ofrece una mayor capacidad de procesamiento (hasta 2.5 TB/s) y una menor latencia que los buckets sin caché.
Rapid Cache suele configurarse para buckets multirregionales, en los que la capacidad del acelerador se fragmenta en Google Cloud regiones. Los datos que se leen desde la caché generan cargos por transferencia de datos reducidos en comparación con los datos que se leen directamente desde un bucket multirregional.
Cloud Storage FUSE es un adaptador de FUSE de código abierto que te permite activar buckets como sistemas de archivos locales, lo que permite que las aplicaciones interactúen con el almacenamiento de objetos usando la semántica del sistema de archivos estándar. Esta capacidad te permite aprovechar la escalabilidad global, la durabilidad y la eficiencia en costos de Cloud Storage con acceso a archivos locales. Cloud Storage FUSE recibe mantenimiento y asistencia de Googlede forma activa.
Cloud Storage FUSE ofrece varios parámetros de ajuste y almacenamiento en caché del cliente, como las descargas paralelas. Estas capacidades pueden abstraer las complejidades del desarrollo y ayudar a alcanzar el máximo rendimiento mediante la fragmentación o la paralelización de transmisiones.
El espacio de nombres jerárquico permite una verdadera estructura de sistema de archivos en los buckets y proporciona capacidades eficientes de administración de datos, incluidos los cambios de nombre de carpetas atómicas y las búsquedas de archivos más rápidas cuando el bucket se activa con Cloud Storage FUSE. El espacio de nombres jerárquico ofrece 8 veces más consultas por segundo (QPS) para las lecturas y escrituras de objetos que los buckets sin espacio de nombres jerárquico. Para obtener más información sobre los beneficios de usar el espacio de nombres jerárquico, consulta Beneficios de rendimiento y administración.
Se recomienda habilitar el espacio de nombres jerárquico cuando tienes cargas de trabajo que requieren una carga de datos de alto rendimiento y puntos de control frecuentes del modelo. Es necesario habilitar el espacio de nombres jerárquico cuando creas buckets zonales con Rapid Bucket.
Managed Lustre
Google Cloud Managed Lustre es un sistema de archivos paralelo completamente administrado, de alto rendimiento y compatible con POSIX que está optimizado para aplicaciones de IA y AA. La arquitectura de Managed Lustre es ideal para cargas de trabajo de IA/AA de alta capacidad de procesamiento, baja latencia y alta simultaneidad de metadatos, como la creación de puntos de control, la propagación de pesos de alta velocidad en el aprendizaje por refuerzo y el almacenamiento en caché de clave-valor (KV).
Para obtener más información sobre los casos de uso comunes de Managed Lustre, consulta Casos de negocios.
Comparación de los servicios de almacenamiento
En la siguiente tabla, se proporciona una comparación general de Cloud Storage y Managed Lustre en función de las características clave:
| Características | Cloud Storage | Managed Lustre |
|---|---|---|
| Arquitectura | Almacén de objetos
|
Sistema de archivos paralelos
|
| Capacidad de almacenamiento | Se puede escalar hasta EB de capacidad. |
Se puede escalar hasta 80 PB de capacidad, según el nivel de rendimiento de la instancia. |
| Rendimiento | Admite lo siguiente:
|
Admite lo siguiente:
|
| Precios |
Para obtener más información, consulta los Precios de Cloud Storage. |
Para obtener más información, consulta los precios de Managed Lustre. |
| Recomendaciones según los requisitos | Se recomienda para aplicaciones que necesitan un almacén de objetos escalable y eficiencia general en los costos para conjuntos de datos de entrenamiento, puntos de control asíncronos de varios niveles y almacenamiento de pesos del modelo. En particular, se recomienda Cloud Storage Rapid para el ajuste de escala de datos rentable y de alto rendimiento. |
Se recomienda para aplicaciones que necesitan un sistema de archivos paralelo que cumpla con POSIX o directorios principales. También se recomienda para cargas de trabajo sensibles a la latencia o con alta simultaneidad de metadatos, como descargas de caché de KV, puntos de control síncronos y propagación de pesos de alta velocidad para el aprendizaje por refuerzo. |
Recomendaciones de servicios de almacenamiento por caso de uso
| Caso de uso | Recomendación de servicio de almacenamiento | Motivo de la recomendación |
|---|---|---|
| Entrenamiento y preparación de conjuntos de datos | Recomendación principal: Bucket de Rapid Cache de Cloud Storage | Los buckets de Cloud Storage proporcionan la capacidad, la escala de capacidad de procesamiento, la rentabilidad y la durabilidad que a menudo se necesitan para grandes volúmenes de conjuntos de datos de entrenamiento y de inferencia. Cuando usas Rapid Bucket para crear un bucket zonal, este se beneficia de un rendimiento muy alto (hasta 15 TB/s) y una latencia inferior a un milisegundo para los archivos abiertos a un costo óptimo. |
| Recomendación secundaria: Managed Lustre | Managed Lustre proporciona una latencia inferior a un milisegundo. Es útil como espacio de trabajo dedicado y ultrarrápido para las tareas de entrenamiento y preparación de conjuntos de datos más intensivas, en las que la baja latencia y el rendimiento de la simultaneidad de metadatos son una alta prioridad. | |
| Cómo mover o guardar los pesos del modelo para la creación de puntos de control o la transferencia de pesos | Recomendación principal: Managed Lustre | Managed Lustre proporciona una latencia inferior a un milisegundo y acceso paralelo a los datos, lo que permite que miles de trabajadores de implementación extraigan el mismo archivo de peso simultáneamente sin ralentizar el proceso. |
| Recomendación secundaria: Rapid Bucket de Cloud Storage | Rapid Bucket es adecuado para la creación de puntos de control asíncronos de varios niveles o distribuidos cuando se usa con GCSFS a través de fsspec o Cloud Storage FUSE con ajuste del rendimiento del cliente.
|
|
| Cómo almacenar y descargar modelos para la inferencia | Recomendación principal: Rapid Cache o Rapid Bucket de Cloud Storage | Rapid Cache actúa como un refuerzo que ayuda a reducir el inicio en frío de la inferencia. Con Rapid Cache, los pesos del modelo se pueden precalentar en la misma zona que tus nodos de inferencia, lo que permite que una nueva instancia de inferencia descargue rápidamente los pesos del modelo y procese su primera solicitud. Rapid Bucket funciona como un motor de almacenamiento zonal acelerado y de alto rendimiento que te permite ubicar los pesos del modelo en la misma zona que tu flota de inferencia. Para la entrega de modelos, recomendamos usar Run:ai Model Streamer para vLLM para obtener el máximo rendimiento de descarga. Para otras pilas de inferencia, optimizar los parámetros de descarga paralela de Cloud Storage FUSE puede reducir significativamente la latencia de inicio en frío durante las descargas de pesos del modelo. |
| Recomendación secundaria: Managed Lustre | Managed Lustre proporciona una latencia inferior a un milisegundo y acceso paralelo a los datos, lo que beneficia a los modelos sensibles al rendimiento y al escalamiento de las GPUs simultáneas que descargan el mismo modelo al mismo tiempo. | |
| Descarga de la caché de KV | Recomendación principal: Managed Lustre | Managed Lustre proporciona una latencia de menos de un milisegundo y acceso paralelo a los datos, lo que permite que diferentes nodos "extraigan" la caché de KV y reanuden los chats sin volver a procesar todo el historial del chat. |
¿Qué sigue?
Obtén más información sobre Cloud Storage Rapid, una familia de productos de Cloud Storage diseñados para la IA, el AA y el análisis intensivo de datos.
Aprende a optimizar el rendimiento cuando usas Cloud Storage FUSE o el controlador CSI de Cloud Storage FUSE para descargar conjuntos de datos.
Obtén información para acelerar la carga de modelos en Google Kubernetes Engine.