Guia de "alquimia" GPT-4: MoE, quantidade de parâmetros, custo de treinamento e segredos de inferência

Original: Pegando Elefantes

Fonte: Unicórnios Ultramarinos

Autores: Dylan Patel, Gerald Wong

Editado por: Haina, Wenli, Cage

Editor: Siqi

Fonte da imagem: Gerada por Unbounded AI‌

Este artigo foi compilado da coluna SemiAnalysis de Dylan Patel e Gerald Wong. Não muito tempo atrás, Dylan Patel deu a notícia sobre a carta interna do Google: Não temos fosso, nem o OpenAI.

O GPT-4 é o resultado de uma profunda combinação de inovação científica e de engenharia. Existem inúmeros truques no meio. Para o mundo exterior, se você puder entender a estrutura do GPT-4, é como obter a "receita da alquimia" do modelo mais forte. Este conteúdo fornece a arquitetura GPT-4, infraestrutura de treinamento e inferência, quantidade de parâmetros, conjunto de dados de treinamento, número de token, custo e modelo MoE e outros parâmetros e detalhes de informações em grande detalhe.

Dylan e Gerald acreditam que a razão pela qual OpenAI não divulga a arquitetura do GPT-4 não é por causa das chamadas considerações de AI Safety, mas porque essa arquitetura é fácil de ser copiada; George Hotz, conhecido como o "hacker genial" , também expressou opinião semelhante, no entanto, George argumenta que o GPT-4 consiste em MoEs de 8 modelos especialistas, cada um com cerca de 1100 parâmetros.

Os dois autores preveem que empresas como Google, Meta, Anthropic, Inflection, Character.ai, Tencent, ByteDance, Baidu etc. Mesmo que a arquitetura do GPT-4 seja “facilmente copiada”, na opinião deles, o OpenAI tem o fosso mais durável – o maior número de usuários finais, talentos de engenharia líderes e uma vantagem pioneira em mudanças intergeracionais nos modelos.

Lembrete amigável: os dados no artigo vêm da coleção e pesquisa multipartidária do autor original e não foram confirmados pela OpenAI. A pesquisa de Dylan Patel é geralmente considerada altamente confiável e pode ser usada como uma boa referência para GPT-4 materiais de pesquisa aprofundados. Além disso, achamos que as visualizações fáceis de reproduzir no artigo podem ser suspeitas de serem uma "manchete", porque, além do OpenAI e do Google, os cientistas que são bons em treinamento e raciocínio complexo de estruturas de MoE são atualmente escassos e o atual GPT-4 é apenas a primeira geração do MoE. Não é a resposta final dada pelo OpenAI, e muita experiência no processo não está disponível para outras equipes, e essas experiências definitivamente se tornarão uma vantagem única do OpenAI.

A seguir está o índice deste artigo, e é recomendável lê-lo em combinação com os pontos principais.

👇

01 Resumo

02 Estrutura do modelo

03 Conjunto de Dados

04 Estratégia Paralela

05 Custo de treinamento

06 MoE

07 Raciocínio

08 Infra e custo de raciocínio

09 Mecanismo de atenção multiconsulta

10 lotes consecutivos

11 Decodificação especulativa

12 Visão Multimodal

01.Visão geral

Os recursos de engenharia do OpenAI e o que eles criaram são incríveis, mas isso não significa que as soluções sejam insuperáveis. Sua solução é muito elegante e envolve também a consideração e o equilíbrio de uma série de fatores complexos, e a expansão da escala do modelo é apenas uma parte dela. **O fosso mais durável da OpenAI vem de três aspectos: primeiro, eles têm mais usuários do mundo real, segundo, talentos de engenharia de ponta e, finalmente, provavelmente continuarão a manter uma liderança no desenvolvimento de modelos futuros. **

Não é apenas importante entender por que o GPT-4 escolheu uma determinada arquitetura, mas, mais recentemente, também descreveremos os custos de treinamento e inferência do GPT-4 no A100 e como usar o H100 na arquitetura do modelo de próxima geração.

De GPT-3 para GPT-4, OpenAI quer aumentar o tamanho do modelo em 100 vezes. O cerne desse processo é naturalmente a questão de custo**. Transformadores densos são arquiteturas de modelo comumente usadas, como OpenAI GPT-3, Google PaLM, Meta LLaMA, TII Falcon, MosaicML MPT, etc. Atualmente, existem pelo menos 50 empresas usando essa arquitetura para treinar LLM, que é um bom exemplo de arquitetura , mas sua escalabilidade é muito limitada.

AI Brick Wall discutiu o custo de treinamento do modelo neste artigo, antes do lançamento do GPT-4. Do ponto de vista do custo de treinamento, o modelo denso (transformadores densos) está prestes a enfrentar sua própria "parede de tijolos AI". Faça alguns esforços de arquitetura de nível superior.

AI Brick Wall: O hardware neste estágio atingiu seu limite em termos de transformador denso, por isso é impraticável e caro expandir continuamente a escala do modelo para um modelo com um trilhão ou dez trilhões de parâmetros. Antes da nova geração de hardware, várias estratégias e técnicas são necessárias para reduzir os custos de treinamento, melhorar a eficiência do treinamento do modelo e expandir o modelo para um número maior de parâmetros. O autor acredita que essa série de tecnologias será realizada por volta de 2023, e as empresas capazes de participar incluem OpenAI, Google, DeepMind, Microsoft e Nvidia. Muitas dessas estratégias foram apresentadas na conferência NeurIPS e provavelmente terão um grande impacto nos aplicativos de IA.

Mas, nos últimos 6 meses, percebemos que o custo do treinamento pode não ser um problema. Embora gastar milhões ou mesmo centenas de milhões de dólares para treinar modelos pareça loucura, na verdade é trivial para os gigantes da tecnologia. Um modelo grande é um projeto de investimento de capital (item de linha Capex), e quanto maior o modelo, melhor o resultado. O único fator limitante é se os seres humanos têm capacidade e tempo suficientes para fornecer feedback e modificar a arquitetura do modelo enquanto expandem o modelo escala.

A Meta investe mais de $ 16 bilhões no "Metaverse" todos os anos, o Google gasta cerca de $ 10 bilhões em novas tentativas de projetos, a Amazon gasta mais de $ 50 bilhões no Alexa e as criptomoedas estão em "coisas sem valor" Mais de $ 100 bilhões desperdiçados. A sociedade como um todo gastará mais de US$ 100 bilhões para criar supercomputadores capazes de treinar modelos em larga escala que podem ser produzidos de várias maneiras. Vários países e empresas repetirão o esforço de treinamento** em modelos grandes, que são a nova "corrida armamentista no espaço"**. Em comparação com o "desperdício de recursos" anterior, o valor real será percebido no curto prazo devido ao surgimento de assistentes humanos e agentes autônomos.

