Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
fix - alexlav - reviewed wordings in french for about.py of new space
Browse files- src/display/about.py +49 -54
src/display/about.py
CHANGED
@@ -1,72 +1,68 @@
|
|
1 |
from dataclasses import dataclass
|
2 |
from enum import Enum
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
@dataclass
|
5 |
class Task:
|
6 |
benchmark: str
|
7 |
metric: str
|
8 |
col_name: str
|
9 |
|
10 |
-
|
11 |
-
#
|
12 |
class Tasks(Enum):
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
task5 = Task("MMMLU-fr", "metric_name", "MMMLU-fr")
|
20 |
-
|
21 |
|
22 |
-
|
23 |
-
TITLE = """<h1 align="center" id="space-title"> OpenLLM French leaderboard 🇫🇷</h1>"""
|
24 |
|
25 |
-
|
26 |
-
|
|
|
|
|
27 |
|
28 |
-
|
29 |
-
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,
|
30 |
-
rendant ainsi ce Leaderboard l'outil le plus précieux et le plus précis pour l'évaluation des LLM en français.
|
31 |
|
32 |
🚀 Soumettez votre Modèle 🚀
|
33 |
-
|
34 |
-
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".
|
35 |
|
36 |
Rejoignez l'avant-garde de la technologie linguistique en français. Soumettez votre modèle et faisons progresser ensemble les LLM en français !
|
37 |
-
|
38 |
"""
|
39 |
|
40 |
-
|
41 |
-
# Quelles évaluations effectuez-vous ? Comment les gens peuvent-ils reproduire ce que vous avez fait ?
|
42 |
-
|
43 |
LLM_BENCHMARKS_TEXT = f"""
|
44 |
-
|
45 |
## Comment cela fonctionne
|
|
|
|
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
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.
|
51 |
-
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 :
|
52 |
-
```python
|
53 |
-
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
|
54 |
-
```
|
55 |
|
56 |
-
|
|
|
|
|
57 |
|
58 |
-
|
59 |
-
|
60 |
|
61 |
Les tâches et les paramètres de few-shot sont :
|
62 |
-
- BBH : 3-shot, *Big-Bench-Hard* (`acc_norm`)
|
63 |
-
- IFEval : 0-shot, *Instruction Following Evaluation* (inst_level_strict_acc,none et prompt_level_strict_acc,none)
|
64 |
-
- GPQA : 0-shot, *Generalized Purpose Question Answering* (`acc_norm`)
|
65 |
-
- 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`)
|
66 |
-
- MuSR : 5-shot, *MuSR* (`acc_norm`)
|
67 |
-
- GSM8k : 5-shot, *gsm8k* (`acc`)
|
68 |
-
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
"""
|
71 |
|
72 |
|
@@ -80,10 +76,10 @@ config = AutoConfig.from_pretrained("nom de votre modèle", revision=revision)
|
|
80 |
model = AutoModel.from_pretrained("nom de votre modèle", revision=revision)
|
81 |
tokenizer = AutoTokenizer.from_pretrained("nom de votre modèle", revision=revision)
|
82 |
```
|
83 |
-
Si ce test échoue, suivez les messages d'erreur pour
|
84 |
|
85 |
Note : assurez-vous que votre modèle est public !
|
86 |
-
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,
|
87 |
|
88 |
### 2) Convertissez les poids de votre modèle en [safetensors](https://huggingface.co/docs/safetensors/index)
|
89 |
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` !
|
@@ -93,21 +89,20 @@ Il s'agit d'un classement pour des LLMs ouverts, et nous aimerions que le plus d
|
|
93 |
|
94 |
### 4) Complétez la fiche descriptive de votre modèle
|
95 |
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.
|
96 |
-
|
97 |
## En cas d'échec du modèle
|
98 |
Si votre modèle apparaît dans la catégorie `FAILED`, son exécution a été interrompue.
|
99 |
Assurez-vous d'avoir suivi les étapes ci-dessus en premier.
|
100 |
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).
|
101 |
"""
|
102 |
|
|
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
}
|
113 |
"""
|
|
|
1 |
from dataclasses import dataclass
|
2 |
from enum import Enum
|
3 |
|
4 |
+
# Constants
|
5 |
+
METRIC_ACC_NORM = "acc_norm"
|
6 |
+
METRIC_ACC = "acc"
|
7 |
+
LEADERBOARD_VERSION = "0.1"
|
8 |
+
BENCHMARK_URL = "https://huggingface.co/collections/le-leadboard/openllmfrenchleadboard-jeu-de-donnees-67126437539a23c65554fd88"
|
9 |
+
GITHUB_URL = "https://github.com/XXX" # Todo: mohamed replace with right github link
|
10 |
+
|
11 |
@dataclass
|
12 |
class Task:
|
13 |
benchmark: str
|
14 |
metric: str
|
15 |
col_name: str
|
16 |
|
17 |
+
# English: Define tasks for the French LLM leaderboard
|
18 |
+
# Français : Définir les tâches pour le leaderboard des LLM français
|
19 |
class Tasks(Enum):
|
20 |
+
task0 = Task("BBH", METRIC_ACC_NORM, "BBH") # Big-Bench-Hard
|
21 |
+
task1 = Task("GPQA", METRIC_ACC_NORM, "GPQA") # Generalized Purpose Question Answering
|
22 |
+
task2 = Task("IFEval", METRIC_ACC_NORM, "IFEval") # Instruction Following Evaluation
|
23 |
+
task3 = Task("MUSR", METRIC_ACC_NORM, "MUSR") # Multi-task Summarization and Reasoning
|
24 |
+
task4 = Task("GSM8K", METRIC_ACC, "GSM8K") # Grade School Math 8k
|
25 |
+
task5 = Task("MMMLU-fr", METRIC_ACC, "MMMLU-fr") # Massive Multitask Language Understanding (French version)
|
|
|
|
|
26 |
|
27 |
+
TITLE = """<h1 align="center" id="space-title">OpenLLM French Leaderboard 🇫🇷</h1>"""
|
|
|
28 |
|
29 |
+
INTRODUCTION_TEXT = f"""
|
30 |
+
Chère communauté, vous voici sur le Leaderboard, une plateforme open-source dédiée à l'évaluation des grands modèles de langage (LLM) en français. Notre mission est de mettre en lumière spécifiquement les modèles qui excellent en langue française, en fournissant des benchmarks et standards qui permettent de donner le "La" sur les avancées techniques dans les LLM en français.
|
31 |
+
C'est une tâche immense, et nous appelons à toutes les forces vives en France et à l'étranger.
|
32 |
+
Si vous êtes développeur ou développeuse, nous vous invitons à soumettre votre modèle pour évaluation, et à contribuer ainsi à l'avancement de la communauté francophone en IA générative.
|
33 |
|
34 |
+
Nos benchmarks soigneusement sélectionnés par nos soins sont disponibles [ici]({BENCHMARK_URL}). Les évaluations sont générées et vérifiées à la fois par GPT-4 et par annotation humaine, garantissant ainsi la précision et la pertinence de nos résultats.
|
|
|
|
|
35 |
|
36 |
🚀 Soumettez votre Modèle 🚀
|
37 |
+
Vous avez développé un LLM en français ? Soumettez-le pour évaluation ! Bien que le processus soit actuellement manuel, nous travaillons à son automatisation avec le soutien de la communauté huggingface. Utilisez le 'Eleuther AI Language Model Evaluation Harness' pour une analyse approfondie des performances de votre modèle.
|
|
|
38 |
|
39 |
Rejoignez l'avant-garde de la technologie linguistique en français. Soumettez votre modèle et faisons progresser ensemble les LLM en français !
|
|
|
40 |
"""
|
41 |
|
|
|
|
|
|
|
42 |
LLM_BENCHMARKS_TEXT = f"""
|
|
|
43 |
## Comment cela fonctionne
|
44 |
+
### Reproductibilité
|
45 |
+
Nous utilisons une version adaptée de LM Evaluation Harness [github](https://github.com/EleutherAI/lm-evaluation-harness) pour garantir que les résultats de notre classement sont à la fois fiables et reproductibles. Pour plus d'informations, consultez notre [dépôt GitHub]({GITHUB_URL}).
|
46 |
|
47 |
+
### Comment reproduire les résultats :
|
48 |
+
1) Configurer le dépôt : Clonez notre version adaptée de LM Evaluation Harness et suivez les instructions d'installation.
|
49 |
+
2) Effectuer les évaluations : Utilisez la commande suivante, en l'ajustant à votre modèle :
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
+
```python
|
52 |
+
lm_eval --model vllm --model_args pretrained=votre-modele --tasks bbh,gpqa,ifeval,musr,gsm8k,mmmlu-fr --output /chemin/de/sortie
|
53 |
+
Remarques :
|
54 |
|
55 |
+
Nous utilisons actuellement "vllm", qui pourrait différer légèrement par rapport au standard de LM Evaluation Harness.
|
56 |
+
Tous les tests utilisent la même configuration que celle du classement original OpenLLMLeaderboard.
|
57 |
|
58 |
Les tâches et les paramètres de few-shot sont :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
BBH : 3-shot, Big-Bench-Hard ({METRIC_ACC_NORM})
|
61 |
+
IFEval : 0-shot, Instruction Following Evaluation
|
62 |
+
GPQA : 0-shot, Generalized Purpose Question Answering ({METRIC_ACC_NORM})
|
63 |
+
MMLU-fr : 5-shot, version française du Massive Multitask Language Understanding
|
64 |
+
MuSR : 5-shot, Multi-task Summarization and Reasoning ({METRIC_ACC_NORM})
|
65 |
+
GSM8k : 5-shot, Grade School Math 8k ({METRIC_ACC})
|
66 |
"""
|
67 |
|
68 |
|
|
|
76 |
model = AutoModel.from_pretrained("nom de votre modèle", revision=revision)
|
77 |
tokenizer = AutoTokenizer.from_pretrained("nom de votre modèle", revision=revision)
|
78 |
```
|
79 |
+
Si ce test échoue, suivez les messages d'erreur pour débuger votre modèle avant de le soumettre. Il est probable que votre modèle ait été mal uploadé/téléversé.
|
80 |
|
81 |
Note : assurez-vous que votre modèle est public !
|
82 |
+
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, c'est une initiative open-source, contactez nous au besoin pour accélérer le processus.
|
83 |
|
84 |
### 2) Convertissez les poids de votre modèle en [safetensors](https://huggingface.co/docs/safetensors/index)
|
85 |
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` !
|
|
|
89 |
|
90 |
### 4) Complétez la fiche descriptive de votre modèle
|
91 |
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.
|
|
|
92 |
## En cas d'échec du modèle
|
93 |
Si votre modèle apparaît dans la catégorie `FAILED`, son exécution a été interrompue.
|
94 |
Assurez-vous d'avoir suivi les étapes ci-dessus en premier.
|
95 |
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).
|
96 |
"""
|
97 |
|
98 |
+
CITATION_BUTTON_LABEL = "Copiez la citation suivante pour référencer ces résultats"
|
99 |
|
100 |
+
CITATION_BUTTON_TEXT = f"""
|
101 |
+
@misc{{openllm-French-leaderboard,
|
102 |
+
author = {{Alhajar, Mohamad and Lavallee, Alexandre}},
|
103 |
+
title = {{Open LLM French Leaderboard v{LEADERBOARD_VERSION}}},
|
104 |
+
year = {{2024}},
|
105 |
+
publisher = {{Alhajar, Mohamad and Lavallee, Alexandre}},
|
106 |
+
howpublished = "\url{{https://huggingface.co/spaces/le-leadboard/OpenLLMFrenchLeaderboard}}"
|
107 |
+
}}
|
|
|
108 |
"""
|