Spaces:
Running
Running
Benchmark-First Evaluation System
This system has been redesigned to use a benchmark-first approach based on the evalevalai.com schema, moving away from the previous checkbox-based evaluation method.
Key Changes
1. Schema Structure
The new system uses standardized benchmark evaluation data with the following structure:
{
schema_version: string
evaluation_id: string
retrieved_timestamp: string
source_data: {
dataset_name: string
hf_repo?: string
samples_number: number
// ...
}
source_metadata: {
source_name: string
source_type: 'evaluation_run' | 'model_card' | 'paper' | 'leaderboard'
evaluator_relationship: 'first_party' | 'second_party' | 'third_party'
// ...
}
model_info: {
name: string
id: string
developer: string
// ...
}
evaluation_results: [{
evaluation_name: string
metric_config: {
evaluation_description: string
score_type: 'continuous' | 'discrete' | 'binary'
min_score: number
max_score: number
}
score_details: {
score: number
confidence_interval?: {...}
}
generation_config?: {...}
}]
}
2. New Components
BenchmarkEvaluationCard (components/benchmark-evaluation-card.tsx)
Displays a model's evaluation summary with:
- Model name and developer
- Number of benchmarks and evaluations
- Top scores across benchmarks
- Capability and risk category counts
BenchmarkDetail (components/benchmark-detail.tsx)
Detailed view showing:
- All evaluation results grouped by dataset
- Tabbed views for capabilities vs risks
- Score details with confidence intervals
- Generation configs and source links
3. New Pages
/benchmarks (app/benchmarks/page.tsx)
Main listing page with:
- Filter by evaluation type (capability/risk)
- Filter by specific category
- Sort by date, name, or benchmark count
- Grid view of evaluation cards
/benchmark/[id] (app/benchmark/[id]/page.tsx)
Detail page for individual model evaluations with comprehensive results
4. Data Processing
Type Definitions (lib/benchmark-schema.ts)
- Full TypeScript types for the evaluation schema
- Category classification (capabilities vs risks)
- Helper functions for inference
Processing Utilities (lib/eval-processing.ts)
- Load and validate evaluation data
- Group evaluations by model
- Create display-friendly summaries
- Format scores and dates
Category Mapping
The system automatically infers categories from benchmark names:
Capabilities
- knowledge: MMLU, ARC, HellaSwag, WinoGrande
- math: GSM8K, MATH, Minerva
- code: HumanEval, MBPP
- vision: VQA, image benchmarks
- reasoning: BBH (Big-Bench Hard)
Risks
- bias-fairness: BBQ, bias benchmarks
- toxicity: RealToxicityPrompts
- truthfulness: TruthfulQA
- robustness: Adversarial benchmarks
Data Format
Place evaluation JSON files in /public/benchmarks/ following the schema structure. The system will:
- Load all evaluation files
- Group by model ID
- Create aggregated summaries
- Display in cards and detail views
Sample Data
Three sample evaluations are included:
- Kimi K2 Instruct: MMLU-Pro with chain-of-thought
- GPT-4 Turbo: MMLU 5-shot accuracy
- Claude 3 Sonnet: HellaSwag 10-shot accuracy
Benefits Over Checkbox System
- Standardized Data: Uses established benchmark datasets
- Reproducible: Includes all evaluation metadata
- Quantitative: Shows actual scores with confidence intervals
- Traceable: Links to source evaluations and detailed results
- Comparative: Easy to compare models on same benchmarks
- Transparent: Shows who ran the evaluation and when
Migration Path
To migrate existing evaluations:
- Extract benchmark results from old format
- Map to new schema structure
- Add source metadata
- Include generation configs if available
- Place in
/public/benchmarks/
The old evaluation format and pages remain intact for reference.