File size: 23,973 Bytes
3b36d93 ded6e1f 3b36d93 a3c1f53 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f a3c1f53 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f 3b36d93 ded6e1f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="Dataset to evaluate Grounded QA evaluators">
<meta name="keywords" content="GroUSE">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GroUSE: A Benchmark to Evaluate Evaluators in Grounded Question
Answering</title>
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro" rel="stylesheet">
<link rel="stylesheet" href="./static/css/bulma.min.css">
<!-- <link rel="stylesheet" href="./static/css/bulma-carousel.min.css"> -->
<!-- <link rel="stylesheet" href="./static/css/bulma-slider.min.css"> -->
<link rel="stylesheet" href="./static/css/fontawesome.all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
<link rel="stylesheet" href="./static/css/index.css">
<link rel="icon" href="./static/images/favicon.svg">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script defer src="./static/js/fontawesome.all.min.js"></script>
<script src="./static/js/bulma-carousel.min.js"></script>
<script src="./static/js/bulma-slider.min.js"></script>
<script src="./static/js/index.js"></script>
</head>
<body>
<section class="hero">
<div class="hero-body">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column has-text-centered">
<h1 class="title is-1 publication-title">GroUSE: A Benchmark to Evaluate Evaluators in Grounded Question
Answering</h1>
<div class="is-size-5 publication-authors">
<span class="author-block">
<a href="https://www.linkedin.com/in/sacha-muller/" target="_blank">Sacha Muller</a>,</span>
<span class="author-block">
<a href="https://www.linkedin.com/in/antonio-loison/" target="_blank">António
Loison</a>,</span>
<span class="author-block">
<a href="https://www.linkedin.com/in/bilel-omrani/" target="_blank">Bilel Omrani</a>,
</span>
<span class="author-block">
<a href="https://www.linkedin.com/in/gautier-viaud/" target="_blank">Gautier Viaud</a>,
</span>
</div>
<div class="is-size-5 publication-authors">
<span class="author-block">Illuin Technology</span>
</div>
<div class="column has-text-centered">
<div class="publication-links">
<span class="link-block">
<a href="https://arxiv.org/pdf/2409.06595" target="_blank"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fas fa-file-pdf"></i>
</span>
<span>Paper</span>
</a>
</span>
<span class="link-block">
<a href="https://arxiv.org/abs/2409.06595" target="_blank"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="ai ai-arxiv"></i>
</span>
<span>arXiv</span>
</a>
</span>
<!-- Code Link. -->
<span class="link-block">
<a href="https://github.com/illuin-tech/grouse" target="_blank"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fab fa-github"></i>
</span>
<span>Code</span>
</a>
</span>
<!-- Dataset Link. -->
<span class="link-block">
<a href="https://huggingface.co/datasets/illuin/grouse" target="_blank"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fas fa-database"></i>
</span>
<span>Dataset</span>
</a>
</span>
<!-- Dataset Link. -->
<span class="link-block">
<a href="https://huggingface.co/illuin/llama-3-grouse" target="_blank"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fas fa-robot"></i>
</span>
<span>Model</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<!-- Abstract. -->
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">Context</h2>
<p>
Grounded Question Answering (QA) is usually the last step of a RAG pipeline: given a question and a set of
documents retrieved from the corpus, an LLM must generate an answer. We expect the LLM to cite which
document each piece of information is coming from, as depicted below. When no precise answer is in the
documents, the LLM should indicate it in its answer. In that case, if some related information is
available in the documents, the LLM can add it to the answer to show the corpus is not completely
off-topic with respect to the question.
</p>
<p align="center">
<img src="./static/images/grounded_qa_cases.png"
alt="Schema showing an example depending on whether the references contain a precise answer, only related information or no information. For each case there is an example of references and ground truth answer. The question is common to the three cases : What is the relationship between Pluto and Neptune. Case 1 : the references contain a precise answer. Reference 1 : More than 200 objects in 2:3 resonance are known (meaning they complete exactly 2 revolutions around the Sun when Neptune completes 3), among which are Pluto and its moons. Reference 2 : Pluto’s axis of rotation is tilted at 57.5 degrees relative to its orbital plane, which is quite high and unusual in the Solar System. Reference 3 : On the left: view of a cardiac cycle, of a systolic-diastolic oscillating flow, characteristic of circulatory arrest. Ground truth answer : The 3:2 orbital resonance relationship between Pluto and Neptune means that for every 3 revolutions of Neptune around the Sun, Pluto completes 2 [reference 1 citation]. Case 2 : References only contain related information. The reference 1 containing a precise information was removed, the two others are left. Ground truth answer : No document seems to precisely answer your question. However, the documents indicate that : Pluto’s axis of rotation is tilted at 57.5 degrees [reference 2 citation]. Case 3 : References contain no answer nor related information. Reference 1 and 2 were removed, only reference 3 which is off topic if left. Ground truth answer : No document seems to precisely answer your question."
style="width:800px;" />
</p>
<p>
This task is difficult to evaluate due to the wide variety of errors an answer can contain, such as
superfluous information, missing relevant details from references, incorrect claims that no document
answers the question, citation mistakes and so on. Some attempts to define metrics and automatize the
evaluation of this task have been made (RAGAS, DeepEval), however, these approaches didn't cover all the
failure modes we were interested in.
</p>
<p>
Most of these approaches rely heavily on the <em>LLM-as-a-Judge</em> method. While this technique can be
powerful, it is crucial to first assess the ability of an LLM to accurately evaluate this Grounded QA task
with respect to our metrics.
</p>
<p>
It is tempting to consider using an LLM to verify the evaluations generated by an evaluator LLM (which was
assessing LLM's answers). However, this could quickly lead down a rabbit hole of endless AI-on-AI
evaluations. This is why we developed <strong>GroUSE: a unit testing suite designed to evaluate the
evaluators</strong>
<em>(pronounced "graouse")</em>.
</p>
<p align="center">
<img src="./static/images/meme.jpeg"
alt="This image is a two-panel meme: on the left panel, a man labeled 'Grounded QA LLM,' stands confidently. Behind him, a menacing muscular figure labeled 'Evaluator LLM' is holding a bat. On the right panel: the same 'Grounded QA LLM' and 'Evaluator LLM' appear again, but now they are dwarfed by an even larger, more muscular figure labeled 'Grouse'."
style="width:450px;" />
</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">The GroUSE dataset</h2>
<p>
GroUSE (Grounded QA Unitary Scoring of Evaluators) is a dataset of unitary tests used to check if a
Grounded QA evaluator is giving the scores we expect. Each test contains:
</p>
<ul>
<li>a Grounded QA sample (consisting of a question and references),</li>
<li>a ground truth answer to the question,</li>
<li>an answer to evaluate (which may or may not contain an error),</li>
<li>a list of expected grades.</li>
</ul>
<p align="center">
<img src="./static/images/one_sample.png"
alt="This image is titled 'A simplified sample of GroUSE' and showcases an example of how to evaluate the accuracy and relevance of an answer. The structure is divided into five main sections: 1) Question: 'What is the relationship between Pluto and Neptune?'. 2) A list of two references. Reference 1: 'More than 200 objects in 2:3 resonance are known (meaning they complete exactly 2 revolutions around the Sun when Neptune completes 3), among which are Pluto and its moons.' Reference 2: 'Pluto rotates on its axis every 6.387 days, which is 6 days, 9 hours, and 17 minutes. Its axis of rotation is tilted at 57.5 degrees relative to its orbital plane, which is quite high and unusual in the Solar System.' 3) Ground Truth Answer: 'The 3:2 orbital resonance relationship between Pluto and Neptune means that for every 3 revolutions of Neptune around the Sun, Pluto completes 2 [reference 1 citation].' 4) Answer to Evaluate: 'The 3:2 orbital resonance relationship between Pluto and Neptune means that for every 3 revolutions of Neptune around the Sun, Pluto completes 2 [reference 1 citation]. Pluto’s axis of rotation is tilted at 57.5 degrees [reference 2 citation].' 5) Expected Notes: A rating system different evaluation criteria: Answer Relevancy: less than 4 (indicated in orange). Completeness: 5 (green). Useful: undefined (grey). Faithfulness: 1 (green). Positive Acceptance: undefined (grey). Negative Rejection: undefined (grey)."
style="width:600px;" />
</p>
<p>
In our framework, judge LLMs evaluate the quality of a grounded QA answer according to 6 metrics intended
to capture all the failure modes of the task:
</p>
<p>
<ul>
<li><strong>Answer relevancy</strong> assesses the relevance of the information provided in the answer
regarding the question, using a Likert scale (1 to 5).</li>
<li><strong>Completeness</strong> also uses a Likert scale to evaluate whether all relevant information
from
the documents is present in the answer.</li>
<li><strong>Faithfulness</strong> is a binary score that checks if all facts in the answer are accurate
and
correctly attributed to the corresponding document.</li>
<li><strong>Usefulness</strong> is only evaluated when the answer states there is no precise answer in the
references and provides related information. It is a binary score that determines if the additional
information is indeed useful and relevant to the question.</li>
<li><strong>Positive Acceptance</strong> and <strong>Negative Rejection</strong> are binary scores
indicating a true positive and a true negative respectively in identifying whether the question is
answerable.</li>
</ul>
</p>
<p>
The GroUSE dataset comprises <strong>144 samples organized into 9 sets</strong>. Each set addresses the
same question
and draws from largely similar references, with slight variations in the answers. These small
modifications are tailored to fit a predefined typology of 16 test types, which are designed to assess
whether an evaluator correctly penalizes all failure modes and rewards accurate answers across a diverse
range of scenarios. The image below displays four samples along with their corresponding test types. For
instance, test type 14 assesses whether the faithfulness score is set to 0 when there is a citation
mistake.
</p>
<p align="center">
<img src="./static/images/schema_unit_test_blog.png"
alt="Schema showing four type of tests. Type 1: A perfect answer should get the highest notes. Type 2: Related information is not mandatory to get the highest notes. Type 9: Answering in an adversarial situation should result in low negative rejection. Type 14: An error in the citations leads to minimal faithfulness."
style="width:1000px;" />
</p>
<p>
GroUSE includes an additional set of tests meant to help users engineer their prompts and try to obtain
the best evaluator possible before checking its performances on the 9 other sets. Using this "train set",
we iterated on the prompts, making our best effort to craft the best prompts possible for each of the
tested models before measuring how many tests they passed. The "train set" is kept small to imitate the
real-world scenario where the user has a limited number of samples to optimize its prompts.
</p>
</div>
</div>
</div>
</section>
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">Benchmarking the evaluation abilities of models</h2>
<p>
The structure of the GroUSE dataset allows for presenting a model's results in a matrix format, where each
row represents the model's performance on a specific test type, and each column corresponds to its
performance on a particular question. This format reveals, for example, that GPT-4 struggles with test type
16, which involves an answer containing information that distorts one of the references, leading to a low
expected faithfulness but good relevancy and good completeness. Moreover, Llama-3 70B struggles the most
with test type 7, a test in which we include an *absurd* fact in the references and mention this fact in the
answer. Despite the fact seeming incorrect, since it's present in the references, high scores are expected.
Test type 7 allows to check that the model doesn't use its internal knowledge and refers solely to the
references to evaluate the metrics.
</p>
<p align="center">
<img src="./static/images/matrices.png"
alt="12 matrices arranged in two rows of six. The two rows correspond to GPT-4 and LLama-3 70b, the six columns represent the six metrics: answer relevancy, completeness, usefulness, faithfulness, positive acceptance and negative rejection. Each matrix contains 144 small squares, blue if the test passed, red if the test failed, orange if the output was not parsable. We can see that there are more red squares on Llama-3 70b row, especially in the completeness column."
style="width:1000px;" />
</p>
<p>
For a more compact view, we can also calculate the percentage of tests each model passes for each metric:
</p>
<p align="center">
<img src="./static/images/result_table.png"
alt="A table with the agreement rate of each metric, for a list of models." style="width:800px;" />
</p>
<p>
The strongest evaluator models are GPT-4 for closed-weights models, with a pass rate of 95%, and Llama-3 70b
for open-weights with 79%. The human performance on this dataset is 98%. The hardest metric to evaluate is
completeness, for LLMs and humans alike.
</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">Improving an open source model</h2>
<p>
To demonstrate the gap between open-weights and closed-weights models can be narrowed, we finetuned a
Llama-3 8b model on traces of evaluations by GPT-4. Aiming to develop a model capable of solving the
task in a single call, we concatenated the metric-specific responses from GPT-4 into a single output and
followed a similar process for the input, resulting in a dataset of 1200 samples. We finetuned the
Llama-3 8b on 1k samples of this dataset, and used the rest as a test set. We measured the model's
progression both on GroUSE and by measuring the correlation between GPT-4's grades and the finetuned
model's grades on the test set.
</p>
<p align="center">
<img src="./static/images/correlation_table.png"
alt="A table with the correlation between a list of models and GPT-4's evaluation."
style="width:700px;" />
</p>
<p>
Finetuning significantly enhances the evaluation capabilities of Llama-3, as evidenced by the
substantial improvement in pass rates, going from a 40% to a 83% test pass rate. A similar progress can
be seen on the correlation measures, however it is worth noting that the finetuned model has similar
correlation levels than the 0-shot Llama-3 8b with evaluating one metric per prompt. Although this
approach demonstrated significant improvements, it would be beneficial to explore the effects of
finetuning larger models, which could potentially yield even better performance.
</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">Improving an open source model</h2>
<p>
Our results reveal a discrepancy between GroUSE pass rates and correlation with GPT-4's grades. While
Prometheus 2 7b and finetuned Llama-3 8b show similar correlations with GPT-4 on answer relevancy, their
GroUSE pass rates differ significantly, with Llama-3 8b outperforming Prometheus 2 7b.
Confusion matrices reveal that Prometheus 2 has better overall agreement with GPT-4 but struggles with
extreme cases (1, 5 and NaN cases), while finetuned Llama-3 excels in extreme cases but lacks
correlation in intermediate ones.
</p>
<p align="center">
<img src="./static/images/confusion_matrixes.png" alt="" style="width:350px;" />
</p>
<p>
This finding suggests that a high correlation with GPT-4's judgments does not necessarily equate to a
high unit test pass rate. A judge model can share the same relative preferences as GPT-4 (indicated by
strong rank correlation) but still lack the same calibration on precise reference cases (very good
answers, subtle mistakes, etc.), resulting in poor performance on judgment unit tests.
</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="content has-text-justified">
<h2 class="title is-3">Conclusion</h2>
<p>
To conclude briefly:
</p>
<ul>
<li>GroUSE is a dataset that allows to check if a model attributes the expected score on a wide range of
cases.</li>
<li>Using the LLM-as-a-Judge approach, GPT-4 was the strongest closed weights evaluator and Llama-3 70B
the best open weights evaluator.</li>
<li>We demonstrated that a model evaluation abilities can improve with finetuning on a stronger model's
evaluations. </li>
<li>We showed that correlation with a strong evaluator does not necessarily imply a good score on the
unit tests. These measures are complementary: correlation with GPT-4 indicates agreement in relative
preference, while GroUSE pass rate measures precise calibration on practical reference cases.</li>
</ul>
<p>
If you want to evaluate your RAG pipeline with our GPT-4 prompts, or even meta-evaluate your RAG
evaluator on GroUSE, a python package is available at
<a href="https://github.com/illuin-tech/grouse">github.com/illuin-tech/grouse</a> !
</p>
</div>
</div>
</div>
</section>
<section class="section" id="BibTeX">
<div class="container is-max-desktop content">
<h2 class="title">BibTeX</h2>
<pre><code>@misc{muller2024grouse,
title={GroUSE: A Benchmark to Evaluate Evaluators in Grounded Question Answering},
author={Sacha Muller and António Loison and Bilel Omrani and Gautier Viaud},
year={2024},
eprint={2409.06595},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2409.06595},
}</code></pre>
</div>
</section>
</body>
</html> |