mteb 2.7.3__py3-none-any.whl → 2.7.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. mteb/_create_dataloaders.py +47 -5
  2. mteb/_evaluators/any_sts_evaluator.py +2 -0
  3. mteb/_evaluators/clustering_evaluator.py +2 -0
  4. mteb/_evaluators/evaluator.py +2 -1
  5. mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +8 -1
  6. mteb/_evaluators/pair_classification_evaluator.py +3 -0
  7. mteb/_evaluators/retrieval_evaluator.py +3 -0
  8. mteb/_evaluators/sklearn_evaluator.py +6 -1
  9. mteb/_evaluators/text/bitext_mining_evaluator.py +2 -0
  10. mteb/_evaluators/text/summarization_evaluator.py +2 -0
  11. mteb/_evaluators/zeroshot_classification_evaluator.py +2 -0
  12. mteb/abstasks/abstask.py +31 -12
  13. mteb/abstasks/classification.py +10 -3
  14. mteb/abstasks/clustering.py +6 -2
  15. mteb/abstasks/clustering_legacy.py +8 -2
  16. mteb/abstasks/image/image_text_pair_classification.py +6 -2
  17. mteb/abstasks/multilabel_classification.py +2 -0
  18. mteb/abstasks/pair_classification.py +8 -2
  19. mteb/abstasks/retrieval.py +27 -12
  20. mteb/abstasks/retrieval_dataset_loaders.py +29 -19
  21. mteb/abstasks/sts.py +10 -3
  22. mteb/abstasks/text/bitext_mining.py +9 -5
  23. mteb/abstasks/text/reranking.py +2 -2
  24. mteb/abstasks/text/summarization.py +2 -1
  25. mteb/abstasks/zeroshot_classification.py +8 -2
  26. mteb/benchmarks/benchmarks/__init__.py +2 -0
  27. mteb/benchmarks/benchmarks/benchmarks.py +41 -2
  28. mteb/descriptive_stats/Retrieval/BrightAopsRetrieval.json +35 -0
  29. mteb/descriptive_stats/Retrieval/BrightBiologyLongRetrieval.json +35 -0
  30. mteb/descriptive_stats/Retrieval/BrightBiologyRetrieval.json +35 -0
  31. mteb/descriptive_stats/Retrieval/BrightEarthScienceLongRetrieval.json +35 -0
  32. mteb/descriptive_stats/Retrieval/BrightEarthScienceRetrieval.json +35 -0
  33. mteb/descriptive_stats/Retrieval/BrightEconomicsLongRetrieval.json +35 -0
  34. mteb/descriptive_stats/Retrieval/BrightEconomicsRetrieval.json +35 -0
  35. mteb/descriptive_stats/Retrieval/BrightLeetcodeRetrieval.json +35 -0
  36. mteb/descriptive_stats/Retrieval/BrightPonyLongRetrieval.json +35 -0
  37. mteb/descriptive_stats/Retrieval/BrightPonyRetrieval.json +35 -0
  38. mteb/descriptive_stats/Retrieval/BrightPsychologyLongRetrieval.json +35 -0
  39. mteb/descriptive_stats/Retrieval/BrightPsychologyRetrieval.json +35 -0
  40. mteb/descriptive_stats/Retrieval/BrightRoboticsLongRetrieval.json +35 -0
  41. mteb/descriptive_stats/Retrieval/BrightRoboticsRetrieval.json +35 -0
  42. mteb/descriptive_stats/Retrieval/BrightStackoverflowLongRetrieval.json +35 -0
  43. mteb/descriptive_stats/Retrieval/BrightStackoverflowRetrieval.json +35 -0
  44. mteb/descriptive_stats/Retrieval/BrightSustainableLivingLongRetrieval.json +35 -0
  45. mteb/descriptive_stats/Retrieval/BrightSustainableLivingRetrieval.json +35 -0
  46. mteb/descriptive_stats/Retrieval/BrightTheoremQAQuestionsRetrieval.json +35 -0
  47. mteb/descriptive_stats/Retrieval/BrightTheoremQATheoremsRetrieval.json +35 -0
  48. mteb/evaluate.py +10 -2
  49. mteb/models/model_implementations/align_models.py +1 -0
  50. mteb/models/model_implementations/amazon_models.py +1 -0
  51. mteb/models/model_implementations/andersborges.py +2 -0
  52. mteb/models/model_implementations/ara_models.py +1 -0
  53. mteb/models/model_implementations/arctic_models.py +8 -0
  54. mteb/models/model_implementations/b1ade_models.py +1 -0
  55. mteb/models/model_implementations/bedrock_models.py +4 -0
  56. mteb/models/model_implementations/bge_models.py +40 -1
  57. mteb/models/model_implementations/bica_model.py +1 -0
  58. mteb/models/model_implementations/blip2_models.py +2 -0
  59. mteb/models/model_implementations/blip_models.py +8 -0
  60. mteb/models/model_implementations/bm25.py +10 -5
  61. mteb/models/model_implementations/bmretriever_models.py +4 -0
  62. mteb/models/model_implementations/cadet_models.py +1 -0
  63. mteb/models/model_implementations/cde_models.py +2 -0
  64. mteb/models/model_implementations/clip_models.py +3 -0
  65. mteb/models/model_implementations/clips_models.py +3 -0
  66. mteb/models/model_implementations/codefuse_models.py +5 -0
  67. mteb/models/model_implementations/codesage_models.py +3 -0
  68. mteb/models/model_implementations/cohere_models.py +4 -0
  69. mteb/models/model_implementations/cohere_v.py +5 -0
  70. mteb/models/model_implementations/colpali_models.py +3 -0
  71. mteb/models/model_implementations/colqwen_models.py +7 -0
  72. mteb/models/model_implementations/colsmol_models.py +2 -0
  73. mteb/models/model_implementations/conan_models.py +1 -0
  74. mteb/models/model_implementations/dino_models.py +19 -0
  75. mteb/models/model_implementations/e5_instruct.py +4 -0
  76. mteb/models/model_implementations/e5_models.py +9 -0
  77. mteb/models/model_implementations/e5_v.py +1 -0
  78. mteb/models/model_implementations/eagerworks_models.py +1 -0
  79. mteb/models/model_implementations/emillykkejensen_models.py +3 -0
  80. mteb/models/model_implementations/en_code_retriever.py +1 -0
  81. mteb/models/model_implementations/euler_models.py +1 -0
  82. mteb/models/model_implementations/evaclip_models.py +4 -0
  83. mteb/models/model_implementations/fa_models.py +9 -0
  84. mteb/models/model_implementations/facebookai.py +2 -0
  85. mteb/models/model_implementations/geogpt_models.py +1 -0
  86. mteb/models/model_implementations/gme_v_models.py +2 -0
  87. mteb/models/model_implementations/google_models.py +5 -0
  88. mteb/models/model_implementations/granite_vision_embedding_models.py +1 -0
  89. mteb/models/model_implementations/gritlm_models.py +2 -0
  90. mteb/models/model_implementations/gte_models.py +9 -0
  91. mteb/models/model_implementations/hinvec_models.py +1 -0
  92. mteb/models/model_implementations/human.py +1 -0
  93. mteb/models/model_implementations/ibm_granite_models.py +6 -0
  94. mteb/models/model_implementations/inf_models.py +2 -0
  95. mteb/models/model_implementations/jasper_models.py +2 -0
  96. mteb/models/model_implementations/jina_clip.py +1 -0
  97. mteb/models/model_implementations/jina_models.py +7 -0
  98. mteb/models/model_implementations/kalm_models.py +6 -0
  99. mteb/models/model_implementations/kblab.py +1 -0
  100. mteb/models/model_implementations/kennethenevoldsen_models.py +2 -0
  101. mteb/models/model_implementations/kfst.py +1 -0
  102. mteb/models/model_implementations/kowshik24_models.py +1 -0
  103. mteb/models/model_implementations/lens_models.py +2 -0
  104. mteb/models/model_implementations/lgai_embedding_models.py +1 -0
  105. mteb/models/model_implementations/linq_models.py +1 -0
  106. mteb/models/model_implementations/listconranker.py +1 -0
  107. mteb/models/model_implementations/llm2clip_models.py +3 -0
  108. mteb/models/model_implementations/llm2vec_models.py +8 -0
  109. mteb/models/model_implementations/mcinext_models.py +3 -0
  110. mteb/models/model_implementations/mdbr_models.py +2 -0
  111. mteb/models/model_implementations/misc_models.py +63 -0
  112. mteb/models/model_implementations/mixedbread_ai_models.py +3 -0
  113. mteb/models/model_implementations/mme5_models.py +2 -1
  114. mteb/models/model_implementations/moco_models.py +2 -0
  115. mteb/models/model_implementations/mod_models.py +1 -0
  116. mteb/models/model_implementations/model2vec_models.py +13 -0
  117. mteb/models/model_implementations/moka_models.py +3 -0
  118. mteb/models/model_implementations/nbailab.py +3 -0
  119. mteb/models/model_implementations/no_instruct_sentence_models.py +1 -0
  120. mteb/models/model_implementations/nomic_models.py +6 -0
  121. mteb/models/model_implementations/nomic_models_vision.py +1 -0
  122. mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +2 -0
  123. mteb/models/model_implementations/nvidia_models.py +3 -0
  124. mteb/models/model_implementations/octen_models.py +2 -0
  125. mteb/models/model_implementations/openai_models.py +5 -0
  126. mteb/models/model_implementations/openclip_models.py +8 -0
  127. mteb/models/model_implementations/opensearch_neural_sparse_models.py +5 -0
  128. mteb/models/model_implementations/ops_moa_models.py +2 -0
  129. mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py +1 -0
  130. mteb/models/model_implementations/pawan_models.py +1 -0
  131. mteb/models/model_implementations/piccolo_models.py +2 -0
  132. mteb/models/model_implementations/promptriever_models.py +4 -0
  133. mteb/models/model_implementations/pylate_models.py +13 -0
  134. mteb/models/model_implementations/qodo_models.py +2 -0
  135. mteb/models/model_implementations/qtack_models.py +1 -0
  136. mteb/models/model_implementations/qwen3_models.py +3 -0
  137. mteb/models/model_implementations/qzhou_models.py +2 -0
  138. mteb/models/model_implementations/rasgaard_models.py +1 -0
  139. mteb/models/model_implementations/reasonir_model.py +65 -0
  140. mteb/models/model_implementations/repllama_models.py +2 -0
  141. mteb/models/model_implementations/rerankers_custom.py +3 -0
  142. mteb/models/model_implementations/rerankers_monot5_based.py +14 -0
  143. mteb/models/model_implementations/richinfoai_models.py +1 -0
  144. mteb/models/model_implementations/ru_sentence_models.py +20 -0
  145. mteb/models/model_implementations/ruri_models.py +10 -0
  146. mteb/models/model_implementations/salesforce_models.py +3 -0
  147. mteb/models/model_implementations/samilpwc_models.py +1 -0
  148. mteb/models/model_implementations/sarashina_embedding_models.py +2 -0
  149. mteb/models/model_implementations/searchmap_models.py +1 -0
  150. mteb/models/model_implementations/seed_1_6_embedding_models.py +1 -0
  151. mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +1 -0
  152. mteb/models/model_implementations/seed_models.py +1 -0
  153. mteb/models/model_implementations/sentence_transformers_models.py +18 -0
  154. mteb/models/model_implementations/shuu_model.py +1 -0
  155. mteb/models/model_implementations/siglip_models.py +10 -0
  156. mteb/models/model_implementations/sonar_models.py +2 -1
  157. mteb/models/model_implementations/spartan8806_atles_champion.py +1 -0
  158. mteb/models/model_implementations/stella_models.py +6 -0
  159. mteb/models/model_implementations/tarka_models.py +2 -0
  160. mteb/models/model_implementations/text2vec_models.py +3 -0
  161. mteb/models/model_implementations/ua_sentence_models.py +1 -0
  162. mteb/models/model_implementations/uae_models.py +1 -0
  163. mteb/models/model_implementations/vdr_models.py +1 -0
  164. mteb/models/model_implementations/vi_vn_models.py +6 -0
  165. mteb/models/model_implementations/vista_models.py +2 -0
  166. mteb/models/model_implementations/vlm2vec_models.py +2 -0
  167. mteb/models/model_implementations/voyage_models.py +15 -0
  168. mteb/models/model_implementations/voyage_v.py +1 -0
  169. mteb/models/model_implementations/xyz_models.py +1 -0
  170. mteb/models/model_implementations/youtu_models.py +1 -0
  171. mteb/models/model_implementations/yuan_models.py +1 -0
  172. mteb/models/model_implementations/yuan_models_en.py +1 -0
  173. mteb/models/model_meta.py +35 -2
  174. mteb/models/models_protocols.py +4 -0
  175. mteb/models/search_wrappers.py +12 -0
  176. mteb/tasks/bitext_mining/eng/pub_chem_smiles_bitext_mining.py +1 -1
  177. mteb/tasks/bitext_mining/fas/fa_mteb_summary_retrieval.py +3 -3
  178. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining.py +1 -1
  179. mteb/tasks/bitext_mining/multilingual/flores_bitext_mining.py +1 -1
  180. mteb/tasks/bitext_mining/multilingual/in22_conv_bitext_mining.py +1 -1
  181. mteb/tasks/bitext_mining/multilingual/in22_gen_bitext_mining.py +1 -1
  182. mteb/tasks/bitext_mining/multilingual/norwegian_courts_bitext_mining.py +1 -1
  183. mteb/tasks/bitext_mining/multilingual/ntrex_bitext_mining.py +1 -1
  184. mteb/tasks/bitext_mining/multilingual/roma_tales_bitext_mining.py +2 -2
  185. mteb/tasks/bitext_mining/multilingual/web_faq_bitext_mining.py +2 -2
  186. mteb/tasks/classification/ara/online_store_review_sentiment_classification.py +1 -1
  187. mteb/tasks/classification/ara/restaurant_review_sentiment_classification.py +1 -1
  188. mteb/tasks/classification/ara/tweet_sarcasm_classification.py +1 -1
  189. mteb/tasks/classification/ben/bengali_hate_speech_classification.py +1 -1
  190. mteb/tasks/classification/ben/bengali_sentiment_analysis.py +1 -1
  191. mteb/tasks/classification/bul/bulgarian_store_review_sentiment_classfication.py +1 -1
  192. mteb/tasks/classification/ces/csfdcz_movie_review_sentiment_classification.py +2 -2
  193. mteb/tasks/classification/dan/ddisco_cohesion_classification.py +1 -1
  194. mteb/tasks/classification/dan/dk_hate_classification.py +1 -1
  195. mteb/tasks/classification/deu/german_politicians_twitter_sentiment_classification.py +1 -1
  196. mteb/tasks/classification/ell/greek_legal_code_classification.py +1 -1
  197. mteb/tasks/classification/eng/dbpedia_classification.py +2 -2
  198. mteb/tasks/classification/eng/toxic_chat_classification.py +2 -2
  199. mteb/tasks/classification/eng/toxic_conversations_classification.py +2 -2
  200. mteb/tasks/classification/eng/tweet_topic_single_classification.py +1 -1
  201. mteb/tasks/classification/eng/yahoo_answers_topics_classification.py +1 -1
  202. mteb/tasks/classification/eng/yelp_review_full_classification.py +2 -2
  203. mteb/tasks/classification/est/estonian_valence.py +1 -1
  204. mteb/tasks/classification/fas/fa_mteb_classification.py +6 -6
  205. mteb/tasks/classification/fas/persian_food_sentiment_classification.py +1 -1
  206. mteb/tasks/classification/fil/filipino_shopee_reviews_classification.py +1 -1
  207. mteb/tasks/classification/fin/fin_toxicity_classification.py +1 -1
  208. mteb/tasks/classification/fra/french_book_reviews.py +2 -2
  209. mteb/tasks/classification/fra/movie_review_sentiment_classification.py +2 -2
  210. mteb/tasks/classification/guj/gujarati_news_classification.py +1 -1
  211. mteb/tasks/classification/hin/hindi_discourse_classification.py +1 -1
  212. mteb/tasks/classification/hin/sentiment_analysis_hindi.py +1 -1
  213. mteb/tasks/classification/ind/indonesian_id_clickbait_classification.py +2 -2
  214. mteb/tasks/classification/ind/indonesian_mongabay_conservation_classification.py +1 -1
  215. mteb/tasks/classification/ita/dado_eval_coarse_classification.py +1 -1
  216. mteb/tasks/classification/ita/ita_casehold_classification.py +1 -1
  217. mteb/tasks/classification/ita/sardi_stance_classification.py +1 -1
  218. mteb/tasks/classification/jav/javanese_imdb_classification.py +1 -1
  219. mteb/tasks/classification/jpn/wrime_classification.py +1 -1
  220. mteb/tasks/classification/kan/kannada_news_classification.py +2 -2
  221. mteb/tasks/classification/kor/klue_tc.py +2 -2
  222. mteb/tasks/classification/kor/kor_fin.py +1 -1
  223. mteb/tasks/classification/kor/kor_hate_classification.py +1 -1
  224. mteb/tasks/classification/kor/kor_sarcasm_classification.py +1 -1
  225. mteb/tasks/classification/mal/malayalam_news_classification.py +1 -1
  226. mteb/tasks/classification/mar/marathi_news_classification.py +1 -1
  227. mteb/tasks/classification/multilingual/afri_senti_lang_classification.py +1 -1
  228. mteb/tasks/classification/multilingual/catalonia_tweet_classification.py +1 -1
  229. mteb/tasks/classification/multilingual/cyrillic_turkic_lang_classification.py +1 -1
  230. mteb/tasks/classification/multilingual/indic_nlp_news_classification.py +1 -1
  231. mteb/tasks/classification/multilingual/masakha_news_classification.py +1 -1
  232. mteb/tasks/classification/multilingual/multi_hate_classification.py +1 -1
  233. mteb/tasks/classification/multilingual/multilingual_sentiment_classification.py +1 -1
  234. mteb/tasks/classification/multilingual/scala_classification.py +1 -1
  235. mteb/tasks/classification/multilingual/sib200_classification.py +1 -1
  236. mteb/tasks/classification/multilingual/turkic_classification.py +1 -1
  237. mteb/tasks/classification/multilingual/tweet_sentiment_classification.py +1 -1
  238. mteb/tasks/classification/nep/nepali_news_classification.py +2 -2
  239. mteb/tasks/classification/nld/dutch_sarcastic_headlines_classification.py +1 -1
  240. mteb/tasks/classification/nld/vaccin_chat_nl_classification.py +1 -1
  241. mteb/tasks/classification/ory/odia_news_classification.py +2 -2
  242. mteb/tasks/classification/pan/punjabi_news_classification.py +1 -1
  243. mteb/tasks/classification/ron/moroco.py +1 -1
  244. mteb/tasks/classification/ron/romanian_reviews_sentiment.py +1 -1
  245. mteb/tasks/classification/ron/romanian_sentiment_classification.py +1 -1
  246. mteb/tasks/classification/rus/georeview_classification.py +1 -1
  247. mteb/tasks/classification/rus/headline_classification.py +2 -2
  248. mteb/tasks/classification/rus/inappropriateness_classification.py +2 -2
  249. mteb/tasks/classification/rus/ru_reviews_classification.py +2 -2
  250. mteb/tasks/classification/rus/ru_sci_bench_grnti_classification.py +1 -1
  251. mteb/tasks/classification/rus/ru_sci_bench_oecd_classification.py +1 -1
  252. mteb/tasks/classification/rus/ru_toixic_classification_okmlcup.py +1 -1
  253. mteb/tasks/classification/san/sanskrit_shlokas_classification.py +1 -1
  254. mteb/tasks/classification/sin/sinhala_news_classification.py +2 -2
  255. mteb/tasks/classification/sin/sinhala_news_source_classification.py +2 -2
  256. mteb/tasks/classification/slk/csfdsk_movie_review_sentiment_classification.py +2 -2
  257. mteb/tasks/classification/slv/frenk_sl_classification.py +1 -1
  258. mteb/tasks/classification/spa/spanish_news_classification.py +2 -2
  259. mteb/tasks/classification/ssw/siswati_news_classification.py +1 -1
  260. mteb/tasks/classification/tam/tamil_news_classification.py +2 -2
  261. mteb/tasks/classification/tel/telugu_andhra_jyoti_news_classification.py +2 -2
  262. mteb/tasks/classification/tha/wongnai_reviews_classification.py +1 -1
  263. mteb/tasks/classification/tur/turkish_movie_sentiment_classification.py +2 -2
  264. mteb/tasks/classification/ukr/ukr_formality_classification.py +2 -2
  265. mteb/tasks/classification/vie/toxic_conversations_vn_classification.py +1 -1
  266. mteb/tasks/classification/vie/vie_student_feedback_classification.py +1 -1
  267. mteb/tasks/classification/zho/yue_openrice_review_classification.py +2 -2
  268. mteb/tasks/classification/zul/isi_zulu_news_classification.py +1 -1
  269. mteb/tasks/clustering/deu/blurbs_clustering_p2p.py +1 -1
  270. mteb/tasks/clustering/deu/blurbs_clustering_s2s.py +1 -1
  271. mteb/tasks/clustering/eng/arxiv_clustering_p2p.py +1 -1
  272. mteb/tasks/clustering/eng/arxiv_hierarchical_clustering.py +2 -2
  273. mteb/tasks/clustering/eng/big_patent_clustering.py +1 -1
  274. mteb/tasks/clustering/eng/biorxiv_clustering_p2p.py +1 -1
  275. mteb/tasks/clustering/eng/biorxiv_clustering_s2s.py +1 -1
  276. mteb/tasks/clustering/eng/medrxiv_clustering_p2p.py +1 -1
  277. mteb/tasks/clustering/eng/medrxiv_clustering_s2s.py +1 -1
  278. mteb/tasks/clustering/eng/reddit_clustering.py +1 -1
  279. mteb/tasks/clustering/eng/reddit_clustering_p2p.py +1 -1
  280. mteb/tasks/clustering/eng/stack_exchange_clustering.py +1 -1
  281. mteb/tasks/clustering/eng/stack_exchange_clustering_p2p.py +1 -1
  282. mteb/tasks/clustering/eng/twenty_newsgroups_clustering.py +1 -1
  283. mteb/tasks/clustering/fas/fa_mteb_clustering.py +4 -4
  284. mteb/tasks/clustering/fra/hal_clustering_s2s.py +2 -2
  285. mteb/tasks/clustering/multilingual/mlsum_clustering_p2p.py +2 -2
  286. mteb/tasks/clustering/multilingual/mlsum_clustering_s2s.py +2 -2
  287. mteb/tasks/clustering/multilingual/sib200_clustering_s2s.py +1 -1
  288. mteb/tasks/clustering/multilingual/wiki_clustering_p2p.py +1 -1
  289. mteb/tasks/clustering/nld/dutch_news_articles_clustering_p2p.py +1 -1
  290. mteb/tasks/clustering/nld/dutch_news_articles_clustering_s2s.py +1 -1
  291. mteb/tasks/clustering/nld/iconclass_clustering_s2s.py +1 -1
  292. mteb/tasks/clustering/nld/open_tender_clustering_p2p.py +1 -1
  293. mteb/tasks/clustering/nld/vabb_clustering_p2p.py +1 -1
  294. mteb/tasks/clustering/nld/vabb_clustering_s2s.py +1 -1
  295. mteb/tasks/clustering/nob/snl_clustering.py +1 -1
  296. mteb/tasks/clustering/nob/vg_clustering.py +1 -1
  297. mteb/tasks/clustering/pol/polish_clustering.py +3 -3
  298. mteb/tasks/clustering/rus/ru_sci_bench_grnti_clustering_p2p.py +1 -1
  299. mteb/tasks/clustering/rus/ru_sci_bench_oecd_clustering_p2p.py +1 -1
  300. mteb/tasks/clustering/zho/cmteb_clustering.py +4 -4
  301. mteb/tasks/image_text_pair_classification/eng/image_co_de.py +1 -1
  302. mteb/tasks/image_text_pair_classification/eng/sugar_crepe.py +1 -1
  303. mteb/tasks/instruction_reranking/multilingual/m_follow_ir.py +2 -2
  304. mteb/tasks/multichoice/eng/cv_bench.py +4 -4
  305. mteb/tasks/multilabel_classification/ita/emit_classification.py +1 -1
  306. mteb/tasks/multilabel_classification/mlt/maltese_news_classification.py +1 -1
  307. mteb/tasks/multilabel_classification/rus/ru_toixic_multilabelclassification_okmlcup.py +1 -1
  308. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_group_classification.py +1 -1
  309. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_subclass_classification.py +1 -1
  310. mteb/tasks/pair_classification/ara/ar_entail.py +1 -1
  311. mteb/tasks/pair_classification/dan/talemaader_pc.py +1 -1
  312. mteb/tasks/pair_classification/deu/false_friends_de_en_pc.py +1 -1
  313. mteb/tasks/pair_classification/eng/pub_chem_ai_sentence_paraphrase_pc.py +1 -1
  314. mteb/tasks/pair_classification/eng/pub_chem_smilespc.py +1 -1
  315. mteb/tasks/pair_classification/eng/pub_chem_synonym_pc.py +1 -1
  316. mteb/tasks/pair_classification/eng/pub_chem_wiki_paragraphs_pc.py +1 -1
  317. mteb/tasks/pair_classification/eng/sprint_duplicate_questions_pc.py +1 -1
  318. mteb/tasks/pair_classification/eng/twitter_sem_eval2015_pc.py +1 -1
  319. mteb/tasks/pair_classification/eng/twitter_url_corpus_pc.py +1 -1
  320. mteb/tasks/pair_classification/fas/fa_mteb_pair_classification.py +5 -5
  321. mteb/tasks/pair_classification/fas/fars_tail.py +2 -2
  322. mteb/tasks/pair_classification/hye/armenian_paraphrase_pc.py +1 -1
  323. mteb/tasks/pair_classification/ita/dis_co_tex_pair_classification.py +1 -1
  324. mteb/tasks/pair_classification/kor/klue_nli.py +1 -1
  325. mteb/tasks/pair_classification/multilingual/rte3.py +2 -2
  326. mteb/tasks/pair_classification/multilingual/xnli.py +1 -1
  327. mteb/tasks/pair_classification/pol/polish_pc.py +4 -4
  328. mteb/tasks/pair_classification/por/assin2_rte.py +1 -1
  329. mteb/tasks/pair_classification/por/sick_br_pc.py +1 -1
  330. mteb/tasks/pair_classification/rus/terra.py +2 -2
  331. mteb/tasks/pair_classification/vie/sprint_duplicate_questions_pcvn.py +1 -1
  332. mteb/tasks/pair_classification/vie/twitter_sem_eval2015_pcvn.py +1 -1
  333. mteb/tasks/pair_classification/vie/twitter_url_corpus_pcvn.py +1 -1
  334. mteb/tasks/pair_classification/zho/cmteb_pair_classification.py +2 -2
  335. mteb/tasks/retrieval/ara/sadeem_question_retrieval.py +1 -1
  336. mteb/tasks/retrieval/code/code_edit_search_retrieval.py +1 -1
  337. mteb/tasks/retrieval/code/code_rag.py +4 -4
  338. mteb/tasks/retrieval/code/code_search_net_cc_retrieval.py +1 -1
  339. mteb/tasks/retrieval/code/coir_code_search_net_retrieval.py +1 -1
  340. mteb/tasks/retrieval/code/ds1000_retrieval.py +1 -1
  341. mteb/tasks/retrieval/code/fresh_stack_retrieval.py +1 -1
  342. mteb/tasks/retrieval/code/human_eval_retrieval.py +1 -1
  343. mteb/tasks/retrieval/code/mbpp_retrieval.py +1 -1
  344. mteb/tasks/retrieval/code/wiki_sql_retrieval.py +1 -1
  345. mteb/tasks/retrieval/dan/dan_fever_retrieval.py +1 -1
  346. mteb/tasks/retrieval/dan/tv2_nordretrieval.py +1 -1
  347. mteb/tasks/retrieval/dan/twitter_hjerne_retrieval.py +1 -1
  348. mteb/tasks/retrieval/deu/german_gov_service_retrieval.py +1 -1
  349. mteb/tasks/retrieval/deu/german_qu_ad_retrieval.py +1 -1
  350. mteb/tasks/retrieval/ell/greek_civics_qa.py +1 -1
  351. mteb/tasks/retrieval/eng/__init__.py +42 -0
  352. mteb/tasks/retrieval/eng/bright_retrieval.py +10 -2
  353. mteb/tasks/retrieval/eng/bright_v1_1_retrieval.py +968 -0
  354. mteb/tasks/retrieval/eng/chat_doctor_retrieval.py +1 -1
  355. mteb/tasks/retrieval/eng/fin_qa_retrieval.py +1 -1
  356. mteb/tasks/retrieval/eng/finance_bench_retrieval.py +1 -1
  357. mteb/tasks/retrieval/eng/hateful_memes_i2t_retrieval.py +1 -1
  358. mteb/tasks/retrieval/eng/hateful_memes_t2i_retrieval.py +1 -1
  359. mteb/tasks/retrieval/eng/hc3_finance_retrieval.py +1 -1
  360. mteb/tasks/retrieval/eng/lemb_narrative_qa_retrieval.py +1 -1
  361. mteb/tasks/retrieval/eng/lemb_needle_retrieval.py +1 -1
  362. mteb/tasks/retrieval/eng/lemb_passkey_retrieval.py +1 -1
  363. mteb/tasks/retrieval/eng/lemb_summ_screen_fd_retrieval.py +1 -1
  364. mteb/tasks/retrieval/eng/lemb_wikim_qa_retrieval.py +1 -1
  365. mteb/tasks/retrieval/eng/lembqm_sum_retrieval.py +1 -1
  366. mteb/tasks/retrieval/eng/lit_search_retrieval.py +1 -1
  367. mteb/tasks/retrieval/eng/memotion_i2t_retrieval.py +1 -1
  368. mteb/tasks/retrieval/eng/memotion_t2i_retrieval.py +1 -1
  369. mteb/tasks/retrieval/eng/ml_questions.py +1 -1
  370. mteb/tasks/retrieval/eng/nano_argu_ana_retrieval.py +1 -1
  371. mteb/tasks/retrieval/eng/nano_climate_fever_retrieval.py +1 -1
  372. mteb/tasks/retrieval/eng/nano_db_pedia_retrieval.py +1 -1
  373. mteb/tasks/retrieval/eng/nano_fever_retrieval.py +1 -1
  374. mteb/tasks/retrieval/eng/nano_fi_qa2018_retrieval.py +1 -1
  375. mteb/tasks/retrieval/eng/nano_hotpot_qa_retrieval.py +1 -1
  376. mteb/tasks/retrieval/eng/nano_msmarco_retrieval.py +1 -1
  377. mteb/tasks/retrieval/eng/nano_nf_corpus_retrieval.py +1 -1
  378. mteb/tasks/retrieval/eng/nano_nq_retrieval.py +1 -1
  379. mteb/tasks/retrieval/eng/nano_quora_retrieval.py +1 -1
  380. mteb/tasks/retrieval/eng/nano_sci_fact_retrieval.py +1 -1
  381. mteb/tasks/retrieval/eng/nano_scidocs_retrieval.py +1 -1
  382. mteb/tasks/retrieval/eng/nano_touche2020_retrieval.py +1 -1
  383. mteb/tasks/retrieval/eng/narrative_qa_retrieval.py +1 -1
  384. mteb/tasks/retrieval/eng/r2_med_retrieval.py +8 -8
  385. mteb/tasks/retrieval/eng/sci_mmir_i2t_retrieval.py +1 -1
  386. mteb/tasks/retrieval/eng/sci_mmir_t2i_retrieval.py +1 -1
  387. mteb/tasks/retrieval/eng/vidore_bench_retrieval.py +10 -10
  388. mteb/tasks/retrieval/fra/f_qu_ad_retrieval.py +1 -1
  389. mteb/tasks/retrieval/fra/syntec_retrieval.py +1 -1
  390. mteb/tasks/retrieval/hun/hun_sum2.py +1 -1
  391. mteb/tasks/retrieval/kat/georgian_faq_retrieval.py +1 -1
  392. mteb/tasks/retrieval/multilingual/cross_lingual_semantic_discrimination_wmt19.py +1 -1
  393. mteb/tasks/retrieval/multilingual/cross_lingual_semantic_discrimination_wmt21.py +1 -1
  394. mteb/tasks/retrieval/multilingual/cur_ev1_retrieval.py +1 -1
  395. mteb/tasks/retrieval/multilingual/jina_vdr_bench_retrieval.py +1 -1
  396. mteb/tasks/retrieval/multilingual/miracl_vision_retrieval.py +1 -1
  397. mteb/tasks/retrieval/multilingual/mr_tidy_retrieval.py +1 -1
  398. mteb/tasks/retrieval/multilingual/public_health_qa_retrieval.py +1 -1
  399. mteb/tasks/retrieval/multilingual/ru_sci_bench_retrieval.py +2 -2
  400. mteb/tasks/retrieval/multilingual/statcan_dialogue_dataset_retrieval.py +1 -1
  401. mteb/tasks/retrieval/multilingual/vdr_multilingual_retrieval.py +1 -1
  402. mteb/tasks/retrieval/multilingual/vidore2_bench_retrieval.py +14 -4
  403. mteb/tasks/retrieval/multilingual/wit_t2i_retrieval.py +1 -1
  404. mteb/tasks/retrieval/multilingual/x_flickr30k_co_t2i_retrieval.py +1 -1
  405. mteb/tasks/retrieval/multilingual/x_qu_ad_retrieval.py +1 -1
  406. mteb/tasks/retrieval/multilingual/xm3600_t2i_retrieval.py +1 -1
  407. mteb/tasks/retrieval/nld/cqa_dupstack_android_nl_retrieval.py +1 -1
  408. mteb/tasks/retrieval/nld/cqa_dupstack_english_nl_retrieval.py +1 -1
  409. mteb/tasks/retrieval/nld/cqa_dupstack_gaming_nl_retrieval.py +1 -1
  410. mteb/tasks/retrieval/nld/cqa_dupstack_gis_nl_retrieval.py +1 -1
  411. mteb/tasks/retrieval/nld/cqa_dupstack_mathematica_nl_retrieval.py +1 -1
  412. mteb/tasks/retrieval/nld/cqa_dupstack_physics_nl_retrieval.py +1 -1
  413. mteb/tasks/retrieval/nld/cqa_dupstack_programmers_nl_retrieval.py +1 -1
  414. mteb/tasks/retrieval/nld/cqa_dupstack_stats_nl_retrieval.py +1 -1
  415. mteb/tasks/retrieval/nld/cqa_dupstack_tex_nl_retrieval.py +1 -1
  416. mteb/tasks/retrieval/nld/cqa_dupstack_unix_nl_retrieval.py +1 -1
  417. mteb/tasks/retrieval/nld/cqa_dupstack_webmasters_nl_retrieval.py +1 -1
  418. mteb/tasks/retrieval/nld/cqa_dupstack_wordpress_nl_retrieval.py +1 -1
  419. mteb/tasks/retrieval/nob/norquad.py +1 -1
  420. mteb/tasks/retrieval/nob/snl_retrieval.py +1 -1
  421. mteb/tasks/retrieval/slk/slovak_sum_retrieval.py +1 -1
  422. mteb/tasks/retrieval/vie/vie_qu_ad_retrieval.py +1 -1
  423. mteb/tasks/sts/fao/faroese_sts.py +1 -1
  424. mteb/tasks/sts/fra/sick_fr_sts.py +1 -1
  425. mteb/tasks/sts/kor/klue_sts.py +1 -1
  426. mteb/tasks/sts/por/sick_br_sts.py +1 -1
  427. mteb/tasks/sts/rus/ru_para_phraser_sts.py +1 -1
  428. mteb/tasks/zeroshot_classification/eng/sci_mmir.py +1 -1
  429. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/METADATA +1 -1
  430. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/RECORD +434 -413
  431. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/WHEEL +0 -0
  432. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/entry_points.txt +0 -0
  433. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/licenses/LICENSE +0 -0
  434. {mteb-2.7.3.dist-info → mteb-2.7.5.dist-info}/top_level.txt +0 -0
mteb/models/model_meta.py CHANGED
@@ -10,6 +10,7 @@ from functools import partial
10
10
  from pathlib import Path
11
11
  from typing import TYPE_CHECKING, Any, Literal, cast
12
12
 
13
+ import numpy as np
13
14
  from huggingface_hub import (
14
15
  ModelCard,
15
16
  get_safetensors_metadata,
@@ -27,6 +28,8 @@ from huggingface_hub.errors import (
27
28
  SafetensorsParsingError,
28
29
  )
29
30
  from pydantic import BaseModel, ConfigDict, field_validator, model_validator
31
+ from sentence_transformers.models import Transformer
32
+ from torch import nn
30
33
  from transformers import AutoConfig
31
34
 
32
35
  from mteb._helpful_enum import HelpfulStrEnum
@@ -99,8 +102,9 @@ class ModelMeta(BaseModel):
99
102
  loader: The function that loads the model. If None it assumes that the model is not implemented.
100
103
  loader_kwargs: The keyword arguments to pass to the loader function.
101
104
  name: The name of the model, ideally the name on huggingface. It should be in the format "organization/model_name".
102
- n_parameters: The number of parameters in the model, e.g. 7_000_000 for a 7M parameter model. Can be None if the number of parameters is not known (e.g. for proprietary models) or
103
- if the loader returns a SentenceTransformer model from which it can be derived.
105
+ n_parameters: The total number of parameters in the model, e.g. `7_000_000` for a 7M parameter model. Can be none in case the number of parameters is unknown.
106
+ n_embedding_parameters: The number of parameters used for the embedding layer. Can be None if the number of embedding parameters is not known (e.g. for proprietary models).
107
+ n_active_parameters_override: The number of active parameters used bu model. Should be used **only** for Mixture of Experts models.
104
108
  memory_usage_mb: The memory usage of the model in MB. Can be None if the memory usage is not known (e.g. for proprietary models). To calculate it use the `calculate_memory_usage_mb` method.
105
109
  max_tokens: The maximum number of tokens the model can handle. Can be None if the maximum number of tokens is not known (e.g. for proprietary
106
110
  models).
@@ -139,6 +143,8 @@ class ModelMeta(BaseModel):
139
143
  release_date: StrDate | None
140
144
  languages: list[ISOLanguageScript] | None
141
145
  n_parameters: int | None
146
+ n_active_parameters_override: int | None = None
147
+ n_embedding_parameters: int | None = None
142
148
  memory_usage_mb: float | None
143
149
  max_tokens: float | None
144
150
  embed_dim: int | None
@@ -197,6 +203,16 @@ class ModelMeta(BaseModel):
197
203
  """
198
204
  return "cross-encoder" in self.model_type
199
205
 
206
+ @property
207
+ def n_active_parameters(self):
208
+ """Number of active parameters. Assumed to be `n_parameters - n_embedding_parameters`. Can be overwritten using `n_active_parameters_override` e.g. for MoE models."""
209
+ if self.n_active_parameters_override is not None:
210
+ return self.n_active_parameters_override
211
+
212
+ if self.n_parameters is not None and self.n_embedding_parameters is not None:
213
+ return self.n_parameters - self.n_embedding_parameters
214
+ return None
215
+
200
216
  @field_validator("similarity_fn_name", mode="before")
201
217
  @classmethod
202
218
  def _validate_similarity_fn_name(cls, value: str) -> ScoringFunction | None:
@@ -389,6 +405,14 @@ class ModelMeta(BaseModel):
389
405
  else model.model_card_data.base_model
390
406
  )
391
407
  meta = cls._from_hub(name, revision, compute_metadata)
408
+ try:
409
+ first = model[0]
410
+
411
+ if isinstance(first, Transformer):
412
+ emb = first.auto_model.get_input_embeddings()
413
+ meta.n_embedding_parameters = int(np.prod(emb.weight.shape))
414
+ except Exception as e:
415
+ logger.warning(f"Could not calculate embedding parameters for {name}: {e}")
392
416
  meta.revision = model.model_card_data.base_model_revision or meta.revision
393
417
  meta.max_tokens = model.max_seq_length
394
418
  meta.embed_dim = model.get_sentence_embedding_dimension()
@@ -460,6 +484,15 @@ class ModelMeta(BaseModel):
460
484
  from mteb.models import CrossEncoderWrapper
461
485
 
462
486
  meta = cls._from_hub(model.model.name_or_path, revision, compute_metadata)
487
+ try:
488
+ emb = model.model.get_input_embeddings()
489
+
490
+ if isinstance(emb, nn.Embedding):
491
+ meta.n_embedding_parameters = int(np.prod(emb.weight.shape))
492
+ except Exception as e:
493
+ logger.warning(
494
+ f"Could not calculate embedding parameters for {model.model.name_or_path}: {e}"
495
+ )
463
496
  meta.revision = model.config._commit_hash or meta.revision
464
497
  meta.loader = CrossEncoderWrapper
465
498
  meta.embed_dim = None
@@ -32,6 +32,7 @@ class SearchProtocol(Protocol):
32
32
  hf_split: str,
33
33
  hf_subset: str,
34
34
  encode_kwargs: EncodeKwargs,
35
+ num_proc: int,
35
36
  ) -> None:
36
37
  """Index the corpus for retrieval.
37
38
 
@@ -41,6 +42,7 @@ class SearchProtocol(Protocol):
41
42
  hf_split: Split of current task, allows to know some additional information about current split.
42
43
  hf_subset: Subset of current task. Similar to `hf_split` to get more information
43
44
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
45
+ num_proc: Number of processes to use for dataloading.
44
46
  """
45
47
  ...
46
48
 
@@ -54,6 +56,7 @@ class SearchProtocol(Protocol):
54
56
  top_k: int,
55
57
  encode_kwargs: EncodeKwargs,
56
58
  top_ranked: TopRankedDocumentsType | None = None,
59
+ num_proc: int,
57
60
  ) -> RetrievalOutputType:
58
61
  """Search the corpus using the given queries.
59
62
 
@@ -66,6 +69,7 @@ class SearchProtocol(Protocol):
66
69
  Passed only from Reranking tasks.
67
70
  top_k: Number of top documents to return for each query.
68
71
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
72
+ num_proc: Number of processes to use for dataloading.
69
73
 
70
74
  Returns:
71
75
  Dictionary with query IDs as keys with dict as values, where each value is a mapping of document IDs to their relevance scores.
@@ -59,6 +59,7 @@ class SearchEncoderWrapper:
59
59
  hf_split: str,
60
60
  hf_subset: str,
61
61
  encode_kwargs: EncodeKwargs,
62
+ num_proc: int = 1,
62
63
  ) -> None:
