Conceba armazenamento para cargas de trabalho de IA e AA no Google Cloud

Last reviewed 2025-04-09 UTC

Este documento fornece orientações de design sobre como escolher e integrar Google Cloud serviços de armazenamento para as suas cargas de trabalho de IA e AA. Cada fase no ciclo de vida da aprendizagem automática tem requisitos de armazenamento diferentes. Por exemplo, quando carrega o conjunto de dados de preparação, pode dar prioridade à capacidade de armazenamento para a preparação e ao elevado débito para grandes conjuntos de dados. Da mesma forma, as fases de preparação, otimização, publicação e arquivo têm requisitos diferentes. Para a maioria das cargas de trabalho de IA e ML, recomendamos que use o Lustre gerido do Google Cloud como solução de armazenamento. O Lustre gerido oferece um elevado desempenho e escalabilidade, o que o torna ideal para a preparação, a criação de pontos de verificação e a publicação.

Este documento ajuda a avaliar os requisitos de capacidade, latência e débito para tomar decisões informadas e determinar a solução de armazenamento adequada. Este documento pressupõe que selecionou uma plataforma de computação que cumpre os requisitos da sua carga de trabalho. Para cargas de trabalho de IA e ML, recomendamos que use o Compute Engine ou o Google Kubernetes Engine (GKE). Para mais informações sobre como selecionar uma plataforma de computação, consulte o artigo Alojamento de aplicações no Google Cloud.

Os separadores seguintes oferecem um breve resumo das opções de armazenamento recomendadas para cada fase do fluxo de trabalho de ML. Para mais informações, consulte o artigo Escolha o armazenamento adequado.

Prepare

Na fase de preparação do fluxo de trabalho de ML, faz o seguinte:

  1. Carregue e introduza dados.
  2. Transforme os dados no formato correto antes de preparar o modelo.

Para otimizar os custos de armazenamento através da utilização de várias classes de armazenamento, recomendamos que use a funcionalidade Autoclass do Cloud Storage ou a gestão do ciclo de vida de objetos.

Comboio

Na fase de preparação do fluxo de trabalho de ML, faz o seguinte:

  1. Programação de modelos: desenvolva o seu modelo através de blocos de notas e aplicando tentativas e erros iterativos.
  2. Preparação de modelos:
    • Use números de aceleradores de máquinas de pequena a grande escala para ler repetidamente o conjunto de dados de preparação.
    • Aplique um processo iterativo à preparação e programação de modelos.
  3. Criação de pontos de verificação e reinício:
    • Guarde o estado periodicamente durante a preparação do modelo criando um ponto de verificação para que a preparação possa ser reiniciada após uma falha do nó.
    • Faça a seleção de pontos de verificação com base no padrão de E/S e na quantidade de dados que têm de ser guardados no ponto de verificação.

Para as fases de preparação, recomendamos as seguintes opções de armazenamento:

  • Use o Managed Lustre se a sua carga de trabalho tiver estas caraterísticas:
    • Um requisito de capacidade de preparação mínima de 18 TiB.
    • Dados de preparação compostos por ficheiros pequenos com menos de 50 MB para tirar partido das capacidades de baixa latência.
    • Um requisito de latência inferior a 1 milissegundo para cumprir os requisitos de armazenamento para E/S aleatória e acesso a metadados.
    • Um requisito para realizar verificações frequentes de alto desempenho.
    • Uma experiência semelhante à do computador com suporte POSIX completo para ver e gerir os dados dos seus utilizadores.
  • Use o Cloud Storage com o Cloud Storage FUSE e a cache em qualquer lugar se a sua carga de trabalho tiver estas caraterísticas:
    • Dados de preparação compostos por ficheiros grandes de 50 MB ou mais.
    • Tolerância para uma latência de armazenamento mais elevada na ordem das dezenas de milissegundos.
    • Uma prioridade de durabilidade dos dados e alta disponibilidade em detrimento do desempenho do armazenamento.

Para otimizar os custos, recomendamos que use o mesmo serviço de armazenamento em todas as fases do treino do modelo.

Apresentar

Na fase de publicação do fluxo de trabalho de ML, faz o seguinte:

  1. Armazene o modelo.
  2. Carregue o modelo numa instância que execute aceleradores de aprendizagem automática no arranque.
  3. Armazenar os resultados da inferência do modelo, como imagens geradas.
  4. Opcionalmente, armazene e carregue o conjunto de dados usado para a inferência do modelo.