Mas nos próximos anos, Google, Meta e OpenAI, Microsoft e outras empresas gastarão mais de 100 bilhões de dólares americanos para construir um supercomputador para treinar o modelo.

A questão mais importante de expandir o tamanho do modelo, a verdadeira "AI Brick Wall", está no link de inferência. O objetivo aqui é desacoplar o poder de computação de treinamento do poder de computação de inferência, portanto, para qualquer modelo que será implantado, faz sentido treinar além do Chinchilla-optimal do DeepMind. (Observação de seleção: Aumentar a quantidade de dados de treinamento para fazer o modelo aprender demais é uma estratégia para aumentar a capacidade de modelos pequenos e reduzir o custo de raciocínio.) É por isso que uma arquitetura de modelo esparso (arquitetura de modelo esparsa) é usada. O raciocínio sob esta arquitetura não precisa ser ativado. Nem todos os parâmetros precisam ser ativados.

Chinchilla ideal: Do artigo da Deepmind Training Compute-Optimal Large Language Models, indica qual tamanho de modelo e tamanho de dados deve ser usado para obter a menor perda quando há um número total fixo de FLOPS.

No momento, Chinchilla-optimal é a estratégia ótima no lado do treinamento, e treinar com mais tokens para superar o efeito do Chinchilla-optimal é a estratégia ótima no lado da inferência. E como o custo de raciocínio é responsável pela "cabeça grande", a maioria das empresas escolherá uma estratégia que exceda o ideal de chinchila.

A essência do problema no link de inferência é que o custo de implantação do modelo para usuários e Agentes é muito alto. O custo da inferência é várias vezes superior ao custo do treinamento, e resolver esse problema é o objetivo da OpenAI em termos de arquitetura e infraestrutura do modelo.

Quando se trata de inferência com modelos grandes, especialmente modelos densos, o tamanho do modelo pode se tornar um problema multivariado. On Device AI- Double Edged Sword Este artigo discutiu a situação no ambiente de computação de ponta. Simplificando, os dispositivos terminais nunca podem ter a taxa de transferência e a largura de banda de memória necessárias para implementar grandes modelos de linguagem. Mesmo que a largura de banda seja suficiente, a eficiência dos dispositivos de borda na utilização de recursos de computação de hardware é muito baixa. Os data centers enfrentam problemas semelhantes.

A utilização de recursos de computação é muito importante para data centers e nuvens. (Observação: atualmente, o limite superior de utilização de GPU/TPU no setor é de cerca de 50%.) Uma das razões importantes pelas quais o software da NVIDIA é amplamente elogiado é que, no processo de lançamento contínuo de uma nova geração de GPU, a NVIDIA está também atualizando constantemente Uma geração de software que aumenta a utilização de FLOPS, permitindo uma movimentação de dados mais inteligente entre os chips, entre os chips e entre as memórias.

FLOPS: Floating Point Operations Per Second, é uma unidade usada para medir a velocidade das operações do computador. Quanto maior o FLOPS, melhor o computador pode lidar com o problema. O poder de computação da GPU vem principalmente dos FLOPS que ela pode fornecer. Quanto maior o FLOPS fornecido pela GPU, mais forte é o seu poder de computação.

Nesta fase, os casos de uso para inferência LLM são em sua maioria "assistentes ao vivo", o que significa que deve atingir taxa de transferência alta o suficiente para ser realmente útil para os usuários. Tomando os humanos como analogia, a velocidade média de leitura dos humanos é de cerca de 250 palavras por minuto, e algumas pessoas podem chegar a cerca de 1.000 palavras por minuto. Correspondendo ao modelo, significa produzir pelo menos 8,33 tokens por segundo, de preferência 33,33 tokens por segundo token, é possível atender a todas as necessidades humanas.

No entanto, devido à limitação da largura de banda da memória, mesmo no servidor GPU NVIDIA H100 mais recente, o modelo denso (modelo denso) com trilhões de parâmetros não consegue atingir essa taxa de transferência matematicamente. Toda vez que um token é gerado, ele precisa ser carregado da memória para o chip e, em seguida, esse token é enviado novamente para gerar o próximo token. Além disso, o cache KV (KV Cache) para implementar o mecanismo de atenção também requer largura de banda adicional.

KV Cache (KV Cache): Durante o processo de amostragem, o modelo do Transformer realizará uma operação de auto-atenção (Self-Attention), para a qual é necessário extrair um valor-chave para cada item da sequência atual (seja ela /context ou um token gerado) (Key-Value, KV). Esses vetores são armazenados em uma matriz, geralmente chamada de cache KV ou cache passado. A função do cache KV é evitar recalcular o vetor chave-valor toda vez que o token é amostrado. O uso de valores K e V pré-calculados pode economizar muito tempo de computação, embora ocupe algum espaço de armazenamento. O cache KV desempenha um papel muito importante no modelo Transformer e pode ajudar a melhorar muito a eficiência e o desempenho do modelo.

Este diagrama assume que a falha na fusão de cada operação é ineficiente e que os mecanismos de atenção exigem largura de banda de memória comparável e sobrecarga de hardware como leituras de parâmetro. Na realidade, mesmo com bibliotecas "otimizadas" como NVIDIA FasterTransformer, a sobrecarga geral será maior.

A figura acima mostra a largura de banda de memória necessária para atender a um único usuário LLM com taxa de transferência suficientemente alta. A partir desta imagem pode-se perceber que:

• Mesmo uma largura de banda 8 vezes superior à de H100 não pode atender a um modelo denso com uma escala de 1 trilhão de parâmetros a uma taxa de 33,33 tokens por segundo;

• Além disso, a utilização de FLOPS de 8x H100 ainda está abaixo de 5% a 20 tokens por segundo, o que resulta em um custo de inferência extremamente alto.

Na verdade, para o sistema H100 paralelizado por tensor de 8 vias de hoje, a restrição de inferência é de cerca de 300 bilhões de parâmetros feed-forward.

No entanto, OpenAI está alcançando velocidade de leitura humana com o A100 e modelos com mais de 1 trilhão de parâmetros, amplamente disponíveis a um preço baixo de US$ 0,06 por 1.000 tokens, e isso é possível precisamente por causa de sua arquitetura esparsa.

Em seguida, discutiremos a arquitetura do modelo GPT-4, infra para treinamento e raciocínio, o número de parâmetros, a composição do conjunto de dados de treinamento, o número de tokens, o número de camadas, estratégias paralelas, codificadores visuais multimodais, etc. por trás de uma série de projetos de engenharia diferentes. Considerações, técnicas de implementação e como o OpenAI aborda gargalos na inferência de modelos grandes.

02. Estrutura do modelo

A escala do GPT-4 é mais de 10 vezes a do GPT-3, estimamos que ele tenha cerca de 1,8 trilhão de parâmetros, e esses parâmetros estão distribuídos em 120 camadas de transformadores. Para comparação, os parâmetros do GPT-3 são cerca de 1750 bilhões. (Observação: o GPT-3 possui apenas 12 camadas de transformador e o número de camadas é 1/10 do GPT-4.)

Para controlar os custos, a OpenAI optou por usar o modelo MoE. O OpenAI usa 16 especialistas do tipo MLP.2 no modelo, cada um com cerca de 111 bilhões de parâmetros. Dois desses modelos especialistas são chamados em cada passagem para frente.

• Mixture-of-Experts (MoE): o modelo MoE é uma arquitetura de aprendizado profundo, que geralmente consiste em vários especialistas (Experts), cada especialista é responsável por processar diferentes aspectos dos dados de entrada e tem seu próprio conjunto de parâmetros (existem também alguns parâmetros, como incorporação, que podem ser compartilhados por todos os especialistas, ou seja, parâmetros compartilhados). No processo de raciocínio do modelo, de acordo com as diferentes características dos dados de entrada, o modelo encaminhará a entrada para diferentes especialistas. Cada especialista processa a entrada atribuída correspondente de acordo com seu conjunto de parâmetros e completa a saída. A saída final é o integração da produção de cada especialista.

• MLP: Multi-Layer Perceptron (Multi-Layer Perceptron).MLP é uma rede neural artificial que inclui várias camadas ocultas.Geralmente existem vários especialistas MLP independentes no modelo MoE.

Existem muitas literaturas discutindo como rotear (atribuir) cada token pendente a um modelo especialista, mas diz-se que o conjunto de algoritmos usado pelo OpenAI é bastante simples, pelo menos o GPT-4 é assim.

Além disso, cerca de 55 bilhões de parâmetros compartilhados são usados no mecanismo de atenção.

Cada inferência direta (gerando um token) utiliza apenas cerca de 280 bilhões de parâmetros e 560 TFLOPs, em comparação com cerca de 1,8 trilhão de parâmetros e 3.700 TFLOPs necessários para cada inferência direta se o modelo denso for puramente usado.

03. Conjunto de dados

O GPT-4 foi treinado em cerca de 13 trilhões de tokens, o que é razoável, considerando que o CommonCrawl RefinedWeb contém cerca de 5 trilhões de tokens de alta qualidade. Para referência, os modelos Chinchilla da Deepmind e PaLM do Google foram treinados com cerca de 1,4 trilhão de tokens e cerca de 0,78 trilhão de tokens, respectivamente, e diz-se que o PaLM2 foi treinado com cerca de 5 trilhões de tokens.

CommonCrawl Refinedweb: CommonCrawl é um projeto sem fins lucrativos que visa construir e manter um conjunto de dados de Internet aberto e acessível que usa tecnologia de rastreador da Web para verificar regularmente páginas da Web na Internet e organizar as páginas da Web e os metadados e arquivos relacionados. CommonCrawl RefinedWeb é uma biblioteca de textos de alta qualidade que o CommonCrawl selecionou a partir de dados brutos coletados após revisão algorítmica e humana.

O conjunto de dados usado pelo OpenAI para treinar o GPT-4 não é de 13 trilhões de tokens únicos. Pelo contrário, devido à falta de tokens de alta qualidade, esse conjunto de dados contém várias épocas. Existem 2 épocas para dados baseados em texto e 4 épocas para dados baseados em código. (Observação: isso se refere a alguns textos e códigos de alta qualidade que foram aprendidos pelo modelo várias vezes.) Isso está longe de atingir o ideal Chinchilla (o modelo precisa ser treinado com o dobro do número de tokens), o que também mostra que a rede é fácil de obter token não é suficiente. Os tokens de texto de alta qualidade que realmente existem na rede devem ser 1.000 vezes os disponíveis hoje, e os tokens de áudio e vídeo são ainda mais, mas a coleta desses tokens não pode ser obtida simplesmente por web scraping. Infelizmente, não encontramos muitas informações sobre o RLHF do OpenAI para dados.

Uma época refere-se ao processo de usar todas as amostras em todo o conjunto de treinamento (conjunto de treinamento) para treinar o modelo uma vez. Especificamente, uma época inclui várias etapas de treinamento (etapas de treinamento), cada etapa de treinamento é inserir um pequeno lote de amostras no modelo para treinamento e atualizar os parâmetros do modelo para minimizar a função de perda (função de perda).

Se a época for muito pequena, o modelo pode não ser capaz de fazer pleno uso das informações do conjunto de treinamento, resultando em underfitting, ou seja, o modelo não consegue ajustar bem os dados de treinamento, resultando em baixo desempenho no conjunto de teste . Por outro lado, se uma época for muito grande, o modelo pode estar superajustado, aprendendo muito ruído e recursos locais no conjunto de treinamento, ignorando os recursos globais.

No estágio de pré-treinamento, o comprimento do contexto (seqlen) é de 8k. A versão de contexto 32k do GPT-4 é implementada além do ajuste fino de 8k após o pré-treinamento.

O tamanho do lote foi aumentado gradualmente no cluster por vários dias, mas no final, o OpenAI usou um tamanho de lote de até 60 milhões. Obviamente, como nem todos os parâmetros veem todos os parâmetros, esse é apenas um tamanho de lote de 7,5 milhões por especialista.

O tamanho do lote refere-se ao número de amostras de treinamento para cada iteração (iteração) ou passagem direta (passagem direta). Durante o treinamento do modelo, os dados são divididos em lotes para treinamento e Tamanho do lote indica o número de amostras em cada lote. A vantagem do treinamento em lote é que ele pode evitar restrições de memória e economizar recursos de computação para cálculos repetidos de resultados intermediários.

O tamanho do Batch Size tem um grande impacto no efeito de treinamento e na velocidade do modelo. Quanto maior o tamanho do lote, maior será o cálculo dos parâmetros de atualização a cada vez, mas o processo de treinamento será mais estável, porque as amostras em cada lote podem calcular a média do ruído e da incerteza. Por outro lado, se o tamanho do lote for muito pequeno, o processo de treinamento pode se tornar instável e exigir mais etapas de treinamento para convergir para a solução ótima. Além disso, o tamanho do Batch Size também será limitado pelos recursos de hardware. Portanto, em aplicações práticas, é muito importante escolher um tamanho de lote apropriado.

04. Estratégia paralela

O processamento paralelo em todas as GPUs A100 é muito importante.

O OpenAI usa paralelismo de tensor de escala de 8 vias (8 vias) (paralelismo de tensor), o motivo é de 8 vias (8 vias) porque esse é o limite do NVLink. Além disso, também ouvimos dizer que a OpenAI está usando a estratégia de paralelismo de pipeline de 15 vias (15 vias). Teoricamente, 15 vias é muito considerando a comunicação de dados e o tempo de computação, mas também é razoável se eles forem limitados pela capacidade de memória.

Existem vários paradigmas paralelos distribuídos clássicos no treino de grandes modelos, nomeadamente Paralelismo de Pipeline, Paralelismo de Dados e Paralelismo de Tensor. FastSpeed, a estrutura de treinamento distribuído de software livre da Microsoft, combina esses três paradigmas paralelos.

Se você usar apenas o paralelismo de pipeline e o paralelismo de tensor, os parâmetros em cada GPU precisam de cerca de 30 GB no FP16 e, uma vez que o cache KV e a sobrecarga KV são levados em consideração, se a maioria das GPUs usadas pelo OpenAI forem 40 GB A100, essa arquitetura do It é também razoável em teoria. O OpenAI pode usar ZeRo estágio 1, FSDP em nível de bloco ou paralelismo de dados compartilhados híbrido.

• Overhead KV (KV overhead): refere-se ao ônus causado pelo overhead adicional no sistema de armazenamento KV. Essas despesas gerais podem incluir metadados para armazenar e gerenciar pares chave-valor, estruturas de índice, replicação e sincronização de dados, comunicação de rede e muito mais. Um aumento na sobrecarga de KV pode levar à degradação do desempenho, aumento dos requisitos de armazenamento e aumento da complexidade do sistema.

• ZeRo Estágio 1: ZeRO (Zero Redundancy Optimizer) significa que cada cartão armazena um estado otimizador completo. Se cada cartão armazena apenas uma parte do estado do otimizador, os estados do otimizador de todos os cartões juntos formam um estado completo, ou seja, Pos (Partition Optimizer States), que é chamado de ZeRO-stage1.

• FSDP em nível de bloco: refere-se à tecnologia Full Precision Dynamic Quantization (Quantização dinâmica de precisão total) baseada em blocos. Maior precisão do modelo pode ser preservada durante o treinamento e o raciocínio, tornando o custo da inferência do modelo menor.

A razão pela qual o modelo completo FSDP não é usado pode ser o alto custo de comunicação. Embora o OpenAI tenha uma rede de alta velocidade entre a maioria dos nós, provavelmente não todos eles, acreditamos que existem pelo menos alguns clusters com largura de banda de conexão muito menor do que outros.

Não está claro como o OpenAI evita bolhas enormes com um paralelismo de pipeline tão alto. Provavelmente, eles apenas arcaram com o custo.

Bolha: O atraso ou tempo de espera em cada lote devido ao alto grau de paralelismo do pipeline. Isso significa que no processo de computação altamente paralela, devido às diferentes velocidades de cálculo de diferentes peças, algumas peças podem precisar esperar que outras partes concluam o cálculo, resultando em atraso ou tempo ocioso. Nesse caso, "bolha" refere-se a esses intervalos ociosos ou de espera. Esta frase significa que eles podem simplesmente aceitar que há algum tempo ocioso ou atraso no processo de cálculo.

05. Custo de treinamento

A OpenAI usou cerca de 2,15e25 FLOPS no treinamento de GPT-4, em cerca de 25.000 GPUs A100 por 90 a 100 dias de treinamento, onde a utilização máxima da potência de computação foi de cerca de 32% a 36%. **

Essa utilização extremamente baixa se deve em parte ao grande número de falhas que exigem o reinício dos pontos de verificação, com as bolhas mencionadas acima consumindo muito custo.

Outro motivo é que a redução total em tantas GPUs é muito cara. Especialmente se suspeitarmos que o cluster é realmente composto de muitos clusters menores com conexões de rede relativamente fracas, como conexões sem bloqueio 800G/1.6T entre diferentes partes do cluster, mas algumas só podem se conectar na velocidade de 200G/400G.

all-reduce é uma operação de comunicação em computação paralela, que é usada para realizar a redução global de dados em computação distribuída. No deep learning distribuído, all-reduce é uma operação de comunicação comum para compartilhar e agregar informações de gradiente entre vários nós de computação, de modo a atualizar os parâmetros do modelo durante o treinamento.

Se o custo na nuvem for de cerca de US$ 1 por hora por A100, isso representa aproximadamente US$ 63 milhões apenas para esta sessão de treinamento**. Isso não inclui todas as tentativas, tentativas malsucedidas e outros custos de coleta de dados, RLHF, equipe, etc. Quando esses fatores são levados em conta, o custo real é muito maior. Além disso, você também precisa considerar que precisa ter uma equipe para concluir a configuração do chip, equipamentos de rede e data center, arcar com o investimento de capital (Capex) e alugá-los para você.

Atualmente, o pré-treinamento pode ser feito em cerca de 55 dias com cerca de 8.192 H100s a um custo total de US$ 21,5 milhões, cada GPU H100 custa US$ 2/hora.

Esperamos que nove empresas tenham mais GPUs H100 até o final do ano. Talvez esses H100s não sejam todos usados para treinamento de modelos, mas essas empresas definitivamente abraçarão grandes modelos e se tornarão players importantes. A Meta espera ter mais de 100.000 H100s até o final do ano, uma parte significativa dos quais será implantada em seus próprios data centers para inferência, embora seu maior cluster único tenha mais de 25.000 GPUs H100. (Observação: os recursos de computação do Meta tornarão a capacidade do LLaMA de evoluir em uma variável importante para implantação de código aberto e privada.) Muitas empresas treinarão um modelo com a mesma capacidade do GPT-4 antes do final deste ano.

06.MoE

O MoE é uma maneira eficaz de reduzir o número de parâmetros durante a inferência, ao mesmo tempo em que aumenta o número de parâmetros, o que ajuda a codificar mais informações por token de treinamento. Como é muito difícil obter tokens de alta qualidade suficientes, é necessário escolher a arquitetura MoE. Porque se a OpenAI realmente quiser implementar o Chinchilla-Optimal, eles devem treinar o dobro do número de tokens agora.

Dito isto, o OpenAI faz várias compensações. Por exemplo, lidar com MoE durante a inferência é muito difícil porque nem todas as partes do modelo são usadas ao gerar todos os tokens. Isso significa que algumas peças podem estar inativas enquanto outras estão sendo usadas. Isso pode afetar seriamente a utilização ao atender os usuários.

