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á cinco opções de armazenamento para os conjuntos de dados de treinamento e os dados do aplicativo Cloud TPU:

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 dados de entrada e saída do modelo, desde que o valor total não exceda o espaço disponível no disco de inicialização.

Se o aplicativo de treinamento precisar de mais espaço de armazenamento além do padrão do disco de inicialização, adicione um ou mais discos permanentes à VM ou à instância de VM da TPU. Existem diferentes procedimentos para adicionar um disco permanente a um nó da 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 de armazenamento de rede duráveis que podem ser acessados pelas instâncias de VM, como discos físicos em um computador ou servidor. Os dados armazenados em cada um dos discos permanentes 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 redundância e desempenho ideal.

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

Os discos permanentes têm redundância integrada para proteger os dados contra falhas de equipamento e garantir a disponibilidade dos dados durante eventos de manutenção de data center. As somas de verificação são calculadas para todas as operações de disco permanente para garantir que você leia exatamente aquilo que foi gravado.

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

Para mais informações sobre o uso de discos permanentes com VMs de TPU, consulte Adicionar um disco permanente a uma VM de TPU.

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 instâncias de VM. Se o job de treinamento não exigir a menor latência dos discos permanentes, é possível armazenar 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 em relação à instância.

Criar o bucket do Cloud Storage na mesma zona que a instância de VM (para nós de TPU) ou a VM de TPU oferece um desempenho comparável aos discos permanentes, mas com maior latência e características de capacidade 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 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, você pode ler e gravar dados em um bucket a partir de várias instâncias simultaneamente. 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.

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 de sistemas de arquivos.

Consulte a documentação do Cloud Storage FUSE para ver detalhes sobre como o Cloud Storage FUSE funciona e uma descrição de como as operações do Cloud Storage FUSE são mapeadas para as operações do Cloud Storage. Você pode encontrar mais informações sobre como usar o Cloud Storage FUSE. Por exemplo, como instalar a CLI do Cloud Storage FUSE e ativar buckets no GitHub.

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 com aplicativos empresariais atuais e dá suporte a qualquer cliente compatível com o NFSv3.

O Filestore oferece baixa latência para operações de arquivos. Para cargas de trabalho sensíveis à latência, o Filestore é compatível com capacidade de até 100 TB e capacidade de 25 GB por segundo e 720 mil IOPS, com variabilidade mínima no desempenho.

Com o Filestore, é possível ativar compartilhamentos de arquivos em VMs de TPU.

A seguir