Entre em contato

Inteligência artificial

Modelos de linguagem grande baseados em decodificador: um guia completo

mm
Atualização do on
Modelos de linguagem grande baseados em decodificador: um guia completo

Modelos de linguagem grandes (LLMs) revolucionaram o campo do processamento de linguagem natural (PNL), demonstrando capacidades notáveis ​​na geração de texto semelhante ao humano, respondendo a perguntas e auxiliando em uma ampla gama de tarefas relacionadas à linguagem. No centro destes modelos poderosos está a arquitetura de transformador somente decodificador, uma variante da arquitetura original do transformador proposta no artigo seminal “Atenção é tudo que você precisa”Por Vaswani et al.

Neste guia abrangente, exploraremos o funcionamento interno dos LLMs baseados em decodificadores, investigando os blocos de construção fundamentais, as inovações arquitetônicas e os detalhes de implementação que impulsionaram esses modelos para a vanguarda da pesquisa e das aplicações de PNL.

A arquitetura do Transformer: uma atualização

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

Arquitetura de Transformadores

Arquitetura de Transformadores

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. Esta arquitetura foi inicialmente projetada para tarefas de tradução automática, onde o codificador processa a frase de entrada no idioma de origem e o decodificador gera a frase correspondente no idioma de destino.

Autoatenção: a chave para o sucesso do Transformer

No coração do transformador reside o mecanismo de autoatenção, uma técnica poderosa que permite ao modelo pesar 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 autoatenção permite que o modelo capture dependências entre qualquer par de tokens, independentemente de sua posição na sequência.

Atenção multiconsulta

Atenção multiconsulta

A operação de autoatenção 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 pelas matrizes de peso aprendidas.
  2. Cálculo da pontuação de atenção: para cada posição na sequência de entrada, as pontuações de atenção são calculadas considerando o produto escalar entre o vetor de consulta correspondente e todos os vetores-chave. Essas pontuações representam a relevância de cada posição para a posição atual que está 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 multicabeças, uma variante do mecanismo de autoatenção, permite que o modelo capture diferentes tipos de relacionamentos calculando pontuações de atenção em vários “cabeças”em paralelo, cada um com seu próprio conjunto de projeções de consulta, chave e valor.

Variantes e configurações arquitetônicas

Embora os princípios básicos dos LLMs baseados em decodificadores permaneçam consistentes, os pesquisadores exploraram várias variantes e configurações arquitetônicas para melhorar o desempenho, a eficiência e as capacidades de generalização. Nesta seção, nos aprofundaremos nas diferentes opções arquitetônicas e suas implicações.

Tipos de arquitetura

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

Arquitetura do Codificador-Decodificador

Baseada no modelo vanilla Transformer, a arquitetura codificador-decodificador consiste em duas pilhas: um codificador e um decodificador. O codificador usa camadas empilhadas de autoatenção com vários cabeçotes para codificar a sequência de entrada e gerar representações latentes. O decodificador então realiza atenção cruzada nessas representações para gerar a sequência alvo. Embora eficazes em várias tarefas de PNL, poucos LLMs, como Flan-T5, adote esta arquitetura.

Arquitetura do decodificador causal

A arquitetura do decodificador causal incorpora uma máscara de atenção unidirecional, permitindo que cada token de entrada atenda apenas aos tokens anteriores e a si mesmo. Os tokens de entrada e saída são processados ​​no mesmo decodificador. Modelos notáveis ​​como GPT-1, GPT-2 e GPT-3 são construídos nesta arquitetura, com GPT-3 apresentando notáveis ​​capacidades de aprendizagem no contexto. Muitos LLMs, incluindo OPT, BLOOM e Gopher, adotaram amplamente decodificadores causais.

Arquitetura do decodificador de prefixo

Também conhecida como decodificador não causal, a arquitetura do decodificador de prefixo modifica o mecanismo de mascaramento dos decodificadores causais para permitir atenção bidirecional sobre tokens de prefixo e atenção unidirecional em tokens gerados. Assim como a arquitetura codificador-decodificador, os decodificadores de prefixo podem codificar a sequência de prefixo bidirecionalmente e prever tokens de saída de forma autorregressiva 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 o mistura de especialistas (MoE) técnica de escalonamento, que ativa esparsamente um subconjunto de pesos de rede neural para cada entrada. Esta abordagem foi empregada em modelos como Switch Transformer e GLaM, com o aumento do número de especialistas ou o tamanho total dos parâmetros mostrando melhorias significativas de desempenho.

Transformador somente decodificador: abraçando a natureza autoregressiva