Os pesquisadores provaram que o uso de 64 a 128 especialistas produziu melhores resultados de perda do que o uso de 16 especialistas, mas isso é apenas uma pesquisa. Existem várias razões para reduzir o número de especialistas. Uma das razões pelas quais a OpenAI escolheu 16 especialistas é que ter mais especialistas torna mais difícil generalizar e alcançar a convergência. Dada uma execução de treinamento tão grande, a OpenAI optou por ser mais conservadora no número de especialistas.

Além disso, usar menos especialistas é útil para arquiteturas de inferência. Existem várias compensações complexas ao mudar para uma arquitetura de inferência MoE. Vamos começar com as compensações básicas de inferência do LLM e, em seguida, explorar os problemas que a OpenAI enfrentou e as escolhas que ela fez.

07. Raciocínio

Nesta parte, primeiro queremos apontar que todas as empresas LLM que contatamos acham que a biblioteca de inferência FasterTransformer da NVIDIA é muito ruim e o TensorRT é ainda pior. Sem a capacidade de usar os templates da Nvidia e modificá-los, o que significa criar sua própria solução do zero, a NVIDIA precisa resolver esse problema o mais rápido possível para se adequar às necessidades de inferência LLM, caso contrário, ela se tornará uma ferramenta aberta de fato. para adicionar suporte de hardware de terceiros. Mais e mais modelos grandes estão chegando, e se o NVIDIA não puder fornecer uma vantagem de software em inferência e os kernels ainda precisarem ser escritos à mão, o MI300 da AMD e outros hardwares terão um mercado muito maior.

Existem 3 fatores-chave no link de inferência do LLM, que estão relacionados principalmente ao número de chips usados.

1. Latência

O modelo deve responder dentro de um atraso razoável. As pessoas não querem esperar alguns segundos antes de começar a receber a saída em um aplicativo de bate-papo. Os tempos de processamento do token de entrada e saída podem variar.

2. Rendimento

O modelo deve gerar um certo número de tokens por segundo. O uso humano é de cerca de 30 tokens por segundo e a taxa de transferência pode ser menor ou maior para vários outros casos de uso.

3. Utilização

O hardware que executa o modelo deve alcançar alta utilização ou o custo será proibitivo. Embora seja possível obter maior utilização agrupando mais solicitações de usuários com maior latência e menor taxa de transferência, isso aumenta a dificuldade.

A inferência LLM é principalmente para equilibrar dois fatores principais, largura de banda de memória e computação.

Em termos simples, cada parâmetro deve ser lido com dois FLOPs associados a ele. Portanto, a proporção da maioria dos chips (por exemplo, H100 SXM tem apenas 3 TB/s de largura de banda de memória, mas tem 2.000 TFLOP/s FP8) é completamente desequilibrada na inferência com tamanho de lote 1. Se apenas um usuário for atendido, ou seja, com um tamanho de lote de 1, a largura de banda de memória necessária para transmitir cada parâmetro para cada geração de token domina o tempo de inferência e o tempo de computação é quase insignificante.

Para poder dimensionar modelos grandes para vários usuários, o tamanho do lote deve ser maior que 1 e vários usuários compartilham o custo de leitura do parâmetro. Por exemplo, com um tamanho de lote de 256 ou 512, cada byte de memória lido corresponde a 512 FLOP/s ou 1024 FLOP/s. Essa proporção está mais próxima da proporção do H100 de largura de banda de memória para FLOPS. Ajuda a obter maior utilização, mas tem a desvantagem de maior latência.

Muitas pessoas pensam que a capacidade de memória é o principal gargalo para a inferência LLM, já que o tamanho do modelo pode caber em vários chips, mas essa visão pode ser problemática. Embora a inferência de modelos grandes exija vários chips e a maior capacidade de memória resulte em menos chips adaptados, na verdade é melhor usar mais chips do que o necessário para reduzir a latência, aumentar o rendimento e tamanhos de lote maiores podem ser usados para aumentar continuamente a utilização.

O Google também mencionou o tratamento dos três problemas acima no documento de inferência PaLM. Vale a pena notar que **isso é para um modelo denso como PaLM, não um modelo esparso como GPT4. **

Se uma aplicação requer a menor latência possível, precisamos de mais chips e dividimos o modelo de todas as formas possíveis para ser econômico. Tamanhos de lote menores permitem menor latência, mas tamanhos de lote menores também resultam em MFU [utilização] mais pobre, resultando em um custo total mais alto por token (em segundos de chip ou dólares).

Se um aplicativo requer inferência offline e a latência não é um problema, o objetivo principal é maximizar a taxa de transferência por chip (ou seja, minimizar o custo total por token). Aumentar o tamanho do lote é mais eficiente, pois tamanhos de lote maiores geralmente levam a uma melhor MFU [utilização], mas certas estratégias de particionamento que não são eficazes para tamanhos de lote pequenos crescem à medida que o tamanho do lote cresce e se torna eficaz.

**Mais chips e lotes maiores são mais baratos porque aumentam a utilização, mas também introduzem uma terceira variável, Tempo de Rede. ** O método de implantação do modelo em vários chips pode efetivamente resolver o atraso, mas às custas da utilização.

Tanto a parte de carregamento de peso do tempo de armazenamento quanto o tempo de computação não atencional são proporcionais ao tamanho do modelo e inversamente proporcionais à contagem de chips. Para um determinado layout de partição, o tempo necessário para a comunicação chip-a-chip diminui menos rapidamente (ou não diminui) com o número de chips usados, de modo que, à medida que o número de chips aumenta, torna-se um gargalo cada vez mais importante.

Percebemos que os requisitos de memória do cache KV explodiam à medida que o tamanho e o tamanho do lote cresciam.

Se uma aplicação precisar gerar texto com contextos de atenção longa (contextos de atenção longa), aumentará muito o tempo de inferência. Para um modelo com mais de 500B de atenção multicabeça, o cache KV de atenção pode se tornar muito grande: para um modelo com um tamanho de lote de 512 e um comprimento de contexto de 2048, a quantidade total de cache KV é 3TB, que é 3 vezes o tamanho do parâmetro do modelo. A memória on-chip (memória on-chip) precisa carregar o cache KV da memória off-chip (memória off-chip), que é carregada toda vez que um token é gerado. Durante esse período, o núcleo de computação do chip está basicamente ocioso.

Comprimentos de sequência longos são particularmente problemáticos para largura de banda de memória e capacidade de memória. A razão pela qual o turbo GPT-3.5 da OpenAI com contextos de 16k e o GPT-4 com contextos de 32k são caros é que eles não podem receber lotes maiores devido a restrições de memória.

