Может ли Few-shot работать в длинном контексте? Переработка контекста для генерации демонстраций
Can Few-shot Work in Long-Context? Recycling the Context to Generate Demonstrations
June 19, 2024
Авторы: Arie Cattan, Alon Jacovi, Alex Fabrikant, Jonathan Herzig, Roee Aharoni, Hannah Rashkin, Dror Marcus, Avinatan Hassidim, Yossi Matias, Idan Szpektor, Avi Caciularu
cs.AI
Аннотация
Несмотря на недавние достижения в области больших языковых моделей (Large Language Models, LLM), их производительность на задачах, требующих учета длинных контекстов, остается недостаточной. Обучение в контексте (In-Context Learning, ICL) с несколькими примерами обучения может быть привлекательным решением для улучшения производительности LLM в данной ситуации; Однако наивное добавление примеров ICL с длинным контекстом вносит вызовы, включая значительное увеличение токенов для каждого примера обучения и несоответствие контекста между демонстрациями и целевым запросом. В данной работе мы предлагаем автоматически генерировать несколько примеров обучения для задач вопрос-ответ с длинным контекстом путем повторного использования контекстов. Конкретно, учитывая длинный входной контекст (1-3 тыс. токенов) и запрос, мы генерируем дополнительные пары запрос-ответ из заданного контекста в качестве нескольких примеров обучения, при этом контекст вводится только один раз. Это обеспечивает использование демонстраций тем же контекстом, что и целевой запрос, при этом добавляется лишь небольшое количество токенов к подсказке. Мы дополнительно улучшаем каждую демонстрацию, указывая модели явно идентифицировать соответствующие абзацы перед ответом, что улучшает производительность, обеспечивая детальную атрибуцию источнику ответа. Мы применяем наш метод к нескольким LLM и получаем существенные улучшения (+23\% в среднем по моделям) на различных наборах данных вопрос-ответ с длинным контекстом, особенно когда ответ находится посреди контекста. Удивительно, несмотря на введение только однократных примеров ICL, LLM также успешно обобщаются на многократные вопросы-ответы с длинным контекстом с использованием нашего подхода.
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.Summary
AI-Generated Summary