Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
lm-evaluation-harness
Commits
4bff76d5
Commit
4bff76d5
authored
Dec 13, 2023
by
lintangsutawika
Browse files
fixed stderr for metrics like brier_score
parent
5da401b0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
14 deletions
+25
-14
lm_eval/evaluator.py
lm_eval/evaluator.py
+25
-14
No files found.
lm_eval/evaluator.py
View file @
4bff76d5
...
...
@@ -487,16 +487,24 @@ def evaluate(
# For unweighted averaging, use:
# current_size = 1
# TODO: Tasks like brier score for individual
# tasks have no stderr since the score is
# itself an aggregation. But it's possible to
# calculate the stderr over groups
all_stderr
=
[]
for
metric
in
[
key
for
key
in
metrics
.
keys
()
if
"_stderr"
not
in
key
]:
stderr
=
"_stderr,"
.
join
(
metric
.
split
(
","
))
stderr_score
=
results
[
task
][
stderr
]
var_score
=
stderr_score
**
2
metric_score
=
results
[
task
][
metric
]
if
stderr_score
==
"N/A"
:
var_score
=
"N/A"
else
:
var_score
=
stderr_score
**
2
all_stderr
.
append
(
stderr
)
all_stderr
.
append
(
stderr
)
metric_score
=
results
[
task
][
metric
]
if
metric
in
results
[
group
]:
results
[
group
][
metric
]
=
(
...
...
@@ -504,17 +512,20 @@ def evaluate(
+
metric_score
*
current_size
)
/
(
total_size
+
current_size
)
# $$s_z^2 = \frac{(n-1) s_x^2 + (m-1) s_y^2}{n+m-1} + \frac{nm(\bar x - \bar y)^2}{(n+m)(n+m-1)}.$$
results
[
group
][
stderr
]
=
(
(
total_size
-
1
)
*
results
[
group
][
stderr
]
+
(
current_size
-
1
)
*
var_score
)
/
(
total_size
+
current_size
-
1
)
+
total_size
*
current_size
/
(
(
total_size
+
current_size
)
*
(
total_size
+
current_size
-
1
)
)
*
(
results
[
group
][
metric
]
-
metric_score
)
**
2
if
var_score
==
"N/A"
:
results
[
group
][
stderr
]
=
"N/A"
else
:
results
[
group
][
stderr
]
=
(
(
total_size
-
1
)
*
results
[
group
][
stderr
]
+
(
current_size
-
1
)
*
var_score
)
/
(
total_size
+
current_size
-
1
)
+
total_size
*
current_size
/
(
(
total_size
+
current_size
)
*
(
total_size
+
current_size
-
1
)
)
*
(
results
[
group
][
metric
]
-
metric_score
)
**
2
else
:
results
[
group
][
metric
]
=
metric_score
results
[
group
][
stderr
]
=
var_score
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment