Rapidly scaling online storage to serve over 1 billion ChatGPT users (Part II)
Casa/Blog/Tecnologia/Rapidamente escalando o armazenamento online para servir mais de 1 bilhão de usuários do ChatGPT (Parte II)
Plataformas de NuvemConfirmado.

Rapidamente escalando o armazenamento online para servir mais de 1 bilhão de usuários do ChatGPT (Parte II)

OpenAI compartilha detalhes técnicos sobre como eles escalaram seu sistema de armazenamento online Habitat com multi-dotação, cache global e Azure Cosmos DB para entregar leituras 12x mais rápidas para mais de 1 bilhão de usuários do ChatGPT.

Fonte da imagem: Google

Fatos confirmados.

OpenAI detalhou como ele escalou seu sistema de armazenamento online Habitat para servir mais de 1 bilhão de usuários do ChatGPT. Este esforço de escala resultou em uma melhora de 12x em velocidades de leitura para ChatGPT.

A arquitetura implementada para Habitat inclui confiável multi-dotação e camadas globais de cache. Também aproveita Azure Cosmos DB como um componente fundamental. Um aspecto chave do projeto envolve isolar cargas de trabalho em infraestrutura compartilhada para manter a confiabilidade.

Estratégias avançadas de cache foram implantadas, o que reduziu significativamente a carga no banco de dados subjacente em 85%. Além disso, o sistema utiliza as capacidades de Azure Cosmos DB para distribuição global e indexação automática para suportar seus requisitos operacionais. Essas mudanças arquitetônicas levaram a uma redução de 40% nos custos de infraestrutura e melhoraram os tempos médios de resposta.

Análise técnica

Scaling an online storage system to support over a billion users, particularly for an interactive AI application like ChatGPT, presents significant engineering challenges. The core requirements typically include extremely low latency, high throughput, global availability, and cost efficiency. OpenAI's approach with Habitat demonstrates a practical application of distributed systems principles to meet these demands.

A implementação de multi-dotação confiável é fundamental para gerenciar uma grande base de usuários de forma eficiente. Em um ambiente multidoente, vários usuários ou organizações compartilham a mesma infraestrutura subjacente. O fato confirmado de "isolamento de cargas de trabalho através de infraestrutura compartilhada" aborda questões comuns de multilotação, como o problema do vizinho barulhento, onde o uso pesado de um inquilino pode degradar o desempenho de outros. Este isolamento é essencial para manter um desempenho consistente e confiabilidade em uma base de usuários diversificada e maciça, impedindo a contenção de recursos e garantindo integridade e segurança de dados em um ambiente compartilhado.

A implantação de camadas de cache global é uma estratégia padrão, mas complexa, para melhorar o desempenho de leitura e reduzir a carga do banco de dados em aplicações distribuídas globalmente. A "redução de 85% na carga do banco de dados" é uma conquista substancial, indicando uma estratégia de cache altamente eficaz. Este nível de redução de carga implica que a grande maioria dos pedidos de leitura são servidos diretamente do cache, ignorando o banco de dados. Para uma base de usuários global, uma camada global de cache minimiza a latência da rede servindo dados de um cache geograficamente próximo, contribuindo diretamente para as leituras 12x mais rápidas experimentadas pelos usuários do ChatGPT. Tal redução nas operações de banco de dados também se traduz diretamente para menores custos operacionais, como as operações de leitura de banco de dados são muitas vezes um driver de custo primário em aplicações em larga escala.

Aproveitar a Azure Cosmos DB para sua "distribuição global e indexação automática" é uma escolha estratégica para um sistema que requer alta disponibilidade e acesso de baixa latência em todo o mundo. Cosmos DB é um serviço de banco de dados gerenciado, distribuído globalmente, multimodelo projetado para aplicações de alto desempenho. Sua distribuição global permite que os dados sejam replicados em várias regiões do Azure, permitindo aos usuários acessar dados da região mais próxima, o que inerentemente reduz a latência. A indexação automática simplifica o gerenciamento de dados e a otimização de consultas, garantindo que as consultas permaneçam performantes, mesmo com o crescimento dos volumes de dados e o esquema evoluindo, sem a necessidade de ajuste manual dos índices pelos desenvolvedores. Isso descarrega significativa carga operacional das equipes de engenharia do OpenAI, permitindo que se concentrem na lógica de nível de aplicação ao invés da administração de banco de dados.

O efeito combinado dessas decisões arquitetônicas, multidotação com isolamento de carga de trabalho, caching global agressivo, e um banco de dados gerenciado globalmente distribuído, tem consequências de engenharia tangíveis. A leitura "12x mais rápida" traduz diretamente para uma experiência de usuário mais ágil e fluida para usuários do ChatGPT, que é fundamental para um serviço interativo de IA. A "redução de 40% nos custos de infraestrutura" destaca os benefícios econômicos de otimizar padrões de armazenamento e acesso de dados em escala. Esta eficiência de custo permite que OpenAI mantenha sua base de usuários massiva mais acessível, potencialmente permitindo um maior investimento em desenvolvimento de modelos de IA ou expansão de serviços. O "tempo médio de resposta melhorado" reforça ainda mais o impacto positivo na experiência do usuário e no desempenho geral do sistema.

Enquanto o artigo confirma os componentes arquitetônicos e seus benefícios, detalhes específicos de implementação não foram divulgados. Por exemplo, as tecnologias exatas usadas para as camadas globais de cache (por exemplo, Redis, Memcached, ou uma solução personalizada), os mecanismos específicos para o isolamento de carga de trabalho dentro da arquitetura multi-tenant (por exemplo, contêinerização, máquinas virtuais, ou particionamento lógico), ou o projeto de esquema detalhado dentro da Azure Cosmos DB não foram fornecidos. Da mesma forma, os modelos específicos de consistência empregados para o Cosmos DB, que podem afetar o desempenho e a integridade dos dados, não foram detalhados. Esses detalhes ofereceriam mais informações sobre as escolhas de engenharia feitas.

Rapidly scaling online storage to serve over 1 billion ChatGPT users (Part II)
Fonte da imagem: Google

Fontes