A Microsoft encontrou uma maneira de competir com NVIDIAo acelerador de IA Maia 100. Este novo chip representa um movimento estratégico para desafiar Domínio da NVIDIA no setor de hardware de IA ao oferecer recursos avançados projetados para computação em nuvem de alto desempenho. Com o Maia 100, a Microsoft pretende fornecer uma solução mais econômica e eficiente para gerenciar cargas de trabalho de IA em larga escala.
Tudo o que sabemos sobre o Maia 100 da Microsoft até agora
O Maia 100 da Microsoft é um novo e poderoso acelerador de IA projetado para lidar com grandes tarefas de IA na nuvem. Revelado em Batatas Fritas 2024, este chip é um grande passo à frente para tornar a infraestrutura de IA mais econômica, e aqui está como:
Design e tecnologia de chips
- Tamanho e fabricação: O chip Maia 100 tem cerca de 820 mm² de tamanho e é construído usando a tecnologia avançada N5 da TSMC. Ele usa a tecnologia COWOS-S, que ajuda a integrar o chip com outros componentes de forma eficaz.
- Memória e largura de banda: O chip tem muita memória e pode lidar com uma quantidade enorme de dados. Ele tem uma grande SRAM on-die (um tipo de memória rápida) e quatro chips de memória HBM2E. Juntos, eles fornecem 1,8 terabytes por segundo de velocidade de transferência de dados e 64 gigabytes de capacidade de memória. Essa configuração é crucial para processar grandes conjuntos de dados de IA rapidamente.
Desempenho e eficiência energética
- Uso de energia: O Maia 100 pode suportar até 700 watts de potência, mas está configurado para usar 500 watts para melhor eficiência. Isso permite que ele tenha um bom desempenho, mantendo o uso de energia sob controle.
- Unidade tensorial: O chip inclui uma unidade tensora de alta velocidade para lidar com tarefas complexas de IA, como treinar modelos e fazer previsões. Ele pode processar diferentes tipos de dados, incluindo um novo formato chamado MX, que a Microsoft introduziu em 2023. Esta unidade foi projetada para lidar com muitos cálculos de uma só vez de forma eficiente.
- Processador vetorial: O Maia 100 tem um processador vetorial que suporta vários tipos de dados, como FP32 (ponto flutuante de 32 bits) e BF16 (ponto flutuante de 16 bits). Isso ajuda a executar uma ampla gama de tarefas de aprendizado de máquina.
- Motor DMA: O mecanismo de acesso direto à memória (DMA) ajuda a mover dados rapidamente e oferece suporte a diferentes maneiras de dividir tensores (blocos de dados), o que melhora a eficiência.
Tratamento e eficiência de dados
- Armazenamento e compressão de dados: O Maia 100 usa armazenamento de dados de menor precisão e um mecanismo de compressão para reduzir a quantidade de dados que precisa ser movida. Isso ajuda a lidar com grandes tarefas de IA de forma mais eficiente.
- Blocos de notas:Ele tem grandes blocos de notas L1 e L2 (áreas de armazenamento temporário) gerenciados por software para garantir que os dados sejam usados de forma eficiente e a energia seja economizada.
- Rede: O chip suporta conexões Ethernet de alta velocidade, permitindo que ele manipule até 4800 Gbps de dados de certas maneiras e 1200 Gbps de outras. Este protocolo de rede personalizado garante transferência de dados confiável e rápida, que também é segura com criptografia AES-GCM.
O pedido de chips de IA da Nvidia de Elon Musk é grande demais para ser administrado
Ferramentas de software e integração
- Maia SDK: A Microsoft fornece um conjunto de ferramentas chamado Maia SDK para facilitar o uso do Maia 100. Essas ferramentas incluem:
- Integração de estrutura: Um backend PyTorch que suporta tanto o modo ansioso (para desenvolvimento rápido) quanto o modo gráfico (para melhor desempenho).
- Ferramentas para desenvolvedores: Ferramentas para depuração, ajuste de desempenho e validação de modelos, que ajudam a melhorar a eficiência das tarefas de IA.
- Compiladores: O Maia oferece suporte a dois modelos de programação: Triton, uma linguagem fácil de usar para aprendizado profundo, e a API Maia, um modelo personalizado para alto desempenho.
- Kernel e biblioteca coletiva: Fornece kernels de computação e comunicação otimizados para aprendizado de máquina, com opções para criar kernels personalizados.
- Tempo de execução do host/dispositivo: Gerencia alocação de memória, execução de programas, agendamento de tarefas e gerenciamento de dispositivos.
Modelos de programação e tratamento de dados
- Programação assíncrona: O Maia oferece suporte à programação assíncrona com semáforos, o que ajuda a sobrepor cálculos com transferências de dados para melhorar a eficiência.
- Modelos de programação: Os desenvolvedores podem escolher entre:
- Tritão: Um plan guage simples para deep learning que funciona tanto em GPUs quanto em Maia. Ele lida com memória e sincronização automaticamente.
- API Maia: Um modelo de programação mais detalhado para aqueles que precisam de controle preciso sobre o desempenho, exigindo mais código e gerenciamento.
- Otimização do fluxo de dados: Maia usa um método baseado em Gather para multiplicação de matrizes (GEMMs) em vez do método tradicional All-Reduce. Isso torna o processamento mais rápido ao combinar resultados diretamente na SRAM (memória rápida), reduzindo a latência e melhorando o desempenho.
- Uso de SRAM: O chip usa SRAM para armazenar temporariamente dados e resultados, o que reduz a necessidade de acessos mais lentos à memória e aumenta o desempenho geral.
Flexibilidade e portabilidade
O Maia 100 pode executar modelos PyTorch com alterações mínimas. O backend PyTorch suporta tanto desenvolvimento (modo ávido) quanto alto desempenho (modo gráfico), facilitando a movimentação de modelos entre diferentes configurações de hardware.
Precisa de uma recapitulação das especificações do Maia 100?
Especificação | Detalhes |
Tamanho do chip | ~820 mm² |
Tecnologia de Fabricação | Processo TSMC N5 com interposer COWOS-S |
SRAM On-Die | Grande capacidade para acesso rápido a dados |
Memória | 64 GB HBM2E (memória de alta largura de banda) |
Largura de banda total | 1,8 terabytes por segundo |
Potência de projeto térmico (TDP) | Suporta até 700 W, provisionado em 500 W |
Unidade Tensora | Alta velocidade, suporta formato MX, 16xRx16 |
Processador de vetores | Motor superescalar personalizado, suporta FP32 e BF16 |
Motor DMA | Suporta vários esquemas de fragmentação de tensor |
Compressão de dados | Inclui motor de compressão para eficiência |
Largura de banda Ethernet | Até 4800 Gbps all-gather, 1200 Gbps all-to-all |
Protocolo de rede | Criptografia personalizada tipo RoCE, AES-GCM |
Modelos de Programação | Triton (linguagem específica de domínio), Maia API (modelo personalizado) |
Blocos de Raspadinha | Grande L1 e L2, gerenciado por software |
Uso de SRAM | Para ativar e obter resultados em buffer |
SDK de software | Inclui backend PyTorch, ferramentas de depuração, compiladores e gerenciamento de tempo de execução |
Otimização do fluxo de dados | Multiplicação de matrizes baseada em coleta (GEMMs) |
Isso é tudo! Em resumo, o acelerador de IA Maia 100 da Microsoft se posiciona como um concorrente direto das ofertas da NVIDIA no mercado de hardware de IA. Com sua arquitetura avançada e recursos de desempenho, o Maia 100 busca fornecer uma alternativa viável para lidar com tarefas de IA em larga escala.
Crédito da imagem em destaque: Microsoft