Diseña almacenamiento para cargas de trabajo de IA y AA en Google Cloud

Last reviewed 2025-04-09 UTC

En este documento, se proporciona orientación de diseño sobre cómo elegir e integrar los servicios de almacenamiento deGoogle Cloud para tus cargas de trabajo de IA y AA. Cada etapa del ciclo de vida de AA tiene diferentes requisitos de almacenamiento. Por ejemplo, cuando subas el conjunto de datos de entrenamiento, puedes priorizar la capacidad de almacenamiento para el entrenamiento y la alta capacidad de procesamiento para conjuntos de datos grandes. Del mismo modo, las etapas de entrenamiento, ajuste, publicación y archivado tienen requisitos diferentes.

En este documento, encontrarás ayuda para evaluar tus requisitos de capacidad, latencia y rendimiento para tomar decisiones fundamentadas y determinar la solución de almacenamiento adecuada. En este documento, se supone que seleccionaste una plataforma de procesamiento que cumple con los requisitos de tu carga de trabajo. Para las cargas de trabajo de IA y de AA, te recomendamos que uses Compute Engine o Google Kubernetes Engine (GKE). Para obtener más información sobre cómo seleccionar una plataforma de procesamiento, consulta Alojamiento de aplicaciones en Google Cloud.

En las siguientes pestañas, se proporciona un breve resumen de las opciones de almacenamiento recomendadas para cada etapa del flujo de trabajo del AA. Para obtener más información, consulta Elige el almacenamiento adecuado.

Prepárate

En la etapa de preparación del flujo de trabajo del AA, debes hacer lo siguiente:

  1. Sube y transfiere datos.
  2. Transforma los datos al formato correcto antes de entrenar el modelo.

Para optimizar los costos de almacenamiento con varias clases de almacenamiento, te recomendamos que uses la función Autoclass de Cloud Storage o la administración del ciclo de vida de los objetos.

Entrenar

En la etapa de entrenamiento del flujo de trabajo de AA, debes hacer lo siguiente:

  1. Desarrollo de modelos: Desarrolla tu modelo con notebooks y aplica pruebas y errores iterativos.
  2. Entrenamiento de modelos:
    • Usa cantidades pequeñas o grandes de aceleradores de máquinas para leer repetidas veces el conjunto de datos de entrenamiento.
    • Aplica un proceso iterativo para el desarrollo y el entrenamiento de modelos.
  3. Puntos de control y reinicios:
    • Guarda el estado de forma periódica durante el entrenamiento de modelos mediante la creación de un punto de control para que el entrenamiento pueda reiniciarse después de la falla del nodo.
    • Realiza la selección de puntos de control en función del patrón de E/S y la cantidad de datos que se deben guardar en el punto de control.

Para las etapas de entrenamiento, te recomendamos las siguientes opciones de almacenamiento:

  • Usa Cloud Storage con Cloud Storage FUSE y la caché Anywhere si tu carga de trabajo tiene estas características:
    • Datos de entrenamiento que consisten en archivos grandes de 50 MB o más
    • Tolerancia para una latencia de almacenamiento más alta en decenas de milisegundos.
    • Prioriza la durabilidad de los datos y la alta disponibilidad sobre el rendimiento del almacenamiento.
  • Usa Google Cloud Managed Lustre si tu carga de trabajo tiene estas características:
    • Un requisito mínimo de capacidad de entrenamiento de 18 TiB
    • Datos de entrenamiento que consisten en archivos pequeños de menos de 50 MB para aprovechar las capacidades de baja latencia
    • Un requisito de latencia de menos de 1 milisegundo para cumplir con los requisitos de almacenamiento para el acceso a metadatos y E/S aleatoria.
    • Un requisito para realizar puntos de control de alto rendimiento frecuentes.
    • Una experiencia similar a una computadora de escritorio con compatibilidad completa con POSIX para ver y administrar los datos de tus usuarios

Para optimizar los costos, te recomendamos que uses el mismo servicio de almacenamiento durante todas las etapas del entrenamiento del modelo.

Entregar

En la etapa de publicación del flujo de trabajo de AA, debes hacer lo siguiente:

  1. Almacena el modelo.
  2. Carga el modelo en una instancia que ejecute aceleradores de máquinas al inicio.
  3. Almacena resultados de inferencia de modelos, como imágenes generadas.
  4. De manera opcional, almacena y carga el conjunto de datos usado para la inferencia del modelo.

Para las etapas de publicación, recomendamos las siguientes opciones de almacenamiento:

  • Cloud Storage con Cloud Storage FUSE y Anywhere Cache si tu carga de trabajo tiene estas características:
    • Un requisito para una solución rentable en un entorno dinámico en el que la cantidad de nodos de inferencia puede cambiar.
    • Actualizaciones poco frecuentes de tu modelo
    • Prioridad para la alta disponibilidad y durabilidad de tus modelos, incluso en caso de interrupciones regionales
  • Hyperdisk de AA de Google Cloud si tu carga de trabajo tiene estas características:
    • Un requisito de más de 100 nodos de inferencia
    • Actualizaciones poco frecuentes de tu modelo
    • Tu carga de trabajo usa un tipo de máquina virtual (VM) compatible.
    • Tu canalización puede administrar volúmenes de solo lectura para almacenar modelos.
  • Managed Lustre si tu carga de trabajo tiene estas características:
    • Tu carga de trabajo de entrenamiento y puntos de control usa Lustre administrado.
    • Un requisito de 10 a 100 nodos de inferencia
    • Actualizaciones frecuentes de tu modelo