63
64
  """Index the corpus for retrieval.
64
65
 
@@ -68,6 +69,7 @@ class SearchEncoderWrapper:
68
69
  hf_split: Split of current task, allows to know some additional information about current split.
69
70
  hf_subset: Subset of current task. Similar to `hf_split` to get more information
70
71
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
72
+ num_proc: Number of processes to use for dataloading.
71
73
  """
72
74
  # Always retain corpus for potential reranking or fallback flows
73
75
  self.task_corpus = corpus
@@ -77,6 +79,7 @@ class SearchEncoderWrapper:
77
79
  corpus,
78
80
  task_metadata,
79
81
  prompt_type=PromptType.document,
82
+ num_proc=num_proc,
80
83
  **encode_kwargs,
81
84
  ),
82
85
  task_metadata=task_metadata,
@@ -98,6 +101,7 @@ class SearchEncoderWrapper:
98
101
  top_k: int,
99
102
  encode_kwargs: EncodeKwargs,
100
103
  top_ranked: TopRankedDocumentsType | None = None,
104
+ num_proc: int = 1,
101
105
  ) -> RetrievalOutputType:
102
106
  """Search the corpus for the given queries.
103
107
 
@@ -110,6 +114,7 @@ class SearchEncoderWrapper:
110
114
  Passed only from Reranking tasks.
111
115
  top_k: Number of top documents to return for each query.
112
116
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
117
+ num_proc: Number of processes to use for dataloading.
113
118
 
114
119
  Returns:
115
120
  Dictionary with query IDs as keys with dict as values, where each value is a mapping of document IDs to their relevance scores.
@@ -121,6 +126,7 @@ class SearchEncoderWrapper:
121
126
  queries,
122
127
  task_metadata,
123
128
  prompt_type=PromptType.query,
129
+ num_proc=num_proc,
124
130
  **encode_kwargs,
125
131
  )
126
132
 
@@ -479,6 +485,7 @@ class SearchCrossEncoderWrapper:
479
485
  hf_split: str,
480
486
  hf_subset: str,
481
487
  encode_kwargs: EncodeKwargs,
488
+ num_proc: int = 1,
482
489
  ) -> None:
483
490
  """Index the corpus for retrieval.