Para as fases de publicação, recomendamos as seguintes opções de armazenamento:

  • Managed Lustre se a sua carga de trabalho tiver estas caraterísticas:
    • A sua carga de trabalho de preparação e verificação usa o Lustre gerido.
    • Um requisito de 10 a 100 nós de inferência.
    • Atualizações frequentes ao seu modelo.
  • Armazenamento na nuvem com o Cloud Storage FUSE e a cache em qualquer lugar se a sua carga de trabalho tiver estas caraterísticas:
    • Um requisito para uma solução rentável para um ambiente dinâmico onde o número de nós de inferência pode mudar.
    • Atualizações pouco frequentes ao seu modelo.
    • Uma prioridade para a alta disponibilidade e durabilidade dos seus modelos, mesmo em caso de interrupções regionais.
  • Use o Hyperdisk ML se a sua carga de trabalho tiver estas caraterísticas:
    • Um requisito para mais de 100 nós de inferência.
    • Atualizações pouco frequentes ao seu modelo.
    • A sua carga de trabalho usa um tipo de máquina virtual (VM) suportado.
    • O seu pipeline pode gerir volumes só de leitura para armazenar modelos.

Arquivar

Na fase de arquivo das cargas de trabalho de ML, retém os dados de preparação e o modelo durante períodos prolongados.

Para otimizar os custos de armazenamento com várias classes de armazenamento, recomendamos que use o Autoclass do Cloud Storage ou a gestão do ciclo de vida dos objetos.

Vista geral do processo de design

Para determinar as opções de armazenamento adequadas para a sua carga de trabalho de IA e ML no Google Cloud, faça o seguinte:

  1. Considere as caraterísticas da sua carga de trabalho, as expetativas de desempenho e os objetivos de custo.
  2. Reveja os serviços e as funcionalidades de armazenamento recomendados em Google Cloud.
  3. Com base nos seus requisitos e nas opções disponíveis, escolha os serviços de armazenamento e as funcionalidades de que precisa para cada fase no fluxo de trabalho de ML: preparar, formar, publicar e arquivar.

Este documento foca-se nas fases do fluxo de trabalho de ML em que a consideração cuidadosa das opções de armazenamento é mais crítica, mas não abrange a totalidade do ciclo de vida, dos processos e das capacidades de ML.

Segue-se uma vista geral do processo de conceção de três fases para escolher o armazenamento para a sua carga de trabalho de IA e ML:

  1. Defina os seus requisitos:
    • Caraterísticas da carga de trabalho
    • Restrições de segurança
    • Requisitos de resiliência
    • Expetativas de desempenho
    • Objetivos de custos
  2. Reveja as opções de armazenamento:
    • Managed Lustre
    • Cloud Storage
    • Hyperdisk ML
  3. Escolha o armazenamento adequado: escolha serviços de armazenamento, funcionalidades e opções de design com base nas características da sua carga de trabalho em cada fase do fluxo de trabalho de ML.

Defina os seus requisitos

Antes de escolher as opções de armazenamento para a sua carga de trabalho de IA e ML no Google Cloud, tem de definir os requisitos de armazenamento da carga de trabalho. Para definir os requisitos de armazenamento, deve considerar fatores como a plataforma de computação, a capacidade, o débito e os requisitos de latência.

Para ajudar a escolher uma opção de armazenamento para as suas cargas de trabalho de IA e ML, considere as características da sua carga de trabalho:

  • Os tamanhos dos ficheiros e dos pedidos de E/S são pequenos (KBs), médios ou grandes (MBs ou GBs)?
  • A sua carga de trabalho apresenta principalmente padrões de acesso a ficheiros sequenciais ou aleatórios?
  • As suas cargas de trabalho de IA e ML são sensíveis à latência de E/S e ao tempo até ao primeiro byte (TTFB)?
  • Precisa de um débito de leitura e escrita elevado para clientes únicos, clientes agregados ou ambos?
  • Qual é o maior número de unidades de processamento de gráficos (GPUs) ou unidades de processamento de tensores (TPUs) que a sua maior carga de trabalho de preparação de IA e ML única requer?

Use as suas respostas a estas perguntas para escolher o armazenamento adequado mais tarde neste documento.

Reveja as opções de armazenamento

Google Cloud oferece serviços de armazenamento para todos os formatos de armazenamento principais: bloco, ficheiro, sistema de ficheiros paralelo e objeto. A tabela seguinte descreve as opções que pode considerar para a sua carga de trabalho de IA e ML noGoogle Cloud. A tabela inclui as três opções de armazenamento geridas pela Google nas quais este documento se foca para as suas cargas de trabalho de IA e ML. No entanto, se tiver requisitos específicos que não sejam abordados por estas ofertas, considere soluções de armazenamento geridas por parceiros disponíveis no Google Cloud Marketplace.

