Opciones de almacenamiento para datos de Cloud TPU
En este documento, se describen las opciones de almacenamiento de datos que se pueden usar cuando se entrenan modelos en Cloud TPU.
Introducción
Cloud TPU requiere el almacenamiento de datos para lo siguiente:
- Descarga y procesamiento previo de conjuntos de datos
- Procesamiento de la canalización de entrada del host
- entrada de entrenamiento de modelos
- salida de entrenamiento de modelos
Existen cinco opciones de almacenamiento para los datos de la aplicación y los conjuntos de datos de entrenamiento de Cloud TPU:
- El disco de arranque para una VM de TPU
- Un disco persistente conectado a una VM de TPU
- Buckets de Cloud Storage
- Archivo compartido de Filestore en una VM de Compute Engine
Para obtener detalles sobre el costo y el rendimiento del almacenamiento, consulta Opciones de almacenamiento.
El disco de arranque para una VM de TPU
De forma predeterminada, cada VM de Cloud TPU tiene un disco persistente de arranque único de 100 GB que contiene el sistema operativo. El disco de inicio también se puede usar para almacenar conjuntos de datos descargados para el procesamiento previo y los datos de entrada y salida del modelo, siempre que la cantidad total no supere el espacio disponible en el disco de inicio.
Si tu aplicación de entrenamiento requiere espacio de almacenamiento adicional más allá del disco de arranque predeterminado, puedes agregar uno o más discos persistentes a tu instancia de VM o VM de TPU. Existen diferentes procedimientos para agregar un disco persistente a una VM de Compute Engine o a una VM de TPU.
Un disco persistente conectado a una VM de TPU
Los discos persistentes son dispositivos de almacenamiento de red duraderos a los que tus instancias de VM pueden acceder al igual que discos físicos de una computadora de escritorio o un servidor. Los datos de cada disco persistente se distribuyen en varios discos físicos. Compute Engine administra los discos físicos y la distribución de datos para garantizar la redundancia y optimizar el rendimiento.
Los discos persistentes se crean de forma independiente de las instancias de tu máquina virtual (VM), por lo que puedes conservar tus datos incluso después de borrar las instancias de VM. El rendimiento del disco persistente escala automáticamente con el tamaño, por lo que puedes cambiar el tamaño de tus discos persistentes existentes o agregar más discos persistentes a una instancia a fin de cumplir con tus requisitos de rendimiento y espacio de almacenamiento.
Los discos persistentes tienen redundancia incorporada para proteger tus datos contra fallas del equipo y garantizar la disponibilidad de los datos a través de eventos de mantenimiento del centro de datos. Las sumas de verificación se calculan para todas las operaciones del disco persistente a fin de que podamos asegurarnos de que lo que leas sea lo que escribiste.
Además, puedes crear instantáneas de discos persistentes para protegerte contra la pérdida de datos debido a un error del usuario. Las instantáneas son incrementales y crearlas solo te llevará unos minutos, incluso si tus discos de instantáneas se encuentran adjuntos a instancias en ejecución.
Para obtener más información sobre el uso de discos persistentes con VMs de TPU, consulta Agrega un disco persistente a una VM de TPU.
Buckets de Cloud Storage
Los buckets de Cloud Storage son la opción de almacenamiento más flexible, escalable y duradera para tus instancias de VM. Si tu trabajo de entrenamiento no requiere la latencia más baja de los discos persistentes, puedes almacenar tu conjunto de datos en un bucket de Cloud Storage.
El rendimiento de los buckets de Cloud Storage depende de la clase de almacenamiento que selecciones y la ubicación del bucket en relación con tu instancia.
Crear tu bucket de Cloud Storage en la misma zona que tu VM de TPU brinda un rendimiento comparable al de los discos persistentes, pero con mayor latencia y características de capacidad de procesamiento menos coherentes.
Todos los buckets de Cloud Storage tienen redundancia incorporada para proteger tus datos contra fallas del equipo y garantizar la disponibilidad de datos a través de eventos de mantenimiento del centro de datos. Las sumas de verificación se calculan en todas las operaciones de Cloud Storage a fin de garantizar que lo que lees es lo que escribiste.
A diferencia de los discos persistentes, los buckets de Cloud Storage no están restringidos a la zona en que se encuentra tu instancia. Además, puedes leer y escribir datos en un bucket desde varias instancias de forma simultánea. Por ejemplo, puedes configurar instancias en varias zonas para leer y escribir datos en el mismo bucket, en lugar de replicar los datos en discos persistentes en varias zonas.
Cloud Storage FUSE
Cloud Storage FUSE te permite activar los buckets de Cloud Storage y acceder a ellos como sistemas de archivos locales. Esto permite que las aplicaciones lean y escriban objetos en tu bucket con la semántica del sistema de archivos estándar.
Consulta la documentación de FUSE de Cloud Storage para obtener detalles sobre cómo funciona Cloud Storage FUSE y una descripción de cómo las operaciones de Cloud Storage FUSE se asignan a las operaciones de Cloud Storage. Puedes encontrar información adicional sobre cómo usar Cloud Storage FUSE, como instalar la CLI de Cloud Storage FUSE y activar buckets en GitHub.
Archivo compartido de Filestore
El archivo compartido de Filestore es un almacenamiento conectado a la red (NAS) completamente administrado para Compute Engine. Filestore ofrece compatibilidad con aplicaciones empresariales existentes y admite cualquier cliente compatible con NFSv3.
Filestore ofrece latencia baja para las operaciones con archivos. En el caso de las cargas de trabajo sensibles a la latencia, Filestore admite una capacidad de hasta 100 TB y una capacidad de procesamiento de 25 GB por segundo y 720,000 IOPS, con una variabilidad mínima del rendimiento.
Con Filestore, puedes activar archivos compartidos en VMs de TPU.
¿Qué sigue?
- Obtén más información para agregar un disco persistente a tu instancia.
- Obtén información para conectar tu instancia a un bucket de Cloud Storage.