484
491
 
@@ -488,6 +495,7 @@ class SearchCrossEncoderWrapper:
488
495
  hf_split: Split of current task, allows to know some additional information about current split.
489
496
  hf_subset: Subset of current task. Similar to `hf_split` to get more information
490
497
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
498
+ num_proc: Number of processes to use.
491
499
  """
492
500
  self.task_corpus = corpus
493
501
 
@@ -501,6 +509,7 @@ class SearchCrossEncoderWrapper:
501
509
  top_k: int,
502
510
  encode_kwargs: EncodeKwargs,
503
511
  top_ranked: TopRankedDocumentsType | None = None,
512
+ num_proc: int = 1,
504
513
  ) -> RetrievalOutputType:
505
514
  """Search the corpus using the given queries.
506
515
 
@@ -513,6 +522,7 @@ class SearchCrossEncoderWrapper:
513
522
  Passed only from Reranking tasks.
514
523
  top_k: Number of top documents to return for each query.
515
524
  encode_kwargs: Additional arguments to pass to the encoder during indexing.
525
+ num_proc: Number of processes to use.
516
526
 
517
527
  Returns:
518
528
  Dictionary with query IDs as keys with dict as values, where each value is a mapping of document IDs to their relevance scores.
@@ -546,12 +556,14 @@ class SearchCrossEncoderWrapper:
546
556
  Dataset.from_list(total_queries),
