Modelos e plataformas de IA

Modelos de Linguagem Grande Baseados em Decodificador: Um Guia Completo

mm
Adicione Unite.AI às suas fontes preferidas no Google

Modelos de Linguagem Grande (LLMs) revolucionaram o campo do processamento de linguagem natural (NLP) demonstrando capacidades notáveis em gerar texto semelhante ao humano, responder a perguntas e auxiliar em uma ampla gama de tarefas relacionadas à linguagem. No núcleo desses modelos poderosos está a arquitetura de transformador apenas decodificador, uma variante da arquitetura de transformador original proposta no artigo seminal “Attention is All You Need” por Vaswani et al.

Neste guia abrangente, exploraremos o funcionamento interno dos LLMs baseados em decodificador, mergulhando nos blocos de construção fundamentais, inovações arquiteturais e detalhes de implementação que impulsionaram esses modelos para o centro das pesquisas e aplicações de NLP.

A Arquitetura do Transformador: Um Refresco

Antes de mergulhar nos detalhes dos LLMs baseados em decodificador, é essencial revisitar a arquitetura do transformador, a base sobre a qual esses modelos são construídos. O transformador introduziu uma abordagem nova para modelagem de sequência, confiando apenas em mecanismos de atenção para capturar dependências de longo alcance nos dados, sem a necessidade de camadas recorrentes ou convolucionais.

Arquitetura do Transformador

Arquitetura do Transformador

A arquitetura original do transformador consiste em dois componentes principais: um codificador e um decodificador. O codificador processa a sequência de entrada e gera uma representação contextualizada, que é então consumida pelo decodificador para produzir a sequência de saída. Essa arquitetura foi inicialmente projetada para tarefas de tradução de máquina, onde o codificador processa a sentença de entrada na língua de origem e o decodificador gera a sentença correspondente na língua de destino.

Atenção Auto-Dirigida: A Chave para o Sucesso do Transformador

No coração do transformador está o mecanismo de atenção auto-dirigida, uma técnica poderosa que permite ao modelo ponderar e agregar informações de diferentes posições na sequência de entrada. Ao contrário dos modelos de sequência tradicionais, que processam tokens de entrada sequencialmente, a atenção auto-dirigida permite que o modelo capture dependências entre qualquer par de tokens, independentemente de sua posição na sequência.

Atenção Multi-Consulta

Atenção Multi-Consulta

A operação de atenção auto-dirigida pode ser dividida em três etapas principais:

  1. Projeções de Consulta, Chave e Valor: A sequência de entrada é projetada em três representações separadas: consultas (Q), chaves (K) e valores (V). Essas projeções são obtidas multiplicando a entrada com matrizes de peso aprendidas.
  2. Cálculo de Pontuações de Atenção: Para cada posição na sequência de entrada, pontuações de atenção são calculadas tomando o produto escalar entre o vetor de consulta correspondente e todos os vetores de chave. Essas pontuações representam a relevância de cada posição para a posição atual sendo processada.
  3. Soma Ponderada de Valores: As pontuações de atenção são normalizadas usando uma função softmax, e os pesos de atenção resultantes são usados para calcular uma soma ponderada dos vetores de valor, produzindo a representação de saída para a posição atual.

A atenção multi-cabeça, uma variante do mecanismo de atenção auto-dirigida, permite que o modelo capture diferentes tipos de relacionamentos calculando pontuações de atenção em múltiplas “cabeças” em paralelo, cada uma com seu próprio conjunto de projeções de consulta, chave e valor.

Variantes e Configurações Arquiteturais

Embora os princípios básicos dos LLMs baseados em decodificador sejam consistentes, os pesquisadores exploraram várias variantes e configurações arquiteturais para melhorar o desempenho, a eficiência e as capacidades de generalização. Nesta seção, mergulharemos nas diferentes escolhas arquiteturais e suas implicações.

Tipos de Arquitetura

