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".
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.
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.
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.
A NVIDIA Collective Communication Library (NCCL) implementa primitivas de comunicação multi-GPU e multi-nó otimizadas para GPUs e redes NVIDIA.
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
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
Produtos relacionados:
- Mellanox QMMA1U00-WS compatível 400G QSFP-DD SR8 PAM4 850nm 100m MTP / MPO OM3 FEC Módulo transceptor óptico $300.00
- Mellanox MMS1V00-WM compatível 400G QSFP-DD DR4 PAM4 1310nm 500m MTP / MPO SMF FEC Módulo transceptor óptico $550.00
- Mellanox MMA1T00-HS compatível com 200G Infiniband HDR QSFP56 SR4 850nm 100m MPO-12 APC OM3/OM4 FEC PAM4 Módulo transceptor óptico $300.00
- Mellanox MMS1W50-HM Compatível 200G InfiniBand HDR QSFP56 FR4 PAM4 CWDM4 2km LC SMF FEC Módulo Transceptor Óptico $650.00
- Cabo óptico ativo Mellanox MFS1S00-H005E 5m (16 pés) 200G HDR QSFP56 para QSFP56 $456.00
- Cabo óptico ativo Mellanox MFS1S00-H010E 10m (33 pés) 200G HDR QSFP56 para QSFP56 $465.00
- Mellanox MFS1S50-V020E Compatível 20m (66 pés) 200G QSFP56 a 2x100G QSFP56 PAM4 Breakout Cabo Ótico Ativo $640.00
- Mellanox MFS1S50-V030E Compatível 30m (98 pés) 200G QSFP56 a 2x100G QSFP56 PAM4 Breakout Cabo Ótico Ativo $660.00
- HPE (Mellanox) P06149-B22 Infiniband HDR 1G QSFP3 a QSFP200 PAM56 compatível com 56 m (4 pés) cabo Twinax de cobre passivo PAMXNUMX $70.00
- HPE (Mellanox) P06149-B21 Infiniband HDR 0.5G QSFP1.6 a QSFP200 PAM56 compatível com 56 m (4 pés) cabo Twinax de cobre passivo PAMXNUMX $65.00
- Mellanox MCP1650-H002E26 Compatível com 2 m (7 pés) Infiniband HDR 200G QSFP56 a QSFP56 PAM4 Passivo Cabo Twinax de Cobre de Conexão Direta $70.00
- Mellanox MCP7H50-H002R26 Compatível com 2 m (7 pés) Infiniband HDR 200G QSFP56 a 2x100G QSFP56 PAM4 Cabo de cobre de conexão direta com breakout passivo $80.00
- Mellanox MCP7H50-H01AR30 Compatível com 1.5 m (5 pés) Infiniband HDR 200G QSFP56 a 2x100G QSFP56 PAM4 Cabo de cobre de conexão direta com breakout passivo $70.00
- Mellanox MCP7H50-H001R30 Compatível com 1 m (3 pés) Infiniband HDR 200G QSFP56 a 2x100G QSFP56 PAM4 Cabo de cobre de conexão direta com breakout passivo $60.00
- HPE (Mellanox) P06248-B21 Compatível com 1m (3 pés) Infiniband HDR 200G QSFP56 a 2x100G QSFP56 PAM4 Cabo de cobre de conexão direta com breakout passivo $75.00
- HPE (Mellanox) P06248-B22 Compatível com 1.5m (5 pés) Infiniband HDR 200G QSFP56 a 2x100G QSFP56 PAM4 Cabo de cobre de conexão direta com breakout passivo $80.00
- Mellanox MCP1600-E01AE30 Compatível com 1.5 m InfiniBand EDR 100G QSFP28 a QSFP28 Cabo de conexão direta de cobre $35.00
- Mellanox MCP1600-E003E26 Compatível com 3m InfiniBand EDR 100G QSFP28 a QSFP28 Cabo de conexão direta de cobre $43.00
- Mellanox MCP1600-E002E30 Compatível com 2m InfiniBand EDR 100G QSFP28 a QSFP28 Cabo de conexão direta de cobre $35.00
- Mellanox MCP1600-E001E30 Compatível com 1m InfiniBand EDR 100G QSFP28 a QSFP28 Cabo de conexão direta de cobre $25.00