Sobre serviços de armazenamento para cargas de trabalho de IA e ML

Os serviços de armazenamento oferecem a arquitetura de dados essencial que ajuda a ativar o treinamento de modelo, a inferência e o ajuste de modelos de alto desempenho no Hipercomputador de IA.

Essas recomendações são específicas para GPUs em cluster.

Este documento foi criado para ajudar arquitetos, engenheiros de armazenamento e desenvolvedores a avaliar e selecionar o serviço de armazenamento certo para as cargas de trabalho no Hipercomputador de IA.

Introdução aos serviços de armazenamento

Google Cloud oferece várias soluções de armazenamento otimizadas para casos de uso de IA e ML:

  • O Cloud Storage é um sistema de armazenamento de objetos projetado para processar e armazenar conjuntos de dados massivos, como os necessários para treinamento ou inferência em massa. O Cloud Storage oferece vários recursos para ajudar você a otimizar o armazenamento de dados para tarefas de IA e ML.

  • O Google Cloud Managed Lustre é um sistema de arquivos paralelo totalmente gerenciado e compatível com POSIX projetado para o desempenho especializado, de baixa latência e alta simultaneidade de metadados necessário para cargas de trabalho de treinamento e inferência.

  • Os pools e Exapools do Hyperdisk oferecem um bloco agregado de capacidade de armazenamento, capacidade de processamento e operações de entrada/saída por segundo (IOPS) que podem ser compartilhados entre instâncias de computação. É possível solicitar volumes do Hyperdisk Balanced ou do Hyperdisk Throughput em uma reserva.

As seções a seguir fornecem mais informações sobre cada serviço de armazenamento.

Cloud Storage

O Cloud Storage é um repositório de objetos fundamental projetado para oferecer escalonabilidade global, durabilidade e custo-benefício. Ao usar o Cloud Storage, você armazena dados como objetos em contêineres chamados buckets. O Cloud Storage oferece vários recursos para seus buckets que ajudam a otimizar o desempenho das cargas de trabalho de IA e ML:

  • Os produtos da família Cloud Storage Rapid foram projetados para eliminar gargalos de dados nas suas cargas de trabalho de IA e ML, aproximando os dados dos recursos de computação. Com esses produtos, é possível colocalizar seus dados nas mesmas zonas que as cargas de trabalho de computação e ativar o escalonamento de armazenamento de dados de alta performance e econômico para seus clusters de GPU ou TPU. Os produtos do Cloud Storage Rapid incluem:

    • O Rapid Bucket oferece o desempenho de leitura e gravação mais rápido no Cloud Storage para buckets zonais. Os objetos em buckets zonais são armazenados na classe de armazenamento Rapid Storage, uma classe de armazenamento de alta performance otimizada para cargas de trabalho com uso intenso de E/S. Além da latência menor, o Rapid Bucket oferece um throughput significativamente maior (até 15 TB/s) em comparação com outros produtos e locais de bucket no Cloud Storage.

    • O Rapid Cache acelera as leituras de dados para buckets atuais sem exigir mudanças no código. O Rapid Cache é um cache de leitura zonal com suporte a SSD para buckets do Cloud Storage usado para disponibilizar dados em solicitações de leitura de dados. O produto oferece maior capacidade de processamento (até 2,5 TB/s) e menor latência do que buckets sem um cache.

      O Rapid Cache geralmente é configurado para buckets multirregionais, em que a capacidade do acelerador é fragmentada em Google Cloud regiões. Os dados lidos do cache geram taxas de transferência reduzidas em comparação com os dados lidos diretamente de um bucket multirregional.

  • O Cloud Storage FUSE é um adaptador FUSE de código aberto que permite montar buckets como sistemas de arquivos locais, possibilitando que os aplicativos interajam com o armazenamento de objetos usando a semântica padrão de sistemas de arquivos. Com essa capacidade, você aproveita a escalonabilidade global, a durabilidade e a eficiência de custos do Cloud Storage com acesso a arquivos locais. O Cloud Storage FUSE é mantido e tem suporte ativo do Google.

    O Cloud Storage FUSE oferece vários parâmetros de ajuste e armazenamento em cache do lado do cliente, como downloads paralelos. Esses recursos podem abstrair as complexidades de desenvolvimento e ajudar a alcançar o desempenho máximo ao fragmentar ou paralelizar fluxos.

  • O namespace hierárquico permite uma estrutura de sistema de arquivos real em buckets e oferece recursos eficientes de gerenciamento de dados, incluindo renomeações atômicas de pastas e pesquisas de arquivos mais rápidas quando o bucket é montado com o Cloud Storage FUSE. O namespace hierárquico oferece consultas por segundo (QPS) 8 vezes mais altas para leituras e gravações de objetos do que buckets sem namespace hierárquico. Para mais informações sobre os benefícios de usar namespace hierárquico, consulte benefícios de desempenho e gerenciamento.

    É altamente recomendável ativar o namespace hierárquico quando você tem cargas de trabalho que exigem carregamento de dados de alta capacidade de processamento e criação frequente de pontos de verificação de modelos. É necessário ativar o namespace hierárquico ao criar buckets zonais com o Rapid Bucket.

