11"""
22name:
3- mAIME2025
3+ mAIME2025, mAIME2026
44
55dataset:
6- LumiOpen/mAIME2025
6+ LumiOpen/mAIME2025, LumiOpen/mAIME2026
77
88abstract:
9- The Multilingual AIME 2025 (mAIME2025) is a multilingual version of the
10- 2025 AIME (American Invitational Mathematics Examination) problems,
11- professionally translated into European languages. This dataset contains
12- all 30 problems from AIME I and AIME II 2025 , translated and
13- human-reviewed by native speakers to preserve mathematical accuracy and
9+ The Multilingual AIME (mAIME) datasets are multilingual versions of the
10+ AIME (American Invitational Mathematics Examination) problems,
11+ professionally translated into European languages. Each dataset contains
12+ all 30 problems from AIME I and AIME II for the respective year , translated
13+ and human-reviewed by native speakers to preserve mathematical accuracy and
1414LaTeX formatting.
1515
1616languages:
3535
3636# Per-language prompt templates
3737MATH_PROMPT_TEMPLATES = {
38+ "en" : dedent ("""
39+ Solve the following math problem efficiently and clearly. The last line of your response should be of the following format: 'Therefore, the final answer is: $\\ boxed{{ANSWER}}$. I hope it is correct' (without quotes) where ANSWER is just the final number or expression that solves the problem. Think step by step before answering.
40+
41+ {prompt}
42+ """ ),
3843 "fi" : dedent ("""
3944Ratkaise seuraava matemaattinen tehtävä tehokkaasti ja selkeästi.
4045Vastauksesi viimeisen rivin tulee olla seuraavassa muodossa:
@@ -59,6 +64,10 @@ def record_to_sample(record):
5964 return Sample (input = record ["question" ], target = record ["solution" ])
6065
6166
67+ def record_to_sample_en (record ):
68+ return Sample (input = record ["problem" ], target = record ["answer" ])
69+
70+
6271def _maime_prompt_fn (lang : str ):
6372 template = MATH_PROMPT_TEMPLATES [lang ]
6473
@@ -73,6 +82,71 @@ def maime_prompt(line, task_name: str = None):
7382 return maime_prompt
7483
7584
85+ def _maime_prompt_fn_en (lang : str ):
86+ template = MATH_PROMPT_TEMPLATES [lang ]
87+
88+ def maime_prompt_en (line , task_name : str = None ):
89+ return Doc (
90+ task_name = task_name ,
91+ query = template .format (prompt = line ["problem" ]),
92+ choices = [line ["answer" ]],
93+ gold_index = 0 ,
94+ )
95+
96+ return maime_prompt_en
97+
98+
99+ # English tasks — AIME 2025
100+ maime25_en = LightevalTaskConfig (
101+ name = "maime25:en" ,
102+ prompt_function = _maime_prompt_fn_en ("en" ),
103+ sample_fields = record_to_sample_en ,
104+ solver = [prompt_template (MATH_PROMPT_TEMPLATES ["en" ]), generate (cache = True )],
105+ scorer = math_scorer (),
106+ hf_repo = "yentinglin/aime_2025" ,
107+ hf_subset = "default" ,
108+ hf_avail_splits = ["train" ],
109+ evaluation_splits = ["train" ],
110+ few_shots_split = None ,
111+ few_shots_select = None ,
112+ generation_size = None ,
113+ metrics = [
114+ Metrics .pass_at_k_math (sample_params = {"k" : 1 , "n" : 1 }),
115+ Metrics .avg_at_n_math (sample_params = {"n" : 1 }),
116+ ],
117+ version = 1 ,
118+ )
119+
120+ maime25_en_avg = LightevalTaskConfig (
121+ name = "maime25_avg:en" ,
122+ prompt_function = _maime_prompt_fn_en ("en" ),
123+ sample_fields = record_to_sample_en ,
124+ hf_repo = "yentinglin/aime_2025" ,
125+ hf_subset = "default" ,
126+ hf_avail_splits = ["train" ],
127+ evaluation_splits = ["train" ],
128+ few_shots_split = None ,
129+ few_shots_select = None ,
130+ generation_size = None ,
131+ metrics = [Metrics .avg_at_n_math (sample_params = {"n" : 64 })],
132+ version = 1 ,
133+ )
134+
135+ maime25_en_gpassk = LightevalTaskConfig (
136+ name = "maime25_gpassk:en" ,
137+ prompt_function = _maime_prompt_fn_en ("en" ),
138+ sample_fields = record_to_sample_en ,
139+ hf_repo = "yentinglin/aime_2025" ,
140+ hf_subset = "default" ,
141+ hf_avail_splits = ["train" ],
142+ evaluation_splits = ["train" ],
143+ few_shots_split = None ,
144+ few_shots_select = None ,
145+ generation_size = None ,
146+ metrics = [Metrics .g_pass_at_k_math (sample_params = {"k" : 16 , "n" : 48 })],
147+ version = 1 ,
148+ )
149+
76150# Danish tasks
77151maime25_da = LightevalTaskConfig (
78152 name = "maime25:da" ,
@@ -175,11 +249,176 @@ def maime_prompt(line, task_name: str = None):
175249 version = 1 ,
176250)
177251
252+ # English tasks — AIME 2026
253+ maime26_en = LightevalTaskConfig (
254+ name = "maime26:en" ,
255+ prompt_function = _maime_prompt_fn_en ("en" ),
256+ sample_fields = record_to_sample_en ,
257+ solver = [prompt_template (MATH_PROMPT_TEMPLATES ["en" ]), generate (cache = True )],
258+ scorer = math_scorer (),
259+ hf_repo = "math-ai/aime26" ,
260+ hf_subset = "default" ,
261+ hf_avail_splits = ["test" ],
262+ evaluation_splits = ["test" ],
263+ few_shots_split = None ,
264+ few_shots_select = None ,
265+ generation_size = None ,
266+ metrics = [
267+ Metrics .pass_at_k_math (sample_params = {"k" : 1 , "n" : 1 }),
268+ Metrics .avg_at_n_math (sample_params = {"n" : 1 }),
269+ ],
270+ version = 1 ,
271+ )
272+
273+ maime26_en_avg = LightevalTaskConfig (
274+ name = "maime26_avg:en" ,
275+ prompt_function = _maime_prompt_fn_en ("en" ),
276+ sample_fields = record_to_sample_en ,
277+ hf_repo = "math-ai/aime26" ,
278+ hf_subset = "default" ,
279+ hf_avail_splits = ["test" ],
280+ evaluation_splits = ["test" ],
281+ few_shots_split = None ,
282+ few_shots_select = None ,
283+ generation_size = None ,
284+ metrics = [Metrics .avg_at_n_math (sample_params = {"n" : 64 })],
285+ version = 1 ,
286+ )
287+
288+ maime26_en_gpassk = LightevalTaskConfig (
289+ name = "maime26_gpassk:en" ,
290+ prompt_function = _maime_prompt_fn_en ("en" ),
291+ sample_fields = record_to_sample_en ,
292+ hf_repo = "math-ai/aime26" ,
293+ hf_subset = "default" ,
294+ hf_avail_splits = ["test" ],
295+ evaluation_splits = ["test" ],
296+ few_shots_split = None ,
297+ few_shots_select = None ,
298+ generation_size = None ,
299+ metrics = [Metrics .g_pass_at_k_math (sample_params = {"k" : 16 , "n" : 48 })],
300+ version = 1 ,
301+ )
302+
303+ # Danish tasks — AIME 2026
304+ maime26_da = LightevalTaskConfig (
305+ name = "maime26:da" ,
306+ prompt_function = _maime_prompt_fn ("da" ),
307+ sample_fields = record_to_sample ,
308+ solver = [prompt_template (MATH_PROMPT_TEMPLATES ["da" ]), generate (cache = True )],
309+ scorer = math_scorer (),
310+ hf_repo = "LumiOpen/mAIME2026" ,
311+ hf_subset = "da_combined" ,
312+ hf_avail_splits = ["test" ],
313+ evaluation_splits = ["test" ],
314+ few_shots_split = None ,
315+ few_shots_select = None ,
316+ generation_size = None ,
317+ metrics = [
318+ Metrics .pass_at_k_math (sample_params = {"k" : 1 , "n" : 1 }),
319+ Metrics .avg_at_n_math (sample_params = {"n" : 1 }),
320+ ],
321+ version = 1 ,
322+ )
323+
324+ maime26_da_avg = LightevalTaskConfig (
325+ name = "maime26_avg:da" ,
326+ prompt_function = _maime_prompt_fn ("da" ),
327+ sample_fields = record_to_sample ,
328+ hf_repo = "LumiOpen/mAIME2026" ,
329+ hf_subset = "da_combined" ,
330+ hf_avail_splits = ["test" ],
331+ evaluation_splits = ["test" ],
332+ few_shots_split = None ,
333+ few_shots_select = None ,
334+ generation_size = None ,
335+ metrics = [Metrics .avg_at_n_math (sample_params = {"n" : 64 })],
336+ version = 1 ,
337+ )
338+
339+ maime26_da_gpassk = LightevalTaskConfig (
340+ name = "maime26_gpassk:da" ,
341+ prompt_function = _maime_prompt_fn ("da" ),
342+ sample_fields = record_to_sample ,
343+ hf_repo = "LumiOpen/mAIME2026" ,
344+ hf_subset = "da_combined" ,
345+ hf_avail_splits = ["test" ],
346+ evaluation_splits = ["test" ],
347+ few_shots_split = None ,
348+ few_shots_select = None ,
349+ generation_size = None ,
350+ metrics = [Metrics .g_pass_at_k_math (sample_params = {"k" : 16 , "n" : 48 })],
351+ version = 1 ,
352+ )
353+
354+ # Finnish tasks — AIME 2026
355+ maime26_fi = LightevalTaskConfig (
356+ name = "maime26:fi" ,
357+ prompt_function = _maime_prompt_fn ("fi" ),
358+ sample_fields = record_to_sample ,
359+ solver = [prompt_template (MATH_PROMPT_TEMPLATES ["fi" ]), generate (cache = True )],
360+ scorer = math_scorer (),
361+ hf_repo = "LumiOpen/mAIME2026" ,
362+ hf_subset = "fi_combined" ,
363+ hf_avail_splits = ["test" ],
364+ evaluation_splits = ["test" ],
365+ few_shots_split = None ,
366+ few_shots_select = None ,
367+ generation_size = None ,
368+ metrics = [
369+ Metrics .pass_at_k_math (sample_params = {"k" : 1 , "n" : 1 }),
370+ Metrics .avg_at_n_math (sample_params = {"n" : 1 }),
371+ ],
372+ version = 1 ,
373+ )
374+
375+ maime26_fi_avg = LightevalTaskConfig (
376+ name = "maime26_avg:fi" ,
377+ prompt_function = _maime_prompt_fn ("fi" ),
378+ sample_fields = record_to_sample ,
379+ hf_repo = "LumiOpen/mAIME2026" ,
380+ hf_subset = "fi_combined" ,
381+ hf_avail_splits = ["test" ],
382+ evaluation_splits = ["test" ],
383+ few_shots_split = None ,
384+ few_shots_select = None ,
385+ generation_size = None ,
386+ metrics = [Metrics .avg_at_n_math (sample_params = {"n" : 64 })],
387+ version = 1 ,
388+ )
389+
390+ maime26_fi_gpassk = LightevalTaskConfig (
391+ name = "maime26_gpassk:fi" ,
392+ prompt_function = _maime_prompt_fn ("fi" ),
393+ sample_fields = record_to_sample ,
394+ hf_repo = "LumiOpen/mAIME2026" ,
395+ hf_subset = "fi_combined" ,
396+ hf_avail_splits = ["test" ],
397+ evaluation_splits = ["test" ],
398+ few_shots_split = None ,
399+ few_shots_select = None ,
400+ generation_size = None ,
401+ metrics = [Metrics .g_pass_at_k_math (sample_params = {"k" : 16 , "n" : 48 })],
402+ version = 1 ,
403+ )
404+
178405TASKS_TABLE = [
406+ maime25_en ,
407+ maime25_en_avg ,
408+ maime25_en_gpassk ,
179409 maime25_da ,
180410 maime25_da_avg ,
181411 maime25_da_gpassk ,
182412 maime25_fi ,
183413 maime25_fi_avg ,
184414 maime25_fi_gpassk ,
415+ maime26_en ,
416+ maime26_en_avg ,
417+ maime26_en_gpassk ,
418+ maime26_da ,
419+ maime26_da_avg ,
420+ maime26_da_gpassk ,
421+ maime26_fi ,
422+ maime26_fi_avg ,
423+ maime26_fi_gpassk ,
185424]
0 commit comments