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>