Summary of a Haystack: A Challenge to Long-Context LLMs and RAG Systems
<|reference_start|>Summary of a Haystack: A Challenge to Long-Context LLMs and RAG Systems: LLMs and RAG systems are now capable of handling millions of input tokens or more. However, evaluating the output quality of such systems on long-context tasks remains challenging, as tasks like Needle-in-a-Haystack lack complexity. In this work, we argue that summarization can play a central role in such evaluation. We design a procedure to synthesize Haystacks of documents, ensuring that specific \textit{insights} repeat across documents. The "Summary of a Haystack" (SummHay) task then requires a system to process the Haystack and generate, given a query, a summary that identifies the relevant insights and precisely cites the source documents. Since we have precise knowledge of what insights should appear in a haystack summary and what documents should be cited, we implement a highly reproducible automatic evaluation that can score summaries on two aspects - Coverage and Citation. We generate Haystacks in two domains (conversation, news), and perform a large-scale evaluation of 10 LLMs and corresponding 50 RAG systems. Our findings indicate that SummHay is an open challenge for current systems, as even systems provided with an Oracle signal of document relevance lag our estimate of human performance (56\%) by 10+ points on a Joint Score. Without a retriever, long-context LLMs like GPT-4o and Claude 3 Opus score below 20% on SummHay. We show SummHay can also be used to study enterprise RAG systems and position bias in long-context models. We hope future systems can equal and surpass human performance on SummHay.<|reference_end|>
@article{laban2024summary,
    title={Summary of a Haystack: A Challenge to Long-Context LLMs and RAG Systems},
    author={Philippe Laban and Alexander R. Fabbri and Caiming Xiong and
  Chien-Sheng Wu},
    journal={arXiv preprint arXiv:2407.01370},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.01370},
    primaryClass={cs.CL}
}