Aprendizado em contexto
In-context Learning (ICL)
Comportamento
IntermediárioCategoria: Aprendizado e tarefas de MLSubcategoria: Paradigmas de aprendizado
O que significa
É a capacidade de um modelo de linguagem executar uma tarefa nova apenas a partir das instruções e dos exemplos incluídos no prompt, sem que seus parâmetros sejam alterados. O modelo “aprende” a tarefa durante a própria conversa, e esse aprendizado dura apenas aquela solicitação.
Existem graus dessa capacidade. Zero-shot é quando o modelo recebe só a instrução. One-shot, quando recebe um exemplo. Few-shot, quando recebe alguns exemplos que mostram o padrão esperado de entrada e saída.
Foi a observação dessa capacidade no GPT-3, em 2020, que mostrou que modelos grandes o suficiente podem ser adaptados a novas tarefas sem treinamento adicional, o que abriu caminho para a engenharia de prompt como prática.
Como usar na prática de produto
Em Produto, aprendizado em contexto é o que torna possível criar uma funcionalidade de IA em horas em vez de semanas. Em vez de coletar dados e treinar um modelo, o time descreve a tarefa e mostra alguns exemplos no prompt.
Por exemplo, para classificar o tom de mensagens de clientes, é possível incluir no prompt cinco mensagens já classificadas e pedir que o modelo classifique a próxima. Para padronizar o formato de uma resposta, basta mostrar duas ou três respostas-modelo.
O cuidado é com a qualidade dos exemplos: eles definem o comportamento do modelo. Exemplos ruins, inconsistentes ou pouco representativos contaminam a saída. E, como cada chamada precisa carregar os exemplos, prompts muito longos aumentam custo e latência.
Quando usar este termo ou outro
Use aprendizado em contexto (ou few-shot) quando quiser adaptar o modelo a uma tarefa rapidamente, com poucos exemplos e sem treinar nada.
Use fine-tuning quando o prompt com exemplos ficou longo demais, caro demais ou instável, e o comportamento precisa ser incorporado ao modelo de forma permanente.
Use RAG quando o que falta ao modelo é conhecimento, e não a forma de executar a tarefa.
Uma forma simples de diferenciar: aprendizado em contexto ensina pelo prompt, e o efeito dura uma chamada; fine-tuning ensina pelo treinamento, e o efeito fica no modelo.
Exemplos de aplicação
- Classificação de tom: incluir cinco e-mails já classificados no prompt e pedir a classificação de um novo.
- Padronização de formato: mostrar três exemplos de resposta no formato desejado.
- Extração de dados: apresentar um exemplo de texto e do JSON esperado como saída.
- Tradução de estilo: mostrar como transformar um texto técnico em linguagem simples.
- Roteamento: dar exemplos de solicitações e das áreas para onde cada uma deve ir.
- Protótipos: validar rapidamente se uma tarefa é viável antes de investir em treinamento.
Origem do termo
Observado e nomeado em Brown et al., Language Models are Few-Shot Learners (GPT-3, 2020).
Fonte técnica
Brown et al., Language Models are Few-Shot Learners (2020)
