Será que o Few-shot funciona em Contextos Longos? Reciclar o Contexto para Gerar Demonstrativos
Can Few-shot Work in Long-Context? Recycling the Context to Generate Demonstrations
June 19, 2024
Autores: Arie Cattan, Alon Jacovi, Alex Fabrikant, Jonathan Herzig, Roee Aharoni, Hannah Rashkin, Dror Marcus, Avinatan Hassidim, Yossi Matias, Idan Szpektor, Avi Caciularu
cs.AI
Resumo
Apesar dos avanços recentes em Modelos de Linguagem de Grande Escala (LLMs), seu desempenho em tarefas envolvendo contextos longos permanece subótimo. A Aprendizagem em Contexto (ICL) com exemplos de poucas amostras pode ser uma solução atraente para aprimorar o desempenho do LLM nesse cenário; No entanto, adicionar exemplos de ICL com contexto longo de forma ingênua apresenta desafios, incluindo uma sobrecarga substancial de tokens adicionada para cada exemplo de poucas amostras e uma discrepância de contexto entre as demonstrações e a consulta alvo. Neste trabalho, propomos gerar automaticamente exemplos de poucas amostras para tarefas de QA com contexto longo por meio da reciclagem de contextos. Especificamente, dado um contexto de entrada longo (1-3k tokens) e uma consulta, geramos pares adicionais de consulta-resposta a partir do contexto fornecido como exemplos de poucas amostras, introduzindo o contexto apenas uma vez. Isso garante que as demonstrações estejam aproveitando o mesmo contexto da consulta alvo, adicionando apenas um pequeno número de tokens ao prompt. Aprimoramos ainda mais cada demonstração instruindo o modelo a identificar explicitamente os parágrafos relevantes antes da resposta, o que melhora o desempenho ao fornecer uma atribuição detalhada à fonte da resposta. Aplicamos nosso método em vários LLMs e obtivemos melhorias substanciais (+23\% em média entre os modelos) em diversos conjuntos de dados de QA com contexto longo, especialmente quando a resposta está no meio do contexto. Surpreendentemente, apesar de introduzir apenas exemplos de ICL de salto único, os LLMs também generalizam com sucesso para QA de contexto longo de múltiplos saltos usando nossa abordagem.
English
Despite recent advancements in Large Language Models (LLMs), their
performance on tasks involving long contexts remains sub-optimal. In-Context
Learning (ICL) with few-shot examples may be an appealing solution to enhance
LLM performance in this scenario; However, naively adding ICL examples with
long context introduces challenges, including substantial token overhead added
for each few-shot example and context mismatch between the demonstrations and
the target query. In this work, we propose to automatically generate few-shot
examples for long context QA tasks by recycling contexts. Specifically, given a
long input context (1-3k tokens) and a query, we generate additional
query-output pairs from the given context as few-shot examples, while
introducing the context only once. This ensures that the demonstrations are
leveraging the same context as the target query while only adding a small
number of tokens to the prompt. We further enhance each demonstration by
instructing the model to explicitly identify the relevant paragraphs before the
answer, which improves performance while providing fine-grained attribution to
the answer source. We apply our method on multiple LLMs and obtain substantial
improvements (+23\% on average across models) on various QA datasets with long
context, especially when the answer lies within the middle of the context.
Surprisingly, despite introducing only single-hop ICL examples, LLMs also
successfully generalize to multi-hop long-context QA using our approach.