Archivar

En la etapa de archivado de las cargas de trabajo de AA, conservas los datos de entrenamiento y el modelo durante períodos prolongados.

Para optimizar los costos de almacenamiento con varias clases de almacenamiento, te recomendamos que uses Autoclass o la administración del ciclo de vida de los objetos de Cloud Storage.

Descripción general del proceso de diseño

Para determinar las opciones de almacenamiento adecuadas para tu carga de trabajo de IA y AA enGoogle Cloud, haz lo siguiente:

  1. Considera las características de tu carga de trabajo, las expectativas de rendimiento y los objetivos de costos.
  2. Revisa los servicios y las funciones de almacenamiento recomendados en Google Cloud.
  3. En función de tus requisitos y las opciones disponibles, elige los servicios y las funciones de almacenamiento que necesitas para cada etapa del flujo de trabajo de AA: preparación, entrenamiento, publicación y archivo.

En este documento, se enfoca en las etapas del flujo de trabajo de AA en las que es más importante considerar cuidadosamente las opciones de almacenamiento, pero no abarca la totalidad del ciclo de vida, los procesos y las capacidades del AA.

A continuación, se proporciona una descripción general del proceso de diseño de tres fases para elegir el almacenamiento de tu carga de trabajo de IA y AA:

  1. Define tus requisitos:
    • Características de la carga de trabajo
    • Restricciones de seguridad
    • Requisitos de resiliencia
    • Expectativas de rendimiento
    • Objetivos de costos
  2. Revisa las opciones de almacenamiento:
    • Cloud Storage
    • Managed Lustre
    • Hyperdisk ML
  3. Elige el almacenamiento adecuado: Elige servicios, funciones y opciones de diseño de almacenamiento según las características de tu carga de trabajo en cada etapa del flujo de trabajo de AA.

Define tus requisitos

Antes de elegir las opciones de almacenamiento para tu carga de trabajo de IA y AA en Google Cloud, debes definir los requisitos de almacenamiento de la carga de trabajo. Para definir los requisitos de almacenamiento, debes tener en cuenta factores como la plataforma de procesamiento, la capacidad, la capacidad de procesamiento y los requisitos de latencia.

Para ayudarte a elegir una opción de almacenamiento para tus cargas de trabajo de IA y AA, ten en cuenta las siguientes características:

  • ¿Los tamaños de solicitud de E/S y de los archivos son pequeños (KB), medianos o grandes (MB o GB)?
  • ¿Tu carga de trabajo muestra principalmente patrones de acceso a archivos secuenciales o aleatorios?
  • ¿Tus cargas de trabajo de IA y AA son sensibles a la latencia de E/S y el tiempo hasta el primer byte (TTFB)?
  • ¿Necesitas una alta capacidad de procesamiento de lectura y escritura para clientes individuales, clientes agregados o ambos?
  • ¿Cuál es la mayor cantidad de unidades de procesamiento gráfico (GPU) o unidades de procesamiento tensorial (TPU) que requiere tu carga de trabajo de entrenamiento de IA y AA más grande?

Usarás las respuestas a estas preguntas para elegir el almacenamiento adecuado más adelante en este documento.

Revisa las opciones de almacenamiento

Google Cloud ofrece servicios de almacenamiento para todos los formatos de almacenamiento principales: bloque, archivo, sistema de archivos en paralelo y objeto. En la siguiente tabla, se describen las opciones que puedes considerar para tu carga de trabajo de IA y AA enGoogle Cloud. La tabla incluye las tres opciones de almacenamiento administradas por Google en las que se enfoca este documento para tus cargas de trabajo de IA y AA. Sin embargo, si tienes requisitos específicos que no se abordan en estas ofertas, considera explorar Sycomp Storage, que es un servicio de almacenamiento administrado por socios disponible en Google Cloud Marketplace.

Revisa y evalúa las funciones, las opciones de diseño y las ventajas relativas de los servicios disponibles para cada formato de almacenamiento.

Servicio de almacenamiento Tipo de almacenamiento Funciones
Cloud Storage Objeto
  • Entre las funciones compatibles, se incluyen la API de JSON y la transferencia de Amazon S3 a Cloud Storage.
  • Datos y objetos no estructurados.
  • Operaciones de lectura y escritura persistentes
  • Tiene una capacidad de procesamiento de más de 1 TB/s con latencia alta.
Managed Lustre Sistema de archivos en paralelo
Hyperdisk ML Bloquear
  • Alto rendimiento con una pequeña capacidad de almacenamiento.
  • Persistente de solo lectura
  • Hasta 1.2 TB/s de capacidad de procesamiento agregada
Almacenamiento de Sycomp Sistema de archivos en paralelo
  • Cumple con POSIX.
  • Almacenamiento de HPC
  • Escalar con el nivel automático de Cloud Storage
  • Almacenamiento persistente y temporal.
  • Hasta 1.2 TB/s de capacidad de procesamiento con latencia ultrabaja

Cloud Storage

Cloud Storage es un servicio de almacenamiento de objetos completamente administrado que es adecuado para cargas de trabajo de IA y de AA de cualquier escala. Cloud Storage se destaca en el manejo de datos no estructurados para todas las fases del flujo de trabajo de IA y AA.

Cloud Storage proporciona los siguientes beneficios:

  • Escalabilidad masiva: Obtén capacidad de almacenamiento ilimitada que escala a exabytes a nivel global.
  • Alta capacidad de procesamiento: Escala hasta 1 TB/s con la planificación necesaria.
  • Opciones de ubicación flexibles: Elige entre opciones de almacenamiento regionales, multirregionales y birregionales para cargas de trabajo de IA y AA.
  • Rentabilidad: Aprovecha una variedad de clases de almacenamiento diseñadas para optimizar los costos en función de tus patrones de acceso a los datos.

Cloud Storage se destaca por su escalabilidad y rentabilidad, pero es importante tener en cuenta su latencia y sus características de E/S. Espera una latencia de decenas de milisegundos, que es más alta que otras opciones de almacenamiento. Para maximizar la capacidad de procesamiento, debes usar cientos o miles de subprocesos, archivos grandes y solicitudes de E/S grandes. Cloud Storage proporciona bibliotecas cliente en varios lenguajes de programación, y también proporciona Cloud Storage FUSE y Anywhere Cache.

Cloud Storage FUSE es un adaptador FUSE de código abierto compatible con Google. Cloud Storage FUSE te permite activar los buckets de Cloud Storage como unidades locales. Cloud Storage FUSE no cumple por completo con POSIX. Por lo tanto, es importante que comprendas las limitaciones y las diferencias de Cloud Storage FUSE con los sistemas de archivos tradicionales. Con Cloud Storage FUSE, puedes acceder a tus datos de entrenamiento, modelos y puntos de control con el escalamiento, la asequibilidad y el rendimiento de Cloud Storage.

El almacenamiento en caché de Cloud Storage FUSE proporciona los siguientes beneficios:

  • Portabilidad: Activa y accede a los buckets de Cloud Storage con la semántica del sistema de archivos estándar, lo que hace que tus aplicaciones sean más portátiles.
  • Compatibilidad: Elimina la necesidad de refactorizar aplicaciones para usar APIs específicas de la nube, lo que te ahorra tiempo y recursos.
  • Reducción del tiempo inactivo: Accede directamente a los datos en Cloud Storage para iniciar trabajos de entrenamiento con rapidez, lo que minimiza el tiempo inactivo de las GPUs y las TPU.
  • Alta capacidad de procesamiento: Aprovecha la escalabilidad y el rendimiento integrados de Cloud Storage, que está optimizado para cargas de trabajo de AA con mucho procesamiento de lectura con GPUs o TPU.
  • Caché de archivos local del cliente: acelera el entrenamiento con una caché local del cliente que acelera las lecturas de archivos repetidas. Esta aceleración se puede mejorar aún más cuando la usas con el SSD local de 6 TiB que se incluye con los tipos de máquina A3.

Anywhere Cache es una función de Cloud Storage que proporciona hasta 1 PiB de caché de lectura zonal respaldada por SSD para los buckets de Cloud Storage. Anywhere Cache está diseñado para acelerar las aplicaciones que usan muchos datos, ya que proporciona una capa de acceso local y rápido para los datos que se leen con frecuencia dentro de una zona específica.

La caché en cualquier lugar ofrece los siguientes beneficios:

  • Rendimiento acelerado: Escala automáticamente la capacidad de la caché y la ancho de banda para ofrecer un alto rendimiento, superando las cuotas de ancho de banda regionales, con latencias coherentes y predecibles.
  • Reducción de costos: Evita los cargos de salida de transferencia de datos o las tarifas de recuperación de la clase de almacenamiento para los datos almacenados en caché. Anywhere Cache cambia el tamaño de la caché y el ancho de banda disponible automáticamente para satisfacer las necesidades de tu carga de trabajo.

Hyperdisk ML

Hyperdisk ML es una solución de almacenamiento en bloques de alto rendimiento diseñada para acelerar las cargas de trabajo de IA y AA que requieren acceso de solo lectura a grandes conjuntos de datos. Hyperdisk ML aprovecha la escalabilidad y la disponibilidad de Colossus para equilibrar el rendimiento en el sistema de archivos subyacente. Hyperdisk ML es especialmente adecuado para entregar tareas en comparación con otros servicios de almacenamiento en Google Cloud , ya que puede proporcionar una capacidad de procesamiento agregada excepcionalmente alta de forma simultánea a muchas VMs.

Hyperdisk ML ofrece los siguientes beneficios:

  • Publicación de modelos acelerada y escalabilidad: Amplía hasta miles de nodos simultáneos y logra una alta capacidad de procesamiento agregada, lo que optimiza los tiempos de carga y el uso de recursos para las cargas de trabajo de inferencia con el modo ReadOnlyMany de Kubernetes.
  • Densidad de alto rendimiento: Obtén la mayor capacidad de procesamiento disponible enGoogle Cloud y operaciones de lectura rápidas para conjuntos de datos compartidos grandes.
  • Costo total de propiedad (TCO) mejorado: Reduce los costos con tiempos de inactividad de la GPU más cortos, capacidades de varios adjuntos y agrupación de rendimiento.
  • Acceso de solo lectura simultáneo: Reduce los costos compartiendo discos entre VMs, lo que es más rentable que tener varios discos con los mismos datos. Para acceder a los datos estáticos de varias VMs, debes conectar el mismo disco en modo de solo lectura a cientos de VMs. Para actualizar el volumen, el disco debe estar desconectado de todas las VMs, excepto de una.

Managed Lustre

Lustre administrado es un sistema de archivos completamente administrado en Google Cloud. Lustre administrado proporciona instancias zonales persistentes que se compilan en el sistema de archivos Lustre de DDN EXAScaler. Lustre administrado es ideal para cargas de trabajo de IA y AA que necesitan proporcionar acceso de baja latencia de menos de un milisegundo con alta capacidad de procesamiento y operaciones de entrada y salida por segundo (IOPS). Lustre administrado puede mantener una alta capacidad de procesamiento y IOPS para algunas VM o para miles de ellas.

Lustre administrado ofrece los siguientes beneficios:

  • Cumplimiento de POSIX: Compatibilidad con el estándar POSIX, que ayuda a garantizar la compatibilidad con muchas aplicaciones y herramientas existentes.
  • Reduce el TCO del entrenamiento: Acelera el tiempo de entrenamiento con la entrega eficiente de datos a los nodos de procesamiento. Esta aceleración ayuda a reducir el TCO para el entrenamiento de modelos de IA y AA.
  • Menor TCO para la publicación: Habilita una carga de modelos más rápida y una publicación de inferencia optimizada en comparación con Cloud Storage. Estas funciones ayudan a reducir los costos de procesamiento y a mejorar la utilización de recursos.
  • Uso eficiente de recursos: Combina el registro de puntos de control y el entrenamiento en una sola instancia. Este uso de recursos ayuda a maximizar el uso eficiente de la capacidad de procesamiento de lectura y escritura en un solo sistema de almacenamiento de alto rendimiento.

Almacenamiento de Sycomp

Sycomp Storage basado en IBM Storage Scale (Sycomp Storage) es un sistema de archivos en paralelo persistente y de alto rendimiento que es compatible con Sycomp y lo administra. Sycomp Storage está diseñado para sobresalir en las cargas de trabajo de IA y AA que demandan gran capacidad, alta capacidad de procesamiento y baja latencia. Sycomp Storage proporciona almacenamiento en caché integrado y a pedido de lectura y escritura de buckets de Cloud Storage existentes. A diferencia de las opciones de almacenamiento administradas por Google anteriores, Sycomp Storage es administrado por socios. Sycomp Storage está disponible en Cloud Marketplace a través de una oferta privada de Sycomp.

Sycomp Storage proporciona los siguientes beneficios:

  • Cumple con POSIX: Compatibilidad con el estándar POSIX, que brinda compatibilidad con muchas aplicaciones y herramientas existentes.
  • Escalabilidad y flexibilidad: Aumenta o reduce el rendimiento y la capacidad de forma independiente. Sycomp Storage admite datos a escala de PB y miles de VM simultáneas, con acceso flexible a través de NFS y el cliente integrado de Scale Spectrum.
  • Rendimiento optimizado: Ofrece hasta 1.2 TB/s de capacidad de procesamiento de lectura y escritura con una latencia de menos de un milisegundo.
  • Implementación y administración simplificadas: Usa un controlador de CSI para implementaciones de GKE, integración de Slurm para implementaciones de Compute Engine y compatibilidad con Terraform.
  • Cloud Storage y la integración híbrida: Habilita la almacenación en caché a pedido de los buckets de Cloud Storage o los datos locales. Sycomp Storage es el único sistema de archivos en Google Cloud que ofrece este beneficio. Cuando usas Sycomp Storage, todos tus datos en Cloud Storage siguen manteniendo el acceso directo, lo que evita el bloqueo de datos.

Análisis comparativo

En la siguiente tabla, se muestran las capacidades clave de los servicios de almacenamiento enGoogle Cloud.

Cloud Storage Hyperdisk ML Managed Lustre Almacenamiento de Sycomp
Capacidad No hay un límite máximo ni inferior. De 4 GiB a 64 TiB De 18 TiB a 1 PiB Escala a PB, que se determina según la cantidad de discos que agregues.
Escalamiento Se escala automáticamente según el uso. Escalamiento vertical No escalable Se escala automáticamente según el uso con el almacenamiento en las capas automáticas de Cloud Storage.
Uso compartido
  • Lectura y escritura desde cualquier lugar
  • Se integra a Cloud CDN y a CDN de terceros.
Admitido Se puede activar en varias VMs de Compute Engine y clústeres de GKE. Acceso de lectura y escritura simultáneo con VMs que ejecutan el cliente integrado de IBM Storage Scale y VMs que usan NFS
Opción de clave de encriptación
  • Google-owned and Google-managed encryption keys
  • Administrada por el cliente
  • Proporcionadas por el cliente
  • Google-owned and Google-managed encryption keys
  • Administrada por el cliente
  • Proporcionadas por el cliente