Managed Lustre

O Google Cloud Managed Lustre é um sistema de arquivos paralelo de alto desempenho, compatível com POSIX e totalmente gerenciado, otimizado para aplicativos de IA e ML. A arquitetura do Managed Lustre é ideal para cargas de trabalho de IA/ML de alta capacidade de processamento, baixa latência e alta simultaneidade de metadados, como checkpointing, propagação de peso de alta velocidade no aprendizado por reforço e armazenamento em cache de chave-valor (KV).

Para mais informações sobre casos de uso comuns do Managed Lustre, consulte Casos de negócios.

Pools de hiperdisco

Com os pools de hiperdisco, é possível gerenciar e compartilhar capacidade de armazenamento, capacidade de processamento e IOPS em um pool dedicado em instâncias de computação. Essa abordagem ajuda a garantir que você tenha os recursos de armazenamento necessários para executar as cargas de trabalho.

Ao reservar capacidade para GPUs clusterizadas, também é possível solicitar um pool de hiperdiscos. Essa ação entrega recursos de computação e armazenamento de uma só vez.

Comparação de serviços de armazenamento

A tabela a seguir oferece uma comparação de alto nível dos pools do Cloud Storage, do Managed Lustre e do Hyperdisk em relação às principais características:

Características Cloud Storage Managed Lustre Pools de hiperdisco
Arquitetura

Repositório de objetos

  • Os dados são armazenados em buckets simples por padrão. Todos os tipos de buckets (zonais, regionais, birregionais e multirregionais) oferecem opções de redundância geográfica que podem ser aceleradas com os recursos do Cloud Storage Rapid.
  • Você pode ativar opcionalmente o namespace hierárquico para criar buckets que oferecem suporte ao armazenamento de dados em uma estrutura de sistema de arquivos.
  • Você pode ativar opcionalmente o Cloud Storage FUSE para ativar buckets como sistemas de arquivos locais.

Sistema de arquivos paralelo

  • Os dados são armazenados como arquivos em instâncias do Managed Lustre e montados como sistemas de arquivos locais nos clusters de aceleradores sem necessidade de ajustes adicionais.

Pools de hiperdisco

  • Se você usar volumes do Hyperdisk Balanced, os pools de armazenamento e os Exapools vão oferecer suporte a discos de inicialização e não de inicialização. Se você usar volumes Hyperdisk Throughput, os pools de armazenamento e os Exapools vão oferecer suporte apenas a discos não de inicialização.
Capacidade de armazenamento

Escalonamento até EBs de capacidade.

Escala até 80 PB de capacidade, dependendo do nível de desempenho da instância.

Escala de 10 TiB até 5 PiB por pool (até 5 EiB com Exapools).

Desempenho

Aceita o seguinte:

  • Latência inferior a um milissegundo para arquivos abertos com o Rapid Bucket
  • Dezenas de milhões de IOPS/TiB com o Rapid Bucket
  • Até 2,5 TiB/s de largura de banda com o Rapid Cache
  • Até 15 TiB/s de largura de banda com o Rapid Bucket
  • Solicitações de aumento de largura de banda

Aceita o seguinte:

  • Latência inferior a um milissegundo
  • Dezenas de milhões de IOPs/TiB
  • Até 10 TiB/s de largura de banda

Aceita o seguinte:

  • Latência inferior a um milissegundo
  • Até 4.194.304 IOPS provisionadas para pools de armazenamento Hyperdisk Balanced
  • Até 1 TiB/s de capacidade de processamento provisionada para pools de armazenamento
  • Para Exapools, o desempenho é dimensionado com unidades de capacidade (otimizadas para leitura, gravação ou capacidade) em milhões de IOPS e vários TiB/s de capacidade de processamento.
  • Provisionamento padrão ou avançado para capacidade e performance
Preços

Para mais detalhes, consulte Preços do Cloud Storage.

Para mais detalhes, consulte Preços do Managed Lustre.