Reveja e avalie as funcionalidades, as opções de design e as vantagens relativas dos serviços disponíveis para cada formato de armazenamento.

Serviço de armazenamento Tipo de armazenamento Funcionalidades
Managed Lustre Sistema de ficheiros paralelo
Cloud Storage Objeto
Hyperdisk ML Bloquear
  • Elevado desempenho com uma pequena capacidade de armazenamento.
  • Persistente só de leitura.
  • Débito agregado até 1,2 TB/s.

Managed Lustre

O Managed Lustre é um sistema de ficheiros totalmente gerido no Google Cloud. O Lustre gerido oferece instâncias zonais persistentes criadas no sistema de ficheiros Lustre do DDN EXAScaler. O Lustre gerido é ideal para cargas de trabalho de IA e ML que precisam de fornecer acesso de baixa latência inferior a um milissegundo com elevado débito e elevado número de operações de entrada/saída por segundo (IOPS). O Lustre gerido pode manter um débito elevado e IOPS elevados para algumas VMs ou para milhares de VMs.

O Managed Lustre oferece as seguintes vantagens:

  • Conformidade com POSIX: suporte para a norma POSIX, que ajuda a garantir a compatibilidade com muitas aplicações e ferramentas existentes.
  • TCO mais baixo para a preparação: acelere o tempo de preparação fornecendo dados de forma eficiente aos nós de computação. Esta aceleração ajuda a reduzir o CTT para a preparação de modelos de IA e AA.
  • TCO mais baixo para publicação: ative o carregamento mais rápido de modelos e a publicação de inferências otimizada em comparação com o Cloud Storage. Estas capacidades ajudam a reduzir os custos de computação e a melhorar a utilização dos recursos.
  • Utilização eficiente de recursos: combine a criação de pontos de verificação e a preparação numa única instância. Esta utilização de recursos ajuda a maximizar a utilização eficiente do débito de leitura e escrita num único sistema de armazenamento de alto desempenho.

Cloud Storage

O Cloud Storage é um serviço de armazenamento de objetos totalmente gerido adequado para cargas de trabalho de IA e ML de qualquer escala. O Cloud Storage destaca-se no processamento de dados não estruturados para todas as fases do fluxo de trabalho de IA e ML.

O Cloud Storage oferece as seguintes vantagens:

  • Escalabilidade em massa: obtenha uma capacidade de armazenamento ilimitada que se adapta a exabytes a nível global.
  • Alto rendimento: aumente a escala até 1 TB/s com o planeamento necessário.
  • Opções de localização flexíveis: escolha entre opções de armazenamento regionais, multirregionais e de dupla região para cargas de trabalho de IA e ML.
  • Rentabilidade: tire partido de uma variedade de classes de armazenamento concebidas para otimizar os custos com base nos seus padrões de acesso aos dados.

O Cloud Storage destaca-se na escalabilidade e na rentabilidade, mas é importante considerar as suas características de latência e I/O. Espere uma latência na ordem das dezenas de milissegundos, que é superior à de outras opções de armazenamento. Para maximizar o débito, tem de usar centenas ou milhares de threads, ficheiros grandes e pedidos de E/S grandes. O Cloud Storage oferece bibliotecas cliente em várias linguagens de programação e fornece o Cloud Storage FUSE e a cache em qualquer lugar.

O Cloud Storage FUSE é um adaptador FUSE de código aberto que é suportado pela Google. O Cloud Storage FUSE permite-lhe montar contentores do Cloud Storage como unidades locais. O Cloud Storage FUSE não é totalmente compatível com POSIX. Por conseguinte, é importante que compreenda as limitações do FUSE do Cloud Storage e as diferenças em relação aos sistemas de ficheiros tradicionais. Com o FUSE do Cloud Storage, pode aceder aos seus dados de preparação, modelos e pontos de verificação com a escala, a acessibilidade e o desempenho do Cloud Storage.

O armazenamento em cache FUSE do Cloud Storage oferece as seguintes vantagens:

  • Portabilidade: monte e aceda a contentores do Cloud Storage através da semântica do sistema de ficheiros padrão, o que torna as suas aplicações mais portáteis.
  • Compatibilidade: elimina a necessidade de refatorar aplicações para usar APIs específicas da nuvem, o que lhe poupa tempo e recursos.
  • Tempo de inatividade reduzido: inicie tarefas de preparação rapidamente acedendo diretamente aos dados no Cloud Storage, o que minimiza o tempo de inatividade das suas GPUs e TPUs.
  • Elevado débito: tire partido da escalabilidade e do desempenho incorporados do Cloud Storage, que está otimizado para cargas de trabalho de ML com grande volume de leituras com GPUs ou TPUs.
  • Cache de ficheiros local no cliente: acelere a preparação com uma cache local no cliente que acelera as leituras repetidas de ficheiros. Esta aceleração pode ser ainda mais melhorada quando a usa com o SSD local de 6 TiB incluído nos tipos de máquinas A3.