Lotes menores resultam em menor utilização de hardware. Além disso, o cache KV aumenta à medida que o comprimento da sequência aumenta. O cache KV não pode ser compartilhado entre os usuários, portanto, são necessárias leituras de memória separadas, reduzindo ainda mais a largura de banda da memória. Veja abaixo mais informações sobre o MQA.

08. Infra e custos de raciocínio

Infra

A arquitetura do MoE faz com que a inferência do GPT-4 enfrente desafios em termos de latência, throughput e utilização. Como o encaminhamento de cada token pode ser roteado para diferentes modelos especializados, é muito difícil obter baixa latência, alto rendimento e alta utilização nesse caso, especialmente em lotes de tamanho elevado.

A arquitetura GPT-4 da OpenAI contém 16 modelos especializados e cada canal de encaminhamento possui 2 roteadores. Isso significa que, com um tamanho de lote de 8, a leitura de cada parâmetro do especialista pode ocupar apenas "1" do tamanho do lote. Mais seriamente, isso também resulta em um tamanho de lote de 8 para um especialista, enquanto o tamanho de lote de outros especialistas pode ser apenas 4, 1 ou 0.

Além disso, o algoritmo de roteamento roteia a passagem direta em diferentes direções cada vez que um token é gerado, o que resulta em variações significativas na latência de token para token e no tamanho do lote especializado. Ou seja, ao processar diferentes tokens, diferentes especialistas podem ser designados para diferentes tarefas, e tanto a carga computacional quanto o tamanho do lote podem variar de acordo.

A infra de inferência é uma das principais considerações para a OpenAI escolher um pequeno número de especialistas no design do MoE. Se eles usarem mais especialistas, a largura de banda da memória se tornará um gargalo maior para a inferência. O OpenAI geralmente atinge tamanhos de lote acima de 4k em seus próprios clusters de inferência, o que significa que, mesmo com o balanceamento de carga ideal entre os especialistas, cada especialista pode atingir apenas um tamanho de lote de cerca de 500. Isso requer um uso muito grande para ser alcançado.

Nosso entendimento é que o OpenAI executa inferência em um cluster de 128 GPUs e possui vários desses clusters em diferentes data centers e regiões geográficas. A inferência é realizada em paralelo com tensores de 8 vias e pipelines de 16 vias. Usando 8 GPUs por nó, cada GPU tem apenas cerca de 130B de parâmetros, ou menos de 30GB por GPU em FP16 e menos de 15GB em FP8/int8. Isso permite a execução de inferência em um A100 de 40 GB, desde que o tamanho do cache KV para todos os lotes não aumente demais.

FP16, FP8 e int8 são diferentes representações numéricas de precisão (precisão), que são frequentemente usadas no processo de cálculo em aprendizado profundo para reduzir o uso de memória e recursos de computação, melhorando assim a eficiência do treinamento e raciocínio do modelo.

FP16, FP8 e int8 referem-se respectivamente a números de ponto flutuante de 16 bits, números de ponto flutuante de 8 bits e inteiros de 8 bits. Sua precisão é menor do que a dos números de ponto flutuante de precisão simples de 32 bits (FP32 ), mas podem reduzir significativamente os recursos de memória e computação. Use para acelerar o treinamento do modelo e a inferência no aprendizado profundo. Por exemplo, usar FP16 pode reduzir pela metade o tempo de computação sem perder muita precisão, enquanto usar int8 pode reduzir o tempo de computação por um fator de cerca de 4 sem perder muita precisão.

Deve-se notar que o uso de cálculos de baixa precisão pode ter um certo impacto na precisão do modelo, portanto, é necessário um compromisso entre precisão e eficiência, e o método de representação de precisão mais adequado deve ser selecionado de acordo com a tarefa específica requisitos.

Para evitar que a comunicação de rede seja muito irregular e ao mesmo tempo evitar o custo proibitivo de recalcular o cache KV entre cada geração de token, as várias camadas contendo vários especialistas não são divididas em nós diferentes para compartilhar o cache KV.

** Maior dificuldade para todas as futuras extensões do modelo MoE e roteamento condicional. É como lidar com o limite de 120 camadas de roteamento ao redor do cache KV. **

No modelo MoE, o número de camadas de roteamento por ramificação não pode exceder 120 camadas, caso contrário, o cache KV não pode ser tratado de forma eficaz. Isso porque durante o processo de inferência do modelo, cada ramificação precisa calcular o cache KV, o que leva a um aumento no custo computacional.

Uma solução simples para esse problema é colocar uma rota estendida em 15 nós diferentes com base no limite de camada de 120. Desta forma, a carga computacional pode ser distribuída uniformemente em diferentes nós, melhorando assim a eficiência e o desempenho do modelo. No entanto, como o primeiro nó precisa carregar e incorporar dados, é importante colocar menos camadas no nó principal do cluster de inferência.

Além disso, no processo de codificação e decodificação dos dados de entrada, pode haver algum ruído na decodificação inferencial, que discutiremos mais adiante. Uma questão mais crítica é determinar se esse ruído deve ser acreditado. Isso também pode explicar por que faz sentido incluir menos camadas no nó principal.

custo de raciocínio

Comparado ao modelo Davinchi com parâmetros 175B, o GPT-4 tem 1,6 vezes os parâmetros feed-forward, mas o custo é 3 vezes maior que o Davinchi. Isso ocorre principalmente porque o GPT-4 requer um cluster maior e obtém menor utilização.

Achamos que usar 128 A100s para inferência com comprimento de contexto GPT-4 8k (seqlen) custa cerca de US$ 0,0049 por 1k tokens. Ao usar 128 H100s para inferência no contexto GPT-4 8k, o custo por 1k tokens é de cerca de US$ 0,0021. (Observação: o preço atual do GPT-4-8k é 0,03/1k tokens de entrada, 0,06/1k tokens de saída. Atualmente, o uso de chips de inferência pela OpenAI não será tão extravagante quanto o autor especula. Esse cálculo pode ser usado como um valor mais baixo destinado a futuras reduções de preço.) É importante observar que **esses custos são calculados em alta utilização e tamanho de lote. **

Também é possível que nossa suposição esteja errada, visto que a utilização de clusters OpenAI às vezes pode ser muito baixa.

Nossa hipótese é que o OpenAI desliga o cluster durante as desacelerações e redireciona esses nós para outras tarefas, como retomar o treinamento do ponto de verificação de pequenos modelos de teste ou experimentar várias novas técnicas. Isso ajuda a manter os custos de inferência baixos, caso contrário, a utilização do OpenAI pode ser ainda menor, implicando em mais de 2x a estimativa de custo.

