Opções de armazenamento para dados do Cloud TPU
Neste documento, descrevemos as opções de armazenamento de dados que podem ser usadas ao treinar modelos no Cloud TPU.
Introdução
O Cloud TPU requer armazenamento de dados para o seguinte:
- download e pré-processamento de conjuntos de dados;
- processamento do pipeline de entrada do host;
- entrada do treinamento de modelos;
- saída do treinamento de modelos.
Confira abaixo as opções de armazenamento para os conjuntos de dados de treinamento e os dados de aplicativo da TPU:
- Armazenamento em blocos durável, incluindo o disco de inicialização e os discos de armazenamento conectados.
- Buckets do Cloud Storage.
- Cloud Storage FUSE.
- Compartilhamento de arquivos do Filestore em uma VM da TPU
- Compartilhamento de arquivos do Managed Lustre
Para saber como gerenciar o armazenamento, consulte estas páginas:
- Escolher um tipo de disco
- Configurar discos para atender aos requisitos de desempenho
- Preços de disco e imagem
Armazenamento em blocos durável
O armazenamento em blocos durável, também conhecido como discos ou volumes, é destinado a dados que você quer preservar depois de interromper, suspender ou excluir a VM de TPU. O armazenamento em blocos durável ainda está disponível mesmo que a VM de TPU falhe ou trave. É possível usar o disco de inicialização da VM de TPU ou anexar mais volume de armazenamento em blocos à TPU.
Pode ser útil anexar um disco extra nos seguintes cenários:
- O tamanho do conjunto de dados de treinamento excede o tamanho do disco de inicialização da TPU.
- Você tem dados somente leitura e quer um acesso de leitura mais rápido usando um volume do Hyperdisk ML.
Geração de TPU e tipos de disco compatíveis
A tabela a seguir mostra os tipos de disco compatíveis com cada geração de TPU:
| Geração de TPU | Tipos de disco compatíveis |
|---|---|
| TPU7x | Hyperdisk Balanced, Hyperdisk ML |
| TPU v6e | Hyperdisk Balanced, Hyperdisk ML |
| TPU v5p | Disco permanente equilibrado, Hyperdisk ML |
| TPU v5e | Disco permanente equilibrado, Hyperdisk ML |
Disco de inicialização de VM de TPU
Por padrão, cada VM de TPU tem um único disco de inicialização de 10 GB. Ao criar as VMs, é possível configurar um disco de inicialização maior. Para mais informações, consulte Criar um disco de inicialização personalizado. O disco de inicialização contém o sistema operacional, os drivers e as bibliotecas da TPU. O disco de inicialização também pode armazenar conjuntos de dados baixados temporariamente para pré-processamento e dados de entrada e saída do modelo, desde que o tamanho total dos dados não exceda o espaço disponível no disco de inicialização.
Se o aplicativo exigir mais espaço de armazenamento do que o padrão do disco de inicialização, adicione um ou mais discos duráveis à instância da VM de TPU. Saiba mais em:
- Adicionar um disco permanente à VM
- Adicionar um Google Cloud Hyperdisk
- Modificar hiperdiscos
- Redimensionar um disco permanente
Armazenamento anexado
O Hyperdisk e o Persistent Disk são dispositivos de armazenamento de rede duráveis que as instâncias de VM podem acessar como discos físicos em um computador ou servidor. Os dois tipos de discos são criados independentemente das instâncias de VM. Assim, é possível manter os dados mesmo depois de excluir a VM.
As vantagens de usar o Hyperdisk em vez do Persistent Disk incluem desempenho personalizável e limites mais altos de IOPS e capacidade de processamento. Para mais informações sobre o Hyperdisk e o Persistent Disk, consulte Escolher um tipo de disco.
Quando você anexa um disco a um MIG com uma fração de VM de TPU de vários hosts, o sistema anexa o disco a cada VM nessa fração de TPU. Para evitar que duas ou mais VMs de TPU gravem em um disco ao mesmo tempo, configure todos os discos anexados a uma fração de TPU de vários hosts como somente leitura. Os discos somente leitura são úteis para armazenar um conjunto de dados para processamento em uma fração de TPU. Como o Hyperdisk Balanced não aceita o modo somente leitura, só é possível anexar um volume do Hyperdisk Balanced a uma única instância de VM de TPU.
Para mais informações sobre como usar o armazenamento em blocos durável, consulte Adicionar um disco permanente à sua VM e Adicionar um hiperdisco.
Backups em disco
Pode ser difícil recuperar dados excluídos ou dados do disco de inicialização caso a VM de TPU fique travada em um estado desconhecido. Faça backup dos dados usando outra opção de armazenamento, como os buckets do Cloud Storage.
Se você armazenar dados em um disco anexado, poderá usar snapshots de disco, que fazem backup incremental dos dados em um disco. O disco de inicialização da VM da TPU não é compatível com snapshots de disco. Para mais informações, consulte Sobre snapshots de discos.
Buckets do Cloud Storage
Os buckets do Cloud Storage são opções de armazenamento flexíveis, escalonáveis e duráveis para suas instâncias de VM. Se o job de treinamento não exigir a latência menor do armazenamento em blocos durável, armazene o conjunto de dados em um bucket do Cloud Storage.
O desempenho dos buckets do Cloud Storage depende da classe de armazenamento selecionada e do local do bucket com relação à instância.
A criação do bucket do Cloud Storage na mesma zona da VM de TPU oferece um desempenho comparável ao armazenamento em blocos durável, mas com maior latência e características de capacidade de processamento menos consistentes.
Todos os buckets do Cloud Storage têm redundância integrada para proteger os dados contra falhas de equipamento e garantir a disponibilidade deles por meio de eventos de manutenção do data center. O Cloud Storage calcula checksums para todas as operações para garantir que você consiga ler exatamente aquilo que gravou.
Ao contrário do armazenamento em blocos durável, os buckets do Cloud Storage não restringem você à zona em que a instância está localizada. Além disso, é possível ler e gravar dados em um bucket a partir de várias instâncias simultaneamente. Por exemplo, é possível configurar instâncias em várias zonas para ler e gravar dados no mesmo bucket, em vez de replicar os dados em armazenamentos em blocos duráveis em várias zonas.
Para mais informações, consulte Conectar-se a buckets do Cloud Storage.
Cloud Storage FUSE
O Cloud Storage FUSE permite ativar e acessar buckets do Cloud Storage como sistemas de arquivos locais. Isso permite que os aplicativos leiam e gravem objetos no bucket usando a semântica padrão dos sistemas de arquivos.
Consulte a documentação do Cloud Storage FUSE para saber como ele funciona e como as operações dele são associadas às do Cloud Storage. No GitHub, é possível saber mais sobre o Cloud Storage FUSE, por exemplo, como instalar a CLI dele e como ativar buckets.
Compartilhamento de arquivos do Filestore
O compartilhamento de arquivos do Filestore é um armazenamento conectado à rede (NAS) totalmente gerenciado do Compute Engine. O Filestore aceita aplicativos empresariais atuais e qualquer cliente que use o NFSv3.
O Filestore oferece baixa latência para operações de arquivos. Para cargas de trabalho sensíveis à latência, o Filestore oferece capacidade para até 100 TiB e capacidade de processamento de 25 GiB por segundo e 720 mil IOPS, com variação mínima de desempenho.
Com o Filestore, você pode ativar compartilhamentos de arquivos em VMs de TPU.
Compartilhamento de arquivos do Managed Lustre
O Managed Lustre é um sistema de arquivos paralelo totalmente gerenciado para cargas de trabalho de IA e HPC com muitos dados. Ele oferece alto desempenho, capacidade de escala de vários petabytes e conformidade com POSIX.
Com o Managed Lustre, é possível montar compartilhamentos de arquivos em VMs de TPU. Ele é especialmente útil para processar grandes conjuntos de dados e requisitos de alta capacidade de processamento de cargas de trabalho de machine learning, permitindo treinamento e inferência eficientes.
Para mais informações, consulte a documentação do Lustre gerenciado.
A seguir
- Saiba como adicionar um disco permanente à sua VM.
- Saiba como adicionar um Google Cloud Hyperdisk à sua VM.
- Saiba como conectar a instância a um bucket do Cloud Storage.
- Saiba como montar um compartilhamento de arquivos do Filestore.