Skip to content

use inspect-ai to evaluate aime25, gsm8k and IFEval - #1010

Closed
NathanHB wants to merge 5 commits into
mainfrom
nathan-use-inspect-ai
Closed

use inspect-ai to evaluate aime25, gsm8k and IFEval#1010
NathanHB wants to merge 5 commits into
mainfrom
nathan-use-inspect-ai

Conversation

@NathanHB

@NathanHB NathanHB commented Oct 7, 2025

Copy link
Copy Markdown
Member

This PR is a proof of concept demonstrating how to utilize inspect-ai's API with minimal effort, while still having access to every task and metric defined by Lighteval.

Using inspect-ai would allow us to:

  • modernize the codebase
  • reduce maintenance cost
  • add agentic, multiturn, tool use, and multimodal evals with minimal efforts
  • better logging of details (see attached).

To fully convert to use inspect-ai's API, we would have to:

  • convert all prompt functions to return a Sample
  • convert all Sample Level Metric function to a Scorer
  • convert all Corpus Level Metric function to a Metric
  • have the different pass at k epochs aggregators (g_pass_at_k)
  • get rid of models APIs
  • get rid of prompt formating (now managed by the solver)
Screenshot 2025-10-07 at 16 41 19 Screenshot 2025-10-07 at 15 12 31 Screenshot 2025-10-07 at 16 46 45

@clefourrier

Copy link
Copy Markdown
Member

Logging is neaaat

@NathanHB NathanHB changed the title use inspect-ai to evaluate aime25 and gsm8k use inspect-ai to evaluate aime25, gsm8k and IFEval Oct 7, 2025
Comment thread src/lighteval/main_inspect.py Outdated
return Task(dataset=dataset, solver=solver, scorer=scorer, name=name, epochs=Epochs(epochs, epochs_reducer))


gsm8k_task_config = TaskConfig(

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a auto convert from lighteval task config to a more suited config can be done easily.

Comment thread src/lighteval/main_inspect.py Outdated


@scorer(metrics=[accuracy(), stderr()])
def extractive_math_scorer():

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal rewrite of scorer will be needed

Comment thread src/lighteval/main_inspect.py Outdated
MODEL = "openai/gpt-4o"
all_tasks = [gsm8k_task_config, aime25_task_config, ifeval_task_config]

eval([get_task(task) for task in all_tasks], model=MODEL, display="rich", limit=10, max_tasks=3)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can still run N tasks at the same time

@clefourrier

Copy link
Copy Markdown
Member

Closing the POC as the big changes are comiiiiing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants