Cloud

Hoje, nos centros de dados em nuvem da Azure AI.

Na conferência Build, a Microsoft explicou de que forma o Azure está atualmente lidando com demandas intensas de inteligência artificial, por meio de um acelerador de inferência, conexões de alta velocidade e recursos para melhorar a eficiência e confiabilidade.

Shot of Asian IT Specialist Using Laptop in Data Center Full of Rack Servers
Imagem: xsix/iStock

O CTO do Azure, Mark Russinovich, faz apresentações anuais sobre a infraestrutura do Azure no evento Build, as quais são sempre muito interessantes, pois abordam o histórico, o cenário atual e o futuro do hardware utilizado na nuvem. Neste ano, a discussão se concentrou na plataforma de IA destacada ao longo do evento.

Com o passar do tempo, tornou-se evidente que a infraestrutura do Azure se tornou progressivamente mais sofisticada. Inicialmente, era um modelo exemplar de computação utilitária, com base em um único design de servidor convencional. Atualmente, existem diversos tipos de servidores distintos, capazes de atender a todas as categorias de cargas de trabalho. Além disso, foram incluídas GPUs e, mais recentemente, aceleradores de inteligência artificial.

A mais recente inovação, implementada em 2023, demonstra o avanço da infraestrutura do Azure em paralelo com o aumento das cargas de trabalho que ele suporta. Durante a apresentação de Russinovich, foi destacado o rápido crescimento dos modelos de IA, passando de 110 milhões de parâmetros com o GPT em 2018 para mais de um trilhão no atual GPT-4. Esse progresso resultou na criação de supercomputadores distribuídos em larga escala para treinar tais modelos, com a implementação de hardware e software que garantem sua eficiência e confiabilidade.

Criando um computador de alta performance com inteligência artificial.

A magnitude dos sistemas requeridos para operar essas plataformas de inteligência artificial é imensa. O primeiro supercomputador utilizado para treinamento de IA pela Microsoft foi descrito em maio de 2020, contando com 10.000 GPUs Nvidia V100 e alcançando a quinta posição no ranking mundial de supercomputadores. Em apenas três anos, em novembro de 2023, a versão mais recente possuía 14.400 GPUs H100 e ficou em terceiro lugar.

Em junho de 2024, a Microsoft possui mais de 30 supercomputadores distribuídos em data centers globais. Russinovich mencionou o modelo Llama-3-70B de código aberto, que requer 6,4 milhões de horas de GPU para treinamento. Enquanto em uma única GPU esse processo levaria 730 anos, utilizando um dos supercomputadores de IA da Microsoft, o treinamento pode ser concluído em aproximadamente 27 dias.

A fase de treinamento é apenas uma parte do desafio. Após a construção de um modelo, é essencial utilizá-lo, e embora a inferência não exija a mesma potência de computação que o treinamento em supercomputadores, ainda é necessário um grande poder de processamento. Por exemplo, de acordo com Russinovich, um único parâmetro de ponto flutuante requer dois bytes de memória, um modelo com um bilhão de parâmetros necessita de 2GB de RAM, e um modelo com 175 bilhões de parâmetros demanda 350GB de memória. Esses valores não incluem possíveis sobrecargas, como caches, que podem aumentar em mais de 40% os requisitos de memória já elevados.

RELACIONADO:  Utilizando o Neo4j Graph Database para Inteligência Artificial no Azure.

Isso indica que o Azure necessita de muitas GPUs com requisitos específicos para processar grandes quantidades de dados rapidamente. Modelos como o GPT-4 demandam grande quantidade de memória de alta velocidade. Tanto o processamento quanto a memória consomem muita energia. Uma GPU Nvidia H100 consome 700 watts, e com milhares em funcionamento a todo momento, os data centers do Azure precisam lidar com uma grande quantidade de calor.

Além do treinamento, o design também é importante para a inferência.

A Microsoft criou um acelerador de inferência chamado Maia, que utiliza um sistema de refrigeração líquida inovador. Os aceleradores Maia são colocados em um sistema de resfriamento fechado, que exigiu um novo design de rack com um gabinete adicional para os trocadores de calor do equipamento de resfriamento.

A Microsoft descobriu, por meio da implementação de data centers para treinamento, uma maneira de antecipar a inferência. Durante o treinamento, a eficiência aumenta rapidamente para atingir 100% e se mantém constante ao longo do processo. Ao aplicar o mesmo monitoramento de energia em um rack de inferência, é viável observar as variações no consumo de energia em diferentes etapas de uma operação de inferência.

O Azure POLCA Project tem como objetivo utilizar essas informações para otimizar os processos. Possibilita a execução simultânea de várias operações de inferência, alcançando um pico de potência com cerca de 20% de sobrecarga. Isso permite à Microsoft aumentar em 30% a quantidade de servidores em um data center, acelerando a frequência e a potência dos servidores. O resultado é uma abordagem mais eficiente e sustentável para as demandas computacionais, energéticas e térmicas de um data center de AI.

Gerenciar os dados destinados aos modelos de treinamento apresenta desafios específicos, como lidar com uma grande quantidade de dados que precisam ser distribuídos entre os nós dos supercomputadores do Azure. A Microsoft desenvolveu o Storage Accelerator para lidar com essa questão, distribuindo os dados em clusters que possuem um cache responsável por verificar se os dados necessários estão disponíveis localmente ou se precisam ser buscados, aproveitando a largura de banda disponível para evitar interferências nas operações em andamento. A utilização de leituras paralelas para carregar os dados possibilita um carregamento quase duas vezes mais rápido do que as cargas de arquivos tradicionais, permitindo assim o processamento eficiente de grandes volumes de dados de treinamento.

RELACIONADO:  Qual é a definição da AWS? A Potência do Cloud Hosting.

Inteligência artificial requer o uso de redes com alta capacidade de transmissão de dados.

A computação e o armazenamento são essenciais, porém, a rede é fundamental, principalmente quando se trata de grandes cargas de trabalho paralelas de dados executadas em várias centenas de GPUs. A Microsoft fez um grande investimento em conexões InfiniBand de alta velocidade, com uma conectividade interna de 1.2TBps em seus servidores, conectando 8 GPUs, e também com uma velocidade de 400Gbps entre GPUs individuais em servidores distintos.

A Microsoft investiu significativamente em tecnologia InfiniBand, tanto para seus supercomputadores de treinamento de IA aberta quanto para seu suporte ao cliente. Russinovich destacou que a principal diferença entre os supercomputadores utilizados no OpenAI e aqueles disponíveis publicamente está na escala do domínio InfiniBand. Enquanto no OpenAI o domínio InfiniBand abrange todo o supercomputador, composto por dezenas de milhares de servidores, para outros clientes com necessidades de treinamento menos intensas, os domínios são menores, mas ainda em escala de supercomputador, com 1.000 a 2.000 servidores conectando 10.000 a 20.000 GPUs.

A infraestrutura de rede requer soluções simples, mas eficazes, como trenós impressos em 3D para facilitar o puxamento de cabos em grandes quantidades. Esses trenós são utilizados nas prateleiras acima dos racks dos servidores para agilizar o processo de cabeamento, o que é essencial ao construir 30 supercomputadores a cada seis meses.

Garantindo a confiabilidade da inteligência artificial: Elaboração do plano e parceria

O hardware é apenas uma parte do supercomputador Azure. O software é crucial para orquestrar a plataforma subjacente e fornecer ferramentas de suporte. O Project Forge desempenha um papel semelhante ao Kubernetes, agendando operações em uma infraestrutura distribuída, gerenciando recursos e distribuindo cargas em vários tipos de computação de inteligência artificial.

O programador Project Forge considera todos os aceleradores de IA disponíveis no Azure como um conjunto único de capacidade de GPU virtual, conhecido como One Pool pela Microsoft. As cargas possuem diferentes níveis de prioridade, os quais determinam o acesso às GPUs virtuais. Uma carga com prioridade mais alta pode substituir uma carga com prioridade mais baixa, movendo-a para um acelerador diferente ou até mesmo para outra região. O objetivo é garantir uma utilização consistente em toda a plataforma Azure AI, permitindo à Microsoft melhor planejar e gerenciar seu orçamento de energia e rede.

RELACIONADO:  Construa ações personalizadas para Power Automate para Windows

Assim como o Kubernetes, o Project Forge foi criado com o objetivo de auxiliar na operação de um serviço mais robusto, identificando falhas, reiniciando tarefas e realizando reparos na plataforma de hospedagem. Ao automatizar essas operações, o Azure consegue evitar a necessidade de reiniciar tarefas caras e complexas, tratando-as como grupos de lotes que podem ser executados de forma independente e coordenando entradas e saídas conforme necessário.

Coerência e confiabilidade: preparado para implementações de inteligência artificial.

Uma vez que um modelo de inteligência artificial tenha sido construído, é necessário utilizá-lo. Além disso, o Azure precisa de uma forma de equilibrar a utilização entre diferentes tipos de modelos e diferentes solicitações dentro desses modelos. Se não houver um sistema de orquestração adequado, é possível que um prompt acabe impedindo outras operações. Por meio do uso de suas GPUs virtuais fracionadas, o Azure Project Flywheel pode assegurar o desempenho ao intercalar operações de vários prompts em GPUs virtuais, possibilitando operações consistentes na GPU física do host, enquanto mantém uma taxa de transferência constante.

Outra melhoria de nível inferior é a capacidade de computação confidencial ao treinar modelos personalizados. É possível executar dados de código e hospedar em ambientes de execução seguros. Agora, o Azure pode fornecer VMs completos seguros, incluindo GPUs, com comunicação criptografada entre os ambientes de CPU e GPU. Isso pode ser utilizado para treinamento ou para proteger dados privados utilizados na geração avançada de recuperação.

Pela apresentação de Russinovich, fica evidente que a Microsoft está fazendo grandes investimentos para aprimorar a eficiência e a capacidade de resposta de sua infraestrutura de inteligência artificial, tanto para treinamento quanto para inferência. As equipes de infraestrutura e plataforma do Azure dedicaram muito esforço para desenvolver hardware e software capazes de suportar o treinamento dos modelos mais complexos, proporcionando um ambiente seguro e confiável para a utilização de IA em diversas aplicações.

Realizar o Open AI no Azure proporcionou a essas equipes uma grande quantidade de conhecimento, e é positivo observar que esse conhecimento se reflete em disponibilizar as mesmas ferramentas e técnicas para todos, mesmo que não tenhamos acesso aos supercomputadores TOP500.

Outros artigos escritos por Simon Bisson:

  • Microsoft faz atualizações nas capacidades do Azure sem a necessidade de servidores.
  • Entender o disco ANN, uma base essencial do Copilot Runtime.
  • A inteligência artificial ainda não está sendo desenvolvida em um Copilot+ PC.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Verifique também
Close
Back to top button