Os serviços de armazenamento fornecem a arquitetura de dados essencial que ajuda a ativar o treinamento de modelo, a inferência e o ajuste fino de modelos de alto desempenho no ecossistema do Hipercomputador de IA. Embora vários serviços de armazenamento estejam disponíveis em Google Cloud, a escolha mais adequada depende dos seus requisitos de E/S, capacidade de processamento, escala e latência para casos de uso no ciclo de vida de inteligência artificial (IA) e machine learning (ML).
Este documento apresenta e compara serviços de armazenamento em Google Cloud que podem ajudar você a otimizar a performance da GPU ou da TPU. Ele também fornece recomendações sobre o serviço ideal para casos de uso específicos de IA e ML.
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 a performance de metadados especializada, de baixa latência e alta simultaneidade necessária para cargas de trabalho de treinamento e inferência.
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 a performance da carga de trabalho de IA e ML:
Os produtos da família Rapid do Cloud Storage foram projetados para eliminar gargalos de dados para cargas de trabalho de IA e ML, aproximando os dados dos recursos de computação. Esses produtos permitem que você colocalize seus dados nas mesmas zonas que as cargas de trabalho de computação e ative o escalonamento de armazenamento de dados de alto desempenho e econômico para clusters de GPU ou TPU. Os produtos Rapid do Cloud Storage incluem o seguinte:
O Rapid Bucket oferece a performance de leitura e gravação mais rápida no Cloud Storage para buckets zonais. Os objetos em buckets zonais são armazenados na classe de armazenamento Rapid, uma classe de armazenamento de alto desempenho otimizada para cargas de trabalho com uso intensivo de E/S. Além de menor latência, o Rapid Bucket oferece capacidade de processamento 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 SSD para buckets do Cloud Storage usado para veicular dados para 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 cache.
O Rapid Cache geralmente é configurado para buckets multirregionais, em que a capacidade do acelerador é fragmentada entre Google Cloud as regiões. A leitura de dados do cache incorre em taxas de transferência de dados reduzidas em comparação com dados lidos diretamente de um bucket multirregional.
Cloud Storage FUSE é um adaptador FUSE de código aberto que permite ativar buckets como sistemas de arquivos locais, permitindo que os aplicativos interajam com o armazenamento de objetos usando a semântica padrão do sistema de arquivos. Esse recurso permite aproveitar a escalonabilidade global, a durabilidade e o custo-benefício do Cloud Storage com acesso a arquivos locais. O Cloud Storage FUSE é mantido e compatível com 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 complexidades de desenvolvimento e ajudar a alcançar o desempenho máximo, fragmentando ou paralelizando streams.
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 é ativado com o Cloud Storage FUSE. O namespace hierárquico oferece consultas por segundo (QPS) 8 vezes maiores para leituras e gravações de objetos do que buckets sem namespace hierárquico. Para mais informações sobre os benefícios do uso do namespace hierárquico, consulte Benefícios de performance 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 checkpointing de modelo frequente. É necessário ter o namespace hierárquico ativado 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.
Comparação de serviços de armazenamento
A tabela a seguir fornece uma comparação de alto nível do Cloud Storage e do Managed Lustre em relação às principais características:
| Características | Cloud Storage | Managed Lustre |
|---|---|---|
| Arquitetura | Repositório de objetos
|
Sistema de arquivos paralelo
|
| Capacidade de armazenamento | Escalonamento de até EBs de capacidade. |
Escalonamento de até 80 PB de capacidade, dependendo do nível de performance da instância. |
| Desempenho | Oferece suporte a:
|
Oferece suporte a:
|
| Preços |
Para mais detalhes, consulte Preços do Cloud Storage. |
Para mais detalhes, consulte Preços do Managed Lustre. |
| Recomendações por requisitos | Recomendado para aplicativos que precisam de um repositório de objetos escalonável e custo-benefício geral para conjuntos de dados de treinamento, checkpointing assíncrono de várias camadas e armazenamento de peso de modelo. 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 paralelo totalmente compatível com POSIX ou diretórios iniciais. Também recomendado para cargas de trabalho sensíveis à latência ou de alta simultaneidade de metadados, como descarregamentos de armazenamento em cache de KV, checkpointing síncrono e propagação de peso de alta velocidade para aprendizado por reforço. |
Recomendações de serviço de armazenamento por caso de uso
| Caso de uso | Recomendação de serviço de armazenamento | Motivo da recomendação |
|---|---|---|
| Treinamento e preparação de conjuntos de dados | Recomendação principal: Cloud Storage Rapid Bucket | Os buckets do Cloud Storage oferecem a capacidade, a escala de capacidade de processamento, custo-benefício e a durabilidade que geralmente são necessários para volumes massivos 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 e latência abaixo de milissegundos para arquivos abertos com custo ideal. |
| Recomendação secundária: Managed Lustre | O Managed Lustre oferece latência abaixo de milissegundos. Ele é útil como um espaço de trabalho dedicado e ultrarrápido para as tarefas de treinamento e preparação de conjuntos de dados mais intensivas, em que a baixa latência e a performance de simultaneidade de metadados são uma alta prioridade. | |
| Mover ou salvar pesos de modelo para checkpointing ou transferências de peso | Recomendação principal: 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 sem diminuir a velocidade. |
| Recomendação secundária: Cloud Storage Rapid Bucket | O Rapid Bucket é adequado para checkpointing assíncrono de várias camadas ou
distribuído quando usado com o GCSFS
pelo fsspec ou
Cloud Storage FUSE com ajuste de performance do lado do cliente.
|
|
| Armazenar e fazer o download de modelos para inferência | Recomendação principal: Cloud Storage Rapid Cache ou Rapid Bucket | O Rapid Cache atua como um acelerador 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 que os nós de inferência, permitindo que uma nova instância de inferência faça o download rapidamente dos pesos do modelo e processe a primeira solicitação. O Rapid Bucket serve como um mecanismo de armazenamento zonal acelerado de alto desempenho, permitindo que você localize pesos de modelo na mesma zona que sua frota de inferência. Para a disponibilização do modelo, recomendamos o uso do Run:ai Model Streamer para vLLM para performance máxima de download. Para outras pilhas de inferência, a otimização dos 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 secundária: Managed Lustre | O Managed Lustre oferece latência abaixo de milissegundos e acesso aos dados paralelo, beneficiando modelos sensíveis à performance e o escalonamento de GPUs simultâneas que fazem o download do mesmo modelo simultaneamente. | |
| Descarregamento de cache KV | Recomendação principal: Managed Lustre | O Managed Lustre oferece latência abaixo de milissegundos e acesso aos dados paralelo, permitindo que diferentes nós "extraiam" o cache KV e retomem os chats sem reprocessar todo o histórico do chat. |
A seguir
Saiba mais sobre o Cloud Storage Rapid, uma família de produtos do Cloud Storage projetada para IA, ML e análises com uso intensivo de dados.
Saiba como otimizar a performance ao usar o Cloud Storage FUSE ou o driver CSI do Cloud Storage FUSE para fazer o download de conjuntos de dados.
Saiba como acelerar o carregamento de modelos no Google Kubernetes Engine.