547
557
  task_metadata,
548
558
  prompt_type=PromptType.document,
559
+ num_proc=num_proc,
549
560
  **encode_kwargs,
550
561
  )
551
562
  corpus_loader = create_dataloader(
552
563
  Dataset.from_list(total_docs),
553
564
  task_metadata,
554
565
  prompt_type=PromptType.document,
566
+ num_proc=num_proc,
555
567
  **encode_kwargs,
556
568
  )
557
569
  predictions = self.model.predict(
@@ -59,7 +59,7 @@ class PubChemSMILESBitextMining(AbsTaskBitextMining):
59
59
  """,
60
60
  )
61
61
 
62
- def dataset_transform(self):
62
+ def dataset_transform(self, num_proc: int = 1):
63
63
  for subset in self.hf_subsets:
64
64
  self.dataset[subset] = self.dataset[subset].rename_columns(
65
65
  COL_MAPPING[subset]
@@ -27,7 +27,7 @@ class SAMSumFa(AbsTaskBitextMining):
27
27
  bibtex_citation="",
28
28
  )
29
29
 
30
- def dataset_transform(self):
30
+ def dataset_transform(self, num_proc: int = 1):
31
31
  self.dataset = self.dataset.rename_columns(
32
32
  {"text": "sentence1", "summary": "sentence2"}
33
33
  )
@@ -58,7 +58,7 @@ class SynPerChatbotSumSRetrieval(AbsTaskBitextMining):
58
58
  bibtex_citation=""" """,
59
59
  )
60
60
 
61
- def dataset_transform(self):
61
+ def dataset_transform(self, num_proc: int = 1):
62
62
  self.dataset = self.dataset.rename_columns(
63
63
  {"text": "sentence1", "summary": "sentence2"}
64
64
  )
@@ -89,7 +89,7 @@ class SynPerChatbotRAGSumSRetrieval(AbsTaskBitextMining):
89
89
  bibtex_citation=""" """,
90
90
  )
91
91
 
92
- def dataset_transform(self):
92
+ def dataset_transform(self, num_proc: int = 1):
93
93
  self.dataset = self.dataset.rename_columns(
94
94
  {"text": "sentence1", "summary": "sentence2"}
95
95
  )
@@ -60,7 +60,7 @@ Rapp, Reinhard},
60
60
  superseded_by="BUCC.v2",
61
61
  )
62
62
 
63
- def dataset_transform(self):
63
+ def dataset_transform(self, num_proc: int = 1):
64
64
  dataset = {}
65
65
  for lang in self.dataset:
66
66
  dataset[lang] = {}
@@ -265,7 +265,7 @@ class FloresBitextMining(AbsTaskBitextMining):
265
265
  """,
266
266
  )