Para mais detalhes, consulte Preços do disco permanente e do Hyperdisk.

Recomendações por requisitos

Recomendado para aplicativos que precisam de um repositório de objetos escalonável e eficiência de custos geral para conjuntos de dados de treinamento, criação de pontos de verificação assíncrona de vários níveis e armazenamento de pesos de modelos. Em particular, o Cloud Storage Rapid é recomendado para escalonamento de dados de alto desempenho e econômico.

Recomendado para aplicativos que precisam de um sistema de arquivos paralelos ou diretórios iniciais totalmente compatíveis com POSIX. Também recomendado para cargas de trabalho sensíveis à latência ou com alta simultaneidade de metadados, como descarregamentos de cache KV, criação de pontos de verificação síncronos e propagação de peso de alta velocidade para aprendizado por reforço.

Recomendado para discos de inicialização de nós, sistemas de arquivos locais de alta performance e discos de trabalho dedicados que exigem desempenho consistente e alto nível de garantia de capacidade.

Recomendações de serviços de armazenamento por caso de uso

Caso de uso Recomendação de serviço de armazenamento Motivo da recomendação
Treinar e preparar conjuntos de dados Recomendação de armazenamento de objetos: Rapid Bucket do Cloud Storage Os buckets do Cloud Storage oferecem a capacidade, a escala de capacidade de processamento, a eficiência de custo e a durabilidade que geralmente são necessárias para grandes volumes de conjuntos de dados de treinamento e inferência. Ao usar o Rapid Bucket para criar um bucket zonal, ele se beneficia de uma capacidade de processamento muito alta (até 15 TB/s) e latência inferior a um milissegundo para arquivos abertos com custo ideal.
Recomendação de armazenamento de arquivos: Managed Lustre O Managed Lustre oferece latência inferior a um milissegundo. É útil como um espaço de trabalho dedicado e ultrarrápido para suas tarefas mais intensivas de treinamento e preparação de conjuntos de dados, em que a baixa latência e o desempenho de simultaneidade de metadados são uma alta prioridade.
Mover ou salvar pesos de modelo para checkpointing ou transferências de peso Recomendação de armazenamento de objetos: Rapid Bucket do Cloud Storage O Rapid Bucket é adequado para checkpointing assíncrono de várias camadas ou distribuído quando usado com o GCSFS (links em inglês) por meio do fsspec ou do Cloud Storage FUSE com ajuste de desempenho do lado do cliente (links em inglês).
Recomendação de armazenamento de arquivos: Managed Lustre O Managed Lustre oferece latência abaixo de milissegundos e acesso aos dados paralelo, permitindo que milhares de workers de lançamento extraiam o mesmo arquivo de peso simultaneamente.
Armazenar e baixar modelos para inferência Recomendação de armazenamento de objetos: Rapid Cache ou Rapid Bucket do Cloud Storage

O Rapid Cache funciona como um reforço que ajuda a reduzir a inicialização a frio da inferência. Com o Rapid Cache, os pesos do modelo podem ser pré-aquecidos na mesma zona dos seus nós de inferência, permitindo que uma nova instância de inferência faça o download rápido dos pesos do modelo e processe a primeira solicitação.

O Rapid Bucket funciona como um mecanismo de armazenamento zonal acelerado e de alta performance, permitindo que você localize pesos de modelo na mesma zona que sua frota de inferência.

Para disponibilização do modelo, recomendamos usar o Run:ai Model Streamer para vLLM para ter o melhor desempenho de download. Para outras stacks de inferência, otimizar os parâmetros de download paralelo do Cloud Storage FUSE pode reduzir significativamente a latência de inicialização a frio durante os downloads de peso do modelo.

Recomendação de armazenamento de arquivos: Managed Lustre O Managed Lustre oferece latência de submilissegundos e acesso aos dados paralelo, beneficiando modelos sensíveis à performance e o escalonamento de GPUs simultâneas que baixam o mesmo modelo ao mesmo tempo.
Descarregamento de cache KV Recomendação de armazenamento de arquivos: Managed Lustre O Managed Lustre oferece latência inferior a um milissegundo e acesso aos dados paralelo, permitindo que diferentes nós "extraiam" o cache de KV e retomem conversas sem reprocessar todo o histórico.
Discos de inicialização de nós e armazenamento local de alto desempenho Recomendação principal: pools de hiperdisco Os pools do Hyperdisk agregam capacidade de armazenamento, IOPS e capacidade de processamento em instâncias de computação, oferecendo desempenho previsível para discos de inicialização e não inicializáveis.

A seguir