A cache em qualquer lugar é uma funcionalidade do Cloud Storage que oferece até 1 PiB de cache de leitura zonal com suporte de SSD para contentores do Cloud Storage. A cache em qualquer lugar foi concebida para acelerar as aplicações com grande volume de dados, fornecendo uma camada de acesso rápido e local para dados lidos com frequência numa zona específica.

A cache em qualquer lugar oferece as seguintes vantagens:

  • Débito acelerado: dimensione automaticamente a capacidade da cache e a largura de banda para oferecer um débito elevado, excedendo as quotas de largura de banda regionais, com latências consistentes e previsíveis.
  • Custo reduzido: evite taxas de saída de transferência de dados ou taxas de obtenção da classe de armazenamento para dados em cache. A cache em qualquer lugar dimensiona automaticamente a cache e a largura de banda disponível para satisfazer as necessidades da sua carga de trabalho.

Hyperdisk ML

O Hyperdisk ML é uma solução de armazenamento de blocos de alto desempenho concebida para acelerar as cargas de trabalho de IA e ML que requerem acesso só de leitura a grandes conjuntos de dados. O Hyperdisk ML tira partido da escalabilidade e da disponibilidade do Colossus para equilibrar o desempenho no sistema de ficheiros subjacente. O Hyperdisk ML é particularmente adequado para tarefas de publicação em comparação com outros serviços de armazenamento no Google Cloud porque pode fornecer uma taxa de transferência agregada excecionalmente elevada em simultâneo a muitas VMs.

O Hyperdisk ML oferece as seguintes vantagens:

  • Serviço de modelos e escalabilidade acelerados: aumente a escala até milhares de nós concorrentes e alcance um elevado débito agregado, o que otimiza os tempos de carregamento e a utilização de recursos para cargas de trabalho de inferência com o modo Kubernetes ReadOnlyMany.
  • Densidade de elevado desempenho: alcance o débito mais elevado disponível no Google Cloud e operações de leitura rápidas para grandes conjuntos de dados partilhados.
  • Custo total de propriedade (TCO) melhorado: reduza os custos com tempos de inatividade da GPU mais curtos, capacidades de ligação múltipla e agrupamento de desempenho.
  • Acesso de leitura em simultâneo: reduza os custos partilhando discos entre VMs, o que é mais rentável do que ter vários discos com os mesmos dados. Para aceder a dados estáticos de várias VMs, tem de anexar o mesmo disco no modo só de leitura a centenas de VMs. Para atualizar o volume, o disco tem de ser separado de todas as VMs, exceto de uma.

Soluções de armazenamento de parceiros

Para requisitos de carga de trabalho que os serviços de armazenamento anteriores não cumprem, pode usar as seguintes soluções de parceiros, que estão disponíveis no Cloud Marketplace:

Estas soluções de parceiros não são geridas pela Google. Tem de gerir as tarefas de implementação e operacionais para garantir a integração e o desempenho ideais na sua infraestrutura.

Análise comparativa

A tabela seguinte mostra as principais capacidades dos serviços de armazenamento no Google Cloud.

Managed Lustre Cloud Storage Hyperdisk ML
Capacidade 18 TiB – 8 PiB Sem limite inferior nem superior. 4 GiB – 64 TiB
Dimensionar Não escalável É dimensionado automaticamente com base na utilização. Aumente a escala
Partilha Montável em várias VMs do Compute Engine e clusters do GKE.
  • Leia/escreva a partir de qualquer lugar.
  • Integra-se com o Cloud CDN e as RFCs de terceiros.
Suportado
Opção de chave de encriptação Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • Gerido pelo cliente
  • Fornecido pelo cliente
  • Google-owned and Google-managed encryption keys
  • Gerido pelo cliente
  • Fornecido pelo cliente
Persistência Duração total da instância do Managed Lustre. Duração do grupo Tempo de vida do disco
Disponibilidade Zonal Zonal
Desempenho Escalabilidade linear com capacidade aprovisionada Escala automática das taxas de leitura/escrita e redistribuição dinâmica da carga Escalabilidade dinâmica armazenamento persistente
Gestão Totalmente gerido e compatível com POSIX Totalmente gerido Formate e monte manualmente

Ferramentas de transferência de dados

Esta secção descreve as suas opções para mover dados entre serviços de armazenamento no Google Cloud. Quando realiza tarefas de IA e ML, pode ter de mover os seus dados de uma localização para outra. Por exemplo, se os seus dados começarem no Cloud Storage, pode movê-los para outro local para treinar o modelo e, em seguida, copiar as imagens instantâneas de pontos de verificação ou o modelo treinado de volta para o Cloud Storage.

Pode usar os seguintes métodos para transferir dados para o Google Cloud:

  • Transfira dados online através do Serviço de transferência de armazenamento: automatize a transferência de grandes quantidades de dados entre sistemas de armazenamento de objetos e ficheiros, incluindo o Cloud Storage, o Amazon S3, os serviços de armazenamento do Azure e origens de dados nas instalações. O Serviço de transferência de armazenamento permite-lhe copiar os seus dados em segurança da localização de origem para a localização de destino e fazer transferências periódicas de dados alterados. Também oferece validação da integridade dos dados, novas tentativas automáticas e equilíbrio de carga.
  • Transfira dados offline através do Transfer Appliance: transfira e carregue grandes quantidades de dados offline em Google Cloud situações em que a conetividade de rede e a largura de banda estão indisponíveis, limitadas ou são caras.
  • Carregue dados para o Cloud Storage: carregue dados online para contentores do Cloud Storage através da Google Cloud consola, da CLI gcloud, das APIs Cloud Storage ou das bibliotecas de cliente.

Quando escolher um método de transferência de dados, considere fatores como o tamanho dos dados, as restrições de tempo, a disponibilidade de largura de banda, os objetivos de custos e os requisitos de segurança e conformidade. Para obter informações sobre o planeamento e a implementação de transferências de dados para o Google Cloud, consulte o artigo Migrar para o Google Cloud: transfira os seus grandes conjuntos de dados.

Escolha o armazenamento adequado

Os fluxos de trabalho de IA e ML envolvem normalmente quatro fases principais: preparar, preparar, apresentar e arquivar. Cada uma destas fases tem requisitos de armazenamento únicos e a escolha da solução certa pode afetar significativamente o desempenho, o custo e a eficiência operacional. Uma abordagem híbrida ou otimizada localmente permite-lhe adaptar as suas escolhas de armazenamento às exigências específicas de cada fase da sua carga de trabalho de IA e ML. No entanto, se as suas prioridades forem a gestão unificada e a facilidade de funcionamento, uma abordagem simplificada a nível global que use uma solução consistente em todas as fases pode ser benéfica para cargas de trabalho de qualquer escala. A eficácia da escolha do armazenamento depende das propriedades do conjunto de dados, da escala dos recursos de computação e armazenamento necessários, da latência e dos requisitos de carga de trabalho que definiu anteriormente.

As secções seguintes fornecem detalhes sobre as fases principais das cargas de trabalho de IA e ML e os fatores que podem influenciar a sua escolha de armazenamento.

Prepare

A fase de preparação estabelece as bases para a sua aplicação de IA e AA. Envolve o carregamento de dados não processados de várias origens para o seu ambiente na nuvem e a transformação dos dados num formato utilizável para preparar o seu modelo de IA e AA. Este processo inclui tarefas como a limpeza, o processamento e a conversão de tipos de dados para garantir a compatibilidade com a estrutura de IA e ML escolhida.

O Cloud Storage é adequado para a fase de preparação devido à sua escalabilidade, durabilidade e rentabilidade, especialmente para grandes conjuntos de dados comuns na IA. O Cloud Storage oferece uma integração perfeita com outros Google Cloud serviços que lhe permitem tirar partido de potenciais otimizações para a preparação com grande volume de dados.

Durante a fase de preparação de dados, pode reorganizar os dados em grandes blocos para melhorar a eficiência do acesso e evitar pedidos de leitura aleatórios. Para reduzir ainda mais os requisitos de desempenho de E/S no sistema de armazenamento, pode aumentar o número de threads de E/S através da utilização de processamento em pipeline, otimização do treino ou ambos.

Comboio

A fase de preparação é o núcleo do desenvolvimento do modelo, onde o seu modelo de IA e ML aprende com os dados fornecidos. Esta fase envolve dois aspetos importantes com requisitos distintos: o carregamento eficiente de dados para aceder aos dados de preparação e a criação de pontos de verificação fiáveis para guardar o progresso do modelo. As secções seguintes fornecem recomendações e os fatores a ter em conta para escolher opções de armazenamento adequadas para o carregamento de dados e a criação de pontos de verificação.

Carregamento de dados

Durante o carregamento de dados, as GPUs ou as TPUs importam repetidamente lotes de dados para preparar o modelo. Nesta fase, pode usar uma cache para otimizar as tarefas de carregamento de dados, consoante o tamanho dos lotes e a ordem em que os pede. O seu objetivo durante o carregamento de dados é preparar o modelo com a máxima eficiência, mas ao custo mais baixo.

Se o tamanho dos dados de preparação for de petabytes, os dados podem ter de ser relidos várias vezes. Esta escala requer um processamento intensivo por parte de uma GPU ou de um acelerador de TPU. No entanto, tem de garantir que as suas GPUs e TPUs não estão inativas e que processam os seus dados ativamente. Caso contrário, paga por um acelerador caro e inativo enquanto copia os dados de uma localização para outra.

Para otimizar o desempenho e o custo do carregamento de dados, considere os seguintes fatores:

  • Tamanho do conjunto de dados: o tamanho do seu corpus de dados de preparação geral e o tamanho de cada conjunto de dados de preparação.
  • Padrões de acesso: qual das seguintes opções categoriza melhor o padrão de acesso de E/S da sua carga de trabalho de preparação:
    • Acesso paralelo e sequencial: um ficheiro é atribuído a um único nó e é lido sequencialmente.
    • Acesso paralelo e aleatório: um ficheiro é atribuído a um único nó e é lido aleatoriamente para criar um lote de amostras.
    • Acesso totalmente aleatório: um nó pode ler qualquer intervalo de qualquer ficheiro para criar um lote.
  • Tamanho do ficheiro: os tamanhos típicos dos pedidos de leitura.
Managed Lustre para carregamento de dados

Deve escolher o Lustre gerido para carregar os seus dados se se aplicar alguma das seguintes condições:

  • Tem um requisito de capacidade de preparação mínimo de 18 TiB.
  • Os seus dados de preparação consistem em ficheiros pequenos com menos de 50 MB para tirar partido das capacidades de baixa latência.
  • Tem um requisito de latência inferior a 1 milissegundo para cumprir os requisitos de armazenamento para E/S aleatória e acesso a metadados.
  • Precisa de uma experiência semelhante à de um computador com suporte POSIX completo para ver e gerir os dados dos seus utilizadores.

Pode usar o Lustre gerido como uma cache de alto desempenho sobre o Cloud Storage para acelerar as cargas de trabalho de IA e ML que requerem operações de E/S de débito extremamente elevado e baixa latência com um sistema de ficheiros paralelo totalmente gerido. Para minimizar a latência durante a preparação, pode importar dados para o Managed Lustre a partir do Cloud Storage. Se usar o GKE como plataforma de computação, pode usar o

GKE Managed Lustre CSI driver para pré-preencher PersistentVolumesClaims com dados do Cloud Storage. Após a conclusão da preparação, pode minimizar as despesas de armazenamento a longo prazo exportando os dados para uma classe do Cloud Storage de custo inferior.

Cloud Storage para carregamento de dados

Geralmente, deve escolher o Cloud Storage para carregar os seus dados se se aplicar alguma das seguintes condições:

  • Tem um requisito de capacidade de preparação de 100 TiB ou mais.
  • Os seus dados de preparação consistirem em ficheiros grandes de 50 MB ou mais.
  • Prioriza a durabilidade dos dados e a alta disponibilidade em detrimento do desempenho do armazenamento.

O Cloud Storage oferece uma solução escalável e económica para armazenar conjuntos de dados massivos, e o Cloud Storage FUSE permite-lhe aceder aos dados como um sistema de ficheiros local. O FUSE do Cloud Storage acelera o acesso aos dados durante a preparação, mantendo os dados de preparação perto dos aceleradores de máquinas, o que aumenta o débito.

Para cargas de trabalho que exigem um débito superior a 1 TB/s, a cache em qualquer lugar acelera as velocidades de leitura ao colocar dados em cache e ao escalar para além das quotas de largura de banda regionais. Para avaliar se a cache em qualquer lugar é adequada para a sua carga de trabalho, use o recomendador da cache em qualquer lugar para analisar a utilização de dados e o armazenamento.

Criação de pontos de verificação e restauro

Para a criação de pontos de verificação e o restauro, as tarefas de preparação têm de guardar periodicamente o respetivo estado para poderem recuperar rapidamente de falhas de instâncias. Quando ocorre a falha, as tarefas têm de ser reiniciadas, ingerir o ponto de verificação mais recente e, em seguida, retomar o treino. Normalmente, o mecanismo exato usado para criar e carregar pontos de verificação é específico de uma framework. Para saber mais sobre os pontos de verificação e as técnicas de otimização do TensorFlow Core, consulte o artigo Pontos de verificação de preparação. Para saber mais sobre os pontos de verificação e as técnicas de otimização do PyTorch, consulte o artigo Guardar e carregar modelos.

Só precisa de guardar alguns pontos de controlo em qualquer momento. As cargas de trabalho de pontos de verificação consistem normalmente em, na sua maioria, escritas, várias eliminações e, idealmente, leituras pouco frequentes quando ocorrem falhas.

Para otimizar a criação de pontos de verificação e restaurar o desempenho, considere os seguintes fatores:

  • Tamanho do modelo: o número de parâmetros que estão no seu modelo de IA e ML. O tamanho do modelo afeta diretamente o tamanho dos respetivos ficheiros de ponto de verificação, que podem variar entre GiB e TiB.
  • Frequência dos pontos de controlo: a frequência com que o modelo guarda pontos de controlo. As guardas frequentes oferecem uma melhor tolerância a falhas, mas aumentam os custos de armazenamento e podem afetar a velocidade de preparação.
  • Tempo de recuperação do ponto de verificação: o tempo de recuperação que quer para carregar pontos de verificação e retomar a preparação. Para minimizar o tempo de recuperação, considere fatores como o tamanho do ponto de verificação, o desempenho do armazenamento e a largura de banda da rede.
Managed Lustre para criação de pontos de verificação

Deve escolher o Lustre gerido para a criação de pontos de verificação se se aplicar alguma das seguintes condições:

  • A sua carga de trabalho de preparação já usa o Managed Lustre para o carregamento de dados.
  • Tem um requisito para realizar verificações frequentes de alto desempenho.

Para maximizar a utilização de recursos e minimizar o tempo de inatividade do acelerador, use o Lustre gerido para a preparação e a criação de pontos de verificação. O Lustre gerido pode alcançar escritas de pontos de verificação rápidas que atingem um débito elevado por VM. Pode manter os pontos de verificação na instância persistente do Lustre gerido ou otimizar os custos exportando periodicamente os pontos de verificação para o Cloud Storage.

Cloud Storage para criação de pontos de verificação

Deve escolher o Cloud Storage para a criação de pontos de verificação se se aplicar alguma das seguintes condições:

  • A sua carga de trabalho de preparação usa o FUSE do Cloud Storage.
  • Prioriza a durabilidade dos dados e a alta disponibilidade em detrimento do desempenho do armazenamento.

Para melhorar o desempenho da criação de pontos de verificação, use o FUSE do Cloud Storage com os espaços de nomes hierárquicos ativados para tirar partido da operação de mudança de nome atómica rápida e guardar pontos de verificação de forma assíncrona. Para evitar a exposição acidental de informações confidenciais do conjunto de dados de preparação durante a publicação, tem de armazenar pontos de verificação num contentor do Cloud Storage separado. Para ajudar a reduzir as latências de escrita finais para carregamentos parados, o Cloud Storage FUSE tenta novamente após 10 segundos.

Apresentar

Quando serve o seu modelo, também conhecido como inferência, o padrão de E/S principal é apenas de leitura para carregar o modelo na memória da GPU ou da TPU. O seu objetivo na fase de publicação é executar o modelo em produção. O modelo é muito menor do que os dados de preparação, o que significa que pode replicar e dimensionar o modelo em várias instâncias. Quando apresenta dados, é importante ter uma elevada disponibilidade e proteção contra falhas zonais e regionais. Por conseguinte, tem de garantir que o seu modelo está disponível para vários cenários de falha.

Para muitos exemplos de utilização de IA generativa e ML, os dados de entrada para o modelo podem ser bastante pequenos e os dados podem não ter de ser armazenados persistentemente. Noutros casos, pode ter de executar grandes volumes de dados sobre o modelo (por exemplo, conjuntos de dados científicos). Para executar grandes volumes de dados, escolha uma opção de armazenamento que possa minimizar o tempo de inatividade da GPU ou da TPU durante a análise do conjunto de dados e use uma localização persistente para armazenar os resultados da inferência.

Os tempos de carregamento do modelo afetam diretamente o tempo de inatividade do acelerador, o que acarreta custos substanciais. Um aumento no tempo de carregamento do modelo por nó pode ser ampliado em muitos nós, o que pode levar a um aumento significativo dos custos. Por isso, para alcançar a rentabilidade na infraestrutura de publicação, é importante otimizar o carregamento rápido de modelos.

Para otimizar o desempenho e o custo da publicação, considere os seguintes fatores:

  • Tamanho do modelo: o tamanho do seu modelo em GiB ou TiB. Os modelos maiores requerem mais recursos computacionais e memória, o que pode aumentar a latência.
  • Frequência de carregamento do modelo: a frequência com que planeia atualizar o modelo. O carregamento e o descarregamento frequentes consomem recursos computacionais e aumentam a latência.
  • Número de nós de publicação: quantos nós vão publicar o seu modelo. Geralmente, mais nós reduzem a latência e aumentam a taxa de transferência, mas também aumentam os custos de infraestrutura.

Managed Lustre para publicação

Deve escolher o Lustre gerido para publicar o seu modelo se se aplicar alguma das seguintes condições:

  • A sua carga de trabalho de preparação e verificação usa o Lustre gerido.
  • A sua carga de trabalho usa 10 a 100 nós de inferência.
  • Faz atualizações frequentes ao seu modelo.

Se já estiver a usar o Lustre gerido para a preparação e a criação de pontos de verificação, pode ser uma opção rentável e de elevado desempenho para publicar os seus modelos. O Lustre gerido oferece um débito elevado por VM e um débito agregado do cluster que ajuda a reduzir o tempo de carregamento do modelo. Pode usar o Managed Lustre para qualquer número de VMs de publicação.

Cloud Storage para publicação

Deve escolher o Cloud Storage para publicar o seu modelo se se aplicar alguma das seguintes condições:

  • Precisa de uma solução económica para um ambiente dinâmico onde o número de nós de inferência pode mudar.
  • Faz atualizações pouco frequentes ao seu modelo.
  • Dá prioridade à elevada disponibilidade e durabilidade dos seus modelos, mesmo em caso de interrupções regionais.

Com a arquitetura multirregional ou em duas regiões, o Cloud Storage oferece alta disponibilidade e protege a sua carga de trabalho contra falhas zonais e regionais. Para acelerar o carregamento de modelos, pode usar o Cloud Storage FUSE com as transferências paralelas ativadas para que as partes do modelo sejam obtidas em paralelo.

Para alcançar a apresentação de modelos com um débito superior a 1 TB/s ou para implementações que excedam uma centena de nós de apresentação, use a cache em qualquer lugar com um contentor multirregional. Esta combinação oferece armazenamento de alto desempenho e redundante em várias regiões, bem como flexibilidade. A cache em qualquer lugar também elimina as taxas de saída de dados e de obtenção da classe de armazenamento nos dados em cache.

Hyperdisk ML para publicação

Deve escolher o Hyperdisk ML para publicar o seu modelo se se aplicar alguma das seguintes condições:

  • Precisa de mais de 100 nós de inferência.
  • Faz atualizações pouco frequentes ao seu modelo.
  • A sua carga de trabalho usa um tipo de VM suportado.
  • O seu pipeline pode gerir volumes só de leitura para armazenar modelos.

Otimize o desempenho da publicação usando o Hyperdisk ML como uma cache para os seus dados do Cloud Storage. O Hyperdisk ML usa o agrupamento de desempenho partilhado e o débito aprovisionado dinamicamente em várias VMs para processar de forma eficiente a publicação de modelos só de leitura a qualquer escala.

Arquivar

A fase de arquivo tem um padrão de E/S de "escrita única, leitura rara". O seu objetivo é armazenar os diferentes conjuntos de dados de treino e as diferentes versões dos modelos que gerou. Pode usar estas versões incrementais de dados e modelos para fins de cópia de segurança e recuperação de desastres. Também tem de armazenar estes itens num local duradouro durante um longo período. Embora possa não precisar de aceder aos dados e aos modelos com muita frequência, quer que os itens estejam disponíveis quando precisar deles.

Devido à sua durabilidade extrema, escala expansiva e baixo custo, a melhor opção para armazenar dados de objetos durante um longo período é o Cloud Storage.Google Cloud Consoante a frequência com que acede ao conjunto de dados, ao modelo e aos ficheiros de cópia de segurança, o Cloud Storage oferece otimização de custos através de classes de armazenamento diferentes. Pode selecionar uma classe de armazenamento com base na frequência com que espera aceder aos seus dados arquivados:

  • Acesso frequente aos dados: armazenamento padrão
  • Acesso mensal aos dados: armazenamento Nearline
  • Acesso aos dados trimestral: Coldline Storage
  • Acesso anual aos dados: armazenamento de arquivo

Com a gestão do ciclo de vida de objetos, pode criar políticas para mover automaticamente os dados para classes de armazenamento de longo prazo ou para eliminar dados com base em critérios específicos. Se não tiver a certeza da frequência com que pode aceder aos seus dados, pode usar a funcionalidade Autoclass para mover dados entre classes de armazenamento automaticamente com base nos seus padrões de acesso.

O que se segue?

Para mais informações sobre as opções de armazenamento e as cargas de trabalho de IA e AA, consulte os seguintes recursos:

Colaboradores

Autor: Samantha He | Redator técnico

Outros colaboradores: