📖

O que é Few-Shot Learning?

O few-shot learning permite que modelos de IA dominem novas tarefas a partir de apenas alguns exemplos. Saiba como funciona, porque é importante e onde é utilizado.

Few-shot learning é um paradigma de aprendizagem automática em que se espera que um modelo generalize para uma nova tarefa ou classe após ver apenas um pequeno número de exemplos rotulados, frequentemente apenas um (one-shot) ou nenhum (zero-shot). Contrasta com a aprendizagem supervisionada tradicional, que normalmente requer grandes conjuntos de dados rotulados para alcançar um desempenho forte. A abordagem tornou-se especialmente proeminente com os grandes modelos de linguagem, que conseguem interpretar instruções e exemplos fornecidos diretamente no seu prompt de entrada.

Como funciona o few-shot learning

A maioria dos sistemas modernos de few-shot learning começa com um grande modelo pré-treinado que já absorveu um conhecimento amplo a partir de conjuntos de dados massivos. Para executar uma nova tarefa, o modelo recebe um pequeno conjunto de demonstrações dentro da sua entrada, uma técnica conhecida como in-context learning. Por exemplo, para ensinar um modelo a classificar feedback de clientes como positivo, negativo ou neutro, um programador pode incluir três exemplos rotulados no prompt: "Ótimo serviço!" → positivo, "Resposta lenta." → negativo e "Foi aceitável." → neutro. O modelo aplica então o mesmo padrão a novas entradas não rotuladas, sem qualquer atualização de pesos.

Para além do prompting, o few-shot learning também pode ser implementado através do fine-tuning de um modelo pré-treinado num pequeno conjunto de dados rotulados, ou recorrendo a abordagens de meta-learning que treinam explicitamente um modelo a aprender rapidamente novas tarefas. Em todos os casos, o objetivo é o mesmo: aproveitar conhecimento prévio para que alguns exemplos sejam suficientes para especificar um novo comportamento.

Porque é importante

O few-shot learning reduz drasticamente o custo e o tempo necessários para adaptar a IA a tarefas especializadas. Em domínios onde os dados rotulados são escassos, caros ou sensíveis, como o diagnóstico médico, a revisão jurídica ou a tradução de línguas raras, recolher milhares de exemplos é frequentemente impraticável. Os métodos few-shot tornam viável construir aplicações úteis a partir de poucos exemplos, cuidadosamente escolhidos. Também permitem uma iteração mais rápida, uma vez que as equipas podem criar protótipos e refinar prompts ou fine-tunings sem esperar por grandes projetos de anotação.

Tipos principais

  • One-shot learning: o modelo recebe um único exemplo por classe para aprender.
  • Few-shot learning (k-shot): o modelo recebe um número pequeno, tipicamente entre 2 e 10, de exemplos por classe.
  • Zero-shot learning: o modelo executa a tarefa sem quaisquer exemplos, apoiando-se apenas em instruções ou descrições.
  • Few-shot learning baseado em prompts: os exemplos são fornecidos diretamente no prompt de entrada, conforme popularizado pelo GPT-3 e pelos seus sucessores.
  • Meta-learning: o modelo é explicitamente treinado em muitas tarefas relacionadas para que se possa adaptar a novas tarefas com o mínimo de dados, uma família que inclui métodos como MAML e redes prototípicas.

O few-shot learning é uma das capacidades definidoras dos modelos de fundação modernos e está no cerne de técnicas como prompt engineering, geração aumentada por recuperação e fine-tuning leve como o LoRA. À medida que os modelos base continuam a melhorar, o número de exemplos necessários para um desempenho fiável nas tarefas tende a diminuir, tornando a personalização da IA acessível a equipas sem pipelines dedicadas de anotação de dados.

Perguntas Frequentes

How is few-shot learning different from transfer learning?
Transfer learning is the broader practice of reusing knowledge from one task to help with another, usually by fine-tuning a pre-trained model. Few-shot learning is a specific goal within that umbrella: succeeding at a new task when only a handful of examples are available. Many few-shot systems use transfer learning, but the defining feature is the small data size, not the transfer mechanism itself.
What is the difference between few-shot and zero-shot learning?
Zero-shot learning requires the model to perform a task with no examples at all, relying on instructions, task descriptions, or general world knowledge. Few-shot learning provides a small number of demonstrations, typically 1 to 10, so the model can infer the desired pattern. Zero-shot is more demanding of the base model's reasoning ability, while few-shot tends to be more reliable for narrow or unusual tasks.
How many examples do you need for few-shot learning?
There is no fixed number, but few-shot learning generally uses between 1 and about 10 labeled examples per class, often provided directly in the prompt. More examples usually improve performance up to a point, after which the model's context window or diminishing returns set in. The exact sweet spot depends on the task, the base model, and the quality of the examples.
Is few-shot learning the same as prompt engineering?
Not exactly. Prompt engineering is the practice of crafting inputs to get the best results from a model, and it often includes adding few-shot examples as part of the prompt. Few-shot learning is the broader capability of learning from a few examples, which can be exercised through prompt engineering, fine-tuning, or meta-learning. They overlap heavily in practice but are distinct concepts.