En este documento, se proporciona una arquitectura de referencia que muestra cómo puedes usar Parallelstore para optimizar el rendimiento de las cargas de trabajo de inteligencia artificial (IA) o aprendizaje automático (AA). Parallelstore es un servicio de almacenamiento de sistemas de archivos paralelos que te ayuda a reducir los costos, mejorar el uso de los recursos y acelerar los tiempos de entrenamiento de tus cargas de trabajo de IA y AA.
El público previsto para este documento incluye arquitectos y profesionales técnicos que diseñan, aprovisionan y administran el almacenamiento para sus cargas de trabajo de IA y AA en Google Cloud. En el documento, se supone que conoces el ciclo de vida, los procesos y las capacidades del AA.
Parallelstore es un sistema de archivos en blanco completamente administrado y de alto rendimiento en Google Cloud que se compila en la arquitectura de almacenamiento de objetos asíncrono distribuido (DAOS). Parallelstore es ideal para cargas de trabajo de IA y de AA que usan hasta 100 TiB de capacidad de almacenamiento y que necesitan proporcionar acceso de baja latencia (menos de un milisegundo) con alta capacidad de procesamiento y altas operaciones de entrada y salida por segundo (IOPS).
Parallelstore ofrece varias ventajas para las cargas de trabajo de IA y AA, como las siguientes:
- Menor costo total de propiedad (TCO) para el entrenamiento: Parallelstore acelera el tiempo de entrenamiento, ya que entrega datos de manera eficiente a los nodos de procesamiento. Esta funcionalidad ayuda a reducir el costo total de propiedad del entrenamiento de modelos de IA y AA.
- Menor TCO para la publicación: Las funciones de alto rendimiento de Parallelstore permiten una carga de modelos más rápida y una publicación de inferencia optimizada. Estas funciones ayudan a reducir los costos de procesamiento y mejorar el uso de recursos.
- Uso eficiente de recursos: Parallelstore te permite combinar el entrenamiento, la creación de puntos de control y la publicación 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.
Arquitectura
En el siguiente diagrama, se muestra una arquitectura de ejemplo para usar Parallelstore y optimizar el rendimiento de una carga de trabajo de entrenamiento de modelos y de entrega:
Las cargas de trabajo que se muestran en la arquitectura anterior se describen en detalle en secciones posteriores. La arquitectura incluye los siguientes componentes:
Componente | Objetivo |
---|---|
Clúster de Google Kubernetes Engine (GKE) | GKE administra los hosts de procesamiento en los que se ejecutan los procesos de entrenamiento y entrega de modelos de IA y AA. GKE administra la infraestructura subyacente de los clústeres, incluido el plano de control, los nodos y todos los componentes del sistema. |
Kubernetes Scheduler | El plano de control de GKE programa las cargas de trabajo y administra su ciclo de vida, el escalamiento y las actualizaciones. El agente de nodo de Kubernetes (kubelet ), que no se muestra en el diagrama, se comunica con el plano de control. kubelet es responsable de iniciar y ejecutar los contenedores programados en los nodos de GKE.
Puedes implementar GPUs para cargas de trabajo por lotes y de IA con el programador dinámico de cargas de trabajo, que te permite solicitar GPUs sin un gran compromiso. Para obtener más información sobre el programador, consulta Organización de IA/AA en GKE. |
Red de nube privada virtual (VPC) | Todos los Google Cloud recursos que se encuentran en la arquitectura usan una sola red de VPC. Según tus requisitos, puedes optar por compilar una arquitectura que use varias redes. Para obtener más información sobre cómo configurar una red de VPC para Parallelstore, consulta Cómo configurar una red de VPC. |
Cloud Load Balancing | En esta arquitectura, Cloud Load Balancing distribuye de manera eficiente las solicitudes de inferencia entrantes de los usuarios de la aplicación a los contenedores de entrega en el clúster de GKE. El uso de Cloud Load Balancing ayuda a garantizar una alta disponibilidad, escalabilidad y un rendimiento óptimo para la aplicación de IA y AA. Para obtener más información, consulta Información sobre el balanceo de cargas de GKE. |
Unidad de procesamiento gráfico (GPU) o unidades de procesamiento tensorial (TPU) | Las GPUs y las TPU son aceleradores de máquinas especializados que mejoran el rendimiento de tu carga de trabajo de IA y AA. Para obtener más información sobre cómo elegir un tipo de procesador adecuado, consulta Opciones de acelerador más adelante en este documento. |
Parallelstore | Parallelstore acelera el entrenamiento y la entrega de IA y AA, ya que proporciona un sistema de archivos paralelo de alto rendimiento que está optimizado para baja latencia y alta capacidad de procesamiento. En comparación con el uso de solo Cloud Storage, usar Parallelstore reduce significativamente el tiempo de entrenamiento y mejora la capacidad de respuesta de tus modelos durante la entrega. Estas mejoras se logran, en especial, en cargas de trabajo exigentes que requieren acceso rápido y coherente a los datos compartidos. |
Cloud Storage | Cloud Storage proporciona almacenamiento persistente y rentable para tus cargas de trabajo de IA y AA. Cloud Storage funciona como el repositorio central de tus conjuntos de datos de entrenamiento sin procesar, los puntos de control del modelo y los modelos entrenados finales. El uso de Cloud Storage ayuda a garantizar la durabilidad, la disponibilidad a largo plazo y la rentabilidad de los datos que no se usan de forma activa en los cálculos. |
Carga de trabajo de entrenamiento
En la arquitectura anterior, los siguientes son los pasos del flujo de datos durante el entrenamiento del modelo:
- Sube datos de entrenamiento a Cloud Storage: Sube datos de entrenamiento a un bucket de Cloud Storage, que funciona como fuente de información y repositorio central seguro y escalable.
- Copia datos en Parallelstore: El corpus de datos de entrenamiento se transfiere a través de una importación masiva de la API a una instancia de Parallelstore desde Cloud Storage. Transferir los datos de entrenamiento te permite aprovechar las capacidades del sistema de archivos de alto rendimiento de Parallelstore para optimizar las velocidades de carga y procesamiento de datos durante el entrenamiento del modelo.
- Ejecuta trabajos de entrenamiento en GKE: El proceso de entrenamiento del modelo se ejecuta en nodos de GKE. Cuando se usa Parallelstore como fuente de datos en lugar de cargar datos directamente desde Cloud Storage, los nodos de GKE pueden acceder a los datos de entrenamiento y cargarlos con una velocidad y eficiencia significativamente mayores. El uso de Parallelstore ayuda a reducir los tiempos de carga de datos y a acelerar el proceso de entrenamiento general, en especial para conjuntos de datos grandes y modelos complejos. Según los requisitos de tu carga de trabajo, puedes usar GPUs o TPU. Para obtener información sobre cómo elegir un tipo de procesador apropiado, consulta Opciones de acelerador más adelante en este documento.
- Guarda puntos de control de entrenamiento en Parallelstore: Durante el proceso de entrenamiento, los puntos de control se guardan en Parallelstore según las métricas o los intervalos que definas. Los puntos de control capturan el estado del modelo a intervalos frecuentes.
- Guarda los puntos de control y el modelo en Cloud Storage: Te recomendamos que uses una exportación masiva de la API desde la instancia de Parallelstore para guardar algunos puntos de control y el modelo entrenado en Cloud Storage. Esta práctica garantiza la tolerancia a fallas y permite casos de uso futuros, como reanudar el entrenamiento desde un punto específico, implementar el modelo para la producción y realizar más experimentos. Como práctica recomendada, almacena los puntos de control en un bucket diferente de los datos de entrenamiento.
- Restablece puntos de control o modelos: Cuando tu flujo de trabajo de IA y AA requiera que restablezcas puntos de control o datos de modelos, debes ubicar el activo que deseas restablecer en Cloud Storage. Selecciona el activo que deseas restablecer según la marca de tiempo, la métrica de rendimiento o una versión específica. Usa la importación de API para transferir el activo de Cloud Storage a Parallelstore y, luego, cárgalo en tu contenedor de entrenamiento. Luego, puedes usar el punto de control o el modelo restaurado para reanudar el entrenamiento, ajustar los parámetros o evaluar el rendimiento en un conjunto de validación.
Publicación de cargas de trabajo
En la arquitectura anterior, los siguientes son los pasos del flujo de datos durante la publicación del modelo:
- Carga el modelo para la publicación: Una vez que se completa el entrenamiento, tus pods cargan el modelo entrenado en los nodos de publicación. Si la instancia de Parallelstore que usaste durante el entrenamiento tiene suficiente capacidad de IOPS, puedes acelerar la carga del modelo y reducir los costos usando la instancia de entrenamiento para entregar el modelo. La reutilización de la instancia de entrenamiento permite compartir recursos de manera eficiente entre el entrenamiento y la entrega. Sin embargo, para mantener un rendimiento y una compatibilidad óptimos, usa un tipo de acelerador (GPU o TPU) para el entrenamiento que sea coherente con el tipo de acelerador disponible en los nodos de GKE de publicación.
- Solicitud de inferencia: Los usuarios de la aplicación envían solicitudes de inferencia a través de la aplicación de IA y AA. Estas solicitudes se dirigen al servicio de Cloud Load Balancing. Cloud Load Balancing distribuye las solicitudes entrantes entre los contenedores de publicación en el clúster de GKE. Esta distribución garantiza que no se sobrecargue ningún contenedor y que las solicitudes se procesen de manera eficiente.
- Publicación de solicitudes de inferencia: Durante la producción, el sistema controla de manera eficiente las solicitudes de inferencia mediante el uso de la caché de publicación de modelos. Los nodos de procesamiento interactúan con la caché primero verificando si hay una predicción coincidente. Si se encuentra una predicción coincidente, se muestra directamente, lo que ayuda a optimizar los tiempos de respuesta y el uso de recursos. De lo contrario, el modelo procesa la solicitud, genera una predicción y la almacena en la caché para mejorar la eficiencia en el futuro.
- Publicación de respuestas: Los contenedores de publicación envían las respuestas a través de Cloud Load Balancing. Cloud Load Balancing enruta las respuestas a los usuarios de la aplicación adecuados, lo que completa el ciclo de solicitud de inferencia.
Productos usados
En esta arquitectura de referencia, se usan los siguientes Google Cloud productos:
- Nube privada virtual (VPC): Un sistema virtual que proporciona funcionalidad de red global y escalable para tus Google Cloud cargas de trabajo. La VPC incluye el intercambio de tráfico entre redes de VPC, Private Service Connect, el acceso a servicios privados y la VPC compartida.
- Google Kubernetes Engine (GKE): Un servicio de Kubernetes que puedes usar para implementar y operar aplicaciones en contenedores a gran escala con la infraestructura de Google.
- Cloud Storage: Un depósito de objetos de bajo costo y sin límites para varios tipos de datos. Se puede acceder a los datos desde dentro y fuera de Google Cloud, y estos se replican en las ubicaciones para aumentar la redundancia.
- Parallelstore: Es un sistema de archivos en paralelo completamente administrado para IA, computación de alto rendimiento (HPC) y aplicaciones con uso intensivo de datos.
Casos de uso
Parallelstore es ideal para cargas de trabajo de IA y AA con hasta 100 TiB de capacidad de almacenamiento y que necesitan proporcionar acceso de baja latencia (menos de un milisegundo) con alta capacidad de procesamiento y altas IOPS. En las siguientes secciones, se proporcionan ejemplos de casos de uso para los que puedes usar Parallelstore.
Procesamiento y generación de texto
Los modelos grandes de lenguaje (LLM) son modelos de IA especializados que se diseñaron específicamente para comprender y procesar datos basados en texto. Los LLM se entrenan con conjuntos de datos de texto masivos, lo que les permite realizar una variedad de tareas, como la traducción automática, la respuesta a preguntas y el resumen de textos. El entrenamiento de modelos de LLM requiere acceso de baja latencia a los conjuntos de datos para un procesamiento de solicitudes y una generación de texto eficientes. Parallelstore se destaca en las aplicaciones intensivas en datos, ya que proporciona la alta capacidad de procesamiento y la baja latencia necesarias para el entrenamiento y la inferencia, lo que genera aplicaciones más responsivas potenciadas por LLM.
Procesamiento de imágenes o videos de alta resolución
Las aplicaciones tradicionales de IA y AA, o los modelos generativos multimodales que procesan imágenes o videos de alta resolución, como el análisis de imágenes médicas o los sistemas de conducción autónoma, requieren una gran capacidad de almacenamiento y un acceso rápido a los datos. El sistema de archivos en caché de alto rendimiento de Parallelstore permite una carga de datos rápida para acelerar el rendimiento de la aplicación. Por ejemplo, Parallelstore puede almacenar y procesar temporalmente grandes volúmenes de datos de pacientes, como resonancias magnéticas y tomografías computarizadas, que se extraen de Cloud Storage. Esta funcionalidad permite que los modelos de IA y AA analicen rápidamente los datos para el diagnóstico y el tratamiento.
Alternativas de diseño
En las siguientes secciones, se presentan enfoques de diseño alternativos que puedes considerar para tu aplicación de IA y AA en Google Cloud.
Alternativa de plataforma
En lugar de alojar el entrenamiento de tu modelo y el flujo de trabajo de publicación en GKE, puedes considerar Compute Engine con Slurm. Slurm es un administrador de recursos y cargas de trabajo de código abierto y altamente configurable. El uso de Compute Engine con Slurm es particularmente adecuado para el entrenamiento de modelos y las simulaciones a gran escala. Te recomendamos que uses Compute Engine con Slurm si necesitas integrar propiedad intelectual (PI) de IA y AA en un entorno escalable con la flexibilidad y el control necesarios para optimizar el rendimiento de las cargas de trabajo especializadas.
En Compute Engine, aprovisionas y administras tus máquinas virtuales (VM), lo que te brinda un control detallado sobre los tipos de instancias, el almacenamiento y las redes. Puedes adaptar tu infraestructura a tus necesidades exactas, incluida la selección de tipos de máquinas específicas de VM. También puedes usar la familia de máquinas con optimización de acelerador para mejorar el rendimiento de tus cargas de trabajo de IA y AA. Para obtener más información sobre las familias de tipos de máquinas disponibles en Compute Engine, consulta la guía de comparación y recursos de familias de máquinas.
Slurm ofrece una opción potente para administrar cargas de trabajo de IA y AA, y te permite controlar la configuración y la administración de los recursos de procesamiento. Para usar este enfoque, necesitas experiencia en la administración de Slurm y en la administración de sistemas Linux.
Opciones de acelerador
Los aceleradores de máquinas son procesadores especializados diseñados para acelerar los cálculos necesarios para las cargas de trabajo de IA y AA. Puedes elegir entre unidades de procesamiento de gráficos (GPU) o unidades de procesamiento tensorial (TPU).
- Los aceleradores de GPU proporcionan un rendimiento excelente para una amplia variedad de tareas, como la renderización gráfica, el entrenamiento de aprendizaje profundo y la computación científica. Google Cloud tiene una amplia selección de GPUs para todo tipo de precios y necesidades de rendimiento. Para obtener información sobre los modelos y los precios de las GPU, consulta Precios de GPU.
- Las TPU son aceleradores de IA con diseño personalizado que están optimizados para el entrenamiento y la inferencia de grandes modelos de IA. Son ideales para una variedad de casos de uso, como chatbots, generación de código, generación de contenido multimedia, voz sintética, servicios de visión, motores de recomendaciones y modelos de personalización, entre otros. Para obtener más información sobre los modelos y los precios de las TPU, consulta Precios de las TPU.
Publicación de alternativas de almacenamiento
Cloud Storage FUSE con un bucket multirregional o birregional proporciona el nivel más alto de disponibilidad, ya que tus modelos de IA y AA entrenados se almacenan en Cloud Storage y en varias regiones. Aunque Cloud Storage FUSE logra una capacidad de procesamiento más baja por VM que Parallelstore, te permite aprovechar la escalabilidad y la rentabilidad de Cloud Storage. Para acelerar la carga de modelos y mejorar el rendimiento, especialmente para cargas de trabajo exigentes, puedes usar instancias de Parallelstore existentes o nuevas en cada región. Si deseas obtener información para mejorar el rendimiento con Cloud Storage FUSE, consulta Cómo optimizar el controlador de CSI de Cloud Storage FUSE para mejorar el rendimiento de GKE.
Hyperdisk ML de Google Cloud es una solución de almacenamiento en bloque de alto rendimiento diseñada para acelerar las cargas de trabajo de IA y AA a gran escala que requieren acceso de solo lectura a grandes conjuntos de datos. Hyperdisk ML se puede aprovisionar con una capacidad de procesamiento agregada más alta, pero logra una capacidad de procesamiento más baja por VM en comparación con Parallelstore.
Además, solo las VMs de GPU o TPU de la misma zona pueden acceder a los volúmenes de Hyperdisk ML. Por lo tanto, para los clústeres de GKE regionales que se entregan desde varias zonas, debes aprovisionar volúmenes de Hyperdisk ML independientes en cada zona. Esta posición difiere de Parallelstore, en la que solo necesitas una instancia por región. También es importante tener en cuenta que Hyperdisk ML es de solo lectura. Para obtener más información sobre el uso de Hyperdisk ML en cargas de trabajo de IA y AA, consulta Acelera la carga de datos de IA/AA con Hyperdisk ML.
Consideraciones del diseño
Para diseñar una implementación de Parallelstore que optimice el rendimiento y la eficiencia de costos de tus cargas de trabajo de IA y AA enGoogle Cloud, usa los lineamientos de las siguientes secciones. En los lineamientos, se describen las recomendaciones que debes tener en cuenta cuando usas Parallelstore como parte de una solución híbrida que combina varias opciones de almacenamiento para tareas específicas dentro de tu flujo de trabajo.
Capacitación
El entrenamiento de modelos de IA y AA requiere que le proporciones datos de forma iterativa, ajustes sus parámetros y evalúes su rendimiento con cada iteración. Este proceso puede ser intensivo en recursos de procesamiento y genera un gran volumen de solicitudes de E/S debido a la necesidad constante de leer datos de entrenamiento y escribir parámetros de modelos actualizados.
Para maximizar los beneficios de rendimiento durante el entrenamiento, te recomendamos lo siguiente:
- Almacenamiento en caché: Usa Parallelstore como una caché de alto rendimiento en Cloud Storage.
- Precarga: Importa datos a Parallelstore desde Cloud Storage para minimizar la latencia durante el entrenamiento. También puedes usar el propagador de volúmenes de GKE para prepropagar PersistentVolumeClaims con datos de Cloud Storage.
- Optimización de costos: Exporta tus datos a una clase de Cloud Storage con un costo más bajo después del entrenamiento para minimizar los gastos de almacenamiento a largo plazo. Dado que tus datos persistentes se almacenan en Cloud Storage, puedes destruir y volver a crear instancias de Parallelstore según sea necesario para tus trabajos de entrenamiento.
- Integración de GKE: Realiza la integración con el controlador de interfaz de almacenamiento de contenedores (CSI) de GKE para simplificar la administración. Para obtener información sobre cómo conectar un clúster de GKE a una instancia de Parallelstore, consulta Controlador de CSI de Parallelstore de Google Kubernetes Engine.
- Rendimiento de VM A3: Ofrece más de 20 GB/s (aproximadamente 2.5 GB/s por GPU) en las variantes de A3 para una entrega de datos óptima.
- Acceso simultáneo: Usa la instancia de Parallelstore para admitir operaciones de lectura y escritura de dúplex completo.
Cuando implementes Parallelstore para el entrenamiento, ten en cuenta lo siguiente:
- Sistema de archivos en blanco: Configura intervalos de puntos de control durante el proceso de entrenamiento. Parallelstore es un sistema de archivos temporales, lo que significa que los datos se almacenan de forma temporal. En el rango de 100 TiB, el tiempo medio estimado hasta la pérdida de datos es de dos meses. En el rango de 23 TiB, el tiempo medio estimado hasta la pérdida de datos es de doce meses o más.
- Fragmentación de archivos y directorios: Optimiza la fragmentación de archivos y directorios para el tamaño de archivo predominante y maximiza el rendimiento.
- Optimización de costos: Optimiza los costos a través de la etapa de pruebas de datos de manera adecuada en Cloud Storage en lugar de Parallelstore.
- Selección de zona: Optimiza el costo y el rendimiento ubicando los clientes de procesamiento de GPU o TPU y los nodos de almacenamiento en la misma zona.
Para obtener más información sobre cómo configurar tu entorno de Parallelstore para optimizar el rendimiento, consulta Consideraciones sobre el rendimiento.
Controles
Los puntos de control son un aspecto fundamental del entrenamiento de modelos de IA y AA. Los puntos de control te permiten guardar el estado de tu modelo en varios puntos durante el proceso, de modo que puedas reanudar el entrenamiento desde un punto de control guardado en caso de interrupciones, fallas del sistema o para explorar diferentes configuraciones de hiperparámetros. Cuando usas Parallelstore para el entrenamiento, es fundamental usarlo también para establecer puntos de control para aprovechar su alta capacidad de procesamiento de escritura y minimizar el tiempo de entrenamiento. Este enfoque garantiza un uso eficiente de los recursos y ayuda a reducir el TCO de tus recursos de GPU, ya que mantiene el entrenamiento y los puntos de control lo más rápido posible.
Para optimizar tu flujo de trabajo de puntos de control con Parallelstore, ten en cuenta estas prácticas recomendadas:
- Creación de puntos de control rápidos: Aprovecha las operaciones de escritura de puntos de control rápidas con Parallelstore. Puedes lograr una capacidad de procesamiento de 0.5 GB/s por TiB de capacidad y más de 12 GB/s por VM A3.
- Almacenamiento de puntos de control selectivo: Exporta puntos de control seleccionados de Parallelstore a Cloud Storage para el almacenamiento a largo plazo y la recuperación ante desastres.
- Operaciones simultáneas: Aprovecha el dúplex completo de lectura y escritura con Parallelstore de forma simultánea para el entrenamiento y las escrituras de puntos de control.
Entrega
La publicación implica implementar tus modelos de IA y AA entrenados para controlar las solicitudes de inferencia. Para lograr un rendimiento óptimo, es fundamental minimizar el tiempo que se tarda en cargar estos modelos en la memoria. Aunque Parallelstore se diseñó principalmente para entrenar cargas de trabajo, puedes usar su alta capacidad de procesamiento por VM (más de 20 GB/s) y la capacidad de procesamiento agregada del clúster para minimizar los tiempos de carga del modelo en miles de VMs. Para hacer un seguimiento de las métricas clave que te permiten identificar cuellos de botella y garantizar una eficiencia óptima, usa Cloud Monitoring.
Cuando implementes Parallelstore para la entrega, ten en cuenta lo siguiente:
- Capacidad de procesamiento alta: Maximiza el rendimiento de Parallelstore con Cloud Monitoring para asegurarte de implementar suficiente capacidad para alcanzar una capacidad de procesamiento de hasta 125 GB/s en 100 TiB.
- Posibilidad de interrupciones del servicio: Debido a que Parallelstore es un sistema de archivos en blanco, puede experimentar interrupciones ocasionales del servicio. El tiempo medio hasta la pérdida de datos es de aproximadamente 2 meses para un clúster de 100 TiB.
- Restablece datos: Si se produce una interrupción del servicio, debes restablecer los datos de Parallelstore desde la copia de seguridad más reciente de Cloud Storage. Los datos se transfieren a una velocidad de aproximadamente 16 GB/s.
- Instancias compartidas: El uso de una instancia de Parallelstore para el entrenamiento y la entrega maximiza el uso de recursos y puede ser rentable. Sin embargo, puede haber una posible contención de recursos si ambas cargas de trabajo tienen demandas de alta capacidad de procesamiento. Si hay IOPS de reserva disponibles después de la capacitación, usar la misma instancia puede acelerar la carga del modelo para la entrega. Usa Cloud Monitoring para asegurarte de asignar recursos suficientes para satisfacer tus demandas de rendimiento.
- Instancias separadas: El uso de instancias separadas proporciona aislamiento de rendimiento, mejora la seguridad a través del aislamiento de los datos de entrenamiento y mejora la protección de los datos. Aunque las listas de control de acceso pueden administrar la seguridad dentro de una sola instancia, las instancias separadas ofrecen un límite de seguridad más sólido.
Opciones de posición
Para minimizar la latencia y maximizar el rendimiento, crea tu instancia de Parallelstore en una región que esté geográficamente cerca de tus clientes de procesamiento de GPU o TPU.
- Para el entrenamiento y los puntos de control: Para obtener resultados óptimos, asegúrate de que los clientes y las instancias de Parallelstore estén en la misma zona. Esta colocalización minimiza los tiempos de transferencia de datos y maximiza la utilización de la capacidad de procesamiento de escritura de Parallelstore.
- Para la publicación: Si bien es ideal colocar los clientes de procesamiento en la misma zona, es suficiente tener una instancia de Parallelstore por región. Este enfoque evita los costos adicionales asociados con la implementación de varias instancias y ayuda a maximizar el rendimiento del procesamiento. Sin embargo, si necesitas capacidad o rendimiento adicionales, te recomendamos que implementes más de una instancia por región.
La implementación de Parallelstore en dos regiones puede mejorar significativamente el rendimiento, ya que mantiene los datos geográficamente más cerca de las GPUs o TPU que se usan para la publicación. Esta ubicación reduce la latencia y permite un acceso más rápido a los datos durante la inferencia. Si se produce una interrupción regional, las aplicaciones de entrenamiento y de publicación dejarán de estar disponibles para los usuarios.
Para garantizar una alta disponibilidad y confiabilidad, debes crear una instancia de una réplica de esta arquitectura en una región diferente. Cuando creas una arquitectura con redundancia geográfica, tu aplicación de IA y AA puede seguir funcionando incluso si una región experimenta una interrupción. Para crear una copia de seguridad de los datos de tu clúster y de Cloud Storage, y restablecerlos en una región diferente según sea necesario, puedes usar Copia de seguridad para GKE.
Para obtener información sobre las ubicaciones compatibles con las instancias de Parallelstore, consulta Ubicaciones compatibles.
Implementación
Para crear e implementar esta arquitectura de referencia, te recomendamos que uses Cluster Toolkit. Cluster Toolkit es un kit de herramientas modular basado en Terraform que está diseñado para la implementación de entornos de IA y AA repetibles enGoogle Cloud. Para definir tu entorno, usa el esquema de entrenamiento de GKE y Parallelstore. Para aprovisionar y administrar instancias de Parallelstore para tus clústeres, consulta el módulo Parallelstore.
Para obtener información sobre cómo implementar Parallelstore de forma manual, consulta Crea una instancia de Parallelstore. Para mejorar aún más la escalabilidad y el rendimiento con el aprovisionamiento dinámico, puedes crear y usar un volumen respaldado por una instancia de Parallelstore en GKE.
¿Qué sigue?
- Obtén más información para usar sistemas de archivos paralelos para cargas de trabajo de HPC.
- Obtén más información sobre las prácticas recomendadas para implementar el aprendizaje automático en Google Cloud.
- Obtén más información para diseñar almacenamiento para cargas de trabajo de IA y AA en Google Cloud.
- Obtén más información para entrenar un modelo de TensorFlow con Keras en GKE.
- Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.
Colaboradores
Autor: Samantha He | Escritor técnico
Otros colaboradores:
- Dean HildeBrand | Director técnico, oficina del director de Tecnología
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Sean Derrington | Gerente de productos salientes del grupo