Modelos e plataformas de IA
Modelos de Linguagem Grande Baseados em Decodificador: Um Guia Completo
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.
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.
A operaçÃĢo de atençÃĢo auto-dirigida pode ser dividida em trÊs etapas principais:
- 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.
- 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.
- 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.
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.
















