From 5d2bfe8840e4cf0b655b7f26795be8dab8637fb1 Mon Sep 17 00:00:00 2001 From: Imene Kerboua Date: Thu, 8 Feb 2024 13:56:35 +0100 Subject: [PATCH 1/5] get mteb results --incomplete --- .../other_languages_results.py | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 script_mteb_french/results_analysis/other_languages_results.py diff --git a/script_mteb_french/results_analysis/other_languages_results.py b/script_mteb_french/results_analysis/other_languages_results.py new file mode 100644 index 00000000..6a981e81 --- /dev/null +++ b/script_mteb_french/results_analysis/other_languages_results.py @@ -0,0 +1,78 @@ +import sys +import argparse +import logging + +from datasets import load_dataset +import pandas as pd + +from results_parser import ResultsParser + +logging.basicConfig( + stream=sys.stdout, + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", +) + + +def split_model_name(model_name: str): + model_name = model_name.split('/') + if len(model_name) == 2: + model_name = model_name[1] + else: + model_name = model_name[0] + return model_name + +def main(args): + res_parser = ResultsParser() + fr_results, tasks_main_scores = res_parser(args.results_folder, return_main_scores=True) + print(tasks_main_scores) + + task_names = [task_name for _, task_name in set(fr_results.columns.values)] + models_name_to_index = {split_model_name(idx): idx for idx in fr_results.index} + + df_mc = pd.read_csv("models_characteristics/models_characteristics.csv") + + mteb_res = {} + + for model_name, is_multilingual in zip(df_mc['model'].values, df_mc['multilingual_or_french']): + model_name = split_model_name(model_name) + + if is_multilingual == "multilingual": + try: + mteb_res[model_name] = load_dataset("mteb/results", model_name) + logging.info(f"Downloaded model {model_name} results") + + mteb_results = mteb_res[model_name]['test'] + print(len(mteb_results)) + for idx in range(len(mteb_results)): + try: + tasks_avg_multi_score = {} + for task_name in task_names: + task_multi_score = [] + if task_name == mteb_results[idx]["mteb_dataset_name"]: + if mteb_results[idx]['metric'] == tasks_main_scores[task_name]: + pass + task_multi_score.append() + + print(mteb_results[idx]["mteb_dataset_name"]) + print(mteb_results[idx]['eval_language']) + print(mteb_results[idx]['metric']) + print(mteb_results[idx]['score']) + + tasks_avg_multi_score[task_name] = sum(task_multi_score) / len(task_multi_score) + except ValueError as e: + logging.error(e) + except ValueError: + logging.error(f"Model {model_name} not evaluated on other languages") + + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--results_folder", type=str, default='results') + return parser.parse_args() + + +if __name__ == "__main__": + args = parse_args() + main(args) \ No newline at end of file From 473125a43715ee5eb894cafcbe731929bd64fb4d Mon Sep 17 00:00:00 2001 From: Imene Kerboua Date: Thu, 8 Feb 2024 13:56:35 +0100 Subject: [PATCH 2/5] get mteb results --incomplete --- .../other_languages_results.py | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 script_mteb_french/results_analysis/other_languages_results.py diff --git a/script_mteb_french/results_analysis/other_languages_results.py b/script_mteb_french/results_analysis/other_languages_results.py new file mode 100644 index 00000000..6a981e81 --- /dev/null +++ b/script_mteb_french/results_analysis/other_languages_results.py @@ -0,0 +1,78 @@ +import sys +import argparse +import logging + +from datasets import load_dataset +import pandas as pd + +from results_parser import ResultsParser + +logging.basicConfig( + stream=sys.stdout, + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", +) + + +def split_model_name(model_name: str): + model_name = model_name.split('/') + if len(model_name) == 2: + model_name = model_name[1] + else: + model_name = model_name[0] + return model_name + +def main(args): + res_parser = ResultsParser() + fr_results, tasks_main_scores = res_parser(args.results_folder, return_main_scores=True) + print(tasks_main_scores) + + task_names = [task_name for _, task_name in set(fr_results.columns.values)] + models_name_to_index = {split_model_name(idx): idx for idx in fr_results.index} + + df_mc = pd.read_csv("models_characteristics/models_characteristics.csv") + + mteb_res = {} + + for model_name, is_multilingual in zip(df_mc['model'].values, df_mc['multilingual_or_french']): + model_name = split_model_name(model_name) + + if is_multilingual == "multilingual": + try: + mteb_res[model_name] = load_dataset("mteb/results", model_name) + logging.info(f"Downloaded model {model_name} results") + + mteb_results = mteb_res[model_name]['test'] + print(len(mteb_results)) + for idx in range(len(mteb_results)): + try: + tasks_avg_multi_score = {} + for task_name in task_names: + task_multi_score = [] + if task_name == mteb_results[idx]["mteb_dataset_name"]: + if mteb_results[idx]['metric'] == tasks_main_scores[task_name]: + pass + task_multi_score.append() + + print(mteb_results[idx]["mteb_dataset_name"]) + print(mteb_results[idx]['eval_language']) + print(mteb_results[idx]['metric']) + print(mteb_results[idx]['score']) + + tasks_avg_multi_score[task_name] = sum(task_multi_score) / len(task_multi_score) + except ValueError as e: + logging.error(e) + except ValueError: + logging.error(f"Model {model_name} not evaluated on other languages") + + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--results_folder", type=str, default='results') + return parser.parse_args() + + +if __name__ == "__main__": + args = parse_args() + main(args) \ No newline at end of file From 2e6f083d2479cd98bde6efcc317d74b6a294a3eb Mon Sep 17 00:00:00 2001 From: Imene Kerboua Date: Thu, 8 Feb 2024 15:50:02 +0100 Subject: [PATCH 3/5] compute average performance of models --- .../mteb_fr_avg_perfromance.csv | 47 +++++++++++ .../compute_avergae_performance.py | 73 +++++++++++++++++ .../other_languages_results.py | 78 ------------------- 3 files changed, 120 insertions(+), 78 deletions(-) create mode 100644 performance_analysis/mteb_fr_avg_perfromance.csv create mode 100644 script_mteb_french/results_analysis/compute_avergae_performance.py delete mode 100644 script_mteb_french/results_analysis/other_languages_results.py diff --git a/performance_analysis/mteb_fr_avg_perfromance.csv b/performance_analysis/mteb_fr_avg_perfromance.csv new file mode 100644 index 00000000..432c1f21 --- /dev/null +++ b/performance_analysis/mteb_fr_avg_perfromance.csv @@ -0,0 +1,47 @@ +rank,model,model_short,overall_avg,avg_BitextMining,avg_Clustering,avg_PairClassification,avg_Summarization,avg_Reranking,avg_Classification,avg_STS,avg_Retrieval +1,text-embedding-ada-002,text-embedding-ada-002,0.6951644355235754,0.9494668404389334,0.4695098049319921,1.0,0.3049962446901472,0.8986666666666667,0.6928530957176636,0.7830628317431997,0.46276 +2,sentence-transformers/sentence-t5-xxl,sentence-t5-xxl,0.6626105378757613,0.9428132611527825,0.40141444804587856,1.0,0.3039226775800043,0.7675599125789975,0.6736015215260864,0.7837158154556741,0.4278566666666667 +3,voyage-code-2,voyage-code-2,0.6607543354772605,0.8648817339979643,0.44772627976172225,1.0,0.2833835044555462,0.7877894580644871,0.674405741446389,0.7752412994253078,0.4526066666666666 +4,intfloat/multilingual-e5-large,multilingual-e5-large,0.6530770252450712,0.9494477963336697,0.38000952842494967,1.0,0.30919609149507166,0.7213476257110656,0.6647039061131861,0.8030279205492931,0.3968833333333333 +5,embed-multilingual-v3.0,embed-multilingual-v3.0,0.6501831721201174,0.9436180278908184,0.38710472703066007,1.0,0.31264009523973235,0.68364715235487,0.6708862541954806,0.812799120249379,0.39077 +6,intfloat/multilingual-e5-base,multilingual-e5-base,0.6462512097705435,0.9485477222576219,0.38545765042676977,1.0,0.3076006060850825,0.7176696947584695,0.6471235689941096,0.7832571023089624,0.3803533333333333 +7,dangvantuan/sentence-camembert-large,sentence-camembert-large,0.6461323149268167,0.8896500289986259,0.39601453569053924,1.0,0.3088268637624669,0.7288404268075016,0.6581381615866052,0.8173718359021275,0.3702166666666667 +8,sentence-transformers/sentence-t5-xl,sentence-t5-xl,0.6455782207682357,0.914194434666618,0.39973238961571084,1.0,0.31593902286506226,0.7318303641118233,0.6509082465602415,0.7732979749930968,0.3787233333333333 +9,intfloat/multilingual-e5-small,multilingual-e5-small,0.6352093923244534,0.9397273648926397,0.38660026421549304,1.0,0.31849046935173364,0.7143441730444517,0.6031649099555619,0.781857957135747,0.33749 +10,sentence-transformers/paraphrase-multilingual-mpnet-base-v2,paraphrase-multilingual-mpnet-base-v2,0.632789004844911,0.9351362799535213,0.38590408909583385,1.0,0.2946828386641493,0.6878437274635214,0.6339065747149032,0.7818485288673589,0.34298999999999996 +11,embed-multilingual-light-v3.0,embed-multilingual-light-v3.0,0.6291484133331817,0.8868288756037916,0.3763510620733425,1.0,0.314006702294,0.6981591823870812,0.6129809238696075,0.7826072271042985,0.3622533333333333 +12,Wissam42/sentence-croissant-llm-base,sentence-croissant-llm-base,0.627391358913071,0.9115055030186956,0.3901334861447883,1.0,0.2904259923005852,0.6794982333959555,0.645698371451514,0.7586659516596957,0.3432033333333333 +13,vprelovac/universal-sentence-encoder-multilingual-3,universal-sentence-encoder-multilingual-3,0.6265829443517389,0.9389235256726924,0.40302113821835384,1.0,0.28212107619806726,0.6503764883156413,0.6440286794825583,0.7491993135932651,0.3449933333333333 +14,vprelovac/universal-sentence-encoder-multilingual-large-3,universal-sentence-encoder-multilingual-large-3,0.6262365907145946,0.9462731316854489,0.38350292040664175,1.0,0.28557999486423186,0.6626326565349889,0.6705032602281474,0.7454940953306313,0.3159066666666666 +15,sentence-transformers/sentence-t5-large,sentence-t5-large,0.6248579629896693,0.8965230618449573,0.3944251705470086,1.0,0.30227656374127543,0.6887941209053229,0.6163331318590457,0.7514283216864115,0.34908333333333336 +16,voyage-2,voyage-2,0.6151915761090714,0.763619943373719,0.4065258527500973,1.0,0.3087952286335955,0.7309455175571458,0.5949259842992485,0.7181567489254315,0.3985633333333333 +17,sentence-transformers/distiluse-base-multilingual-cased-v2,distiluse-base-multilingual-cased-v2,0.612733038045636,0.9442576025375713,0.3568006274724116,1.0,0.28121115462556573,0.6327844297925111,0.6349029881952936,0.754650835075068,0.29725666666666667 +18,sentence-transformers/LaBSE,LaBSE,0.6077927900341175,0.9584800000509812,0.36423082609658525,1.0,0.30163745632848504,0.6139664534871745,0.6460218538714967,0.7433057304382169,0.23470000000000002 +19,sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2,paraphrase-multilingual-MiniLM-L12-v2,0.6070958258023563,0.9239648348401902,0.3689843152052393,1.0,0.2919931043966207,0.62020753052302,0.6008609074137077,0.7518192473734059,0.2989366666666667 +20,sentence-transformers/sentence-t5-base,sentence-t5-base,0.5973361564869367,0.8288174271503671,0.3787815338914756,1.0,0.30009114233509354,0.6408322841312224,0.5807320959427834,0.7448847684445514,0.30455000000000004 +21,shibing624/text2vec-base-multilingual,text2vec-base-multilingual,0.5861933242292041,0.9202347781942363,0.30844190733644167,1.0,0.2933489058303607,0.6088252146048312,0.5577811513544871,0.7827446365132761,0.21817 +22,dangvantuan/sentence-camembert-base,sentence-camembert-base,0.5757303623085768,0.7196562192123898,0.3209229378973184,1.0,0.2877116932900191,0.6421545445974397,0.5662851953794757,0.777855641425305,0.29125666666666666 +23,laser2,laser2,0.5395602370680996,0.9530804754795708,0.2588521302214146,1.0,0.3156475744412745,0.4561315484706734,0.5731661531610298,0.6667873481041676,0.09281666666666667 +24,intfloat/e5-mistral-7b-instruct,e5-mistral-7b-instruct,0.5211584106025406,0.372671620893762,0.39236855125870124,1.0,0.3221574896003379,0.6220602308202283,0.5771433352505323,0.6535927236634304,0.22927333333333333 +25,bert-base-multilingual-uncased,bert-base-multilingual-uncased,0.5133181941739059,0.761227175051093,0.35246670150517373,1.0,0.3072334740467725,0.5262463355227507,0.4836965383766139,0.5657086622221764,0.10996666666666666 +26,sentence-transformers/all-MiniLM-L12-v2,all-MiniLM-L12-v2,0.512558614576707,0.4750684404934165,0.2981421101986864,1.0,0.26628635658682365,0.5703415468971924,0.521461582676646,0.6645122130942248,0.30465666666666663 +27,izhx/udever-bloom-1b1,udever-bloom-1b1,0.5006144696402559,0.5185761589372356,0.3484199980997863,1.0,0.29477739086433014,0.5085692286618537,0.5492174562777438,0.6233988576144311,0.16195666666666667 +28,sentence-transformers/all-MiniLM-L6-v2,all-MiniLM-L6-v2,0.4933324952351013,0.407639269899297,0.3170242868527332,1.0,0.28281807578154883,0.45629653059171443,0.5157633810735549,0.6813884176819617,0.28573 +29,sentence-transformers/multi-qa-MiniLM-L6-cos-v1,multi-qa-MiniLM-L6-cos-v1,0.49276447531357576,0.3820720622217845,0.28846829533881896,1.0,0.27590643209882243,0.5268152094562065,0.5090080656334154,0.6685724044262251,0.29127333333333333 +30,Geotrend/bert-base-15lang-cased,bert-base-15lang-cased,0.47956739404892507,0.7484100239150743,0.33197144060408157,1.0,0.2913284671743393,0.4472866130606892,0.4610657032072243,0.5047335710966584,0.051743333333333336 +31,Geotrend/bert-base-10lang-cased,bert-base-10lang-cased,0.4791783722192484,0.7483481678365821,0.32998598047845495,1.0,0.29055398239730224,0.4472991001360561,0.4611012325191655,0.5044285143864266,0.05171 +32,bert-base-multilingual-cased,bert-base-multilingual-cased,0.4784275269395698,0.7484254924362301,0.3304280318198251,1.0,0.28807795872171416,0.44742327493995027,0.461136739618303,0.500135384647203,0.05179333333333334 +33,Geotrend/bert-base-25lang-cased,bert-base-25lang-cased,0.4783485377288698,0.7484254924362301,0.3304255148848392,1.0,0.2884414777790376,0.44751125845104356,0.4609919042829104,0.4992726539968981,0.051719999999999995 +34,Geotrend/distilbert-base-en-fr-cased,distilbert-base-en-fr-cased,0.4711504312165386,0.6462841438949981,0.341588906005046,1.0,0.31226674511530683,0.42253724132772413,0.4535877037185052,0.5363420430040616,0.05659666666666666 +35,Geotrend/distilbert-base-en-fr-es-pt-it-cased,distilbert-base-en-fr-es-pt-it-cased,0.47089427419098645,0.646905811373573,0.3426820130538851,1.0,0.3099238484208555,0.42240978675516194,0.45423163696943175,0.5342644302883172,0.056736666666666664 +36,Geotrend/distilbert-base-25lang-cased,distilbert-base-25lang-cased,0.4700887935578349,0.646728997287605,0.34069125231148156,1.0,0.3070335729873741,0.42208716688558023,0.4540327101358815,0.5333733155214233,0.05676333333333333 +37,Geotrend/distilbert-base-fr-cased,distilbert-base-fr-cased,0.44622649323425023,0.44755904164651844,0.3441308354905828,1.0,0.3098048164787563,0.4211180579200582,0.45328919656019884,0.5384699977778871,0.05544000000000001 +38,camembert/camembert-large,camembert-large,0.4314141120757555,0.25915844052750026,0.35539819419480195,1.0,0.27977116205095437,0.42059495556392223,0.49190189636509246,0.5929849145704393,0.051503333333333325 +39,xlm-roberta-base,xlm-roberta-base,0.39878476323031586,0.4821269386209579,0.25055604928864256,1.0,0.2914448969497285,0.3466560290458458,0.3123173121764971,0.505220213094188,0.0019566666666666665 +40,xlm-roberta-large,xlm-roberta-large,0.3877593672323856,0.34708423834289515,0.25352623148067505,1.0,0.28894306279406234,0.3900765807837409,0.3070959488543944,0.49273887560331725,0.022609999999999995 +41,camembert/camembert-base,camembert-base,0.38757941178574273,0.18502322000804974,0.2878733482356867,1.0,0.29630716022029846,0.32776878697185785,0.4212973320876008,0.5654054467624484,0.01696 +42,izhx/udever-bloom-560m,udever-bloom-560m,0.38557738841307115,0.3176968634737299,0.24744231331302316,1.0,0.236335996838468,0.3981434451285849,0.3043004945739746,0.5088966606434552,0.07180333333333333 +43,flaubert/flaubert_base_cased,flaubert_base_cased,0.381890067606526,0.22913762160209786,0.22640926272969017,1.0,0.312594655829165,0.4534814003007701,0.24899773800547045,0.5212265290516807,0.06327333333333333 +44,flaubert/flaubert_base_uncased,flaubert_base_uncased,0.3477936487122823,0.12151790182091164,0.17691473162499663,1.0,0.2942790176376187,0.4586745583595503,0.23278594236339425,0.43487037122512057,0.06330666666666666 +45,distilbert-base-uncased,distilbert-base-uncased,0.3333864887779967,0.040609701568365165,0.2259251428209009,1.0,0.31092622442837853,0.3516089220235861,0.3232174242573629,0.39013782845871353,0.024666666666666667 +46,flaubert/flaubert_large_cased,flaubert_large_cased,0.31803065121515967,0.11075184087052004,0.20832375750957685,1.0,0.2924968054601468,0.34543171919622384,0.2519598161245585,0.3292846038935842,0.005996666666666667 diff --git a/script_mteb_french/results_analysis/compute_avergae_performance.py b/script_mteb_french/results_analysis/compute_avergae_performance.py new file mode 100644 index 00000000..866f78dc --- /dev/null +++ b/script_mteb_french/results_analysis/compute_avergae_performance.py @@ -0,0 +1,73 @@ +import os +import sys +import argparse +import logging + +from datasets import load_dataset +import pandas as pd + +from results_parser import ResultsParser + +logging.basicConfig( + stream=sys.stdout, + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", +) + + +def split_model_name(model_name: str): + model_name = model_name.split('/') + if len(model_name) == 2: + model_name = model_name[1] + else: + model_name = model_name[0] + return model_name + + +def main(args): + res_parser = ResultsParser() + fr_results = res_parser(args.results_folder) + + task_types = [task_type for task_type, _ in set(fr_results.columns.values)] + + models_name_to_index = {idx: split_model_name(idx) for idx in fr_results.index} + + fr_results_avg = fr_results.copy() + new_df = pd.DataFrame({}) + + for task_type in set(task_types): + filtered_results = fr_results_avg.loc[:][task_type] + new_df[f"avg_{task_type}"] = filtered_results.mean(axis=1) + + overall_avg = new_df.mean(axis=1) + new_df.insert(0, "overall_avg", overall_avg) + + new_df.reset_index(inplace=True) + models_short_name = new_df.model.apply(lambda x: models_name_to_index[x]) + new_df.insert(1, "model_short", models_short_name) + + # Sort models from best to worse based on overall average performance score + new_df.sort_values(by=['overall_avg'], ascending=False, inplace=True) + new_df.reset_index(drop=True, inplace=True) + + # Get rank of models + new_df.reset_index(inplace=True) + new_df.rename(columns={'index': 'rank'}, inplace=True) + new_df['rank'] = new_df['rank'].apply(lambda x: x+1) + + # Save results to CSV + output_dir = "performance_analysis" + if not os.path.exists(output_dir): + os.mkdir(output_dir) + new_df.to_csv(os.path.join(output_dir, "mteb_fr_avg_perfromance.csv"), index=False) + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--results_folder", type=str, default='results') + return parser.parse_args() + + +if __name__ == "__main__": + args = parse_args() + main(args) \ No newline at end of file diff --git a/script_mteb_french/results_analysis/other_languages_results.py b/script_mteb_french/results_analysis/other_languages_results.py deleted file mode 100644 index 6a981e81..00000000 --- a/script_mteb_french/results_analysis/other_languages_results.py +++ /dev/null @@ -1,78 +0,0 @@ -import sys -import argparse -import logging - -from datasets import load_dataset -import pandas as pd - -from results_parser import ResultsParser - -logging.basicConfig( - stream=sys.stdout, - level=logging.INFO, - format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", -) - - -def split_model_name(model_name: str): - model_name = model_name.split('/') - if len(model_name) == 2: - model_name = model_name[1] - else: - model_name = model_name[0] - return model_name - -def main(args): - res_parser = ResultsParser() - fr_results, tasks_main_scores = res_parser(args.results_folder, return_main_scores=True) - print(tasks_main_scores) - - task_names = [task_name for _, task_name in set(fr_results.columns.values)] - models_name_to_index = {split_model_name(idx): idx for idx in fr_results.index} - - df_mc = pd.read_csv("models_characteristics/models_characteristics.csv") - - mteb_res = {} - - for model_name, is_multilingual in zip(df_mc['model'].values, df_mc['multilingual_or_french']): - model_name = split_model_name(model_name) - - if is_multilingual == "multilingual": - try: - mteb_res[model_name] = load_dataset("mteb/results", model_name) - logging.info(f"Downloaded model {model_name} results") - - mteb_results = mteb_res[model_name]['test'] - print(len(mteb_results)) - for idx in range(len(mteb_results)): - try: - tasks_avg_multi_score = {} - for task_name in task_names: - task_multi_score = [] - if task_name == mteb_results[idx]["mteb_dataset_name"]: - if mteb_results[idx]['metric'] == tasks_main_scores[task_name]: - pass - task_multi_score.append() - - print(mteb_results[idx]["mteb_dataset_name"]) - print(mteb_results[idx]['eval_language']) - print(mteb_results[idx]['metric']) - print(mteb_results[idx]['score']) - - tasks_avg_multi_score[task_name] = sum(task_multi_score) / len(task_multi_score) - except ValueError as e: - logging.error(e) - except ValueError: - logging.error(f"Model {model_name} not evaluated on other languages") - - - -def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--results_folder", type=str, default='results') - return parser.parse_args() - - -if __name__ == "__main__": - args = parse_args() - main(args) \ No newline at end of file From fd061cf887277072e7fe227be684b4264f4283f2 Mon Sep 17 00:00:00 2001 From: Imene Kerboua <33312980+imenelydiaker@users.noreply.github.com> Date: Sat, 10 Feb 2024 13:31:05 +0100 Subject: [PATCH 4/5] Average performance CSV clean --- mteb_fr_avg_perfromance_clean.csv | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 mteb_fr_avg_perfromance_clean.csv diff --git a/mteb_fr_avg_perfromance_clean.csv b/mteb_fr_avg_perfromance_clean.csv new file mode 100644 index 00000000..9f73746a --- /dev/null +++ b/mteb_fr_avg_perfromance_clean.csv @@ -0,0 +1,47 @@ +Rank,Model,Overall Avg.,BitextMining,Clustering,PairClassification,Summarization,Reranking,Classification,STS,Retrieval +1,text-embedding-ada-002,0.7,0.95,0.47,1,0.3,0.9,0.69,0.78,0.46 +2,sentence-t5-xxl,0.66,0.94,0.4,1,0.3,0.77,0.67,0.78,0.43 +3,voyage-code-2,0.66,0.86,0.45,1,0.28,0.79,0.67,0.78,0.45 +4,multilingual-e5-large,0.65,0.95,0.38,1,0.31,0.72,0.66,0.8,0.4 +5,embed-multilingual-v3.0,0.65,0.94,0.39,1,0.31,0.68,0.67,0.81,0.39 +6,multilingual-e5-base,0.65,0.95,0.39,1,0.31,0.72,0.65,0.78,0.38 +7,sentence-camembert-large,0.65,0.89,0.4,1,0.31,0.73,0.66,0.82,0.37 +8,sentence-t5-xl,0.65,0.91,0.4,1,0.32,0.73,0.65,0.77,0.38 +9,multilingual-e5-small,0.64,0.94,0.39,1,0.32,0.71,0.6,0.78,0.34 +10,paraphrase-multilingual-mpnet-base-v2,0.63,0.94,0.39,1,0.29,0.69,0.63,0.78,0.34 +11,embed-multilingual-light-v3.0,0.63,0.89,0.38,1,0.31,0.7,0.61,0.78,0.36 +12,sentence-croissant-llm-base,0.63,0.91,0.39,1,0.29,0.68,0.65,0.76,0.34 +13,universal-sentence-encoder-multilingual-3,0.63,0.94,0.4,1,0.28,0.65,0.64,0.75,0.34 +14,universal-sentence-encoder-multilingual-large-3,0.63,0.95,0.38,1,0.29,0.66,0.67,0.75,0.32 +15,sentence-t5-large,0.62,0.9,0.39,1,0.3,0.69,0.62,0.75,0.35 +16,voyage-2,0.62,0.76,0.41,1,0.31,0.73,0.59,0.72,0.4 +17,distiluse-base-multilingual-cased-v2,0.61,0.94,0.36,1,0.28,0.63,0.63,0.75,0.3 +18,LaBSE,0.61,0.96,0.36,1,0.3,0.61,0.65,0.74,0.23 +19,paraphrase-multilingual-MiniLM-L12-v2,0.61,0.92,0.37,1,0.29,0.62,0.6,0.75,0.3 +20,sentence-t5-base,0.6,0.83,0.38,1,0.3,0.64,0.58,0.74,0.3 +21,text2vec-base-multilingual,0.59,0.92,0.31,1,0.29,0.61,0.56,0.78,0.22 +22,sentence-camembert-base,0.58,0.72,0.32,1,0.29,0.64,0.57,0.78,0.29 +23,laser2,0.54,0.95,0.26,1,0.32,0.46,0.57,0.67,0.09 +24,e5-mistral-7b-instruct,0.52,0.37,0.39,1,0.32,0.62,0.58,0.65,0.23 +25,bert-base-multilingual-uncased,0.51,0.76,0.35,1,0.31,0.53,0.48,0.57,0.11 +26,all-MiniLM-L12-v2,0.51,0.48,0.3,1,0.27,0.57,0.52,0.66,0.3 +27,udever-bloom-1b1,0.5,0.52,0.35,1,0.29,0.51,0.55,0.62,0.16 +28,all-MiniLM-L6-v2,0.49,0.41,0.32,1,0.28,0.46,0.52,0.68,0.29 +29,multi-qa-MiniLM-L6-cos-v1,0.49,0.38,0.29,1,0.28,0.53,0.51,0.67,0.29 +30,bert-base-15lang-cased,0.48,0.75,0.33,1,0.29,0.45,0.46,0.5,0.05 +31,bert-base-10lang-cased,0.48,0.75,0.33,1,0.29,0.45,0.46,0.5,0.05 +32,bert-base-multilingual-cased,0.48,0.75,0.33,1,0.29,0.45,0.46,0.5,0.05 +33,bert-base-25lang-cased,0.48,0.75,0.33,1,0.29,0.45,0.46,0.5,0.05 +34,distilbert-base-en-fr-cased,0.47,0.65,0.34,1,0.31,0.42,0.45,0.54,0.06 +35,distilbert-base-en-fr-es-pt-it-cased,0.47,0.65,0.34,1,0.31,0.42,0.45,0.53,0.06 +36,distilbert-base-25lang-cased,0.47,0.65,0.34,1,0.31,0.42,0.45,0.53,0.06 +37,distilbert-base-fr-cased,0.45,0.45,0.34,1,0.31,0.42,0.45,0.54,0.06 +38,camembert-large,0.43,0.26,0.36,1,0.28,0.42,0.49,0.59,0.05 +39,xlm-roberta-base,0.4,0.48,0.25,1,0.29,0.35,0.31,0.51,0 +40,xlm-roberta-large,0.39,0.35,0.25,1,0.29,0.39,0.31,0.49,0.02 +41,camembert-base,0.39,0.19,0.29,1,0.3,0.33,0.42,0.57,0.02 +42,udever-bloom-560m,0.39,0.32,0.25,1,0.24,0.4,0.3,0.51,0.07 +43,flaubert_base_cased,0.38,0.23,0.23,1,0.31,0.45,0.25,0.52,0.06 +44,flaubert_base_uncased,0.35,0.12,0.18,1,0.29,0.46,0.23,0.43,0.06 +45,distilbert-base-uncased,0.33,0.04,0.23,1,0.31,0.35,0.32,0.39,0.02 +46,flaubert_large_cased,0.32,0.11,0.21,1,0.29,0.35,0.25,0.33,0.01 From a12e66ec0f3293cd7a87df1556a0432237737d5e Mon Sep 17 00:00:00 2001 From: Imene Kerboua Date: Tue, 20 Feb 2024 13:10:06 +0100 Subject: [PATCH 5/5] performance of English vs French --- .../avg_performance_overall_80.png | Bin 0 -> 66898 bytes .../avg_performance_overall_90.png | Bin 0 -> 44538 bytes performance_analysis/models_ranks_en_fr.csv | 16 ++++++++++ .../plot_performance_over_languages.py | 29 ++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 performance_analysis/avg_performance_overall_80.png create mode 100644 performance_analysis/avg_performance_overall_90.png create mode 100644 performance_analysis/models_ranks_en_fr.csv create mode 100644 script_mteb_french/results_analysis/plot_performance_over_languages.py diff --git a/performance_analysis/avg_performance_overall_80.png b/performance_analysis/avg_performance_overall_80.png new file mode 100644 index 0000000000000000000000000000000000000000..309480bd4aba92f77a537b60c9d5d1ed31dfaf33 GIT binary patch literal 66898 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

XQO*;Fo|TPhc}fG*wv$#|`KR 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 (oO_e<*BX(V~n+ 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 D+^2Hj literal 0 HcmV?d00001 diff --git a/performance_analysis/avg_performance_overall_90.png b/performance_analysis/avg_performance_overall_90.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc79f70e74fd86b15a9119d699129397f8f4154 GIT binary patch literal 44538 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