Google-owned and Google-managed encryption keys Administra las claves de encriptación con el IBM Security Guardium Key Lifecycle Manager (GKLM).
Persistencia Vida útil del bucket La vida útil del disco Ciclo de vida de la instancia de Managed Lustre Vida útil de Hyperdisk o Persistent Disk Se crea un espacio en el SSD local.
Disponibilidad Zonal Zonal Zonal
Rendimiento Ajuste de escala automático de las tasas de lectura y escritura, y la redistribución dinámica de cargas Almacenamiento persistente con escalamiento dinámico Escalamiento lineal con capacidad aprovisionada Escalamiento lineal con capacidad aprovisionada
Administración Completamente administrado Formatea y activa de forma manual Completamente administrado y compatible con POSIX Administración completa por parte de Sycomp, compatible con POSIX

Herramientas de transferencia de datos

En esta sección, se describen las opciones para mover datos entre servicios de almacenamiento enGoogle Cloud. Cuando realizas tareas de IA y AA, es posible que debas mover tus datos de una ubicación a otra. Por ejemplo, si tus datos comienzan en Cloud Storage, puedes moverlos a otro lugar para entrenar el modelo y, luego, copiar las instantáneas del punto de control o el modelo entrenado de nuevo en Cloud Storage.

Puedes usar los siguientes métodos para transferir datos a Google Cloud:

  • Transfiere datos en línea a través de Storage Transfer Service: Automatiza la transferencia de grandes cantidades de datos entre sistemas de almacenamiento de objetos y archivos, incluidos Cloud Storage, Amazon S3, los servicios de almacenamiento de Azure y las fuentes de datos locales. El Servicio de transferencia de almacenamiento te permite copiar tus datos de forma segura desde la ubicación de origen hasta la ubicación de destino, además de realizar transferencias periódicas de datos modificados. También proporciona validación de integridad de los datos, reintentos automáticos y balanceo de cargas.
  • Transfiere datos sin conexión a través de Transfer Appliance: Transfiere y carga grandes cantidades de datos sin conexión a Google Cloud en situaciones en las que la conectividad de red y el ancho de banda no están disponibles, son limitados o son costosos.
  • Sube datos a Cloud Storage: Sube datos en línea a buckets de Cloud Storage a través de la consola de Google Cloud, gcloud CLI, las APIs de Cloud Storage o las bibliotecas cliente.

Cuando elijas un método de transferencia de datos, ten en cuenta factores como el tamaño de los datos, las restricciones de tiempo, la disponibilidad del ancho de banda, los objetivos de costo y los requisitos de seguridad y cumplimiento. Para obtener información sobre la planificación y la implementación de transferencias de datos a Google Cloud, consulta Migra a Google Cloud: Transfiere tus conjuntos de datos grandes.

Elige el almacenamiento adecuado

Por lo general, las cargas de trabajo de IA y AA implican cuatro etapas principales: preparación, entrenamiento, entrega y archivo. Cada una de estas etapas tiene requisitos de almacenamiento únicos, y elegir la solución correcta puede afectar de manera significativa el rendimiento, el costo y la eficiencia operativa. Un enfoque híbrido o optimizado de forma local te permite adaptar tus opciones de almacenamiento a las demandas específicas de cada etapa de tu carga de trabajo de IA y AA. Sin embargo, si tus prioridades son la administración unificada y la facilidad de operación, un enfoque globalmente simplificado que use una solución coherente en todas las etapas puede ser beneficioso para cargas de trabajo de cualquier escala. La eficacia de la elección de almacenamiento depende de las propiedades del conjunto de datos, el escalamiento de los recursos de procesamiento y almacenamiento necesarios, la latencia y los requisitos de la carga de trabajo que definiste antes.

En las siguientes pestañas, se proporcionan descripciones generales comparativas de las capacidades de Cloud Storage, Lustre administrado y Hyperdisk para cargas de trabajo de IA y AA.

Capacidad de almacenamiento

En esta tabla, se destaca la idoneidad de cada opción de almacenamiento según la capacidad de almacenamiento:

Requisitos de capacidad de entrenamiento de almacenamiento Cloud Storage Managed Lustre Hyperdisk ML
Menos de 100 TiB
Más de 100 TiB

Capacidad de procesamiento

En esta tabla, se destaca la idoneidad de cada opción de almacenamiento según los requisitos de rendimiento:

Requisitos de capacidad de procesamiento Cloud Storage Managed Lustre Hyperdisk ML
Menos de 125 GB/s
Menos de 1 TB/s
Más de 1 TB/s

Latencia

En esta tabla, se destaca la idoneidad de cada opción de almacenamiento según la latencia para archivos pequeños y lecturas aleatorias:

Latencia (archivos pequeños y operaciones de lectura aleatorias) Cloud Storage Managed Lustre Hyperdisk ML
Menos de 30 ms
Menos de 1 ms

En las siguientes secciones, se proporcionan detalles sobre las etapas principales de las cargas de trabajo de IA y AA, y los factores que podrían influir en tu elección de almacenamiento.

Prepárate

La etapa de preparación sienta las bases de tu aplicación de IA y AA. Implica subir datos sin procesar de varias fuentes a tu entorno de nube y transformarlos en un formato utilizable para entrenar tu modelo de IA y AA. Este proceso incluye tareas como la limpieza, el procesamiento y la conversión de tipos de datos para garantizar la compatibilidad con el framework de IA y de AA que elijas.