Embora a arquitetura original do transformador tenha sido projetada para tarefas sequência a sequência, como tradução automática, muitas tarefas de PNL, como modelagem de linguagem e geração de texto, podem ser enquadradas como problemas autorregressivos, onde o modelo gera um token por vez, condicionado ao tokens gerados anteriormente.

Digite o transformador somente decodificador, uma variante simplificada da arquitetura do transformador que retém apenas o componente decodificador. Esta arquitetura é particularmente adequada para tarefas autorregressivas, pois gera tokens de saída um por um, aproveitando os tokens gerados anteriormente como contexto de entrada.

A principal diferença entre o transformador somente decodificador e o decodificador do transformador original está no mecanismo de autoatenção. Na configuração somente decodificador, a operação de autoatenção é modificada para evitar que o modelo atenda a tokens futuros, uma propriedade conhecida como causalidade. Isso é conseguido por meio de uma técnica chamada “autoatenção mascarada”, em que as pontuações de atenção correspondentes às posições futuras são definidas como infinito negativo, mascarando-as efetivamente durante a etapa de normalização softmax.

Componentes arquitetônicos de LLMs baseados em decodificador

Embora os princípios básicos de autoatenção e autoatenção mascarada permaneçam os mesmos, os LLMs modernos baseados em decodificadores introduziram várias inovações arquitetônicas para melhorar o desempenho, a eficiência e as capacidades de generalização. Vamos explorar alguns dos principais componentes e técnicas empregadas em LLMs de última geração.

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 vetores

incorporação de vetores

tokenization: O processo de tokenização converte o texto de entrada em uma sequência de tokens, que podem ser palavras, subpalavras ou até caracteres individuais, dependendo da estratégia de tokenização empregada. Técnicas populares de tokenização para LLMs incluem Byte-Pair Encoding (BPE), SentencePiece e WordPiece. Esses métodos visam encontrar um equilíbrio entre 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ções 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 processo de treinamento e capturam relacionamentos semânticos e sintáticos entre tokens.

Incorporações posicionais: Os modelos de transformadores processam toda a sequência de entrada simultaneamente, sem a noção inerente de posições de token presentes em modelos recorrentes. Para incorporar informações posicionais, embeddings posicionais são adicionados aos embeddings de tokens, permitindo ao modelo distinguir entre tokens com base em suas posições na sequência. Os primeiros LLMs usavam embeddings posicionais fixos baseados em funções senoidais, enquanto modelos mais recentes exploraram embeddings posicionais que podem ser aprendidos ou técnicas alternativas de codificação posicional, como embeddings posicionais rotativos.

Blocos de atenção com várias cabeças

Os principais blocos de construção dos LLMs baseados em decodificador são camadas de atenção com múltiplas cabeças, que executam a operação de autoatenção mascarada descrita anteriormente. Essas camadas são empilhadas diversas vezes, com cada camada atendendo à saída da camada anterior, permitindo que o modelo capture dependências e representações cada vez mais complexas.

Chefes de atenção: cada camada de atenção com vários cabeçalhos consiste em vários “cabeças de atenção”, cada um com seu próprio conjunto de projeções de consulta, chave e valor. Isso permite que o modelo atenda a diferentes aspectos da entrada simultaneamente, capturando diversos relacionamentos e padrões.

Conexões residuais e normalização de camadas: Para facilitar o treinamento de redes profundas e mitigar o problema do gradiente de fuga, os LLMs baseados em decodificadores 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 da camada ajuda a estabilizar as ativações e gradientes, melhorando ainda mais a estabilidade e o desempenho do treinamento.

Camadas de feedforward

Além das camadas de atenção com múltiplas cabeças, os LLMs baseados em decodificadores incorporam camadas feed-forward, que aplicam uma rede neural feed-forward simples 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 feed-forward pode impactar significativamente o desempenho do modelo. Embora os LLMs anteriores dependessem da ativação ReLU amplamente utilizada, modelos mais recentes adotaram funções de ativação mais sofisticadas, como a Unidade Linear de Erro Gaussiano (GELU) ou a ativação SwiGLU, que mostraram desempenho melhorado.

Atenção escassa e transformadores eficientes

Embora o mecanismo de autoatenção seja poderoso, ele apresenta uma complexidade computacional quadrática em relação ao comprimento da sequência, tornando-o computacionalmente caro para sequências longas. Para enfrentar este desafio, diversas técnicas foram propostas para reduzir os requisitos computacionais e de memória da autoatenção, 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, mantendo um desempenho razoável.

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

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

Atenção à consulta agrupada: Introduzido no modelo LLaMA 2, a atenção de consulta agrupada (GQA) é uma variante do mecanismo de atenção de múltiplas consultas que divide os cabeçalhos de atenção em grupos, cada grupo compartilhando uma chave comum e uma matriz de valor. Essa abordagem atinge um equilíbrio entre a eficiência da atenção multiconsulta e o desempenho da autoatenção padrão, proporcionando melhores tempos de inferência e mantendo resultados de alta qualidade.

Atenção de consulta agrupada

Atenção de consulta agrupada

Tamanho e escala do modelo

Uma das características definidoras dos LLMs modernos é a sua escala, 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 um desempenho de última geração, 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 de 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 possui 175 bilhões de parâmetros, com d_modelo = 12288, n_cabeças = 96, n_camadas = 96 e tamanho_vocabulário = 50257.

Paralelismo Modelo: O treinamento e a implantação desses modelos massivos exigem recursos computacionais substanciais e hardware especializado. Para superar esse desafio, técnicas de paralelismo de modelos têm sido empregadas, onde o modelo é dividido em múltiplas GPUs ou TPUs, sendo cada dispositivo responsável por uma parte dos cálculos.

Mistura de especialistas: Outra abordagem para dimensionar LLMs é a arquitetura de mistura de especialistas (MoE), que combina vários modelos especializados, cada um especializado em um subconjunto específico de dados ou tarefas. O modelo Mixtral 8x7B é um exemplo de modelo MoE que aproveita o Mistral 7B como modelo básico, alcançando desempenho superior e mantendo a eficiência computacional.

Inferência e geração de texto

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

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

Estratégias de Amostragem: Para gerar texto diversificado 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 escala de temperatura. Estas técnicas controlam o compromisso entre diversidade e coerência do texto gerado, ajustando a distribuição de probabilidade ao longo do vocabulário.

Engenharia imediata: a qualidade e a especificidade do prompt de entrada podem impactar significativamente o texto gerado. A engenharia de prompts, a arte de elaborar prompts eficazes, emergiu como um aspecto crucial do aproveitamento de LLMs para diversas tarefas, permitindo que os usuários orientem o processo de geração do modelo e alcancem os resultados desejados.

Decodificação Human-in-the-Loop: Para melhorar ainda mais a qualidade e a coerência do texto gerado, técnicas como Aprendizagem por Reforço com Feedback Humano (RLHF) foram empregados. Nesta abordagem, os avaliadores humanos fornecem feedback sobre o texto gerado pelo modelo, que é então utilizado para afinar o modelo, alinhando-o eficazmente com as preferências humanas e melhorando os seus resultados.

Avanços e direções futuras

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

Variantes de transformadores eficientes: Embora a atenção escassa e a atenção da janela deslizante tenham feito avanços significativos na melhoria da eficiência dos LLMs baseados em decodificadores, os pesquisadores estão explorando ativamente arquiteturas de transformadores alternativas e mecanismos de atenção para reduzir ainda mais os requisitos computacionais, mantendo ou melhorando o desempenho.

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

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

Conclusão

Os LLMs baseados em decodificadores surgiram como uma força transformadora no campo do processamento de linguagem natural, ampliando os limites do que é possível com a geração e compreensão da linguagem. Desde o seu início humilde como uma variante simplificada da arquitetura do transformador, estes modelos evoluíram para sistemas altamente sofisticados e poderosos, aproveitando técnicas de ponta e inovações arquitetónicas.

À medida que continuamos a explorar e a avançar os LLMs baseados em descodificadores, podemos esperar testemunhar conquistas ainda mais notáveis ​​em tarefas relacionadas com a linguagem, bem como a integração destes modelos numa vasta gama de aplicações e domínios. No entanto, é crucial abordar as considerações éticas, os desafios de interpretabilidade e os potenciais preconceitos que podem surgir da implantação generalizada destes modelos poderosos.

Ao permanecer na vanguarda da pesquisa, promover a colaboração aberta e manter um forte compromisso com o desenvolvimento responsável da IA, podemos desbloquear todo o potencial dos LLMs baseados em decodificadores, garantindo ao mesmo tempo que sejam desenvolvidos e utilizados de maneira segura, ética e benéfica para sociedade.

Passei os últimos cinco anos mergulhando no fascinante mundo do Machine Learning e Deep Learning. Minha paixão e experiência me levaram a contribuir para mais de 50 projetos diversos de engenharia de software, com foco particular em AI/ML. Minha curiosidade contínua também me atraiu para o Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.