Os LLMs baseados em decodificador podem ser amplamente classificados em três principais tipos: codificador-decodificador, decodificador causal e decodificador de prefixo. Cada tipo de arquitetura exibe padrões de atenção distintos.

Arquitetura Codificador-Decodificador

Com base no modelo de transformador vanilla, a arquitetura codificador-decodificador consiste em duas pilhas: um codificador e um decodificador. O codificador usa camadas de atenção auto-dirigida empilhadas para codificar a sequência de entrada e gerar representações contextualizadas. O decodificador então realiza atenção cruzada nessas representações para gerar a sequência de saída. Embora eficaz em várias tarefas de NLP, poucos LLMs, como Flan-T5, adotam essa arquitetura.

Arquitetura Decodificador Causal

A arquitetura decodificador causal incorpora uma máscara de atenção unidirecional, permitindo que cada token de entrada atenda apenas a tokens passados e a si mesmo. Tanto os tokens de entrada quanto os tokens de saída são processados dentro do mesmo decodificador. Modelos notáveis como GPT-1, GPT-2 e GPT-3 são construídos sobre essa arquitetura, com o GPT-3 demonstrando capacidades notáveis de aprendizado em contexto. Muitos LLMs, incluindo OPT, BLOOM e Gopher, adotaram amplamente decodificadores causais.

Arquitetura Decodificador de Prefixo

Também conhecida como arquitetura decodificador não causal, a arquitetura decodificador de prefixo modifica o mecanismo de mascaramento dos decodificadores causais para permitir atenção bidirecional sobre tokens de prefixo e atenção unidirecional sobre tokens gerados. Como a arquitetura codificador-decodificador, os decodificadores de prefixo podem codificar a sequência de prefixo bidirecionalmente e prever tokens de saída autoregressivamente usando parâmetros compartilhados. LLMs baseados em decodificadores de prefixo incluem GLM130B e U-PaLM.

Todos os três tipos de arquitetura podem ser estendidos usando a técnica de escalonamento mixture-of-experts (MoE), que ativa esparsamente um subconjunto de pesos da rede neural para cada entrada. Essa abordagem foi empregada em modelos como Switch Transformer e GLaM, com o aumento do número de especialistas ou do tamanho total de parâmetros mostrando melhorias significativas no desempenho.

Transformador Apenas Decodificador: Abraçando a Natureza Autoregressiva

Embora a arquitetura original do transformador tenha sido projetada para tarefas de sequência-para-sequência, como tradução de máquina, muitas tarefas de NLP, como modelagem de linguagem e geração de texto, podem ser enquadradas como problemas autoregressivos, onde o modelo gera um token de cada vez, condicionado aos tokens previamente gerados.

Entre com o transformador apenas decodificador, uma variante simplificada da arquitetura do transformador que retém apenas o componente decodificador. Essa arquitetura é particularmente adequada para tarefas autoregressivas, pois gera tokens de saída um a um, aproveitando os tokens previamente gerados como contexto de entrada.

A principal diferença entre o transformador apenas decodificador e o decodificador original do transformador reside no mecanismo de atenção auto-dirigida. No contexto apenas decodificador, a operação de atenção auto-dirigida é modificada para evitar que o modelo atenda a tokens futuros, uma propriedade conhecida como causalidade. Isso é alcançado por meio de uma técnica chamada “atenção auto-dirigida mascarada”, onde as pontuações de atenção correspondentes a posições futuras são definidas como negativo infinito, efetivamente mascarando-as durante a normalização softmax.

Componentes Arquiteturais dos LLMs Baseados em Decodificador

Embora os princípios básicos da atenção auto-dirigida e da atenção auto-dirigida mascarada permaneçam os mesmos, os LLMs baseados em decodificador modernos introduziram várias inovações arquiteturais para melhorar o desempenho, a eficiência e as capacidades de generalização. Vamos explorar alguns dos principais componentes e técnicas empregadas nos LLMs de ponta.

