FiberMall fornece soluções InfiniBand de ponta a ponta

Depois que o ChatGPT explodiu no campo da tecnologia, as pessoas têm discutido qual será o “próximo passo” da IA, e muitos estudiosos mencionaram a multimodalidade. Recentemente, a OpenAI lançou o modelo grande pré-treinado multimodal GPT-4. O GPT-4 atinge saltos e limites nos seguintes aspectos: poderoso reconhecimento de gráfico, limite de entrada de texto aumentado para 25,000 palavras, melhoria significativa na precisão das respostas, capacidade de gerar letras, texto criativo e realizar mudanças de estilo.

Essas iterações eficientes são inseparáveis ​​do treinamento de modelo de IA em larga escala, que requer grandes recursos computacionais e redes de transmissão de dados de alta velocidade. Entre eles, a rede end-to-end IB (InfiniBand) é uma rede de computação de alto desempenho que é particularmente adequada para computação de alto desempenho e treinamento de modelos de IA. Neste artigo, apresentaremos o que é o treinamento do modelo AIGC, por que a rede IB de ponta a ponta é necessária e como usar o modelo ChatGPT para o treinamento AIGC.

O que é AIGC?

AIGC, AI Generated Content, refere-se ao conteúdo gerado automaticamente por inteligência artificial, que pode ser usado para pintura, escrita, vídeo e muitos outros tipos de criação de conteúdo. 2022 AIGC está se desenvolvendo em alta velocidade, que o modelo de aprendizado profundo continua a melhorar, a promoção do modelo de código aberto e a possibilidade de comercialização de exploração de modelos grandes, que se torna o desenvolvimento da "aceleração" AIGC. Veja o ChatGPT, um chatbot, por exemplo, que pode escrever redações, criar romances e códigos, e está online há apenas 2 meses, com 100 milhões de usuários mensais. Por causa de seu inesperado "inteligente", o AIGC é considerado "o próximo disruptor da indústria de tecnologia", "uma grande revolução na produtividade de conteúdo".

AIGC

Modelo de linguagem grande (LLM) e ChatGPT

Large Language Model é uma tecnologia de inteligência artificial que pode adquirir e compreender a linguagem natural. Geralmente é baseado em algoritmos de aprendizado profundo que aprendem grandes quantidades de dados de texto para adquirir conhecimento linguístico e podem gerar texto em linguagem natural, como conversas, artigos etc. -trained Transformer) desenvolvido pela OpenAI para gerar texto de linguagem natural lingüisticamente expressivo e interagir com os usuários por pré-treinamento e ajuste fino de grandes quantidades de dados de texto. Assim, pode-se dizer que o ChatGPT é um chatbot baseado em tecnologia de modelagem de linguagem grande. Ele aproveita o poderoso entendimento de linguagem e recursos de geração de grandes modelos de linguagem, permitindo assim a geração e compreensão de texto em linguagem natural em conversas. Com o desenvolvimento de técnicas de aprendizado profundo, os recursos e a escala de grandes modelos de linguagem continuam a aumentar. Enquanto os modelos de linguagem originais (por exemplo, modelos N-gram) só podiam considerar informações contextuais limitadas, os modelos de linguagem grandes modernos (por exemplo, BERT, GPT-3, etc.) são capazes de considerar informações contextuais muito mais longas e têm capacidades de generalização e geração mais fortes. Modelos de linguagem grandes geralmente são treinados usando redes neurais profundas, como redes neurais recorrentes (RNN), memória de longo e curto prazo (LSTM), unidades recorrentes fechadas (GRU) e transformador. No treinamento, os modelos são treinados de maneira não supervisionada ou semissupervisionada usando um conjunto de dados de texto em grande escala. Por exemplo, os modelos BERT são treinados por tarefas como máscaras de previsão, próximas sentenças, etc., enquanto o GPT-3 usa uma abordagem de aprendizado auto-supervisionado em larga escala. Os modelos de linguagem em grande escala têm uma ampla gama de aplicações no campo do processamento de linguagem natural, como tradução automática, geração de linguagem natural, sistemas de perguntas e respostas, classificação de texto, análise de sentimentos, etc.