267
267
 
268
- def load_data(self) -> None:
268
+ def load_data(self, num_proc: int = 1, **kwargs) -> None:
269
269
  if self.data_loaded:
270
270
  return
271
271
 
@@ -99,7 +99,7 @@ class IN22ConvBitextMining(AbsTaskBitextMining):
99
99
  """,
100
100
  )
101
101
 
102
- def load_data(self) -> None:
102
+ def load_data(self, num_proc: int = 1, **kwargs) -> None:
103
103
  if self.data_loaded:
104
104
  return
105
105
 
@@ -93,7 +93,7 @@ class IN22GenBitextMining(AbsTaskBitextMining):
93
93
  """,
94
94
  )
95
95
 
96
- def load_data(self) -> None:
96
+ def load_data(self, num_proc: int = 1, **kwargs) -> None:
97
97
  if self.data_loaded:
98
98
  return
99
99
 
@@ -35,7 +35,7 @@ class NorwegianCourtsBitextMining(AbsTaskBitextMining):
35
35
  prompt="Retrieve parallel sentences in Norwegian Bokmål and Nynorsk",
36
36
  )
37
37
 
38
- def dataset_transform(self):
38
+ def dataset_transform(self, num_proc: int = 1):
39
39
  # Convert to standard format
40
40
  self.dataset = self.dataset.rename_column("nb", "sentence1")
41
41
  self.dataset = self.dataset.rename_column("nn", "sentence2")
@@ -280,7 +280,7 @@ class NTREXBitextMining(AbsTaskBitextMining):
280
280
  """,
281
281
  )
282
282
 
283
- def load_data(self) -> None:
283
+ def load_data(self, num_proc: int = 1, **kwargs) -> None:
284
284
  if self.data_loaded:
285
285
  return
286
286
 
@@ -32,7 +32,7 @@ class RomaTalesBitextMining(AbsTaskBitextMining):
32
32
  bibtex_citation="",
33
33
  )
34
34
 
35
- def load_data(self) -> None:
35
+ def load_data(self, num_proc: int = 1, **kwargs) -> None:
36
36
  """Load dataset from HuggingFace hub and convert it to the standard format."""
37
37
  if self.data_loaded:
38
38
  return
@@ -44,7 +44,7 @@ class RomaTalesBitextMining(AbsTaskBitextMining):
44
44
  self.dataset_transform()
45
45
  self.data_loaded = True
46
46
 
47
- def dataset_transform(self):
47
+ def dataset_transform(self, num_proc: int = 1):
48
48
  for lang in self.hf_subsets:
49
49
  self.dataset[lang] = self.dataset[lang].rename_columns(
50
50
  {"romani": "sentence1", "hungarian": "sentence2"}
@@ -230,7 +230,7 @@ class WebFAQBitextMiningQuestions(AbsTaskBitextMining):
230
230
  """,
231
231
  )
232
232
 
233
- def dataset_transform(self):
233
+ def dataset_transform(self, num_proc: int = 1):
234
234
  dataset = {}
235
235
  for langs in self.dataset:
236
236
  dataset[langs] = {}
@@ -284,7 +284,7 @@ class WebFAQBitextMiningQAs(AbsTaskBitextMining):
284
284
  """,
285
285
  )
286
286
 
287
- def dataset_transform(self):
287
+ def dataset_transform(self, num_proc: int = 1):
288
288
  dataset = {}
289
289
  for langs in self.dataset:
290
290
  dataset[langs] = {}
@@ -28,7 +28,7 @@ class OnlineStoreReviewSentimentClassification(AbsTaskClassification):
28
28
  superseded_by="OnlineStoreReviewSentimentClassification.v2",
29
29
  )
30
30
 
31
- def dataset_transform(self):
31
+ def dataset_transform(self, num_proc: int = 1):
32
32
  self.dataset = self.stratified_subsampling(
33
33
  self.dataset, seed=self.seed, splits=["train"]
34
34
  )
@@ -37,7 +37,7 @@ class RestaurantReviewSentimentClassification(AbsTaskClassification):
37
37
  superseded_by="RestaurantReviewSentimentClassification.v2",
38
38
  )
39
39
 
40
- def dataset_transform(self):
40
+ def dataset_transform(self, num_proc: int = 1):
41
41
  # labels: 0 negative, 1 positive
42
42
  self.dataset = self.dataset.rename_column("polarity", "label")
43
43
  self.dataset = self.stratified_subsampling(
@@ -48,7 +48,7 @@ Mubarak, Hamdy},
48
48
  superseded_by="TweetSarcasmClassification.v2",
49
49
  )
50
50
 
51
- def dataset_transform(self):
51
+ def dataset_transform(self, num_proc: int = 1):
52
52
  # labels: 0 non-sarcastic, 1 sarcastic
53
53
  self.dataset = self.dataset.rename_columns(
54
54
  {"tweet": "text", "sarcasm": "label"}
@@ -36,7 +36,7 @@ class BengaliHateSpeechClassification(AbsTaskClassification):
36
36
  superseded_by="BengaliHateSpeechClassification.v2",
37
37
  )
38
38
 
39
- def dataset_transform(self):
39
+ def dataset_transform(self, num_proc: int = 1):
40
40
  self.dataset = self.stratified_subsampling(
41
41
  self.dataset, seed=self.seed, splits=["train"]
42
42
  )
@@ -36,7 +36,7 @@ class BengaliSentimentAnalysis(AbsTaskClassification):
36
36
  superseded_by="BengaliSentimentAnalysis.v2",
37
37
  )
38
38
 
39
- def dataset_transform(self):
39
+ def dataset_transform(self, num_proc: int = 1):
40
40
  self.dataset = self.stratified_subsampling(
41
41
  self.dataset, seed=self.seed, splits=["train"]
42
42
  )
@@ -37,7 +37,7 @@ class BulgarianStoreReviewSentimentClassfication(AbsTaskClassification):
37
37
  """,
38
38
  )
39
39
 
40
- def dataset_transform(self):
40
+ def dataset_transform(self, num_proc: int = 1):
41
41
  self.dataset = self.dataset.rename_columns(
42
42
  {"Review": "text", "Category": "label"}
43
43
  )
@@ -39,7 +39,7 @@ class CSFDCZMovieReviewSentimentClassification(AbsTaskClassification):
39
39
  # Increase the samples_per_label in order to improve baseline performance
40
40
  samples_per_label = 20
41
41
 
42
- def dataset_transform(self):
42
+ def dataset_transform(self, num_proc: int = 1):
43
43
  self.dataset = self.dataset.rename_columns(
44
44
  {"comment": "text", "rating_int": "label"}
45
45
  )
@@ -85,7 +85,7 @@ class CSFDCZMovieReviewSentimentClassificationV2(AbsTaskClassification):
85
85
  # Increase the samples_per_label in order to improve baseline performance
86
86
  samples_per_label = 20
87
87
 
88
- def dataset_transform(self):
88
+ def dataset_transform(self, num_proc: int = 1):
89
89
  self.dataset = self.stratified_subsampling(
90
90
  self.dataset, seed=self.seed, splits=["test"], n_samples=2048
91
91
  )
@@ -56,7 +56,7 @@ Piperidis, Stelios},
56
56
  superseded_by="Ddisco.v2",
57
57
  )
58
58
 
59
- def dataset_transform(self):
59
+ def dataset_transform(self, num_proc: int = 1):
60
60
  self.dataset = self.dataset.rename_columns({"rating": "label"}).remove_columns(
61
61
  ["domain"]
62
62
  )
@@ -60,7 +60,7 @@ Piperidis, Stelios},
60
60
 
61
61
  samples_per_label = 16
62
62
 
63
- def dataset_transform(self):
63
+ def dataset_transform(self, num_proc: int = 1):
64
64
  # convert label to a 0/1 label
65
65
  labels = self.dataset["train"]["label"]
66
66
  lab2idx = {lab: idx for idx, lab in enumerate(set(labels))}
@@ -49,7 +49,7 @@ Zesch, Torsten},
49
49
  superseded_by="GermanPoliticiansTwitterSentimentClassification.v2",
50
50
  )
51
51
 
52
- def dataset_transform(self):
52
+ def dataset_transform(self, num_proc: int = 1):
53
53
  self.dataset = self.dataset.rename_column("majority_sentiment", "label")
54
54
 
55
55
 
@@ -42,7 +42,7 @@ class GreekLegalCodeClassification(AbsTaskClassification):
42
42
  """,
43
43
  )
44
44
 
45
- def dataset_transform(self):
45
+ def dataset_transform(self, num_proc: int = 1):
46
46
  self.dataset["validation"] = (
47
47
  self.dataset["validation"]
48
48
  .shuffle(seed=self.seed)
@@ -40,7 +40,7 @@ class DBpediaClassification(AbsTaskClassification):
40
40
  superseded_by="DBpediaClassification.v2",
41
41
  )
42
42
 
43
- def dataset_transform(self):
43
+ def dataset_transform(self, num_proc: int = 1):
44
44
  self.dataset = self.dataset.rename_column("content", "text")
45
45
  self.dataset = self.stratified_subsampling(
46
46
  self.dataset, seed=self.seed, splits=["train", "test"]
@@ -85,7 +85,7 @@ class DBpediaClassificationV2(AbsTaskClassification):
85
85
  adapted_from=["DBpediaClassification"],
86
86
  )
87
87
 
88
- def dataset_transform(self):
88
+ def dataset_transform(self, num_proc: int = 1):
89
89
  self.dataset = self.stratified_subsampling(
90
90
  self.dataset, seed=self.seed, splits=["train", "test"]
91
91
  )
@@ -40,7 +40,7 @@ class ToxicChatClassification(AbsTaskClassification):
40
40
  superseded_by="ToxicChatClassification.v2",
41
41
  )
42
42
 
43
- def dataset_transform(self):
43
+ def dataset_transform(self, num_proc: int = 1):
44
44
  keep_cols = ["user_input", "toxicity"]
45
45
  rename_dict = dict(zip(keep_cols, ["text", "label"]))
46
46
  remove_cols = [
@@ -93,7 +93,7 @@ class ToxicChatClassificationV2(AbsTaskClassification):
93
93
  adapted_from=["ToxicChatClassification"],
94
94
  )
95
95
 
96
- def dataset_transform(self):
96
+ def dataset_transform(self, num_proc: int = 1):
97
97
  self.dataset = self.stratified_subsampling(
98
98
  self.dataset, seed=self.seed, splits=["test"]
99
99
  )
@@ -42,7 +42,7 @@ class ToxicConversationsClassification(AbsTaskClassification):
42
42
 
43
43
  samples_per_label = 16
44
44
 
45
- def dataset_transform(self):
45
+ def dataset_transform(self, num_proc: int = 1):
46
46
  self.dataset = self.stratified_subsampling(
47
47
  self.dataset, seed=self.seed, splits=["test"]
48
48
  )
@@ -88,7 +88,7 @@ class ToxicConversationsClassificationV2(AbsTaskClassification):
88
88
 
89
89
  samples_per_label = 16
90
90
 
91
- def dataset_transform(self):
91
+ def dataset_transform(self, num_proc: int = 1):
92
92
  self.dataset = self.stratified_subsampling(
93
93
  self.dataset, seed=self.seed, splits=["test"]
94
94
  )
@@ -43,7 +43,7 @@ Barbieri, Francesco},
43
43
  superseded_by="TweetTopicSingleClassification.v2",
44
44
  )
45
45
 
46
- def dataset_transform(self):
46
+ def dataset_transform(self, num_proc: int = 1):
47
47
  self.dataset["train"] = self.dataset["train_2021"]
48
48
 
49
49
 
@@ -83,7 +83,7 @@ class YahooAnswersTopicsClassificationV2(AbsTaskClassification):
83
83
 
84
84
  samples_per_label = 32
85
85
 
86
- def dataset_transform(self):
86
+ def dataset_transform(self, num_proc: int = 1):
87
87
  self.dataset = self.stratified_subsampling(
88
88
  self.dataset, seed=self.seed, splits=["train", "test"]
89
89
  )
@@ -42,7 +42,7 @@ class YelpReviewFullClassification(AbsTaskClassification):
42
42
 
43
43
  samples_per_label = 128
44
44
 
45
- def dataset_transform(self):
45
+ def dataset_transform(self, num_proc: int = 1):
46
46
  self.dataset = self.stratified_subsampling(
47
47
  self.dataset, seed=self.seed, splits=["test"]
48
48
  )
@@ -88,7 +88,7 @@ class YelpReviewFullClassificationV2(AbsTaskClassification):
88
88
 
89
89
  samples_per_label = 128
90
90
 
91
- def dataset_transform(self):
91
+ def dataset_transform(self, num_proc: int = 1):
92
92
  self.dataset = self.stratified_subsampling(
93
93
  self.dataset, seed=self.seed, splits=["test"]
94
94
  )
@@ -40,7 +40,7 @@ class EstonianValenceClassification(AbsTaskClassification):
40
40
  superseded_by="EstonianValenceClassification.v2",
41
41
  )
42
42
 
43
- def dataset_transform(self):
43
+ def dataset_transform(self, num_proc: int = 1):
44
44
  self.dataset = self.dataset.rename_column("paragraph", "text").rename_column(
45
45
  "valence", "label"
46
46
  )
@@ -602,7 +602,7 @@ class DeepSentiPers(AbsTaskClassification):
602
602
  )
603
603
  samples_per_label = 32
604
604
 
605
- def dataset_transform(self):
605
+ def dataset_transform(self, num_proc: int = 1):
606
606
  self.dataset = self.dataset.rename_column("review", "text")
607
607
 
608
608
 
@@ -773,7 +773,7 @@ class NLPTwitterAnalysisClassification(AbsTaskClassification):
773
773
  )
774
774
  samples_per_label = 32
775
775
 
776
- def dataset_transform(self):
776
+ def dataset_transform(self, num_proc: int = 1):
777
777
  self.dataset = self.dataset.rename_column("tweet", "text")
778
778
 
779
779
 
@@ -858,7 +858,7 @@ class FaIntentClassification(AbsTaskClassification):
858
858
  )
859
859
  samples_per_label = 32
860
860
 
861
- def dataset_transform(self):
861
+ def dataset_transform(self, num_proc: int = 1):
862
862
  self.dataset = self.dataset.rename_column("words", "text")
863
863
  self.dataset = self.dataset.rename_column("intent_label", "label")
864
864
 
@@ -889,7 +889,7 @@ class StyleClassification(AbsTaskClassification):
889
889
  )
890
890
  samples_per_label = 32
891
891
 
892
- def dataset_transform(self):
892
+ def dataset_transform(self, num_proc: int = 1):
893
893
  mapping = {"formal": 1, "informal": 0}
894
894
  self.dataset = self.dataset.map(
895
895
  lambda example: {"label": mapping[example["label"]]}
@@ -927,7 +927,7 @@ class PerShopDomainClassification(AbsTaskClassification):
927
927
  )
928
928
  samples_per_label = 32
929
929
 
930
- def dataset_transform(self):
930
+ def dataset_transform(self, num_proc: int = 1):
931
931
  self.dataset = self.dataset.rename_column("domain", "label")
932
932
 
933
933
 
@@ -962,5 +962,5 @@ class PerShopIntentClassification(AbsTaskClassification):
962
962
  )
963
963
  samples_per_label = 32
964
964
 
965
- def dataset_transform(self):
965
+ def dataset_transform(self, num_proc: int = 1):
966
966
  self.dataset = self.dataset.rename_column("Intents & Actions", "label")
@@ -37,7 +37,7 @@ class PersianFoodSentimentClassification(AbsTaskClassification):
37
37
  """,
38
38
  )
39
39
 
40
- def dataset_transform(self):
40
+ def dataset_transform(self, num_proc: int = 1):
41
41
  self.dataset = self.stratified_subsampling(
42
42
  self.dataset, seed=self.seed, splits=["validation", "test"]
43
43
  )
@@ -36,7 +36,7 @@ class FilipinoShopeeReviewsClassification(AbsTaskClassification):
36
36
  """,
37
37
  )
38
38
 
39
- def dataset_transform(self):
39
+ def dataset_transform(self, num_proc: int = 1):
40
40
  self.dataset = self.stratified_subsampling(
41
41
  self.dataset, seed=self.seed, splits=["validation", "test"]
42
42
  )
@@ -40,7 +40,7 @@ Laippala, Veronika},
40
40
  superseded_by="FinToxicityClassification.v2",
41
41
  )
42
42
 
43
- def dataset_transform(self):
43
+ def dataset_transform(self, num_proc: int = 1):
44
44
  self.dataset = self.dataset.rename_column("label_toxicity", "label")
45
45
  remove_cols = [
46
46
  col