Cloud Storage es adecuado para la etapa de preparación debido a su escalabilidad, durabilidad y rentabilidad, en particular para los conjuntos de datos grandes que son comunes en la IA. Cloud Storage ofrece una integración perfecta con otros servicios deGoogle Cloud que te permiten aprovechar las posibles optimizaciones para el entrenamiento intensivo de datos.

Durante la fase de preparación de datos, puedes reorganizar tus datos en fragmentos grandes para mejorar la eficiencia de acceso y evitar solicitudes de lectura aleatorias. Para reducir aún más los requisitos de rendimiento de E/S en el sistema de almacenamiento, puedes aumentar la cantidad de subprocesos de E/S con la canalización, la optimización de entrenamiento o ambos.

Entrenar

La etapa de entrenamiento es el núcleo del desarrollo del modelo, en la que tu modelo de IA y AA aprende de los datos proporcionados. Esta etapa implica dos aspectos clave que tienen requisitos distintos: carga de datos eficiente para acceder a los datos de entrenamiento y puntos de control confiables para guardar el progreso del modelo. En las siguientes secciones, se proporcionan recomendaciones y los factores que se deben tener en cuenta para elegir las opciones de almacenamiento adecuadas para la carga de datos y la creación de puntos de control.

Carga de datos

Durante la carga de datos, las GPUs o las TPUs importan lotes de datos varias veces para entrenar el modelo. En esta fase, puedes usar una caché para optimizar las tareas de carga de datos, según el tamaño de los lotes y el orden en el que los solicitas. Tu objetivo durante la carga de datos es entrenar el modelo con la máxima eficiencia, pero al menor costo.

Si el tamaño de los datos de entrenamiento escala a petabytes, es posible que los datos deban volver a leerse varias veces. Esta escala requiere un procesamiento intensivo por parte de una GPU o un acelerador de TPU. Sin embargo, debes asegurarte de que tus GPUs y TPUs no estén inactivas y de que procesen tus datos de forma activa. De lo contrario, pagas por un acelerador inactivo y costoso mientras copias los datos de una ubicación a otra.

Para optimizar el rendimiento y el costo de la carga de datos, ten en cuenta los siguientes factores:

  • Tamaño del conjunto de datos: Es el tamaño del corpus general de datos de entrenamiento y el tamaño de cada conjunto de datos de entrenamiento.
  • Patrones de acceso: ¿Cuál de las siguientes opciones clasifica mejor el patrón de acceso de E/S de tu carga de trabajo de entrenamiento?
    • Acceso paralelo y secuencial: Se asigna un archivo a un solo nodo y se lee de forma secuencial.
    • Acceso aleatorio y en paralelo: Se asigna un archivo a un solo nodo y se lee de forma aleatoria para crear un lote de muestras.
    • Acceso completamente aleatorio: Un nodo puede leer cualquier rango de cualquier archivo para crear un lote.
  • Tamaño de archivo: Son los tamaños típicos de las solicitudes de lectura.
Cloud Storage para la carga de datos

Por lo general, debes elegir Cloud Storage para cargar tus datos si se aplica alguna de las siguientes condiciones:

  • Tienes un requisito de capacidad de entrenamiento de 100 TiB o más.
  • Tus datos de entrenamiento consisten en archivos grandes de 50 MB o más.
  • Priorizas la durabilidad de los datos y la alta disponibilidad sobre el rendimiento del almacenamiento.

Cloud Storage ofrece una solución escalable y rentable para almacenar conjuntos de datos masivos, y Cloud Storage FUSE te permite acceder a los datos como un sistema de archivos local. Cloud Storage FUSE acelera el acceso a los datos durante el entrenamiento, ya que mantiene los datos de entrenamiento cerca de los aceleradores de máquinas, lo que aumenta la capacidad de procesamiento.

En el caso de las cargas de trabajo que demandan más de 1 TB/s de capacidad de procesamiento, Anywhere Cache acelera las velocidades de lectura almacenando datos en caché y escalando más allá de las cuotas de ancho de banda regionales. Para evaluar si Anywhere Cache es adecuada para tu carga de trabajo, usa el recomendador de Anywhere Cache para analizar el uso y el almacenamiento de datos.

Lustre administrado para la carga de datos

Debes elegir Lustre administrado para cargar tus datos si se aplica alguna de las siguientes condiciones:

  • Tienes un requisito mínimo de capacidad de entrenamiento de 18 TiB.
  • Tus datos de entrenamiento consisten en archivos pequeños de menos de 50 MB para aprovechar las capacidades de baja latencia.
  • Tienes un requisito de latencia de menos de 1 milisegundo para cumplir con los requisitos de almacenamiento para el acceso a metadatos y E/S aleatoria.
  • Para ver y administrar los datos de tus usuarios, necesitas una experiencia similar a una computadora de escritorio con compatibilidad completa con POSIX.

Puedes usar Lustre administrado como una caché de alto rendimiento en Cloud Storage para acelerar las cargas de trabajo de IA y AA que requieren una capacidad de procesamiento extremadamente alta y operaciones de E/S de baja latencia con un sistema de archivos paralelo completamente administrado. Para minimizar la latencia durante el entrenamiento, puedes importar datos a Lustre administrado desde Cloud Storage. Si usas GKE como plataforma de procesamiento, puedes usar el

Controlador de CSI de Lustre administrado por GKE para prepropagar PersistentVolumeClaims con datos de Cloud Storage Una vez que se complete el entrenamiento, puedes minimizar tus gastos de almacenamiento a largo plazo si exportas tus datos a una clase de Cloud Storage de menor costo.

Puntos de control y restablecimiento

Para puntos de control y restablecimiento, los trabajos de entrenamiento deben guardar su estado de forma periódica para poder recuperarse con rapidez de las fallas de la instancia. Cuando ocurre el error, los trabajos deben reiniciarse, transferir el último punto de control y, luego, reanudar el entrenamiento. El mecanismo exacto que se usa para crear y transferir puntos de control suele ser específico de un framework. Si deseas obtener información sobre los puntos de control y las técnicas de optimización para TensorFlow Core, consulta Puntos de control de entrenamiento. Si deseas obtener información sobre los puntos de control y las técnicas de optimización para PyTorch, consulta Cómo guardar y cargar modelos.

Solo debes guardar algunos puntos de control en un momento determinado. Las cargas de trabajo de puntos de control suelen consistir en escrituras, varias eliminaciones y, idealmente, lecturas poco frecuentes cuando se producen fallas.

Para optimizar los puntos de control y restablecer el rendimiento, ten en cuenta los siguientes factores:

  • Tamaño del modelo: Es la cantidad de parámetros que hay en tu modelo de IA y AA. El tamaño de tu modelo afecta directamente el tamaño de sus archivos de punto de control, que pueden variar de GiB a TiB.
  • Frecuencia de puntos de control: Indica la frecuencia con la que tu modelo guarda puntos de control. Los guardados frecuentes proporcionan una mejor tolerancia a errores, pero aumentan los costos de almacenamiento y pueden afectar la velocidad de entrenamiento.
  • Tiempo de recuperación del punto de control: Es el tiempo de recuperación que deseas para cargar puntos de control y reanudar el entrenamiento. Para minimizar el tiempo de recuperación, considera factores como el tamaño del punto de control, el rendimiento del almacenamiento y el ancho de banda de la red.
Cloud Storage para los puntos de control

Debes elegir Cloud Storage para los puntos de control si se aplica alguna de las siguientes condiciones:

  • Tu carga de trabajo de entrenamiento usa Cloud Storage FUSE.
  • Priorizas la durabilidad de los datos y la alta disponibilidad sobre el rendimiento del almacenamiento.

Para mejorar el rendimiento de los puntos de control, usa Cloud Storage FUSE con espacios de nombres jerárquicos habilitados para aprovechar la operación de cambio de nombre atómico rápido y guardar puntos de control de forma asíncrona. Para evitar la exposición accidental de información sensible de tu conjunto de datos de entrenamiento durante la publicación, debes almacenar los puntos de control en un bucket de Cloud Storage independiente. Para ayudar a reducir las latencias de escritura finales de las cargas detenidas, Cloud Storage FUSE intenta un reintento después de 10 segundos.

Managed Lustre para el establecimiento de puntos de control

Debes elegir Lustre administrado para los puntos de control si se cumple alguna de las siguientes condiciones:

  • Tu carga de trabajo de entrenamiento ya usa Managed Lustre para la carga de datos.
  • Debes realizar puntos de control de alto rendimiento frecuentes.

Para maximizar el uso de recursos y minimizar el tiempo de inactividad del acelerador, usa Lustre administrado para el entrenamiento y los puntos de control. Lustre administrado puede lograr operaciones de escritura de puntos de control rápidas que logran una gran capacidad de procesamiento por VM. Puedes conservar los puntos de control en la instancia de Managed Lustre persistente o puedes optimizar los costos exportando puntos de control periódicamente a Cloud Storage.

Entregar

Cuando entregas tu modelo, que también se conoce como inferencia, el patrón de E/S principal es de solo lectura para cargar el modelo en la GPU o la memoria de TPU. Tu objetivo en la etapa de publicación es ejecutar el modelo en producción. El modelo es mucho más pequeño que los datos de entrenamiento, lo que significa que puedes replicar y escalar el modelo en varias instancias. Cuando publicas datos, es importante que tengas alta disponibilidad y protección contra fallas zonales y regionales. Por lo tanto, debes asegurarte de que tu modelo esté disponible para una variedad de situaciones de falla.

En muchos casos de uso de IA generativa y AA, los datos de entrada al modelo pueden ser bastante pequeños y es posible que no necesiten almacenarse de forma persistente. En otros casos, es posible que debas ejecutar grandes volúmenes de datos en el modelo (por ejemplo, conjuntos de datos científicos). Para ejecutar grandes volúmenes de datos, elige una opción de almacenamiento que pueda minimizar el tiempo inactivo de la GPU o la TPU durante el análisis del conjunto de datos y usa una ubicación persistente para almacenar los resultados de la inferencia.

Los tiempos de carga del modelo afectan directamente el tiempo inactivo del acelerador, lo que genera costos sustanciales. Un aumento en el tiempo de carga del modelo por nodo se puede amplificar en muchos nudos, lo que puede generar un aumento significativo de los costos. Por lo tanto, para lograr una eficiencia en costos en la infraestructura de publicación, es importante que realices optimizaciones para la carga rápida de modelos.

Para optimizar el rendimiento y el costo de la publicación, ten en cuenta los siguientes factores:

  • Tamaño del modelo: Es el tamaño de tu modelo en GiB o TiB. Los modelos más grandes requieren más recursos de procesamiento y memoria, lo que puede aumentar la latencia.
  • Frecuencia de carga del modelo: Indica la frecuencia con la que planeas actualizar tu modelo. Las cargas y descargas frecuentes consumen recursos de procesamiento y aumentan la latencia.
  • Cantidad de nodos de entrega: Indica cuántos nodos entregarán tu modelo. Por lo general, más nodos reducen la latencia y aumentan la capacidad de procesamiento, pero también aumentan los costos de infraestructura.

Cloud Storage para la etapa de entrega

Debes elegir Cloud Storage para entregar tu modelo si se aplica alguna de las siguientes condiciones:

  • Necesitas una solución rentable para un entorno dinámico en el que la cantidad de nodos de inferencia puede cambiar.
  • Si no actualizas tu modelo con frecuencia
  • Priorizas la alta disponibilidad y la durabilidad de tus modelos, incluso en caso de interrupciones regionales.

Con la arquitectura multirregional o birregional, Cloud Storage proporciona una alta disponibilidad y protege tu carga de trabajo contra fallas zonales y regionales. Para acelerar la carga del modelo, puedes usar Cloud Storage FUSE con las descargas en paralelo habilitadas para que se recuperen partes del modelo en paralelo.

Para lograr la publicación de modelos con una capacidad de procesamiento de más de 1 TB/s o para implementaciones que superen un centenar de nodos de publicación, usa Anywhere Cache con un bucket multirregional. Esta combinación proporciona almacenamiento redundante de alto rendimiento en todas las regiones y flexibilidad. La Caché en cualquier lugar también elimina las tarifas de recuperación de datos y de salida de datos de la clase de almacenamiento en los datos almacenados en caché.

Hyperdisk ML para la publicación

Debes elegir Hyperdisk ML para entregar tu modelo si se aplica alguna de las siguientes condiciones:

  • Necesitas más de 100 nodos de inferencia.
  • Si no actualizas tu modelo con frecuencia
  • Tu carga de trabajo usa un tipo de VM compatible.
  • Tu canalización puede administrar volúmenes de solo lectura para almacenar modelos.

Optimiza el rendimiento de la publicación con Hyperdisk ML como una caché para tus datos de Cloud Storage. Hyperdisk ML usa un grupo de rendimiento compartido y una capacidad de procesamiento aprovisionada de forma dinámica en varias VMs para controlar de manera eficiente la entrega de modelos de solo lectura a cualquier escala.

Lustre administrado para la publicación

Debes elegir Managed Lustre para publicar tu modelo si se aplica alguna de las siguientes condiciones:

  • Tu carga de trabajo de entrenamiento y puntos de control usa Lustre administrado.
  • Tu carga de trabajo usa entre 10 y 100 nodos de inferencia.
  • Realizas actualizaciones frecuentes de tu modelo.

Si ya usas Lustre administrado para el entrenamiento y la verificación de puntos de control, puede ser una opción rentable y de alto rendimiento para la entrega de tus modelos. Lustre administrado ofrece una alta capacidad de procesamiento por VM y una capacidad de procesamiento agregada del clúster que ayuda a reducir el tiempo de carga del modelo. Puedes usar Lustre administrado para cualquier cantidad de VMs de entrega.

Archivar

La etapa de archivo tiene un patrón de E/S de “escritura única, lee con poca frecuencia”. Tu objetivo es almacenar los diferentes conjuntos de datos de entrenamiento y las diferentes versiones de los modelos que generaste. Puedes usar estas versiones incrementales de datos y modelos para crear copias de seguridad y recuperación ante desastres. También debes almacenar estos elementos en una ubicación duradera durante un período prolongado. Aunque es posible que no necesites acceso a los datos y los modelos con mucha frecuencia, querrás que los elementos estén disponibles cuando los necesites.

Debido a su durabilidad extrema, escala amplia y bajo costo, la mejor opción para almacenar datos de objetos durante un período prolongado es Cloud Storage.Google Cloud Según la frecuencia con la que accedes al conjunto de datos, al modelo y a los archivos de copia de seguridad, Cloud Storage ofrece optimización de costos a través de diferentes clases de almacenamiento. Puedes seleccionar una clase de almacenamiento según la frecuencia con la que tengas previsto acceder a tus datos archivados:

  • Acceso frecuente a los datos: Almacenamiento estándar
  • Acceso a los datos mensual: Nearline Storage
  • Acceso a los datos trimestral: Almacenamiento en Coldline
  • Acceso a los datos anual: Almacenamiento en Archive

Con la administración del ciclo de vida de los objetos, puedes crear políticas para mover datos automáticamente a clases de almacenamiento a largo plazo o borrar datos según criterios específicos. Si no estás seguro de la frecuencia con la que accederás a tus datos, puedes usar la función Autoclass para mover datos entre clases de almacenamiento de forma automática, según tus patrones de acceso.

¿Qué sigue?

Para obtener más información sobre las opciones de almacenamiento y las cargas de trabajo de IA y AA, consulta los siguientes recursos:

Colaboradores

Autor: Samantha He | Escritor técnico

Otros colaboradores: