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

Last reviewed 2025-09-16 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.

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 a preparação, recomendamos que use o Lustre gerido para a maioria das cargas de trabalho. Quando escolher uma opção de armazenamento, considere as características da sua carga de trabalho:

  • Use o Managed Lustre se a sua carga de trabalho tiver estas caraterísticas:
    • 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 a publicação, recomendamos que use o Cloud Storage com o Cloud Storage FUSE e a cache em qualquer lugar para a maioria das cargas de trabalho. Quando escolher uma opção de armazenamento, considere as características da sua carga de trabalho:

  • 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 um ambiente dinâmico onde o número de nós de inferência pode mudar.
    • Atualizações pouco frequentes ao seu modelo.
    • Um requisito para publicar modelos a partir de várias zonas e regiões num continente.
    • Uma prioridade para a alta disponibilidade e durabilidade dos seus modelos, mesmo em caso de interrupções regionais.
  • 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 para publicar modelos a partir de uma única zona.
    • Um requisito para um débito elevado fiável e uma E/S consistente de baixa latência para modelos sensíveis ao desempenho.
    • Atualizações frequentes ao seu modelo.

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
  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
  • As funcionalidades suportadas incluem a API JSON e a transferência do Amazon S3 para o Cloud Storage.
  • Dados e objetos não estruturados.
  • Armazenamento de leitura e escrita persistente.
  • Rendimento superior a 1 TB/s com latência elevada.
  • PB para capacidade de armazenamento de exabytes.

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.
  • Custo total de propriedade (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.
  • Reduza o TCO para a publicação: ative um carregamento mais rápido do modelo e uma 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 região dupla 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 integrados do Cloud Storage, que está otimizado para cargas de trabalho de ML com utilização intensiva de leitura com GPUs ou TPUs.
  • Cache de ficheiros local do cliente: Acelere a preparação com uma cache local do 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.

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
Capacidade 18 TiB – 8 PiB Sem limite inferior nem superior.
Dimensionar Escalável É dimensionado automaticamente com base na utilização.
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.
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
Persistência Duração total da instância do Managed Lustre. Duração do grupo
Disponibilidade Zonal
Desempenho Escalabilidade linear com capacidade aprovisionada e várias opções de nível de desempenho Escala automática das taxas de leitura/escrita e redistribuição dinâmica da carga
Gestão Totalmente gerido e compatível com POSIX Totalmente gerido

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 as 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.
  • Carregue dados para o Cloud Storage: carregue dados online para contentores do Cloud Storage através da Google Cloud consola, CLI gcloud, APIs Cloud Storage ou 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

Geralmente, recomendamos que use o Lustre gerido para a preparação e a criação de pontos de verificação. Além disso, use o Lustre gerido se alguma das seguintes condições se aplicar:

  • 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 e exportar dados para o Managed Lustre e do Cloud Storage. Se usar o GKE como plataforma de computação, pode usar o

Use o controlador CSI Lustre gerido do GKE 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

Deve escolher o Cloud Storage com o Cloud Storage FUSE e a cache em qualquer lugar para carregar os seus dados se se aplicar alguma das seguintes condições:

  • Os seus dados de preparação consistirem em ficheiros grandes de 50 MB ou mais.
  • Pode tolerar uma latência de armazenamento mais elevada na ordem das dezenas de milissegundos.
  • Prioriza a durabilidade dos dados e a alta disponibilidade em detrimento do desempenho do armazenamento.

O Cloud Storage oferece uma solução escalável 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. A cache em qualquer lugar oferece baixa latência para acertos de cache, o que elimina a necessidade de ler a partir do contentor do Cloud Storage. 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.

Para melhorar o acesso e a organização dos dados, crie contentores do Cloud Storage com espaços de nomes hierárquicos ativados. Os espaços de nomes hierárquicos permitem-lhe organizar os dados numa estrutura de sistema de ficheiros, o que melhora o desempenho, garante a consistência e simplifica a gestão para cargas de trabalho de IA e ML. Os espaços de nomes hierárquicos permitem um maior número de consultas por segundo (CPS) iniciais e renomeações rápidas de diretórios atómicos

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: com que frequência 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 os pontos de verificação e retomar o treino. Se precisar de restaurar um ponto de verificação, tenha em atenção que a preparação do modelo é pausada até que a recuperação esteja concluída. 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.
  • Tempo de inatividade do acelerador: o tempo durante o qual os aceleradores não estão a processar dados porque estão a aguardar a conclusão de uma operação de gravação ou restauro de pontos de verificação. Para minimizar este tempo de inatividade, selecione uma solução de armazenamento que ofereça um elevado débito e uma baixa latência.
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.
  • Faz 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. O Lustre gerido pode ser usado juntamente com o FUSE do Cloud Storage durante a preparação. Pode usar o FUSE do Cloud Storage para carregar e preparar dados, e usar o Lustre gerido para aumentar o desempenho durante a criação de pontos de verificação.

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 Cloud Storage FUSE 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 os pontos de verificação de forma assíncrona. Para evitar a exposição acidental de informações confidenciais do seu conjunto de dados de preparação durante a publicação, tem de armazenar os 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: com que frequência 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.

Cloud Storage para publicação

Deve escolher o Cloud Storage com o Cloud Storage FUSE e a cache em qualquer lugar para publicar o seu modelo se se aplicar alguma das seguintes condições:

  • Precisa de um ambiente dinâmico onde o número de nós de inferência possa mudar.
  • Faz atualizações pouco frequentes ao seu modelo.
  • Serve modelos a partir de várias zonas e regiões num continente.
  • Prioriza a elevada disponibilidade e durabilidade dos seus modelos, mesmo em caso de interrupções zonais.

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.

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.
  • Serve modelos a partir de uma única zona.
  • Tem um requisito de débito elevado fiável e E/S consistente de baixa latência para modelos sensíveis ao desempenho.
  • 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.

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: