eval-model

Benchmarks text models served by MAX against standard datasets like GSM8K and MMLU.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/shakfu/mdsp --skill eval-model-shakfu
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: eval-model
Source: https://github.com/shakfu/mdsp/tree/main/.claude/skills/eval-model
Command: npx skills add https://github.com/shakfu/mdsp --skill eval-model-shakfu

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires datasets, lm-eval, transformers, and includes scripts (resource) and references (resource) components.

What problem does it solve? A model that serves cleanly can still answer benchmark questions wrong. This Skill measures how accurately a text model behind a MAX OpenAI-compatible endpoint answers standard datasets, separates serving failures from wrong answers, and writes reproducible per-task scores you can compare against a model card. ## Core Features & Use Cases - Standard benchmark evaluation: Runs GSM8K, MMLU, HellaSwag, ARC, AIME, GPQA, TruthfulQA, WinoGrande, and BABILong through lm-eval or direct-HTTP scorers against a served model. - Preflight and fast-fail checks: Verifies endpoint capabilities (chat completions, prompt logprobs via --enable-echo) before downloading datasets, and runs a small seed pass to catch broken endpoints or answer-extraction failures early. - Reproducible summaries and targets: Writes per-task and combined JSON summaries with effective configuration and dependency versions, and supports one-sided --target floors for pass/fail comparison against model-card scores. - Use Case: After importing a new model into MAX, serve it with --enable-echo and run gsm8k plus mmlu with targets from the model card to verify the deployment answers correctly before release. ## Quick Start Ask the agent to evaluate the model meta-llama/Llama-3.1-8B-Instruct on the gsm8k task against your local MAX endpoint and report the accuracy summary.

Frequently Asked Questions about eval-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I benchmark a model served by MAX on GSM8K or MMLU?▼

Install the evaluator environment with pixi install, serve the model with max serve, then run pixi run eval with --model and --tasks. Generation tasks like GSM8K use chat completions; multiple-choice tasks like MMLU require the server started with --enable-echo.

Why do multiple-choice tasks fail without --enable-echo on MAX?▼

Multiple-choice tasks such as MMLU and HellaSwag score by prompt log probabilities, which MAX only returns when the server starts with --enable-echo. Echo cannot be toggled on a running server, so restart it before evaluating those tasks.

How do I compare evaluation results against a model card score?▼

Look up the reference metric and shot count on the model card, then pass it as a one-sided floor with --target, for example --target "gsm8k:0.84". The run exits with code 2 if accuracy falls below the target; allow for sampling noise at the default 200-sample limit.

Why does the MAX serving worker crash with a repetition_penalty tensor-shape error?▼

The served model's generation_config.json sets a non-default repetition_penalty (common in Qwen2.5), and MAX auto-enables a penalty sampling path that is shape-incompatible with echo. Use a model that leaves repetition_penalty unset, or restrict the run to generation tasks.

Can I evaluate a reasoning model with reasoning_effort on MAX?▼

Yes, pass --reasoning-effort with low, medium, high, or xhigh when the model's chat template accepts reasoning_effort. The evaluator sends it via chat_template_kwargs and the preflight request fails clearly if the endpoint rejects the field.

When should I not use --direct-http for evaluation?▼

Use --direct-http only for connectivity and parsing checks. Its bundled scorer is 0-shot with a custom prompt, so scores run far below few-shot chain-of-thought model-card numbers and must not be compared with published benchmarks.