Retomar o treinamento do ponto de verificação de um modelo de teste pequeno, normalmente ao treinar um modelo de aprendizado profundo, reiniciar o treinamento de um modelo menor (por exemplo, um subconjunto usando apenas um subconjunto de ) para testar rapidamente novas estruturas de modelo ou algoritmos em um curto período de tempo . Essa abordagem pode ajudar os pesquisadores a interagir rapidamente no design do modelo e encontrar estruturas e parâmetros de modelo ideais.

09. Mecanismo de atenção multiconsulta

O uso de Multi-Query Attention é bastante comum, mas queremos enfatizar que o OpenAI faz o mesmo. Em geral, apenas 1 cabeça de atenção é necessária e a capacidade de memória pode ser significativamente reduzida para cache KV. Mesmo assim, o GPT-4 com contextos de 32k certamente não pode rodar no A100 de 40GB, e o tamanho máximo do lote de 8k já está limitado. Se não houver MQA, o tamanho máximo do lote de 8k será bastante limitado e os benefícios econômicos serão bastante reduzidos.

• Atenção Multi-Query (MQA): Fast Transformer Decoding: One Write-Head é tudo que você precisa Este artigo propôs o conceito de MQA em 2019 e, posteriormente, tornou-se um mecanismo de atenção de processamento de linguagem natural frequentemente usado.

No mecanismo de atenção tradicional, uma consulta (consulta) é casada com um conjunto de pares chave-valor para obter uma representação ponderada para cada chave. Enquanto na atenção multiconsulta, há várias consultas e cada consulta é comparada com pares chave-valor para obter uma representação ponderada diferente para cada chave. Esse processo pode ser visto como a codificação da entrada em várias "visualizações" diferentes, resultando em uma representação mais abrangente e precisa.

• Head de Atenção (Head): Em um modelo de aprendizado profundo, geralmente contém várias camadas (layers) e um head (head), que é usado para mapear a saída do modelo para o espaço de saída desejado. A camada de cabeçalho geralmente é adicionada ao modelo para atender a tarefas específicas. Por exemplo, em tarefas de processamento de linguagem natural, o cabeçalho geralmente é usado para converter a saída do modelo em texto para classificação de texto e outras tarefas. No modelo de aprendizado profundo, a cabeça geralmente é seguida pela última camada, que é usada para converter a saída da última camada no formulário de saída desejado.

10. Processamento em lote contínuo

Para permitir algum grau de latência máxima e otimizar o custo de inferência, o OpenAI usa tamanho de lote variável e técnicas de lote contínuo. Essa abordagem pode melhorar a utilização de recursos de computação sem sacrificar o desempenho do modelo e obter menor latência e maior rendimento durante o processo de inferência do modelo. Se você não entende o conceito de processamento em lote contínuo, vale a pena ler o artigo oficial da AnyScale Como o processamento em lote contínuo permite uma taxa de transferência 23x na inferência LLM enquanto reduz a latência p50. (Observação de coleta: a estrutura de computação distribuída Ray desenvolvida pela Anyscale é usada pela OpenAI no pipeline de infra do modelo. A Pickup já publicou pesquisas sobre esta empresa antes.)

Lote contínuo: uma técnica usada durante o treinamento de aprendizado profundo para melhorar a eficiência do treinamento e a utilização de recursos por meio do hardware. O método tradicional de processamento em lote é carregar uma certa quantidade de dados de treinamento na memória de uma só vez e, em seguida, treinar com esses dados. Esse método pode melhorar a eficiência do treinamento, mas também pode desperdiçar espaço na memória.

O processamento em lote contínuo consiste em dividir os dados de treinamento em vários pequenos lotes e carregar apenas um pequeno lote para treinamento de cada vez e, em seguida, carregar o próximo pequeno lote após a conclusão do treinamento e assim por diante, até a conclusão de todo o processo de treinamento do conjunto de dados de treinamento. O uso de técnicas de lote contínuo pode melhorar a eficiência do treinamento, reduzindo o uso de memória e também pode melhorar a generalização e a estabilidade do modelo.

Fonte: Anyscale

11. Decodificação especulativa

Há rumores de que o OpenAI usa a tecnologia Speculative Decoding na tarefa de inferência do modelo GPT-4. Embora não possamos ter certeza da precisão dessa mensagem, a variação geral na latência e variação de um token para outro, tanto para tarefas de recuperação simples quanto para tarefas mais complexas, parece sugerir que essa técnica é possível. No entanto, como existem muitas variáveis, não podemos confirmar se essa técnica é realmente usada.

Para evitar disputas de conteúdo, aqui está algum conteúdo em Accelerating LLM Infeferencewith Staged Speculative Decoding, e o conteúdo principal está em negrito.

O uso de LLMs geralmente é dividido em duas fases:

1. Etapa de pré-preenchimento

Nesta fase, uma dica () é fornecida primeiro como entrada e executada no modelo para gerar o cache KV e os primeiros logits de saída. Entre eles, logits é a saída do vetor de distribuição de probabilidade pelo LLM em cada passo de tempo, que é usado para representar a possibilidade de cada token. Essa fase de pré-preenchimento geralmente é rápida devido à computação paralela.

2. Estágio de decodificação

Nesta etapa, um token é selecionado a partir dos logits de saída e realimentado ao modelo para gerar logits para o próximo token. Isso é repetido até que o número desejado de tokens seja gerado. Uma vez que cada decodificação deve ser computada sequencialmente para produzir um token, a intensidade aritmética deste segundo estágio (isto é, FLOPs/bytes de largura de banda de memória computados) é muito baixa ao executar em pequenos lotes (observação seletiva: computação de sequência levando à subutilização do poder de computação. ) Portanto, a decodificação geralmente é a parte mais cara da geração autorregressiva.

É por isso que é muito mais barato inserir tokens do que tokens de saída nas chamadas de API do OpenAI.

A ideia central da decodificação especulativa é usar um modelo de rascunho menor e mais rápido para decodificar vários tokens antecipadamente e alimentá-los no modelo oracle como um lote. Se as previsões do modelo de rascunho estiverem corretas (isto é, concordam com as previsões do modelo do oráculo), um lote pode ser usado para decodificar vários tokens, economizando muita largura de banda de memória e tempo por token.

O modelo Oracle refere-se a um modelo LLM maior e mais lento usado no método de decodificação especulativa para validar as previsões do modelo preliminar. O modelo Oracle calculará a distribuição de probabilidade do próximo token com base nos resultados da previsão do modelo de rascunho e dos tokens gerados anteriormente e, em seguida, retornará essa distribuição de probabilidade para o modelo de rascunho como uma saída.

Ao usar o modelo Oracle para verificar os resultados da previsão do modelo de rascunho, erros e desvios no processo de decodificação subsequente do modelo de rascunho podem ser evitados, melhorando assim a precisão e a estabilidade do modelo. Ao mesmo tempo, o modelo Oracle também pode ajudar o modelo de rascunho a aprender e entender melhor as informações de contexto no modelo de linguagem, melhorando assim a capacidade de geração e o efeito do modelo.

No entanto, se o modelo maior rejeitar um token previsto pelo modelo de rascunho, o restante do lote é descartado e o algoritmo reverte para a decodificação token por token padrão. A decodificação especulativa também pode ser combinada com um esquema de amostragem de rejeição para amostrar tokens da distribuição original. Observe que essa abordagem funciona apenas em configurações de lote pequeno em que a largura de banda é o gargalo.

Resumindo, a decodificação especulativa troca computação por largura de banda, e há duas razões principais pelas quais ela é um alvo atraente de otimização de desempenho. Primeiro, a decodificação especulativa não degrada a qualidade do modelo, porque apenas melhora a velocidade de inferência e o rendimento do modelo, modificando o processo de cálculo do estágio de decodificação. Em segundo lugar, os benefícios que ele oferece são geralmente independentes de outros métodos, porque sua vantagem reside na conversão de cálculos sequenciais em execução paralela, enquanto outros métodos começam principalmente com a estrutura do modelo, parâmetros, treinamento, etc. para otimização.

Os métodos de inferência atuais prevêem uma única sequência para cada lote. Entretanto** este método não funciona bem no caso de grandes lotes ou modelos de rascunho de baixa precisão. **Intuitivamente, para sequências de token contínuas longas, a probabilidade de os dois modelos preverem a concordância diminui exponencialmente, o que significa que, à medida que a força do algoritmo se expande, o retorno da decodificação especulativa diminuirá rapidamente.

Achamos que, se o OpenAI estiver usando decodificação especulativa, eles provavelmente o usarão apenas para sequências curtas de cerca de 4 tokens de comprimento. Além disso, algumas pessoas pensam que o declínio no desempenho do modelo GPT-4 ocorre porque o OpenAI adicionou sequências de baixa probabilidade do modelo de decodificação especulativa ao pré-treinamento do modelo, o que pode não ser verdade.

Além disso - Algumas pessoas pensam que o modelo Bard também usa decodificação especulativa porque o Google espera que a sequência completa seja gerada antes de enviá-la ao usuário, mas não acreditamos que essa suposição seja verdadeira.

12. Visual Multimodal

O Vision Multi-Modal é provavelmente a parte menos atraente do GPT-4, pelo menos em comparação com outras pesquisas. Até agora, ninguém explorou a comercialização da pesquisa LLM multimodal.

Visão Multimodal: Refere-se ao processamento e análise conjunta de informações de diferentes modalidades (como imagens, textos, vozes, etc.). Normalmente, as informações dessas diferentes modalidades são semanticamente relacionadas, portanto, combiná-las pode fornecer informações mais ricas e resultados de inferência mais precisos.

A capacidade multimodal visual do GPT-4 é conseguida através de um codificador visual independente do codificador de texto, e possui um mecanismo de atenção cruzada (Cross-Attention) com o codificador de texto, dizendo-se que sua arquitetura é semelhante ao modelo Flamingo. O codificador de visão foi ajustado no modelo GPT-4 de 1,8 trilhão de parâmetros, no entanto, foi pré-treinado apenas com ~2 trilhões de tokens adicionais de dados de texto, não dados de visão.

Atenção Cruzada: É um mecanismo de estabelecimento de associações entre dados de múltiplas sequências, que tem sido amplamente utilizado em processamento de linguagem natural e visão computacional. Em tarefas sequência a sequência, como tradução automática e resumo de texto, um mecanismo de atenção cruzada é usado para calcular a correlação entre as sequências de origem e destino, de modo que as informações na sequência de origem sejam usadas ao gerar a sequência de destino.

Em tarefas de visão computacional, mecanismos de atenção cruzada são usados para vincular imagens e texto para uso em tarefas como geração de descrições de imagens e respostas a perguntas visuais.

A OpenAI planeja treinar o modelo de visão do zero, mas a tecnologia ainda não está madura, então eles esperam reduzir o risco treinando a partir do texto.

** Há rumores de que o GPT-5 da OpenAI treinará modelos de visão a partir do zero e terá a capacidade de gerar automaticamente processamento de imagem e áudio. **

Um dos principais objetivos da tecnologia multimodal visual é permitir que agentes autônomos leiam páginas da Web e transcrevam seu conteúdo de imagem e vídeo. Os dados usados pelo OpenAI para treinar este modelo incluem dados conjuntos (incluindo LaTeX/texto renderizado), capturas de tela de páginas da web e quadros de amostra de vídeo do Youtube, etc., e usa a tecnologia Whisper para transcrever.

Uma coisa interessante sobre o problema de otimização excessiva do LLM é que o custo de E/S do modelo visual é diferente do custo de E/S do modelo de texto simples. O custo de IO do modelo de texto é muito barato, mas no modelo de visão, o custo de IO do carregamento de dados é cerca de 150 vezes maior do que o do modelo de texto. O tamanho de cada token é de 600 bytes, enquanto o modelo de texto tem apenas 4 bytes. Atualmente, há muito trabalho em andamento na pesquisa de compressão de imagens. (Nota de Xianxiang: as informações de texto são mais fáceis de compactar e a tokenização de imagem/vídeo é uma direção digna de atenção no campo multimodal.)

Custo de IO: O custo de IO refere-se ao tempo, recursos e custos de energia necessários para concluir uma operação de entrada/saída em um sistema de computador. Esses custos incluem aspectos como transferência, armazenamento e processamento de dados. No campo de aprendizado de máquina e aprendizado profundo, o custo de IO geralmente se refere ao custo de leitura e gravação de dados de mídia de armazenamento (como disco rígido, memória, rede etc.). Durante o treinamento e inferência do modelo, o custo de IO pode se tornar um gargalo, afetando o desempenho e a eficiência do sistema. Portanto, para melhorar o desempenho e a eficiência dos sistemas de computador, o custo de IO precisa ser considerado e otimizado.

Isso é muito importante para os fornecedores que otimizam seu hardware após 2 a 3 anos para levar em conta os fortes recursos visuais e de áudio de cada modelo. Eles podem achar que sua arquitetura não é adequada. Em suma, as arquiteturas LLM futuras certamente evoluirão além dos modelos densos baseados em texto reduzido e/ou MoE que vemos hoje.

Referência

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)