Representação de Entrada

Antes de processar a sequência de entrada, os LLMs baseados em decodificador empregam técnicas de tokenização e incorporação para converter o texto bruto em uma representação numérica adequada para o modelo.

Incorporação de Vetor

Incorporação de Vetor

Tokenização: O processo de tokenização converte o texto de entrada em uma sequência de tokens, que podem ser palavras, subpalavras ou até mesmo caracteres individuais, dependendo da estratégia de tokenização empregada. Técnicas de tokenização populares para LLMs incluem Codificação de Pares de Bytes (BPE), SentencePiece e WordPiece. Esses métodos visam equilibrar o tamanho do vocabulário e a granularidade da representação, permitindo que o modelo lide com palavras raras ou fora do vocabulário de forma eficaz.

Incorporação de Token: Após a tokenização, cada token é mapeado para uma representação vetorial densa chamada incorporação de token. Essas incorporações são aprendidas durante o treinamento e capturam relações semânticas e sintáticas entre tokens.

Incorporação Posicional: Os modelos de transformador processam a sequência de entrada inteira simultaneamente, carecendo da noção inerente de posição de token presente em modelos recorrentes. Para incorporar informações posicionais, incorporações posicionais são adicionadas às incorporações de token, permitindo que o modelo distinga entre tokens com base em suas posições na sequência. LLMs iniciais usavam incorporações posicionais fixas baseadas em funções sinusoidais, enquanto modelos mais recentes exploraram incorporações posicionais aprendidas ou técnicas de codificação posicional alternativas, como incorporações posicionais rotativas.

Blocos de Atenção Multi-Cabeça

Os blocos de construção básicos dos LLMs baseados em decodificador são as camadas de atenção multi-cabeça, que realizam a operação de atenção auto-dirigida mascarada descrita anteriormente. Essas camadas são empilhadas várias vezes, com cada camada atendendo à saída da camada anterior, permitindo que o modelo capture dependências e representações cada vez mais complexas.

Cabeças de Atenção: Cada camada de atenção multi-cabeça consiste em múltiplas “cabeças de atenção“, cada uma com seu próprio conjunto de projeções de consulta, chave e valor. Isso permite que o modelo atenda a diferentes aspectos da sequência de entrada simultaneamente, capturando relacionamentos e padrões diversificados.

Conexões Residuais e Normalização de Camada: Para facilitar o treinamento de redes profundas e mitigar o problema do gradiente desvanecente, os LLMs baseados em decodificador empregam conexões residuais e técnicas de normalização de camada. As conexões residuais adicionam a entrada de uma camada à sua saída, permitindo que os gradientes fluam mais facilmente durante a retropropagação. A normalização de camada ajuda a estabilizar as ativações e gradientes, melhorando ainda mais a estabilidade e o desempenho do treinamento.

Camadas de Alimentação Direta

Além das camadas de atenção multi-cabeça, os LLMs baseados em decodificador incorporam camadas de alimentação direta, que aplicam uma rede neural simples de alimentação direta a cada posição na sequência. Essas camadas introduzem não linearidades e permitem que o modelo aprenda representações mais complexas.

Funções de Ativação: A escolha da função de ativação nas camadas de alimentação direta pode impactar significativamente o desempenho do modelo. Enquanto LLMs iniciais confiavam na amplamente utilizada ativação ReLU, modelos mais recentes adotaram funções de ativação mais sofisticadas, como a Unidade de Erro Gaussiana Linear (GELU) ou a ativação SwiGLU, que demonstraram melhor desempenho.

Atenção Esparsa e Transformadores Eficientes

Embora o mecanismo de atenção auto-dirigida seja poderoso, ele vem com uma complexidade computacional quadrática em relação ao comprimento da sequência, tornando-o computacionalmente caro para sequências longas. Para abordar esse desafio, várias técnicas foram propostas para reduzir os requisitos computacionais e de memória da atenção auto-dirigida, permitindo o processamento eficiente de sequências mais longas.

