In-Context Learning (PT)

From Systems analysis Wiki
Jump to navigation Jump to search

Aprendizagem em Contexto (do inglês In-Context Learning, ICL) — é a capacidade fundamental dos modelos de linguagem grandes (LLMs) de aprender novas tarefas "dinamicamente" (on the fly), utilizando apenas exemplos (demonstrações) fornecidos no contexto (prompt) da solicitação. A característica principal é que esse processo de adaptação ocorre sem a atualização dos pesos (parâmetros) do modelo, ou seja, sem o tradicional ajuste fino (fine-tuning)[1][2].

Este mecanismo permite que os modelos demonstrem uma flexibilidade surpreendente, resolvendo tarefas para as quais não foram especificamente treinados. O ICL tornou-se um dos avanços cruciais que tornaram os modelos de linguagem grandes tão poderosos e versáteis[3].

Mecanismos de Funcionamento

A compreensão exata de como o ICL funciona permanece uma área ativa de pesquisa, no entanto, existem várias teorias principais que explicam esse fenômeno.

Transformer como um meta-otimizador

Uma das teorias populares sustenta que a arquitetura Transformer, durante o pré-treinamento, aprende a implementar algoritmos de aprendizado em suas passagens diretas (forward passes). Quando o modelo recebe um prompt com exemplos, ele realiza implicitamente uma espécie de otimização para resolver a tarefa apresentada, ajustando seus estados internos (ativações), e não os pesos[4].

Inferência Bayesiana

Outra teoria considera o ICL como uma forma de inferência bayesiana. O modelo, pré-treinado em vastos conjuntos de dados, possui uma compreensão a priori de múltiplos conceitos. Os exemplos no contexto servem como evidências que permitem ao modelo refinar sua distribuição de probabilidade a posteriori sobre os conceitos ocultos. Em outras palavras, os exemplos ajudam o modelo a "entender" qual das milhares de tarefas que conhece precisa ser resolvida no momento[5].

Tipos de In-Context Learning

Dependendo do número de exemplos fornecidos, o ICL é dividido em três tipos principais.

  • Few-shot Learning (aprendizagem com poucos exemplos): Esta é a abordagem mais comum e equilibrada. O modelo recebe alguns (geralmente de 2 a 10) exemplos de demonstração.

Exemplo (classificação de sentimento):

Texto: "Que dia maravilhoso!"
Sentimento: Positivo

Texto: "Eu odeio ficar preso no trânsito."
Sentimento: Negativo

Texto: "Este filme foi bem mediano."
Sentimento:

Resposta esperada:

Neutro
  • One-shot Learning (aprendizagem com um exemplo): O modelo recebe apenas um exemplo. Isso geralmente é suficiente para definir o formato da resposta e melhorar significativamente o desempenho em comparação com a abordagem zero-shot.
  • Zero-shot Learning (aprendizagem sem exemplos): O modelo não recebe exemplos, apenas uma instrução ou descrição da tarefa. Nesse caso, o modelo depende inteiramente do conhecimento adquirido durante o pré-treinamento.

Aplicação Prática

A aplicação correta do ICL permite resolver uma ampla gama de tarefas sem o custo de desenvolvimento e ajuste fino.

  • Para tarefas criativas e estilísticas (geração de código em um estilo específico, escrita de texto no estilo de um autor particular):
    • Recomenda-se o Few-shot Learning.
    • Os exemplos ajudam o modelo a captar o estilo, formato e estrutura de saída desejados.
  • Para tarefas simples com instruções claras (tradução, sumarização, respostas a perguntas simples):
    • O Zero-shot Learning é frequentemente suficiente.
    • Os modelos modernos lidam bem com essas tarefas se elas fizeram parte de seu pré-treinamento.
  • Para tarefas onde o formato de saída é importante (geração de JSON, extração de entidades):
    • Recomenda-se o One-shot ou Few-shot Learning.
    • Mesmo um único exemplo pode definir claramente a estrutura de resposta necessária, evitando erros de formatação.

Vantagens e Desvantagens

Comparação das vantagens e desvantagens do ICL
Vantagens Desvantagens
  • Flexibilidade e velocidade: Adaptação instantânea a novas tarefas sem a necessidade de retreinamento.
  • Economia de recursos: Não requer coleta de dados, rotulagem e poder computacional para ajuste fino.
  • Acessibilidade: Permite que usuários sem experiência em ML configurem modelos usando exemplos de texto simples.
  • Limitações da janela de contexto: O número de exemplos é limitado pelo comprimento máximo do contexto do modelo.
  • Sensibilidade aos exemplos: O resultado depende fortemente da qualidade, ordem e formato das demonstrações fornecidas.
  • Custos elevados na inferência: Prompts longos com muitos exemplos aumentam o custo e o tempo de geração.
  • Riscos de segurança: Fornecer informações confidenciais como exemplos pode não ser seguro.

Comparação com Outros Paradigmas

ICL vs. Fine-tuning

O Fine-tuning (ajuste fino) modifica os pesos do modelo, "imprimindo" novos conhecimentos nele. Isso torna o modelo um especialista em uma área restrita, mas reduz sua flexibilidade geral. O ICL, por outro lado, não altera os pesos e é mais flexível, mas pode ter um desempenho inferior em tarefas altamente especializadas que exigem profundo conhecimento do domínio.

ICL vs. RAG (Retrieval-Augmented Generation)

Ambos os métodos expandem o contexto do modelo, mas para finalidades diferentes:

  • O ICL usa exemplos para ensinar o modelo a como executar uma tarefa (demonstração de habilidade).
  • O RAG usa informações recuperadas para informar o modelo sobre fatos necessários para a resposta (fornecimento de conhecimento).

Na prática, o ICL e o RAG são frequentemente combinados para obter os melhores resultados.

Literatura

  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
  • Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
  • Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
  • Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
  • Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
  • Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
  • Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
  • Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
  • Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
  • Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
  • Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.

Notas