Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Modelos Generativos Baseados em Transformer | Fundamentos Teóricos
IA Generativa

bookModelos Generativos Baseados em Transformer

Introdução aos Transformers e ao Mecanismo de Self-Attention

Transformers são uma arquitetura fundamental na IA moderna, especialmente em Processamento de Linguagem Natural (PLN) e modelagem generativa. Primeiramente apresentados no artigo "Attention is All You Need" (Vaswani et al., 2017), os transformers abandonam a recorrência em favor de um mecanismo chamado self-attention, que permite aos modelos considerar todas as partes da sequência de entrada simultaneamente.

Mecanismo de Self-Attention

O mecanismo de self-attention permite ao modelo ponderar a importância de diferentes tokens em uma sequência em relação uns aos outros. Isso é feito utilizando três matrizes derivadas dos embeddings de entrada:

  • Query (Q);
  • Key (K);
  • Value (V).

A saída da atenção é calculada como:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Onde:

  • QQ, KK e VV são matrizes derivadas da entrada.
  • dkd_k é a dimensão dos vetores de chave.
  • softmax\text{softmax} converte os escores de similaridade em probabilidades.

Isso permite que cada token atenda a todos os outros tokens e ajuste sua representação de acordo.

Visão Geral da Arquitetura Transformer

O modelo transformer consiste em camadas empilhadas de codificador e decodificador:

  • Codificador converte a entrada em uma representação latente contextualizada;
  • Decodificador gera tokens de saída utilizando a saída do codificador e tokens anteriores.

Cada camada inclui:

  • Atenção Automática Multi-Cabeça;
  • Redes Neurais Feedforward;
  • Normalização de Camada;
  • Conexões Residuais.

Atenção Automática Multi-Cabeça

Em vez de calcular uma única função de atenção, o transformer utiliza múltiplas cabeças de atenção. Cada cabeça aprende a focar em diferentes partes da sequência.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Onde cada cabeça é calculada como:

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Onde:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V são matrizes de projeção para queries, keys e values;
  • W0W^0 projeta as cabeças concatenadas de volta para a dimensão original.

Redes Neurais Feedforward

Cada bloco do transformer inclui uma rede feedforward aplicada de forma independente a cada posição:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Consiste em duas camadas lineares com uma não linearidade (por exemplo, ReLU) entre elas;
  • Aplica a mesma transformação em todas as posições.

Normalização de Camada

A normalização de camada normaliza a entrada entre as características (canais) ao invés do lote. Isso estabiliza o treinamento e melhora a convergência:

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Onde:

  • μ\mu é a média das características;
  • σ\sigma é o desvio padrão;
  • γ\gamma e β\beta são parâmetros aprendíveis.

Conexões Residuais

As conexões residuais somam a entrada de cada subcamada à sua saída:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Auxilia no fluxo do gradiente e permite o treinamento de modelos mais profundos;
  • Utilizada tanto nas camadas de self-attention quanto nas feedforward.

Em modelos apenas decodificadores (como o GPT), apenas o decodificador é utilizado com self-attention causal (mascarada).

Transformadores Generativos Pré-Treinados (GPT)

Modelos GPT são transformadores apenas decodificadores treinados para prever o próximo token de forma autoregressiva:

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Principais características:

  • Treinados em grandes conjuntos de dados de texto;
  • Capazes de gerar textos coerentes e diversos;
  • Amplamente utilizados em aplicações como chatbots e geração de código.

BERT e Modelagem de Linguagem Mascarada

BERT (Bidirectional Encoder Representations from Transformers) utiliza apenas o codificador. É treinado com modelagem de linguagem mascarada (MLM):

  • Tokens aleatórios são substituídos por um [MASK];
  • O modelo prevê o token original com base no contexto completo.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Isso torna o BERT adequado para tarefas como classificação, perguntas e respostas e similaridade semântica.

Transformadores e LLMs

Transformadores são a base dos Modelos de Linguagem de Grande Escala (LLMs) como GPT-3, GPT-4, PaLM, LLaMA e Claude.

LLMs utilizam grandes conjuntos de dados e centenas de bilhões de parâmetros, permitindo:

  • Compreensão e geração de linguagem humana;
  • Realização de tradução, sumarização, perguntas e respostas, raciocínio;
  • Suporte a chatbots, analisadores de documentos e assistentes de programação.

A escalabilidade dos transformadores e a capacidade de modelar dependências de longo alcance os tornam ideais para esses modelos.

1. Qual é a principal inovação introduzida pelos transformers?

2. O que diferencia o BERT do GPT?

3. Por que os transformers são ideais para LLMs?

question mark

Qual é a principal inovação introduzida pelos transformers?

Select the correct answer

question mark

O que diferencia o BERT do GPT?

Select the correct answer

question mark

Por que os transformers são ideais para LLMs?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 8

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 4.76

bookModelos Generativos Baseados em Transformer

Deslize para mostrar o menu

Introdução aos Transformers e ao Mecanismo de Self-Attention

Transformers são uma arquitetura fundamental na IA moderna, especialmente em Processamento de Linguagem Natural (PLN) e modelagem generativa. Primeiramente apresentados no artigo "Attention is All You Need" (Vaswani et al., 2017), os transformers abandonam a recorrência em favor de um mecanismo chamado self-attention, que permite aos modelos considerar todas as partes da sequência de entrada simultaneamente.

Mecanismo de Self-Attention

O mecanismo de self-attention permite ao modelo ponderar a importância de diferentes tokens em uma sequência em relação uns aos outros. Isso é feito utilizando três matrizes derivadas dos embeddings de entrada:

  • Query (Q);
  • Key (K);
  • Value (V).

A saída da atenção é calculada como:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Onde:

  • QQ, KK e VV são matrizes derivadas da entrada.
  • dkd_k é a dimensão dos vetores de chave.
  • softmax\text{softmax} converte os escores de similaridade em probabilidades.

Isso permite que cada token atenda a todos os outros tokens e ajuste sua representação de acordo.

Visão Geral da Arquitetura Transformer

O modelo transformer consiste em camadas empilhadas de codificador e decodificador:

  • Codificador converte a entrada em uma representação latente contextualizada;
  • Decodificador gera tokens de saída utilizando a saída do codificador e tokens anteriores.

Cada camada inclui:

  • Atenção Automática Multi-Cabeça;
  • Redes Neurais Feedforward;
  • Normalização de Camada;
  • Conexões Residuais.

Atenção Automática Multi-Cabeça

Em vez de calcular uma única função de atenção, o transformer utiliza múltiplas cabeças de atenção. Cada cabeça aprende a focar em diferentes partes da sequência.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Onde cada cabeça é calculada como:

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Onde:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V são matrizes de projeção para queries, keys e values;
  • W0W^0 projeta as cabeças concatenadas de volta para a dimensão original.

Redes Neurais Feedforward

Cada bloco do transformer inclui uma rede feedforward aplicada de forma independente a cada posição:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Consiste em duas camadas lineares com uma não linearidade (por exemplo, ReLU) entre elas;
  • Aplica a mesma transformação em todas as posições.

Normalização de Camada

A normalização de camada normaliza a entrada entre as características (canais) ao invés do lote. Isso estabiliza o treinamento e melhora a convergência:

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Onde:

  • μ\mu é a média das características;
  • σ\sigma é o desvio padrão;
  • γ\gamma e β\beta são parâmetros aprendíveis.

Conexões Residuais

As conexões residuais somam a entrada de cada subcamada à sua saída:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Auxilia no fluxo do gradiente e permite o treinamento de modelos mais profundos;
  • Utilizada tanto nas camadas de self-attention quanto nas feedforward.

Em modelos apenas decodificadores (como o GPT), apenas o decodificador é utilizado com self-attention causal (mascarada).

Transformadores Generativos Pré-Treinados (GPT)

Modelos GPT são transformadores apenas decodificadores treinados para prever o próximo token de forma autoregressiva:

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Principais características:

  • Treinados em grandes conjuntos de dados de texto;
  • Capazes de gerar textos coerentes e diversos;
  • Amplamente utilizados em aplicações como chatbots e geração de código.

BERT e Modelagem de Linguagem Mascarada

BERT (Bidirectional Encoder Representations from Transformers) utiliza apenas o codificador. É treinado com modelagem de linguagem mascarada (MLM):

  • Tokens aleatórios são substituídos por um [MASK];
  • O modelo prevê o token original com base no contexto completo.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Isso torna o BERT adequado para tarefas como classificação, perguntas e respostas e similaridade semântica.

Transformadores e LLMs

Transformadores são a base dos Modelos de Linguagem de Grande Escala (LLMs) como GPT-3, GPT-4, PaLM, LLaMA e Claude.

LLMs utilizam grandes conjuntos de dados e centenas de bilhões de parâmetros, permitindo:

  • Compreensão e geração de linguagem humana;
  • Realização de tradução, sumarização, perguntas e respostas, raciocínio;
  • Suporte a chatbots, analisadores de documentos e assistentes de programação.

A escalabilidade dos transformadores e a capacidade de modelar dependências de longo alcance os tornam ideais para esses modelos.

1. Qual é a principal inovação introduzida pelos transformers?

2. O que diferencia o BERT do GPT?

3. Por que os transformers são ideais para LLMs?

question mark

Qual é a principal inovação introduzida pelos transformers?

Select the correct answer

question mark

O que diferencia o BERT do GPT?

Select the correct answer

question mark

Por que os transformers são ideais para LLMs?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 8
some-alt