Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
from dataclasses import dataclass | |
from enum import Enum | |
class Task: | |
benchmark: str | |
metric: str | |
col_name: str | |
# Select your tasks here | |
# --------------------------------------------------- | |
class Tasks(Enum): | |
AVG = Task("scores", "AVG", "AVG") | |
CG = Task("scores", "CG", "CG") | |
EL = Task("scores", "EL", "EL") | |
FA = Task("scores", "FA", "FA") | |
HE = Task("scores", "HE", "HE") | |
MC = Task("scores", "MC", "MC") | |
MR = Task("scores", "MR", "MR") | |
MT = Task("scores", "MT", "MT") | |
NLI = Task("scores", "NLI", "NLI") | |
QA = Task("scores", "QA", "QA") | |
RC = Task("scores", "RC", "RC") | |
SUM = Task("scores", "SUM", "SUM") | |
alt_e_to_j_bert_score_ja_f1 = Task("scores", "alt-e-to-j_bert_score_ja_f1", "ALT E to J BERT Score") | |
alt_e_to_j_bleu_ja = Task("scores", "alt-e-to-j_bleu_ja", "ALT E to J BLEU") | |
alt_e_to_j_comet_wmt22 = Task("scores", "alt-e-to-j_comet_wmt22", "ALT E to J COMET WMT22") | |
alt_j_to_e_bert_score_en_f1 = Task("scores", "alt-j-to-e_bert_score_en_f1", "ALT J to E BERT Score") | |
alt_j_to_e_bleu_en = Task("scores", "alt-j-to-e_bleu_en", "ALT J to E BLEU") | |
alt_j_to_e_comet_wmt22 = Task("scores", "alt-j-to-e_comet_wmt22", "ALT J to E COMET WMT22") | |
chabsa_set_f1 = Task("scores", "chabsa_set_f1", "ChABSA") | |
commonsensemoralja_exact_match = Task("scores", "commonsensemoralja_exact_match", "CommonSenseMoralJA") | |
jamp_exact_match = Task("scores", "jamp_exact_match", "JAMP") | |
janli_exact_match = Task("scores", "janli_exact_match", "JANLI") | |
jcommonsenseqa_exact_match = Task("scores", "jcommonsenseqa_exact_match", "JCommonSenseQA") | |
jemhopqa_char_f1 = Task("scores", "jemhopqa_char_f1", "JEMHopQA") | |
jmmlu_exact_match = Task("scores", "jmmlu_exact_match", "JMMLU") | |
jnli_exact_match = Task("scores", "jnli_exact_match", "JNLI") | |
jsem_exact_match = Task("scores", "jsem_exact_match", "JSEM") | |
jsick_exact_match = Task("scores", "jsick_exact_match", "JSICK") | |
jsquad_char_f1 = Task("scores", "jsquad_char_f1", "JSquad") | |
jsts_pearson = Task("scores", "jsts_pearson", "JSTS") | |
jsts_spearman = Task("scores", "jsts_spearman", "JSTS") | |
kuci_exact_match = Task("scores", "kuci_exact_match", "KUCI") | |
mawps_exact_match = Task("scores", "mawps_exact_match", "MAWPS") | |
mmlu_en_exact_match = Task("scores", "mmlu_en_exact_match", "MMLU") | |
niilc_char_f1 = Task("scores", "niilc_char_f1", "NIILC") | |
wiki_coreference_set_f1 = Task("scores", "wiki_coreference_set_f1", "Wiki Coreference") | |
wiki_dependency_set_f1 = Task("scores", "wiki_dependency_set_f1", "Wiki Dependency") | |
wiki_ner_set_f1 = Task("scores", "wiki_ner_set_f1", "Wiki NER") | |
wiki_pas_set_f1 = Task("scores", "wiki_pas_set_f1", "Wiki PAS") | |
wiki_reading_char_f1 = Task("scores", "wiki_reading_char_f1", "Wiki Reading") | |
wikicorpus_e_to_j_bert_score_ja_f1 = Task("scores", "wikicorpus-e-to-j_bert_score_ja_f1", "WikiCorpus E to J BERT Score") | |
wikicorpus_e_to_j_bleu_ja = Task("scores", "wikicorpus-e-to-j_bleu_ja", "WikiCorpus E to J BLEU") | |
wikicorpus_e_to_j_comet_wmt22 = Task("scores", "wikicorpus-e-to-j_comet_wmt22", "WikiCorpus E to J COMET WMT22") | |
wikicorpus_j_to_e_bert_score_en_f1 = Task("scores", "wikicorpus-j-to-e_bert_score_en_f1", "WikiCorpus J to E BERT Score") | |
wikicorpus_j_to_e_bleu_en = Task("scores", "wikicorpus-j-to-e_bleu_en", "WikiCorpus J to E BLEU") | |
wikicorpus_j_to_e_comet_wmt22 = Task("scores", "wikicorpus-j-to-e_comet_wmt22", "WikiCorpus J to E COMET WMT22") | |
xlsum_ja_bert_score_ja_f1 = Task("scores", "xlsum_ja_bert_score_ja_f1", "XL-Sum JA BERT Score") | |
xlsum_ja_bleu_ja = Task("scores", "xlsum_ja_bleu_ja", "XL-Sum JA BLEU") | |
xlsum_ja_rouge1 = Task("scores", "xlsum_ja_rouge1", "XL-Sum ROUGE1") | |
xlsum_ja_rouge2 = Task("scores", "xlsum_ja_rouge2", "XL-Sum ROUGE2") | |
# xlsum_ja_rouge2_scaling = Task("scores", "xlsum_ja_rouge2_scaling", "XL-Sum JA ROUGE2 Scaling") | |
xlsum_ja_rougeLsum = Task("scores", "xlsum_ja_rougeLsum", "XL-Sum ROUGE-Lsum") | |
NUM_FEWSHOT = 0 # Change with your few shot | |
# --------------------------------------------------- | |
# Your leaderboard name | |
TITLE = """<h1 align="center" id="space-title">Open Japanese LLM Leaderboard</h1>""" | |
# What does your leaderboard evaluate? | |
INTRODUCTION_TEXT = """ | |
🇯🇵 The __Open Japanese LLM Leaderboard__ 🌸 by __[LLM-Jp](https://llm-jp.nii.ac.jp/en/)__ evaluates the performance of Japanese Large Language Models (LLMs). | |
The __Open Japanese LLM Leaderboard__ assesses language understanding of Japanese LLMs with more than 51 benchmarks from classical to modern NLP tasks such as Natural language inference, Question Answering, Machine Translation, Code Generation, Mathematical reasoning, Summarization, etc. The __Open Japanese LLM Leaderboard__ was built by open-source contributors of __[LLM-Jp](https://llm-jp.nii.ac.jp/en/)__, a cross-organizational project for the research and development of Japanese LLMs supported by the _National Institute of Informatics_ in Tokyo, Japan with more than 1,500 participants from academia and industry. | |
When you submit a model on the **"Submit here!"** page, it is automatically evaluated on a set of benchmarks. For more information, please consult the **"About"** page or refer to the website of __[LLM-Jp](https://llm-jp.nii.ac.jp/en/)__ | |
""" | |
# Which evaluations are you running? how can people reproduce what you have? | |
LLM_BENCHMARKS_TEXT = f""" | |
## How it works | |
📈 We evaluate Japanese Large Language Models on 51 key benchmarks leveraging our evaluation tool [llm-jp-eval](https://github.com/llm-jp/llm-jp-eval), a unified framework to evaluate Japanese LLMs on various evaluation tasks. | |
**NLI (Natural Language Inference)** | |
* `Jamp`, a Japanese NLI benchmark focused on temporal inference [Source](https://github.com/tomo-ut/temporalNLI_dataset) (License CC BY-SA 4.0) | |
* `JaNLI`, Japanese Adversarial Natural Language Inference [Source](https://github.com/verypluming/JaNLI) (License CC BY-SA 4.0) | |
* `JNLI`, Japanese Natural Language Inference (part of JGLUE) [Source](https://github.com/yahoojapan/JGLUE) (License CC BY-SA 4.0) | |
* `JSeM`, Japanese semantic test suite [Source](https://github.com/DaisukeBekki/JSeM) (License BSD 3-Clause) | |
* `JSICK`, Japanese Sentences Involving Compositional Knowledge [Source](https://github.com/verypluming/JSICK) (License CC BY-SA 4.0) | |
**QA (Question Answering)** | |
* `JEMHopQA`, Japanese Explainable Multi-hop Question Answering [Source](https://github.com/aiishii/JEMHopQA) (License CC BY-SA 4.0) | |
* `NIILC`, NIILC Question Answering Dataset [Source](https://github.com/mynlp/niilc-qa) (License CC BY-SA 4.0) | |
* `JAQKET`, Japanese QA dataset on the subject of quizzes [Source](https://www.nlp.ecei.tohoku.ac.jp/projects/jaqket/) (License CC BY-SA 4.0 - Other licenses are required for corporate usage) | |
**RC (Reading Comprehension)** | |
* `JSQuAD`, Japanese version of SQuAD (part of JGLUE) [Source](https://github.com/yahoojapan/JGLUE) (License CC BY-SA 4.0) | |
**MC (Multiple Choice question answering)** | |
* `JCommonsenseMorality`, Japanese dataset for evaluating commonsense morality understanding [Source](https://github.com/Language-Media-Lab/commonsense-moral-ja) (License MIT License) | |
* `JCommonsenseQA`, Japanese version of CommonsenseQA [Source](https://github.com/yahoojapan/JGLUE) (License CC BY-SA 4.0) | |
* `KUCI`, Kyoto University Commonsense Inference dataset [Source](https://github.com/ku-nlp/KUCI (License CC BY-SA 4.0) | |
**EL (Entity Linking)** | |
* `chABSA`, Aspect-Based Sentiment Analysis dataset [Source](https://github.com/chakki-works/chABSA-dataset) (License CC BY-SA 4.0) | |
**FA (Fundamental Analysis)** | |
* `Wikipedia Annotated Corpus`, [Source](https://github.com/ku-nlp/WikipediaAnnotatedCorpus) (License CC BY-SA 4.0) | |
List of tasks: (Reading Prediction, Named-entity recognition (NER), Dependency Parsing, Predicate-argument structure analysis (PAS), Coreference Resolution) | |
**MR (Mathematical Reasoning)** | |
* `MAWPS`, Japanese version of MAWPS (A Math Word Problem Repository) [Source](https://github.com/nlp-waseda/chain-of-thought-ja-dataset) (License Apache-2.0) | |
* `MGSM`, Japanese part of MGSM (Multilingual Grade School Math Benchmark) [Source](https://huggingface.co/datasets/juletxara/mgsm) (License MIT License) | |
**MT (Machine Translation)** | |
* `ALT`, Asian Language Treebank (ALT) - Parallel Corpus [Source](https://www2.nict.go.jp/astrec-att/member/mutiyama/ALT/index.html) (License CC BY-SA 4.0) | |
* `WikiCorpus`, Japanese-English Bilingual Corpus of Wikipedia's articles about the city of Kyoto [Source](https://alaginrc.nict.go.jp/WikiCorpus/) (License CC BY-SA 3.0) | |
**STS (Semantic Textual Similarity)** | |
This task is supported by llm-jp-eval, but it is not included in the evaluation score average. | |
* `JSTS`, Japanese version of the STS (Semantic Textual Similarity) (part of JGLUE) [Source](https://github.com/yahoojapan/JGLUE) (License CC BY-SA 4.0) | |
**HE (Human Examination)** | |
* `MMLU`, Measuring Massive Multitask Language Understanding [Source](https://github.com/hendrycks/test) (License MIT License) | |
* `JMMLU`, Japanese Massive Multitask Language Understanding Benchmark [Source](https://github.com/nlp-waseda/JMMLU) (License CC BY-SA 4.0(3 tasks under the CC BY-NC-ND 4.0 license) | |
**CG (Code Generation)** | |
* `MBPP`, Japanese version of Mostly Basic Python Problems (MBPP) [Source](https://huggingface.co/datasets/llm-jp/mbpp-ja) (License CC BY-SA 4.0) | |
**SUM (Summarization)** | |
* `XL-Sum`, XL-Sum: Large-Scale Multilingual Abstractive Summarization for 44 Languages [Source](https://github.com/csebuetnlp/xl-sum) (License CC BY-NC-SA 4.0, due to the non-commercial license, this dataset will not be used, unless you specifically agree to the license and terms of use) | |
## Reproducibility | |
To reproduce our results, here is the commands you can run: | |
""" | |
EVALUATION_QUEUE_TEXT = """ | |
## Some good practices before submitting a model | |
### 1) Make sure you can load your model and tokenizer using AutoClasses: | |
```python | |
from transformers import AutoConfig, AutoModel, AutoTokenizer | |
config = AutoConfig.from_pretrained("your model name", revision=revision) | |
model = AutoModel.from_pretrained("your model name", revision=revision) | |
tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision) | |
``` | |
If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been improperly uploaded. | |
Note: make sure your model is public! | |
Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it, stay posted! | |
### 2) Convert your model weights to [safetensors](https://huggingface.co/docs/safetensors/index) | |
It's a new format for storing weights which is safer and faster to load and use. It will also allow us to add the number of parameters of your model to the `Extended Viewer`! | |
### 3) Make sure your model has an open license! | |
This is a leaderboard for Open LLMs, and we'd love for as many people as possible to know they can use your model 🤗 | |
### 4) Fill up your model card | |
When we add extra information about models to the leaderboard, it will be automatically taken from the model card | |
## In case of model failure | |
If your model is displayed in the `FAILED` category, its execution stopped. | |
Make sure you have followed the above steps first. | |
If everything is done, check you can launch the EleutherAIHarness on your model locally, using the above command without modifications (you can add `--limit` to limit the number of examples per task). | |
""" | |
CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results" | |
CITATION_BUTTON_TEXT = r""" | |
""" | |