Atenção Esparsa: Técnicas de atenção esparsa, como a empregada no modelo GPT-3, atendem seletivamente a um subconjunto de posições na sequência de entrada, em vez de calcular pontuações de atenção para todas as posições. Isso pode reduzir significativamente a complexidade computacional enquanto mantém um desempenho razoável.

Atenção de Janela Deslizante: Introduzida no modelo Mistral 7B, a atenção de janela deslizante (SWA) é uma técnica simples, mas eficaz, que restringe o alcance de atenção de cada token a um tamanho de janela fixo. Essa abordagem aproveita a capacidade das camadas de transformador de transmitir informações através de múltiplas camadas, efetivamente aumentando o alcance de atenção sem a complexidade quadrática da atenção auto-dirigida completa.

Cache de Buffer Rolante: Para reduzir ainda mais os requisitos de memória, especialmente para sequências longas, o modelo Mistral 7B emprega um cache de buffer rolante. Essa técnica armazena e reutiliza os vetores de chave e valor calculados para um tamanho de janela fixo, evitando cálculos redundantes e minimizando o uso de memória.

Atenção de Consulta Agrupada: Introduzida no modelo LLaMA 2, a atenção de consulta agrupada (GQA) é uma variante do mecanismo de atenção multi-consulta que divide as cabeças de atenção em grupos, cada um compartilhando uma matriz de chave e valor comum. Essa abordagem equilibra a eficiência da atenção multi-consulta e o desempenho da atenção auto-dirigida padrão, proporcionando tempos de inferência melhorados enquanto mantém resultados de alta qualidade.

Atenção de Consulta Agrupada

Atenção de Consulta Agrupada

Tamanho do Modelo e Escalonamento

Uma das características definidoras dos LLMs modernos é seu tamanho impressionante, com o número de parâmetros variando de bilhões a centenas de bilhões. Aumentar o tamanho do modelo tem sido um fator crucial para alcançar o desempenho de ponta, pois modelos maiores podem capturar padrões e relacionamentos mais complexos nos dados.

Contagem de Parâmetros: O número de parâmetros em um LLM baseado em decodificador é determinado principalmente pela dimensão da incorporação (d_model), pelo número de cabeças de atenção (n_heads), pelo número de camadas (n_layers) e pelo tamanho do vocabulário (vocab_size). Por exemplo, o modelo GPT-3 tem 175 bilhões de parâmetros, com d_model = 12288, n_heads = 96, n_layers = 96 e vocab_size = 50257.

Paralelismo de Modelo: Treinar e implantar modelos tão massivos exige recursos computacionais substanciais e hardware especializado. Para superar esse desafio, técnicas de paralelismo de modelo foram empregadas, onde o modelo é dividido em múltiplos GPUs ou TPUs, com cada dispositivo responsável por uma porção dos cálculos.

Mistura de Especialistas: Outra abordagem para escalonar LLMs é a arquitetura de mistura de especialistas (MoE), que combina vários modelos especialistas, cada um se especializando em um subconjunto específico dos dados ou tarefa. O modelo Mixtral 8x7B é um exemplo de um modelo MoE que usa o Mistral 7B como seu modelo base, alcançando desempenho superior enquanto mantém eficiência computacional.

Inferência e Geração de Texto

Um dos principais casos de uso dos LLMs baseados em decodificador é a geração de texto, onde o modelo gera texto coerente e natural com base em um prompt ou contexto dado.

Decodificação Autoregressiva: Durante a inferência, os LLMs baseados em decodificador geram texto de forma autoregressiva, prevendo um token de cada vez com base nos tokens previamente gerados e no prompt de entrada. Esse processo continua até que um critério de parada predeterminado seja atingido, como atingir um comprimento de sequência máximo ou gerar um token de fim de sequência.

Estratégias de Amostragem: Para gerar texto diverso e realista, várias estratégias de amostragem podem ser empregadas, como amostragem top-k, amostragem top-p (também conhecida como amostragem de núcleo) ou escalonamento de temperatura. Essas técnicas controlam o trade-off entre diversidade e coerência do texto gerado, ajustando a distribuição de probabilidade sobre o vocabulário.

Engenharia de Prompt: A qualidade e especificidade do prompt de entrada podem impactar significativamente o texto gerado. A engenharia de prompt, a arte de criar prompts eficazes, emergiu como um aspecto crucial para aproveitar os LLMs em várias tarefas, permitindo que os usuários orientem o processo de geração do modelo e alcancem saídas desejadas.

Decodificação com Interação Humana: Para melhorar ainda mais a qualidade e a coerência do texto gerado, técnicas como Aprendizado por Reforço com Feedback Humano (RLHF) foram empregadas. Nessa abordagem, avaliadores humanos fornecem feedback sobre o texto gerado pelo modelo, que é então usado para ajustar o modelo, efetivamente alinhando-o com as preferências humanas e melhorando suas saídas.

Avanços e Direções Futuras

O campo dos LLMs baseados em decodificador está evoluindo rapidamente, com novas pesquisas e avanços continuamente empurrando os limites do que esses modelos podem alcançar. Aqui estão alguns avanços notáveis e direções futuras:

Variante Eficiente do Transformador: Embora a atenção esparsa e a atenção de janela deslizante tenham feito progressos significativos na melhoria da eficiência dos LLMs baseados em decodificador, os pesquisadores estão ativamente explorando arquiteturas e mecanismos de atenção alternativos para reduzir ainda mais os requisitos computacionais enquanto mantêm ou melhoram o desempenho.

LLMs Multimodais: Estender as capacidades dos LLMs além do texto, os modelos multimodais visam integrar múltiplas modalidades, como imagens, áudio ou vídeo, em uma estrutura unificada. Isso abre possibilidades excitantes para aplicações como legendas de imagens, resposta a perguntas visuais e geração de conteúdo multimídia.

Geração Controlada: Permitir controle granular sobre o texto gerado é uma direção desafiadora, mas importante, para os LLMs. Técnicas como geração de texto controlada e ajuste de prompt visam fornecer aos usuários mais controle sobre vários atributos do texto gerado, como estilo, tom ou requisitos de conteúdo específicos.

Conclusão

Os LLMs baseados em decodificador emergiram como uma força transformadora no campo do processamento de linguagem natural, empurrando os limites do que é possível com geração e compreensão de linguagem. Desde seus humildes começos como uma variante simplificada da arquitetura do transformador, esses modelos evoluíram para sistemas altamente sofisticados e poderosos, aproveitando técnicas e inovações arquiteturais de ponta.

À medida que continuamos a explorar e avançar nos LLMs baseados em decodificador, podemos esperar testemunhar realizações ainda mais notáveis em tarefas relacionadas à linguagem, bem como a integração desses modelos em uma ampla gama de aplicações e domínios. No entanto, é crucial abordar as considerações éticas, os desafios de interpretabilidade e os possíveis vieses que podem surgir da implantação generalizada desses modelos poderosos.

Mantendo-nos à frente da pesquisa, fomentando a colaboração aberta e mantendo um forte compromisso com o desenvolvimento responsável de IA, podemos desbloquear o potencial completo dos LLMs baseados em decodificador, garantindo que sejam desenvolvidos e utilizados de forma segura, ética e benéfica para a sociedade.

Eu passei os últimos cinco anos me imergindo no fascinante mundo de Aprendizado de Máquina e Aprendizado Profundo. Minha paixão e expertise me levaram a contribuir para mais de 50 projetos de engenharia de software diversificados, com um foco particular em IA/ML. Minha curiosidade contínua também me levou em direção ao Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.