Transformers Flashcards
Cite os principais impactos da arquitetura Transformers
- Mecanismo de atenção
- Paralelização
- Escalabilidade
- Transferência de aprendizado
- Aplicações versáteis
Qual a origem da arquitetura Transformers?
“Attention is All You Need”, Vaswani et al, 2017
Explique teoricamente Mecanismo de atenção
Permite que o modelo dê importância variável a diferentes partes de uma sequência. Isso facilita a captura de dependências de longo alcance e a compreensão de contextos complexos.
Isso porque nem todas as partes de uma sequência são igualmente relevantes para a tarefa.
Dê o passo-a-passo de Mecanismo de atenção
- O modelo aprende 3 conjuntos de pesos: chave (key), valor (value) e consulta (query). Primeiro ele calcula as representações de chave, consulta e valor para cada token da sequência de entrada, usando os pesos aprendidos.
- Calcula a pontuação de atenção entre cada par de tokens (chave e consulta), geralmente usando o produto escalar seguido de uma normalização.
- Aplica a função softmax às pontuações de atenção para obter uma distribuição de probabilidade que some 1, representando a importância relativa de cada token na sequência.
- Multiplica as representações de valor (passo 1) pelo pesos de atenção normalizados (passo 3) e soma os resultados para obter a saída ponderada do mecanismo de atenção.
Dê o passo-a-passo matemático de Mecanismo de atenção
1.
K_i = W_k * X_i
Q_i = W_q * X_i
V_i = W_v * X_i
sendo W_* as matrizes de pesos e X_i cada token.
2.
score(Q_i, K_i) = (Q_i * K_i ^ T) / sqrt(d_k)
Em que d_k é a dimensão das representações das keys e queries e sua raíz quadrada é usada para normalizar a pontuação de atenção, evitando valores muito grandes ou pequenos.
3.
A_ij = softmax(score(Q_i, K_i)) = exp(score(Q_i, K_i)) / (exp(score(Q_i, K_i)))
A_ij é o peso de atenção do i-ésimo token da query em relação ao j-ésimo token da key
4.
Attention_output_i = (A_ij * V_j)
Resultando em uma representação ponderada para cada token de query com base em sua importância relativa em relação aos tokens de key.
Descreva as principais diferenças entre Multi-head attention para Atenção por produto escalar
Ideia principal: permitir que o modelo preste atenção a diferentes tipos de informações contextuais simultaneamente.
Resultados: melhora na capacidade do modelo de entender as dependências e relações entre os tokens na sequência de entrada.
Ele divide as representações de key, query e value em várias “cabeças” menores e aplica o mecanismo de atenção a cada uma delas de forma independente. Em seguida, as saídas ponderadas de cada cabeça são concatenadas e transformadas novamente para obter a saída final da camada de atenção multi-cabeça.
Explique brevemente Paralelização
Os Transformers não dependem de cálculos sequenciais, como as redes recorrentes (ex. LSTM e GRU), o que permite uma paralelização mais eficiente e um treinamento mais rápido.
Explique brevemente Escalabilidade
Permitem o treinamento com bilhões de parâmetros e a obtenção de um desempenho significativamente melhor em várias tarefas de PLN.
Explique brevemente Transferência de aprendizado
Técnica de aprendizado de máquina que aproveita um modelo pré-treinado em uma tarefa para ajudar a resolver outra tarefa relacionada, geralmente com menos dados de treinamento.
Objetivo principal: transferir o conhecimento adquirido pelo modelo durante o treinamento em uma tarefa para acelerar e melhorar o desempenho em outra.
Cite algumas de suas aplicações
Tradução automática, geração de texto, análise de sentimento, resposta a perguntas, … A arquitetura também foi adaptada para outras áreas como visão computacional e análise de séries temporais.
Cite o objetivo principal da arquitetura Transformers
Melhorar a eficiência e a capacidade de lidar com problemas em sequência, como PLN e análise de séries temporais.
Qual sua principal inovação?
Atenção auto-regressiva.
Permite que o modelo atribua pesos diferentes a diferentes partes da sequência de entrada dependendo da sua importância para a tarefa específica.
Essa atenção é calculada usando usando uma técnica chamada “Mecanismo de atenção por produto escalar”, que permite ao modelo aprender padrões de longo alcance e interações entre as palavras de uma sequência.
Explique brevemente os dois componentes principais da arquitetura Transformers
Codificador: processa a sequência de entrada e gera uma representação vetorial contínua.
Decodificador: usa essa representação para gerar a sequência de saída.
Ambos os componentes são compostos por várias camadas de atenção, cada uma com suas próprias conexões e parâmetros aprendidos.
Cite casos em que o Transfer Learning é particularmente útil
- os dados disponíveis são limitados ou insuficientes para treinar um modelo do zero
- o tempo e os recursos computacionais são limitados
- a tarefa original e a nova tarefa compartilham características e padrões semelhantes
Descreva o passo-a-passo básico de utilização do Transfer Learning
- Escolher um modelo pré-treinado adequado
- Adaptar o modelo às suas necessidades (ex. substituir ou ajustar camadas, como a de output)
- Treinar o modelo com seus dados de treinamento. Pode envolver fine-tuning (modelo é treinado com taxa de aprendizado menor para ajustar os pesos pré-treinados sem causar mudanças drásticas nos parâmetros)
- Avaliar o desempenho do modelo e fazer ajustes adicionais, se necessário