File size: 8,318 Bytes
efeee6d
314f91a
95f85ed
efeee6d
 
 
 
 
 
314f91a
efeee6d
 
943f952
53e53d2
 
 
 
74baf0e
53e53d2
4e23ba0
efeee6d
 
53e53d2
58733e4
efeee6d
8c49cb6
3a6dcfd
53e53d2
 
 
3a6dcfd
53e53d2
3a6dcfd
53e53d2
 
 
3a6dcfd
0227006
 
d313dbd
bf7b54b
35243bf
bf7b54b
35243bf
bf7b54b
35243bf
bf7b54b
 
 
 
 
35243bf
fd6bbaa
35243bf
 
bf7b54b
 
 
 
 
 
 
 
 
 
 
 
fc37e32
d16cee2
d313dbd
 
bf7b54b
8c49cb6
bf7b54b
d313dbd
bf7b54b
d313dbd
 
bf7b54b
 
 
d313dbd
bf7b54b
b323764
bf7b54b
 
d313dbd
bf7b54b
 
d313dbd
bf7b54b
 
b323764
bf7b54b
 
d313dbd
bf7b54b
 
 
 
58733e4
2a73469
bf7b54b
2a73469
217b585
53e53d2
06cce30
53e53d2
06cce30
 
53e53d2
06cce30
9833cdb
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
from dataclasses import dataclass
from enum import Enum

@dataclass
class Task:
    benchmark: str
    metric: str
    col_name: str


# Init: to update with your specific keys
class Tasks(Enum):
    # task_key in the json file, metric_key in the json file, name to display in the leaderboard 
    task0 = Task("BBH", "metric_name", "BBH")
    task1 = Task("GPQA", "metric_name", "GPQA")
    task2 = Task("IFEval", "metric_name", "IFEval")
    task3 = Task("MUSR", "metric_name", "MUSR")
    task4 = Task("GSM8K", "metric_name", "GSM8K")
    task5 = Task("MMMLU-fr", "metric_name", "MMMLU-fr")
    

# Your leaderboard name
TITLE = """<h1 align="center" id="space-title"> OpenLLM French leaderboard 🇫🇷</h1>"""

# What does your leaderboard evaluate?
INTRODUCTION_TEXT = """

Bienvenue sur le Leaderboard des LLM en français, une plateforme pionnière dédiée à l'évaluation des grands modèles de langage (LLM) en français. Alors que les LLM multilingues progressent, ma mission est de mettre en lumière spécifiquement les modèles qui excellent en langue française, 
en fournissant des benchmarks qui stimulent les avancées dans les LLM en français et l'IA générative pour la langue française. Le Leaderboard utilise ce lien (https://huggingface.co/collections/le-leadboard/openllmfrenchleadboard-jeu-de-donnees-67126437539a23c65554fd88) pour ses benchmarks soigneusement sélectionnés. Les évaluations sont générées et vérifiées à la fois par GPT-4 et par annotation humaine, 
rendant ainsi ce Leaderboard l'outil le plus précieux et le plus précis pour l'évaluation des LLM en français.

🚀 Soumettez votre Modèle 🚀

Vous avez un LLM en français ? Soumettez-le pour évaluation (Actuellement manuelle, faute de ressources ! En espérant automatiser ce processus avec le soutien de la communauté !), en utilisant le Eleuther AI Language Model Evaluation Harness pour une analyse approfondie des performances. Apprenez-en plus et contribuez aux avancées de l'IA en français sur la page "À propos".

Rejoignez l'avant-garde de la technologie linguistique en français. Soumettez votre modèle et faisons progresser ensemble les LLM en français !

"""


# Quelles évaluations effectuez-vous ? Comment les gens peuvent-ils reproduire ce que vous avez fait ?

LLM_BENCHMARKS_TEXT = f"""

## Comment cela fonctionne

## Reproductibilité
J'utilise LM-Evaluation-Harness-Turkish, une version de LM Evaluation Harness adaptée aux ensembles de données turques, afin de garantir que les résultats de notre classement sont à la fois fiables et reproductibles. Veuillez consulter https://github.com/malhajar17/lm-evaluation-harness_turkish pour plus d'informations.
## Comment reproduire les résultats :
1) Configurer le dépôt : Clonez le "lm-evaluation-harness_turkish" depuis https://github.com/malhajar17/lm-evaluation-harness_turkish et suivez les instructions d'installation.
2) Effectuer les évaluations : Pour obtenir les mêmes résultats que ceux du classement (certains tests peuvent montrer de petites variations), utilisez la commande suivante, en l'ajustant à votre modèle. Par exemple, avec le modèle Trendyol :
```python
lm_eval --model vllm --model_args pretrained=Orbina/Orbita-v0.1 --tasks mmlu_tr_v0.2,arc_tr-v0.2,gsm8k_tr-v0.2,hellaswag_tr-v0.2,truthfulqa_v0.2,winogrande_tr-v0.2  --output /workspace/Orbina/Orbita-v0.1


## Remarques :

- J'utilise actuellement "vllm", qui pourrait différer légèrement par rapport à LM Evaluation Harness.
- Tous les tests utilisent exactement la même configuration que celle du classement original OpenLLMLeaderboard.

Les tâches et les paramètres de few-shot sont :
- BBH : 3-shot, *Big-Bench-Hard* (`acc_norm`)
- IFEval : 0-shot, *Instruction Following Evaluation* (inst_level_strict_acc,none et prompt_level_strict_acc,none)
- GPQA : 0-shot, *Generalized Purpose Question Answering* (`acc_norm`)
- MMLU : 5-shot, *hendrycksTest-abstract_algebra,hendrycksTest-anatomy,hendrycksTest-astronomy,hendrycksTest-business_ethics,hendrycksTest-clinical_knowledge,hendrycksTest-college_biology,hendrycksTest-college_chemistry,hendrycksTest-college_computer_science,hendrycksTest-college_mathematics,hendrycksTest-college_medicine,hendrycksTest-college_physics,hendrycksTest-computer_security,hendrycksTest-conceptual_physics,hendrycksTest-econometrics,hendrycksTest-electrical_engineering,hendrycksTest-elementary_mathematics,hendrycksTest-formal_logic,hendrycksTest-global_facts,hendrycksTest-high_school_biology,hendrycksTest-high_school_chemistry,hendrycksTest-high_school_computer_science,hendrycksTest-high_school_european_history,hendrycksTest-high_school_geography,hendrycksTest-high_school_government_and_politics,hendrycksTest-high_school_macroeconomics,hendrycksTest-high_school_mathematics,hendrycksTest-high_school_microeconomics,hendrycksTest-high_school_physics,hendrycksTest-high_school_psychology,hendrycksTest-high_school_statistics,hendrycksTest-high_school_us_history,hendrycksTest-high_school_world_history,hendrycksTest-human_aging,hendrycksTest-human_sexuality,hendrycksTest-international_law,hendrycksTest-jurisprudence,hendrycksTest-logical_fallacies,hendrycksTest-machine_learning,hendrycksTest-management,hendrycksTest-marketing,hendrycksTest-medical_genetics,hendrycksTest-miscellaneous,hendrycksTest-moral_disputes,hendrycksTest-moral_scenarios,hendrycksTest-nutrition,hendrycksTest-philosophy,hendrycksTest-prehistory,hendrycksTest-professional_accounting,hendrycksTest-professional_law,hendrycksTest-professional_medicine,hendrycksTest-professional_psychology,hendrycksTest-public_relations,hendrycksTest-security_studies,hendrycksTest-sociology,hendrycksTest-us_foreign_policy,hendrycksTest-virology,hendrycksTest-world_religions* (average of all the results `acc`)
- MuSR : 5-shot, *MuSR* (`acc_norm`)
- GSM8k : 5-shot, *gsm8k* (`acc`)


"""


EVALUATION_QUEUE_TEXT = """
## Quelques bonnes pratiques avant de soumettre un modèle

### 1) Assurez-vous de pouvoir charger votre modèle et tokenizer en utilisant les AutoClasses :
```python
from transformers import AutoConfig, AutoModel, AutoTokenizer
config = AutoConfig.from_pretrained("nom de votre modèle", revision=revision)
model = AutoModel.from_pretrained("nom de votre modèle", revision=revision)
tokenizer = AutoTokenizer.from_pretrained("nom de votre modèle", revision=revision)
```
Si ce test échoue, suivez les messages d'erreur pour déboguer votre modèle avant de le soumettre. Il est probable que votre modèle ait été mal téléversé.

Note : assurez-vous que votre modèle est public !
Note : si votre modèle nécessite `use_remote_code=True`, nous ne prenons pas encore en charge cette option, mais nous travaillons à l'ajouter, restez à l'écoute !

### 2) Convertissez les poids de votre modèle en [safetensors](https://huggingface.co/docs/safetensors/index)
Il s'agit d'un nouveau format pour stocker les poids qui est plus sûr et plus rapide à charger et à utiliser. Cela nous permettra également d'ajouter le nombre de paramètres de votre modèle à la `Vue Étendue` !

### 3) Assurez-vous que votre modèle dispose d'une licence ouverte !
Il s'agit d'un classement pour des LLMs ouverts, et nous aimerions que le plus de gens possible sachent qu'ils peuvent utiliser votre modèle 🤗

### 4) Complétez la fiche descriptive de votre modèle
Lorsque nous ajouterons des informations supplémentaires sur les modèles au classement, elles seront automatiquement tirées de la fiche descriptive du modèle.

## En cas d'échec du modèle
Si votre modèle apparaît dans la catégorie `FAILED`, son exécution a été interrompue.
Assurez-vous d'avoir suivi les étapes ci-dessus en premier.
Si tout est en ordre, vérifiez que vous pouvez lancer EleutherAIHarness sur votre modèle localement, en utilisant la commande ci-dessus sans modifications (vous pouvez ajouter `--limit` pour limiter le nombre d'exemples par tâche).
"""


CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results"
CITATION_BUTTON_TEXT = r"""
@misc{openllm-French-leaderboard,
  author = {Mohamad Alhajar},
  title = {Open LLM French Leaderboard v0.2},
  year = {2024},
  publisher = {Mohamad Alhajar},
  howpublished = "\url{https://huggingface.co/spaces/le-leadboard/OpenLLMFrenchLeaderboard}"
}
"""