Quais são os gargalos atuais no treinamento LLM?

Ao treinar grandes modelos de linguagem, são necessárias redes confiáveis ​​e de alta velocidade para transferir grandes quantidades de dados. Por exemplo, a OpenAI lançou a primeira versão do modelo GPT (GPT-1), que tinha um tamanho de modelo de 117 milhões de parâmetros. Depois disso, a OpenAI lançou sucessivamente modelos maiores, como GPT-2 e GPT-3, com 150 milhões e 1.75 trilhões de parâmetros, respectivamente. Parâmetros tão grandes são completamente impossíveis de treinar em uma única máquina e exigem uma alta dependência de clusters de computação de GPU. O gargalo atual está em como resolver o problema de comunicação eficiente entre os nós do cluster de treinamento.

Atuais gargalos no treinamento LLM

Um dos algoritmos de comunicação de GPU mais comumente usados ​​é o Ring-Allreduce, cuja ideia básica é fazer com que as GPUs formem um anel e deixar os dados fluírem dentro do anel. As GPUs no anel são arranjadas em uma lógica onde cada GPU tem um vizinho esquerdo e um vizinho direito, e ela só enviará dados para seu vizinho direito e receberá dados de seu vizinho esquerdo. O algoritmo prossegue em duas etapas: primeiro dispersar-reduzir e depois reunir. Na etapa de redução de dispersão, as GPUs trocarão dados para que cada GPU possa obter um bloco do resultado final. Na etapa allgather, as GPUs trocarão esses blocos para que todas as GPUs obtenham o resultado final completo.

Anel-Allreduce

No início, não havia NVLink dentro de uma única máquina, nenhum RDMA na rede e a largura de banda era relativamente baixa. Não havia muita diferença na largura de banda entre a distribuição de uma única máquina e a distribuição de várias máquinas, então foi o suficiente para construir um grande anel. Mas agora que temos o NVLink dentro de uma única máquina, não é apropriado usar o mesmo método. Como a largura de banda da rede é muito menor que a do NVLink, se usarmos um anel grande novamente, isso fará com que a alta largura de banda do NVLink seja seriamente reduzida ao nível da rede. Em segundo lugar, agora é um ambiente multi-NIC. Também é impossível tirar o máximo proveito de múltiplos NICs se apenas um anel for usado. Portanto, um anel de dois estágios é recomendado nesse cenário. Primeiro, a sincronização de dados é feita entre GPUs dentro de uma única máquina usando a vantagem de alta largura de banda do NVLink. Em seguida, as GPUs entre várias máquinas usam várias NICs para estabelecer vários anéis para sincronizar dados de diferentes segmentos. Finalmente, as GPUs dentro da única máquina são sincronizadas mais uma vez, completando finalmente a sincronização de dados de todas as GPUs, e aqui temos que mencionar o NCCL.

NCCL

A NVIDIA Collective Communication Library (NCCL) implementa primitivas de comunicação multi-GPU e multi-nó otimizadas para GPUs e redes NVIDIA.

multi-nó multi-GPU

1 GPU->vários nós multi-GPU

O NCCL fornece rotinas para coleta total, redução total, transmissão, redução, dispersão reduzida e envio e recebimento ponto a ponto. Essas rotinas são otimizadas para alta largura de banda e baixa latência por meio de redes in-node e NVIDIA Mellanox sobre PCIe e interconexões de alta velocidade NVLink.

Por que usar uma rede InfiniBand de ponta a ponta?

Ethernet é um protocolo de rede amplamente utilizado, mas sua taxa de transmissão e latência não atendem às demandas de treinamento de modelos grandes. Por outro lado, a rede InfiniBand de ponta a ponta é uma rede de computação de alto desempenho capaz de fornecer taxas de transmissão de até 400 Gbps e latência de microssegundos, bem acima do desempenho da Ethernet. Isso torna as redes InfiniBand a tecnologia de rede preferida para treinamento de modelos em larga escala. Além disso, a rede InfiniBand de ponta a ponta suporta redundância de dados e mecanismos de correção de erros que garantem uma transmissão de dados confiável. Isso é especialmente importante no treinamento de modelos em grande escala, pois ao lidar com tantos dados, erros de transmissão de dados ou perda de dados podem fazer com que o processo de treinamento seja interrompido ou até falhe. Com o aumento dramático no número de nós de rede e o aumento do poder computacional, é mais importante do que nunca para a computação de alto desempenho eliminar gargalos de desempenho e melhorar o gerenciamento do sistema. InfiniBand é considerada uma tecnologia de E/S altamente promissora que pode melhorar o gargalo de desempenho das arquiteturas de E/S atuais, conforme mostrado na figura. O infiniBand é um protocolo de comunicação de interconexão abrangente, de baixa latência e alta largura de banda com baixa sobrecarga de processamento, ideal para transportar vários tipos de tráfego (clustering, comunicação, armazenamento e gerenciamento) em uma única conexão. Em 1999, a IBTA (InfiniBand Trade Association) desenvolveu os padrões relacionados ao InfiniBand, que definem a arquitetura de entrada/saída para servidores interconectados, dispositivos de infraestrutura de comunicação, armazenamento e sistemas integrados na especificação InfiniBand™. InfiniBand é uma tecnologia madura e comprovada que é amplamente usada em clusters de computação de alto desempenho.

Diagrama de arquitetura da interconexão InfiniBand

Diagrama de arquitetura da interconexão InfiniBand

De acordo com o protocolo de interconexão InfiniBand, cada nó deve ter um adaptador de canal host (HCA) para definir e manter links com dispositivos host. Os switches contêm várias portas e encaminham pacotes de dados de uma porta para outra, completando a transmissão de dados nas sub-redes.

O Subnet Manager (SM) é usado para configurar sua sub-rede local e garantir sua operação contínua, com a ajuda do Subnet Manager Packet (SMP) e do Subnet Manager Agent (SMA) em cada dispositivo InfiniBand. O Subnet Manager descobre e inicializa a rede, atribui identificadores únicos a todos os dispositivos, determina a MTU (Minimum Transmission Unit) e gera tabelas de roteamento de comutação com base em algoritmos de roteamento selecionados. O SM também realiza varreduras ópticas periódicas da sub-rede para detectar qualquer topologia muda e configura a rede de acordo. redes InfiniBand offMaior largura de banda, menor latência e maior escalabilidade do que outros protocolos de comunicação de rede. Além disso, como o InfiniBand fornece controle de fluxo baseado em crédito (onde o nó remetente não envia mais dados do que o número de créditos postados no buffer de recebimento na outra extremidade do link), a camada de transporte não requer um mecanismo de perda de pacotes como o algoritmo da janela TCP para determinar o número ideal de pacotes sendo transmitidos. Isso permite que as redes InfiniBand forneçam taxas de transferência de dados extremamente altas para aplicativos com latência muito baixa e uso de CPU muito baixo. InfiniBand transfere dados de uma extremidade do canal para a outra usando RDM (Remote Direct Memory Access), um protocolo que transfere dados diretamente entre aplicativos pela rede sem o envolvimento do sistema operacional, enquanto consome recursos de CPU muito baixos em ambos os lados (transferência de cópia zero). O aplicativo em uma extremidade simplesmente lê a mensagem diretamente da memória e a mensagem foi transferida com sucesso. A sobrecarga reduzida da CPU aumenta a capacidade da rede de transferir dados rapidamente e permite que os aplicativos recebam dados mais rapidamente.

Soluções de rede InfiniBand de ponta a ponta FiberMall

FiberMall offoferece uma solução ponta a ponta baseada em switches NVIDIA Quantum-2, cartões inteligentes ConnectX InfiniBand e 400Gb / s InfiniBand, com base em nossa compreensão das tendências de rede de alta velocidade e ampla experiência em implementações de projetos de HPC e IA, para reduzir custos e complexidade, ao mesmo tempo em que oferece desempenho superior em computação de alto desempenho (HPC), IA e infraestrutura de nuvem de hiperescala, reduzindo custos e complexidade.

Soluções de rede FiberMall Data Center InfiniBand

Soluções de rede FiberMall Data Center InfiniBand

Deixe um comentário

Voltar ao Topo