Unverified Commit 517aadc4 authored by Lintang Sutawika's avatar Lintang Sutawika Committed by GitHub
Browse files

Group agg rework (#1741)



* add greoup_config arg

* add a group config that allows disabling table for group score and group aggregate in general

* fixed size configuration

* adjust config

* add group config

* adjust mmlu to use group_config

* fixed args input in aggregate_subtask_metrics

* fixed issues related to printing alias of group and updated yaml

* update all mmlu variants to include group_config

* edit format

* modify mmlu tasks

* adjust group to also be a configurable group

* add configurable group

* simplify get_task_list

* adjust group scoring with using ConfigurableGroup

* adjust args

* update mmlu

* update mmlu

* update to work with new group and task configuration

* readd group_agg

* readd files

* move prepare_print_tasks to evaluator_utils

* sort set to False by default, fix predict_only arg

* add version for groups

* reversed task list

* update additional condition when loading a group in a group yaml

* update truthfulqa

* add description regarding tags replacing group

* replace group to tag

* fixed conditional statement

* remove warning

* update loading of task group and newly added tags

* reformat with pre-commit

* fixed info log

* update

* fix bug

* fix bug

* use task id to differentiate tasks

* convert all groups to configurable groups

* use task_id

* reformat

* add task_id for python tasks as well

* add task_id for python tasks as well

* add task_id for python tasks as well

* revert truthfulqa

* revert mmlu tasks

* new mmlu config

* new group config parameter `tag_to_task`

* Update truthfulqa_mc2.yaml

* reformate

* add _process_group_config

* adjust task_id

* add get_subtask_list function to get proper subtask list

* group config to_dict update

* remove tag check

* update mmlu

* fix config passing issues

* add test yaml

* format fix

* add documentation

* corner case for single tag being called

* fix indentation

* formatting

* update all mmlu variants

* Update docs/task_guide.md
Co-authored-by: default avatarHailey Schoelkopf <65563625+haileyschoelkopf@users.noreply.github.com>

* remove group_alias

* Update docs/task_guide.md
Co-authored-by: default avatarHailey Schoelkopf <65563625+haileyschoelkopf@users.noreply.github.com>

* remove version for metadata

* Update docs/task_guide.md
Co-authored-by: default avatarHailey Schoelkopf <65563625+haileyschoelkopf@users.noreply.github.com>

* update mmlu/

* removed " " in make_table

* change how aggregate_metric is loaded

* change how aggregate_metric is loaded

* update aggregate_metric arg

* update format

* update format

* some docs fixes

* add groups for agieval, aexams, aclue

* add more explicit aggregation groups

* add more groupings / tags distinctions

* add more groupings

* more groupings

* add many explicit group configs

* add many explicit group configs

* add more explicit group configs

* add more explicit group configs

* add more error msgs, agg_metric -> agg_metric_list

* some docs updates

* update task_id to be updateable and uses group:task format

* make KMMLU a tag for now

* update docs

* don't duplicate task names

* fix merge conflicts?

* giving this a try

* clean up diff

* switch mmlu variants over to using

* don't use to-be-deprecated group: config field in overview notebook

* Python tasks which subclass ConfigurableTask now run

* update mmlu

* pre-commit format

* fixed sorting for multi-level printing

* move group api to separate file

* fix bbh aggregation filter usage

* track api/group.py

* adjust group and tags loading

* make explicit group configs for leaderboard and other newer tasks

* fix arabicmmlu

* update

* change arabicmmlu template name???

* update group alias

* fix printing bugs

* check table printing is correct ; update tests

* use mmlu_stem to have a group included in print tests

---------
Co-authored-by: default avatarHailey Schoelkopf <65563625+haileyschoelkopf@users.noreply.github.com>
Co-authored-by: default avatarhaileyschoelkopf <hailey@eleuther.ai>
parent 5a7ed3ee
group:
- fld
task: fld_default task: fld_default
dataset_path: hitachi-nlp/FLD.v2 dataset_path: hitachi-nlp/FLD.v2
dataset_name: default dataset_name: default
......
...@@ -20,9 +20,9 @@ This benchmark is constructed both from openly available datasets, as well as ne ...@@ -20,9 +20,9 @@ This benchmark is constructed both from openly available datasets, as well as ne
} }
``` ```
### Groups and Tasks ### Groups, Tags, and Tasks
#### Groups #### Tags
- `french_bench`: All tasks (non-perplexity based) - `french_bench`: All tasks (non-perplexity based)
- `french_bench_gen`: All official generative tasks - `french_bench_gen`: All official generative tasks
......
group: tag:
- french_bench - french_bench
- french_bench_mc - french_bench_mc
task: french_bench_arc_challenge task: french_bench_arc_challenge
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "D'après l'information dans le contexte donné, quelle est la réponse à la question ?" description: "D'après l'information dans le contexte donné, quelle est la réponse à la question ?"
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques mots du contexte. Si il est impossible de répondre avec les informations du contexte, répond 'Impossible'." description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques mots du contexte. Si il est impossible de répondre avec les informations du contexte, répond 'Impossible'."
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "D'après l'information présente dans le contexte, est il possible de répondre à la question ?" description: "D'après l'information présente dans le contexte, est il possible de répondre à la question ?"
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_gen - french_bench_gen
description: "D'après l'information dans le contexte donné, quelle question a été posée pour obtenir la réponse donnée ?" description: "D'après l'information dans le contexte donné, quelle question a été posée pour obtenir la réponse donnée ?"
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_gen - french_bench_gen
description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques mots du contexte. Si il est impossible de répondre avec les informations du contexte, répond 'Impossible'." description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques mots du contexte. Si il est impossible de répondre avec les informations du contexte, répond 'Impossible'."
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_mc - french_bench_mc
description: "Répond au mieux en complétant la question avec une des réponses proposées." description: "Répond au mieux en complétant la question avec une des réponses proposées."
......
group: tag:
- french_bench - french_bench
- french_bench_mc - french_bench_mc
task: french_bench_hellaswag task: french_bench_hellaswag
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_gen - french_bench_gen
description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques extraits du contexte." description: "D'après l'information dans le contexte donné, donne la réponse à la question en citant quelques extraits du contexte."
......
group: tag:
- french_bench_perplexity - french_bench_perplexity
task: french_bench_opus_perplexity task: french_bench_opus_perplexity
dataset_path: manu/opus100-en-fr dataset_path: manu/opus100-en-fr
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_gen - french_bench_gen
description: "Résume l'article en une phrase." description: "Résume l'article en une phrase."
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "Trouve le titre de l'article." description: "Trouve le titre de l'article."
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
# description: "Répond au mieux en complétant la question avec une des réponses proposées." # description: "Répond au mieux en complétant la question avec une des réponses proposées."
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "A propos du thème spécifié, l'avis client est il positif, négatif, ou neutre ?" description: "A propos du thème spécifié, l'avis client est il positif, négatif, ou neutre ?"
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_gen - french_bench_gen
task: french_bench_trivia task: french_bench_trivia
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_mc - french_bench_mc
# description: "Répond au mieux en complétant la question avec une des réponses proposées." # description: "Répond au mieux en complétant la question avec une des réponses proposées."
......
group: tag:
- french_bench_perplexity - french_bench_perplexity
task: french_bench_wikitext_fr task: french_bench_wikitext_fr
dataset_path: asi/wikitext_fr dataset_path: asi/wikitext_fr
......
include: "_default_template_yaml" include: "_default_template_yaml"
group: tag:
- french_bench - french_bench
- french_bench_extra - french_bench_extra
description: "La prémisse et l'hypothèse sont elles en accord, neutres en elles, ou en contradiction ?" description: "La prémisse et l'hypothèse sont elles en accord, neutres en elles, ou en contradiction ?"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment