In-context learning é a capacidade de um modelo de linguagem de adaptar seu comportamento a uma nova tarefa com base apenas no conteúdo de seu prompt, sem qualquer atualização nos parâmetros do modelo. Um usuário pode fornecer instruções, exemplos ou documentos de apoio dentro da janela de contexto de uma única conversa, e o modelo condicionará sua próxima saída a esse material como se tivesse sido treinado para a tarefa, mesmo que nenhum treinamento tenha ocorrido de fato. É o mecanismo subjacente tanto ao prompting de aprendizado com poucos exemplos quanto ao de aprendizado com zero exemplos, e é um dos comportamentos mais consequentes observados em sistemas modernos de modelo de linguagem de grande porte baseados em Transformer (architecture).
O fenômeno foi destacado de forma proeminente no artigo de 2020 sobre o GPT-3, que mostrou que um modelo pré-treinado suficientemente grande podia executar novas tarefas a partir de um punhado de exemplos no prompt, sem atualizações de gradiente. Como isso parecia superficialmente que o modelo estava "aprendendo" em uma única passagem direta, o termo in-context learning foi adotado para distingui-lo do aprendizado comum em tempo de treinamento, que altera os pesos, e do aprendizado por transferência ou ajuste fino, que também exigem uma etapa explícita de otimização em dados específicos da tarefa.
Como funciona
Não existe uma única explicação mecanicista estabelecida para o in-context learning, mas várias abordagens complementares são amplamente citadas. Uma visão o trata como uma forma de correspondência de padrões implícita: como o corpus de pré-treinamento do modelo contém inúmeros exemplos de tarefas sendo explicadas, demonstradas e resolvidas em texto, o modelo aprendeu um procedimento geral para continuar sequências de "tarefa, exemplos e depois uma nova instância" de uma maneira que satisfaz o padrão implícito. Uma linha mais mecanicista de pesquisa em interpretabilidade propôs que o mecanismo de atenção dentro dos transformers pode implementar internamente algo semelhante a um algoritmo de aprendizado simples, efetivamente realizando uma forma leve de conclusão de padrões ou até mesmo um cálculo semelhante a descida de gradiente através dos tokens no prompt, embora isso permaneça uma área ativa e contestada de estudo, conectada à pesquisa mais ampla de interpretabilidade. O in-context learning também está intimamente ligado ao surgimento de capacidades com escala, discutido sob habilidades emergentes, já que modelos menores tendem a se beneficiar muito menos do contexto adicionado do que modelos suficientemente grandes.
Usos
O in-context learning sustenta a maioria dos usos práticos de engenharia de prompt, incluindo demonstrações com poucos exemplos, instruções de papel e persona via um prompt de sistema, e o fornecimento de material de referência diretamente no prompt para que o modelo possa responder a perguntas sobre ele, um padrão que se amplia em geração aumentada por recuperação quando o material de referência é buscado dinamicamente de uma fonte externa em vez de colado manualmente. Também permite a troca rápida de tarefas em uma única conversa: um assistente de chat pode passar de escrever código a traduzir um parágrafo e a resumir um documento apenas porque cada nova instrução recondiciona o comportamento do modelo, sem qualquer retreinamento entre as interações.
Limitações e importância
O in-context learning é limitado pelo tamanho da janela de contexto e tende a degradar à medida que a quantidade de informação no prompt cresce muito ou quando detalhes relevantes estão enterrados no meio de uma entrada longa, um efeito às vezes descrito informalmente como o modelo "perdendo o fio" do contexto. Também não é persistente: como nenhum peso muda, qualquer coisa aprendida no contexto é esquecida assim que a conversa termina ou o contexto é limpo, em contraste com o ajuste fino, que produz uma mudança duradoura no modelo. Apesar dessas limitações, o in-context learning é considerado uma das propriedades mais importantes da arquitetura transformer para implantação prática, pois permite que um único modelo de propósito geral seja reaproveitado para uma gama efetivamente ilimitada de tarefas em tempo de inferência, sem o custo, o atraso ou a infraestrutura que retreinar ou ajustar um modelo exigiria.