A Circuit for In-Context Learning
Este artigo identifica e valida causalmente um circuito neural específico e conservado em modelos transformer que possibilita o aprendizado em contexto para classificação de sentenças de poucos disparos ao implementar um mecanismo de memória associativa com portão onde cabeças de camadas médias armazenam mapeamentos de classe-rótulo e cabeças de camadas superiores os recuperam com base em correspondências de consulta.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine um modelo de linguagem como uma vasta biblioteca de conhecimento humano, treinada em bilhões de frases. Quando você faz uma pergunta, ele geralmente responde com base no que memorizou. Mas existe um truque especial que ele pode realizar chamado "aprendizado em contexto" (in-context learning). Se você mostrar ao modelo alguns exemplos de uma nova tarefa logo antes de fazer sua pergunta — como mostrar a ele uma dúzia de frases pareadas com rótulos inventados — ele pode aprender instantaneamente o padrão e aplicar à sua nova frase, sem nunca alterar seus pesos internos ou ser retreinado. Ele descobre a regra em um único momento de leitura. Por anos, cientistas souberam que isso acontecia, mas não sabiam como a máquina realmente o fazia. Eles podiam ver o resultado, mas as engrenagens girando dentro da caixa escura permaneciam um mistério.
Uma equipe de pesquisadores agora abriu essa caixa e mapeou a maquinaria exata por trás dessa habilidade. Ao estudar três modelos de linguagem de grande escala diferentes, eles descobriram que o modelo não "aprende" uma regra no sentido tradicional. Em vez disso, ele constrói uma memória temporária dentro do próprio prompt, usando um conjunto específico de cabeças de atenção — unidades de processamento especializadas dentro da rede — para agir como escritores, leitores e guardiões. Eles descobriram que o modelo trata os exemplos que você fornece como um sistema de memória de chave-valor. Quando você mostra uma frase seguida por um rótulo, o modelo escreve a identidade desse rótulo em um slot específico de sua memória, enquanto simultaneamente escreve uma "chave" que descreve o tipo de frase que acabou de ver. Mais tarde, quando o modelo encontra a pergunta final, ele computa um código para essa pergunta e o utiliza para pesquisar em sua memória temporária, combinando o tipo da pergunta contra as chaves que armazenou anteriormente para recuperar o rótulo correto.
Os pesquisadores rastrearam esse processo passo a passo, usando um método que permitiu trocar partes da atividade interna do modelo entre diferentes prompts para ver quais peças eram essenciais. Eles descobriram que cerca de vinte cabeças de camadas intermediárias atuam como escritores, pegando a classe de cada frase de demonstração e depositando-a no slot de memória do rótulo seguinte. Então, cerca de noventa cabeças de camadas superiores atuam como leitores. Esses leitores escaneiam a memória, procurando por slots onde a chave armazenada corresponde à classe da pergunta atual. Quando encontram uma correspondência, copiam o rótulo daquele slot para a resposta final. No entanto, este sistema de recuperação não está sempre ativo. Os pesquisadores descobriram um "portão" (gate) que decide se deve ler a memória ou não. Esse portão verifica se algum rótulo nos exemplos apareceu mais de uma vez. Se um rótulo se repete, o portão se abre, permitindo que os leitores pesquisem a memória. Se nenhum rótulo se repete, o portão permanece fechado, e o modelo opta por ignorar os exemplos, um comportamento que evita que ele adivinhe aleatoriamente quando não existe um padrão claro.
Para garantir que o modelo responda corretamente, outro conjunto de cerca de duas dúzias de cabeças atua como "freios". Essas cabeças trabalham contra o rótulo visto mais recentemente, impedindo que o modelo simplesmente copie o último exemplo que leu, um viés comum conhecido como recência. Sem esses freios, o modelo frequentemente ignoraria o padrão e apenas repetiria o último rótulo que viu. Os pesquisadores também descobriram que o modelo depende de um "sumidouro" (sink), uma posição padrão para onde a atenção vai quando não há algo específico para focar. O portão funciona diminuindo a atração para este sumidouro, forçando os leitores a olhar para os slots de memória reais.
O que torna esta descoberta particularmente robusta é que os pesquisadores não apenas observaram o comportamento; eles o provaram cortando conexões. Quando bloquearam os escritores, o modelo não conseguiu armazenar as chaves. Quando bloquearam os leitores, ele não conseguiu encontrá-las. Quando removeram o portão, o modelo tentou ler a memória mesmo quando não havia um padrão, levando a erros. Eles até construíram uma versão minúscula e codificada manualmente deste circuito do zero, e ela funcionou exatamente como previsto, confirmando que essas partes específicas são suficientes para realizar a tarefa. O estudo também revelou que, embora as cabeças específicas que realizam esses trabalhos variem ligeiramente entre diferentes modelos, a arquitetura geral do circuito permanece a mesma.
A descoberta mais surpreendente diz respeito a como o modelo lida com o tamanho da tarefa. Os pesquisadores descobriram que o modelo não depende de uma única cabeça poderosa para fazer todo o trabalho. Em vez disso, a tarefa é compartilhada entre muitas cabeças trabalhando juntas. Nenhuma cabeça de leitura individual é forte o suficiente para produzir a resposta final por conta própria; o modelo precisa da saída combinada de dezenas delas para gerar uma previsão confiante. Isso explica por que o modelo usa populações tão grandes de cabeças para esta tarefa. Além disso, o estudo mostrou que, à medida que os modelos aumentam de tamanho, eles não inventam novas partes para resolver o problema. Em vez disso, eles simplesmente fortalecem as populações existentes. Os "freios" que impedem o modelo de ser enviesado pelo exemplo mais recente tornam-se mais fortes em modelos maiores, razão pela qual modelos maiores são melhores em seguir o padrão nos exemplos em vez de depender de seu próprio conhecimento prévio sobre o significado das palavras.
Este trabalho muda nossa compreensão de como a inteligência artificial aprende a partir do contexto. Sugere que o modelo não está deduzindo regras magicamente ou realizando atualizações matemáticas complexas. Em vez disso, está realizando uma busca mecânica altamente organizada. Ele escreve informações em uma memória temporária, verifica se um padrão existe e, então, recupera a resposta com base nesse padrão. Os pesquisadores mostraram que este mecanismo é consistente entre diferentes tamanhos de modelos e até sobrevive quando o modelo é ajustado (fine-tuned) para outras tarefas. A capacidade de aprender a partir de poucos exemplos não é uma propriedade emergente misteriosa, mas um circuito concreto e rastreável construído a partir de componentes identificáveis que podem ser medidos, manipulados e compreendidos.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.