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 do conjunto de dados
  • processamento do pipeline de entrada do host
  • entrada de treinamento de modelo
  • saída de treinamento de modelo

Há quatro opções de armazenamento para os dados do aplicativo do Cloud TPU e para os conjuntos de dados de treinamento:

Para detalhes de custo de armazenamento e desempenho, consulte Opções de armazenamento.

O disco de inicialização para uma VM ou nó de TPU

Por padrão, cada VM do Cloud TPU tem um único disco permanente de inicialização de 100 GB que contém o sistema operacional. O disco de inicialização também pode ser usado para armazenar conjuntos de dados transferidos por download para pré-processamento e modelagem de dados de entrada e saída, desde que a quantidade total não exceda o espaço disponível no disco de inicialização.

Se o aplicativo de treinamento exigir espaço de armazenamento além do padrão do disco de inicialização, será possível adicionar um ou mais discos permanentes à VM ou à instância de VM da TPU. Há procedimentos diferentes para adicionar um disco permanente a um nó de TPU (uma VM do Compute Engine) ou a uma VM da TPU.

Um disco permanente anexado a uma VM ou nó de TPU

Os discos permanentes são dispositivos duráveis de armazenamento em rede. Suas instâncias de VM podem acessá-los como se fossem discos físicos em um computador ou servidor. Os dados em cada disco permanente são distribuídos em vários discos físicos. O Compute Engine gerencia os discos físicos e a distribuição de dados para garantir a redundância e otimizar o desempenho.

Os discos permanentes são criados independentemente das instâncias de máquina virtual (VM, na sigla em inglês) para que você mantenha os dados mesmo depois de excluir as instâncias de VM. Como o desempenho do disco permanente aumenta ou diminui automaticamente de acordo com o tamanho, é possível redimensionar os discos permanentes atuais ou adicionar mais discos permanentes a uma instância para atender aos seus requisitos de desempenho e espaço de armazenamento.

Os discos permanentes têm redundância incorporada para proteger seus dados contra falhas em equipamentos e garantir a disponibilidade deles durante eventos de manutenção de data center. Os checksums são calculados para todas as operações de disco permanente para garantir que você consiga ler exatamente aquilo que gravou.

Além disso, é possível criar snapshots de discos permanentes para se proteger contra a perda de dados resultante de erros do usuário. Os snapshots são incrementais e levam apenas alguns minutos para serem criados, mesmo se os discos deles estiverem anexados a instâncias em execução.

Buckets do Cloud Storage

Os buckets do Cloud Storage são a opção de armazenamento mais flexível, escalonável e durável para as instâncias de VM. Se o job de treinamento não exigir latência menor dos discos permanentes, 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 relacionado à instância.

A criação do bucket do Cloud Storage na mesma zona da instância de VM (para nós da TPU) ou da VM de TPU oferece desempenho comparável aos discos permanentes, mas com maior latência e características de capacidade menos consistentes.

Todos buckets do Cloud Storage têm redundância incorporada para proteger seus dados contra falhas em equipamentos e garantir a disponibilidade deles durante eventos de manutenção de data center. Os checksums são calculados para todas as operações do Cloud Storage para garantir que você consiga ler exatamente aquilo que gravou.

Ao contrário dos discos permanentes, os buckets do Cloud Storage não estão restritos à 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 ao mesmo tempo. Por exemplo, configure instâncias em várias zonas para ler e gravar dados no mesmo bucket em vez de replicar os dados em discos permanentes em várias zonas.

Compartilhamento de arquivos do Filestore

O compartilhamento de arquivos do Filestore é um armazenamento conectado à rede (NAS, na sigla em inglês) totalmente gerenciado do Compute Engine. O Filestore oferece compatibilidade nativa com os aplicativos empresariais atuais e aceita qualquer cliente compatível com NFSv3.

O Filestore oferece baixa latência para operações com arquivos. Para cargas de trabalho sensíveis à latência, o Filestore tem capacidade para até 100 TB e capacidade de processamento de 25 GB/s e 720 mil IOPS, com variação mínima de desempenho.

Com o Filestore, você facilmente monta compartilhamentos de arquivos nas VMs do Compute Engine.

A seguir