Spaces:
Running
Running
fix bugs
Browse files- app/api/benchmark-metadata/route.ts +7 -0
- app/benchmarks/page.tsx +2 -2
- app/developers/[id]/page.tsx +57 -5
- app/evals/page.tsx +412 -166
- app/models/[id]/page.tsx +9 -4
- app/models/page.tsx +88 -19
- components/benchmark-detail.tsx +413 -251
- components/benchmark-evaluation-card.tsx +189 -166
- components/eval-card.tsx +119 -16
- components/eval-detail.tsx +780 -62
- data/benchmarks/helm_capabilities.json +230 -1
- data/benchmarks/helm_classic.json +713 -161
- data/benchmarks/helm_lite.json +344 -2
- data/benchmarks/helm_mmlu.json +115 -2
- data/benchmarks/hfopenllm_v2.json +716 -132
- data/survey/eval-schema-fields.json +563 -0
- lib/benchmark-metadata-utils.ts +50 -0
- lib/benchmark-metadata.ts +98 -0
- lib/benchmark-schema.ts +94 -4
- lib/dashboard-data-client.ts +5 -0
- lib/eval-processing.ts +25 -0
- lib/model-data.ts +338 -11
- metadata/benchmark_card_BoolQ.json +118 -0
- metadata/benchmark_card_CNN_DailyMail.json +104 -0
- metadata/benchmark_card_CivilComments.json +109 -0
- metadata/benchmark_card_GPQA.json +118 -0
- metadata/benchmark_card_GSM8K.json +112 -0
- metadata/benchmark_card_HellaSwag.json +115 -0
- metadata/benchmark_card_IFEval.json +112 -0
- metadata/benchmark_card_LegalBench.json +120 -0
- metadata/benchmark_card_MATH_Level_5.json +112 -0
- metadata/benchmark_card_MMLU-Pro.json +126 -0
- metadata/benchmark_card_MMLU.json +113 -0
- metadata/benchmark_card_MUSR.json +124 -0
- metadata/benchmark_card_MedQA.json +114 -0
- metadata/benchmark_card_Omni-MATH.json +113 -0
- metadata/benchmark_card_QuAC.json +114 -0
- metadata/benchmark_card_WildBench.json +118 -0
app/api/benchmark-metadata/route.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { NextResponse } from "next/server"
|
| 2 |
+
import { getAllBenchmarkCards } from "@/lib/benchmark-metadata"
|
| 3 |
+
|
| 4 |
+
export async function GET() {
|
| 5 |
+
const cards = await getAllBenchmarkCards()
|
| 6 |
+
return NextResponse.json(cards)
|
| 7 |
+
}
|
app/benchmarks/page.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
import { redirect } from "next/navigation"
|
| 2 |
|
| 3 |
-
export default function
|
| 4 |
-
redirect("/
|
| 5 |
}
|
|
|
|
| 1 |
import { redirect } from "next/navigation"
|
| 2 |
|
| 3 |
+
export default function BenchmarksPage() {
|
| 4 |
+
redirect("/evals")
|
| 5 |
}
|
app/developers/[id]/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useCallback, useEffect, useMemo, useState } from "react"
|
| 4 |
import { useParams, useRouter } from "next/navigation"
|
| 5 |
-
import { ArrowLeft, ArrowUpDown, Search } from "lucide-react"
|
| 6 |
|
| 7 |
import { BenchmarkEvaluationCard, type BenchmarkEvaluationCardData } from "@/components/benchmark-evaluation-card"
|
| 8 |
import { ListPagination } from "@/components/list-pagination"
|
|
@@ -11,7 +11,9 @@ import { PageHeader } from "@/components/page-header"
|
|
| 11 |
import { Button } from "@/components/ui/button"
|
| 12 |
import { Input } from "@/components/ui/input"
|
| 13 |
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
| 14 |
-
import {
|
|
|
|
|
|
|
| 15 |
|
| 16 |
const PAGE_SIZE = 40
|
| 17 |
|
|
@@ -20,6 +22,7 @@ export default function DeveloperDetailPage() {
|
|
| 20 |
const router = useRouter()
|
| 21 |
const [developer, setDeveloper] = useState<string>("")
|
| 22 |
const [models, setModels] = useState<BenchmarkEvaluationCardData[]>([])
|
|
|
|
| 23 |
const [loading, setLoading] = useState(true)
|
| 24 |
const [error, setError] = useState<string | null>(null)
|
| 25 |
const [searchQuery, setSearchQuery] = useState("")
|
|
@@ -33,10 +36,14 @@ export default function DeveloperDetailPage() {
|
|
| 33 |
}, [router])
|
| 34 |
|
| 35 |
useEffect(() => {
|
| 36 |
-
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
| 38 |
setDeveloper(summary.developer)
|
| 39 |
setModels(summary.models)
|
|
|
|
| 40 |
})
|
| 41 |
.catch((err) => {
|
| 42 |
console.error(err)
|
|
@@ -45,6 +52,24 @@ export default function DeveloperDetailPage() {
|
|
| 45 |
.finally(() => setLoading(false))
|
| 46 |
}, [routeId])
|
| 47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
const filteredModels = useMemo(() => {
|
| 49 |
const query = searchQuery.trim().toLowerCase()
|
| 50 |
const filtered = query
|
|
@@ -125,13 +150,16 @@ export default function DeveloperDetailPage() {
|
|
| 125 |
<PageHeader
|
| 126 |
eyebrow="Developer"
|
| 127 |
title={developer}
|
| 128 |
-
description="
|
| 129 |
metaItems={[
|
| 130 |
{ label: "Models", value: models.length.toString() },
|
| 131 |
{
|
| 132 |
label: "Reported Results",
|
| 133 |
value: models.reduce((sum, model) => sum + model.evaluations_count, 0).toString(),
|
| 134 |
},
|
|
|
|
|
|
|
|
|
|
| 135 |
]}
|
| 136 |
>
|
| 137 |
<Button variant="outline" onClick={handleBack}>
|
|
@@ -140,6 +168,29 @@ export default function DeveloperDetailPage() {
|
|
| 140 |
</Button>
|
| 141 |
</PageHeader>
|
| 142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
<div className="mb-8 mt-8 flex flex-col gap-4 border-b border-border/50 pb-6 sm:flex-row">
|
| 144 |
<div className="relative w-full sm:max-w-sm">
|
| 145 |
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
|
@@ -173,6 +224,7 @@ export default function DeveloperDetailPage() {
|
|
| 173 |
<BenchmarkEvaluationCard
|
| 174 |
key={model.id}
|
| 175 |
data={model}
|
|
|
|
| 176 |
delayMs={Math.min(index * 45, 240)}
|
| 177 |
/>
|
| 178 |
))}
|
|
|
|
| 2 |
|
| 3 |
import { useCallback, useEffect, useMemo, useState } from "react"
|
| 4 |
import { useParams, useRouter } from "next/navigation"
|
| 5 |
+
import { ArrowLeft, ArrowUpDown, Search, Tag } from "lucide-react"
|
| 6 |
|
| 7 |
import { BenchmarkEvaluationCard, type BenchmarkEvaluationCardData } from "@/components/benchmark-evaluation-card"
|
| 8 |
import { ListPagination } from "@/components/list-pagination"
|
|
|
|
| 11 |
import { Button } from "@/components/ui/button"
|
| 12 |
import { Input } from "@/components/ui/input"
|
| 13 |
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
| 14 |
+
import type { BenchmarkCard } from "@/lib/benchmark-schema"
|
| 15 |
+
import { lookupBenchmarkCard } from "@/lib/benchmark-metadata-utils"
|
| 16 |
+
import { fetchDeveloperSummary, fetchBenchmarkMetadata } from "@/lib/dashboard-data-client"
|
| 17 |
|
| 18 |
const PAGE_SIZE = 40
|
| 19 |
|
|
|
|
| 22 |
const router = useRouter()
|
| 23 |
const [developer, setDeveloper] = useState<string>("")
|
| 24 |
const [models, setModels] = useState<BenchmarkEvaluationCardData[]>([])
|
| 25 |
+
const [benchmarkCards, setBenchmarkCards] = useState<Record<string, BenchmarkCard>>({})
|
| 26 |
const [loading, setLoading] = useState(true)
|
| 27 |
const [error, setError] = useState<string | null>(null)
|
| 28 |
const [searchQuery, setSearchQuery] = useState("")
|
|
|
|
| 36 |
}, [router])
|
| 37 |
|
| 38 |
useEffect(() => {
|
| 39 |
+
Promise.all([
|
| 40 |
+
fetchDeveloperSummary(routeId),
|
| 41 |
+
fetchBenchmarkMetadata(),
|
| 42 |
+
])
|
| 43 |
+
.then(([summary, cards]) => {
|
| 44 |
setDeveloper(summary.developer)
|
| 45 |
setModels(summary.models)
|
| 46 |
+
setBenchmarkCards(cards)
|
| 47 |
})
|
| 48 |
.catch((err) => {
|
| 49 |
console.error(err)
|
|
|
|
| 52 |
.finally(() => setLoading(false))
|
| 53 |
}, [routeId])
|
| 54 |
|
| 55 |
+
// Collect all unique domains from benchmarks this developer's models are evaluated on
|
| 56 |
+
const domainCoverage = useMemo(() => {
|
| 57 |
+
const domainMap = new Map<string, Set<string>>() // domain → set of benchmark names
|
| 58 |
+
for (const model of models) {
|
| 59 |
+
for (const { benchmark } of model.top_scores) {
|
| 60 |
+
const card = lookupBenchmarkCard(benchmarkCards, benchmark)
|
| 61 |
+
for (const domain of card?.benchmark_details?.domains ?? []) {
|
| 62 |
+
const existing = domainMap.get(domain) ?? new Set()
|
| 63 |
+
existing.add(benchmark)
|
| 64 |
+
domainMap.set(domain, existing)
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
return Array.from(domainMap.entries())
|
| 69 |
+
.map(([domain, benchmarks]) => ({ domain, count: benchmarks.size }))
|
| 70 |
+
.sort((a, b) => b.count - a.count)
|
| 71 |
+
}, [models, benchmarkCards])
|
| 72 |
+
|
| 73 |
const filteredModels = useMemo(() => {
|
| 74 |
const query = searchQuery.trim().toLowerCase()
|
| 75 |
const filtered = query
|
|
|
|
| 150 |
<PageHeader
|
| 151 |
eyebrow="Developer"
|
| 152 |
title={developer}
|
| 153 |
+
description={`Evaluation coverage across ${models.length} model${models.length !== 1 ? "s" : ""} from this developer, including benchmark domain coverage where metadata is available.`}
|
| 154 |
metaItems={[
|
| 155 |
{ label: "Models", value: models.length.toString() },
|
| 156 |
{
|
| 157 |
label: "Reported Results",
|
| 158 |
value: models.reduce((sum, model) => sum + model.evaluations_count, 0).toString(),
|
| 159 |
},
|
| 160 |
+
...(domainCoverage.length > 0
|
| 161 |
+
? [{ label: "Domains covered", value: domainCoverage.length.toString() }]
|
| 162 |
+
: []),
|
| 163 |
]}
|
| 164 |
>
|
| 165 |
<Button variant="outline" onClick={handleBack}>
|
|
|
|
| 168 |
</Button>
|
| 169 |
</PageHeader>
|
| 170 |
|
| 171 |
+
{/* Domain coverage strip */}
|
| 172 |
+
{domainCoverage.length > 0 && (
|
| 173 |
+
<div className="mb-4 mt-6 rounded-[1.5rem] border border-border/70 bg-muted/10 p-4">
|
| 174 |
+
<div className="mb-2 flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 175 |
+
<Tag className="h-3.5 w-3.5" />
|
| 176 |
+
Benchmark domain coverage
|
| 177 |
+
</div>
|
| 178 |
+
<div className="flex flex-wrap gap-2">
|
| 179 |
+
{domainCoverage.map(({ domain, count }) => (
|
| 180 |
+
<span
|
| 181 |
+
key={domain}
|
| 182 |
+
className="inline-flex items-center gap-1.5 rounded-full border border-border/60 bg-background px-3 py-1 text-xs font-medium capitalize"
|
| 183 |
+
>
|
| 184 |
+
{domain}
|
| 185 |
+
<span className="rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground">
|
| 186 |
+
{count}
|
| 187 |
+
</span>
|
| 188 |
+
</span>
|
| 189 |
+
))}
|
| 190 |
+
</div>
|
| 191 |
+
</div>
|
| 192 |
+
)}
|
| 193 |
+
|
| 194 |
<div className="mb-8 mt-8 flex flex-col gap-4 border-b border-border/50 pb-6 sm:flex-row">
|
| 195 |
<div className="relative w-full sm:max-w-sm">
|
| 196 |
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
|
|
|
| 224 |
<BenchmarkEvaluationCard
|
| 225 |
key={model.id}
|
| 226 |
data={model}
|
| 227 |
+
benchmarkCards={benchmarkCards}
|
| 228 |
delayMs={Math.min(index * 45, 240)}
|
| 229 |
/>
|
| 230 |
))}
|
app/evals/page.tsx
CHANGED
|
@@ -1,111 +1,256 @@
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
-
import {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 5 |
-
import {
|
| 6 |
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
| 7 |
-
import { ArrowUpDown, Search } from "lucide-react"
|
| 8 |
import { Navigation } from "@/components/navigation"
|
| 9 |
import { PageHeader } from "@/components/page-header"
|
| 10 |
-
import {
|
| 11 |
-
import {
|
| 12 |
import type { BenchmarkEvalListItem } from "@/lib/eval-processing"
|
| 13 |
-
import { fetchEvalList } from "@/lib/dashboard-data-client"
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
const PAGE_SIZE = 40
|
| 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
export default function EvalsPage() {
|
| 18 |
const { mode } = useAudienceMode()
|
|
|
|
|
|
|
| 19 |
const [summaries, setSummaries] = useState<BenchmarkEvalListItem[]>([])
|
|
|
|
| 20 |
const [loading, setLoading] = useState(true)
|
| 21 |
const [totalModels, setTotalModels] = useState(0)
|
| 22 |
-
const [sortBy, setSortBy] = useState<"name" | "models" | "score">("name")
|
| 23 |
-
const [groupByComposite, setGroupByComposite] = useState(true)
|
| 24 |
const [searchQuery, setSearchQuery] = useState("")
|
|
|
|
|
|
|
|
|
|
| 25 |
const [page, setPage] = useState(1)
|
| 26 |
|
| 27 |
useEffect(() => {
|
| 28 |
-
fetchEvalList()
|
| 29 |
-
.then((data) => {
|
| 30 |
setSummaries(data.evals)
|
| 31 |
setTotalModels(data.totalModels)
|
|
|
|
| 32 |
})
|
| 33 |
.catch(console.error)
|
| 34 |
.finally(() => setLoading(false))
|
| 35 |
}, [])
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
const filtered = useMemo(() => {
|
| 38 |
const query = searchQuery.trim().toLowerCase()
|
| 39 |
-
let list =
|
|
|
|
|
|
|
| 40 |
|
| 41 |
if (query) {
|
| 42 |
list = list.filter((summary) => {
|
| 43 |
const haystacks = [
|
| 44 |
-
summary.composite_benchmark_name,
|
| 45 |
summary.evaluation_name,
|
|
|
|
| 46 |
summary.metric_config.evaluation_description,
|
| 47 |
-
summary.
|
| 48 |
-
summary.
|
| 49 |
-
summary.factsheet?.principles_tested,
|
| 50 |
-
...summary.evaluator_names,
|
| 51 |
-
...summary.source_types,
|
| 52 |
]
|
| 53 |
|
| 54 |
return haystacks.some((value) => value?.toLowerCase().includes(query))
|
| 55 |
})
|
| 56 |
}
|
| 57 |
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
break
|
| 65 |
-
case "score":
|
| 66 |
-
list.sort((a, b) => b.avg_score_norm - a.avg_score_norm)
|
| 67 |
-
break
|
| 68 |
}
|
| 69 |
-
return list
|
| 70 |
-
}, [searchQuery, summaries, sortBy])
|
| 71 |
-
|
| 72 |
-
const groupedSummaries = useMemo(() => {
|
| 73 |
-
const groups = new Map<
|
| 74 |
-
string,
|
| 75 |
-
{
|
| 76 |
-
key: string
|
| 77 |
-
name: string
|
| 78 |
-
items: BenchmarkEvalListItem[]
|
| 79 |
-
}
|
| 80 |
-
>()
|
| 81 |
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
key: summary.composite_benchmark_key,
|
| 85 |
-
name: summary.composite_benchmark_name,
|
| 86 |
-
items: [],
|
| 87 |
-
}
|
| 88 |
-
existing.items.push(summary)
|
| 89 |
-
groups.set(summary.composite_benchmark_key, existing)
|
| 90 |
}
|
| 91 |
|
| 92 |
-
|
| 93 |
-
|
|
|
|
| 94 |
|
| 95 |
useEffect(() => {
|
| 96 |
setPage(1)
|
| 97 |
-
}, [
|
| 98 |
|
| 99 |
const pagedSummaries = useMemo(
|
| 100 |
() => filtered.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE),
|
| 101 |
[filtered, page]
|
| 102 |
)
|
| 103 |
|
| 104 |
-
const pagedGroups = useMemo(
|
| 105 |
-
() => groupedSummaries.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE),
|
| 106 |
-
[groupedSummaries, page]
|
| 107 |
-
)
|
| 108 |
-
|
| 109 |
if (loading) {
|
| 110 |
return (
|
| 111 |
<div className="min-h-screen bg-background">
|
|
@@ -124,133 +269,234 @@ export default function EvalsPage() {
|
|
| 124 |
<Navigation />
|
| 125 |
<PageHeader
|
| 126 |
eyebrow="Evaluations"
|
| 127 |
-
title="
|
| 128 |
description={
|
| 129 |
mode === "research"
|
| 130 |
-
? "
|
| 131 |
-
: "
|
| 132 |
-
}
|
| 133 |
-
metaItems={
|
| 134 |
-
groupByComposite
|
| 135 |
-
? [
|
| 136 |
-
{ label: "Composite Benchmarks", value: groupedSummaries.length.toString() },
|
| 137 |
-
{ label: "Single Benchmarks", value: filtered.length.toString() },
|
| 138 |
-
{ label: "Models", value: totalModels.toString() },
|
| 139 |
-
{ label: "View", value: mode === "research" ? "Research" : "Policy" },
|
| 140 |
-
]
|
| 141 |
-
: [
|
| 142 |
-
{ label: "Single Benchmarks", value: summaries.length.toString() },
|
| 143 |
-
{ label: "Models", value: totalModels.toString() },
|
| 144 |
-
{ label: "View", value: mode === "research" ? "Research" : "Policy" },
|
| 145 |
-
]
|
| 146 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
/>
|
|
|
|
| 148 |
<main className="container mx-auto px-4 py-8">
|
| 149 |
-
<div className="mb-8 flex flex-col gap-3 border-b border-border/50 pb-6
|
| 150 |
-
<div className="
|
| 151 |
-
<
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
</button>
|
| 175 |
-
<button
|
| 176 |
-
type="button"
|
| 177 |
-
onClick={() => setGroupByComposite(true)}
|
| 178 |
-
className={`inline-flex items-center rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${
|
| 179 |
-
groupByComposite
|
| 180 |
-
? "bg-background text-foreground shadow-sm"
|
| 181 |
-
: "text-muted-foreground hover:text-foreground"
|
| 182 |
-
}`}
|
| 183 |
-
>
|
| 184 |
-
Group by composite benchmark
|
| 185 |
-
</button>
|
| 186 |
</div>
|
| 187 |
-
<Select value={sortBy} onValueChange={v => setSortBy(v as any)}>
|
| 188 |
-
<SelectTrigger className="w-[200px]">
|
| 189 |
-
<ArrowUpDown className="h-4 w-4 mr-2" />
|
| 190 |
-
<SelectValue placeholder="Sort" />
|
| 191 |
-
</SelectTrigger>
|
| 192 |
-
<SelectContent>
|
| 193 |
-
<SelectItem value="name">Single Benchmark (A-Z)</SelectItem>
|
| 194 |
-
<SelectItem value="models">Most Models</SelectItem>
|
| 195 |
-
<SelectItem value="score">Highest Avg Score</SelectItem>
|
| 196 |
-
</SelectContent>
|
| 197 |
-
</Select>
|
| 198 |
-
</div>
|
| 199 |
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
| 205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 206 |
>
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 230 |
</div>
|
| 231 |
) : (
|
| 232 |
-
<div className="grid grid-cols-1 gap-6 md:grid-cols-2">
|
| 233 |
-
{pagedSummaries.map((summary
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 242 |
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 246 |
</div>
|
| 247 |
)}
|
| 248 |
|
| 249 |
<ListPagination
|
| 250 |
page={page}
|
| 251 |
pageSize={PAGE_SIZE}
|
| 252 |
-
totalItems={
|
| 253 |
-
itemLabel=
|
| 254 |
onPageChange={setPage}
|
| 255 |
/>
|
| 256 |
</main>
|
|
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
+
import { useEffect, useMemo, useState } from "react"
|
| 4 |
+
import Link from "next/link"
|
| 5 |
+
import { useSearchParams } from "next/navigation"
|
| 6 |
+
import { Search, X } from "lucide-react"
|
| 7 |
+
|
| 8 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 9 |
+
import { ListPagination } from "@/components/list-pagination"
|
|
|
|
|
|
|
| 10 |
import { Navigation } from "@/components/navigation"
|
| 11 |
import { PageHeader } from "@/components/page-header"
|
| 12 |
+
import { Input } from "@/components/ui/input"
|
| 13 |
+
import type { BenchmarkCard, CategoryType } from "@/lib/benchmark-schema"
|
| 14 |
import type { BenchmarkEvalListItem } from "@/lib/eval-processing"
|
| 15 |
+
import { fetchBenchmarkMetadata, fetchEvalList } from "@/lib/dashboard-data-client"
|
| 16 |
+
import { getCategoryColor } from "@/lib/benchmark-schema"
|
| 17 |
+
import { lookupBenchmarkCard, normalizeBenchmarkKey } from "@/lib/benchmark-metadata-utils"
|
| 18 |
+
import { cn } from "@/lib/utils"
|
| 19 |
|
| 20 |
const PAGE_SIZE = 40
|
| 21 |
|
| 22 |
+
function shortenLicense(license: string): string {
|
| 23 |
+
if (!license || license === "Not specified") return ""
|
| 24 |
+
if (license.toLowerCase().includes("creative commons attribution 4")) return "CC BY 4.0"
|
| 25 |
+
if (license.toLowerCase().includes("creative commons zero")) return "CC0"
|
| 26 |
+
if (license.toLowerCase().includes("apache license 2") || license.toLowerCase().includes("apache 2")) return "Apache 2.0"
|
| 27 |
+
if (license.toLowerCase().includes("mit license")) return "MIT"
|
| 28 |
+
if (license.toLowerCase().includes("cc-by-sa")) return "CC BY-SA"
|
| 29 |
+
if (license.length > 24) return `${license.slice(0, 22)}…`
|
| 30 |
+
return license
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
const LICENSE_COLORS: Record<string, string> = {
|
| 34 |
+
mit: "bg-emerald-100 text-emerald-800 border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-200",
|
| 35 |
+
apache: "bg-sky-100 text-sky-800 border-sky-200 dark:bg-sky-950/40 dark:text-sky-200",
|
| 36 |
+
"cc by": "bg-violet-100 text-violet-800 border-violet-200 dark:bg-violet-950/40 dark:text-violet-200",
|
| 37 |
+
cc0: "bg-teal-100 text-teal-800 border-teal-200 dark:bg-teal-950/40 dark:text-teal-200",
|
| 38 |
+
"cc-by-sa": "bg-indigo-100 text-indigo-800 border-indigo-200 dark:bg-indigo-950/40 dark:text-indigo-200",
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
function licenseBadgeClass(license: string): string {
|
| 42 |
+
const normalized = license.toLowerCase()
|
| 43 |
+
for (const [key, className] of Object.entries(LICENSE_COLORS)) {
|
| 44 |
+
if (normalized.includes(key)) return className
|
| 45 |
+
}
|
| 46 |
+
return "bg-muted text-muted-foreground border-border"
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
function slugifyAggregateId(value: string) {
|
| 50 |
+
return `aggregate__${value.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "")}`
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
export default function EvalsPage() {
|
| 54 |
const { mode } = useAudienceMode()
|
| 55 |
+
const searchParams = useSearchParams()
|
| 56 |
+
|
| 57 |
const [summaries, setSummaries] = useState<BenchmarkEvalListItem[]>([])
|
| 58 |
+
const [benchmarkCards, setBenchmarkCards] = useState<Record<string, BenchmarkCard>>({})
|
| 59 |
const [loading, setLoading] = useState(true)
|
| 60 |
const [totalModels, setTotalModels] = useState(0)
|
|
|
|
|
|
|
| 61 |
const [searchQuery, setSearchQuery] = useState("")
|
| 62 |
+
const [selectedDomain, setSelectedDomain] = useState<string | null>(null)
|
| 63 |
+
const [selectedCategory, setSelectedCategory] = useState<string | null>(null)
|
| 64 |
+
const [showWithoutMetadata, setShowWithoutMetadata] = useState(false)
|
| 65 |
const [page, setPage] = useState(1)
|
| 66 |
|
| 67 |
useEffect(() => {
|
| 68 |
+
Promise.all([fetchEvalList(), fetchBenchmarkMetadata()])
|
| 69 |
+
.then(([data, cards]) => {
|
| 70 |
setSummaries(data.evals)
|
| 71 |
setTotalModels(data.totalModels)
|
| 72 |
+
setBenchmarkCards(cards)
|
| 73 |
})
|
| 74 |
.catch(console.error)
|
| 75 |
.finally(() => setLoading(false))
|
| 76 |
}, [])
|
| 77 |
|
| 78 |
+
useEffect(() => {
|
| 79 |
+
const incomingSearch = searchParams.get("search") ?? ""
|
| 80 |
+
if (incomingSearch) {
|
| 81 |
+
setSearchQuery(incomingSearch)
|
| 82 |
+
}
|
| 83 |
+
}, [searchParams])
|
| 84 |
+
|
| 85 |
+
const summariesWithCards = useMemo(() => {
|
| 86 |
+
return summaries.map((summary) => {
|
| 87 |
+
if (summary.benchmark_card) {
|
| 88 |
+
return summary
|
| 89 |
+
}
|
| 90 |
+
|
| 91 |
+
const fallbackCard =
|
| 92 |
+
lookupBenchmarkCard(benchmarkCards, summary.evaluation_name) ??
|
| 93 |
+
lookupBenchmarkCard(benchmarkCards, summary.composite_benchmark_name) ??
|
| 94 |
+
lookupBenchmarkCard(benchmarkCards, summary.composite_benchmark_key)
|
| 95 |
+
|
| 96 |
+
return fallbackCard ? { ...summary, benchmark_card: fallbackCard } : summary
|
| 97 |
+
})
|
| 98 |
+
}, [benchmarkCards, summaries])
|
| 99 |
+
|
| 100 |
+
const aggregatedSummaries = useMemo(() => {
|
| 101 |
+
const grouped = new Map<string, BenchmarkEvalListItem[]>()
|
| 102 |
+
const passthrough: BenchmarkEvalListItem[] = []
|
| 103 |
+
|
| 104 |
+
for (const summary of summariesWithCards) {
|
| 105 |
+
const cardName = summary.benchmark_card?.benchmark_details?.name
|
| 106 |
+
|
| 107 |
+
if (!cardName) {
|
| 108 |
+
passthrough.push(summary)
|
| 109 |
+
continue
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
+
const groupKey = normalizeBenchmarkKey(cardName)
|
| 113 |
+
const existing = grouped.get(groupKey) ?? []
|
| 114 |
+
existing.push(summary)
|
| 115 |
+
grouped.set(groupKey, existing)
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
const merged = Array.from(grouped.entries()).map(([groupKey, items]) => {
|
| 119 |
+
if (items.length === 1) {
|
| 120 |
+
return items[0]
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
const first = items[0]
|
| 124 |
+
const aggregateSources = Array.from(
|
| 125 |
+
new Map(
|
| 126 |
+
items.map((item) => [
|
| 127 |
+
item.evaluation_id,
|
| 128 |
+
{
|
| 129 |
+
evaluation_id: item.evaluation_id,
|
| 130 |
+
composite_benchmark_key: item.composite_benchmark_key,
|
| 131 |
+
composite_benchmark_name: item.composite_benchmark_name,
|
| 132 |
+
models_count: item.models_count,
|
| 133 |
+
avg_score_norm: item.avg_score_norm,
|
| 134 |
+
},
|
| 135 |
+
])
|
| 136 |
+
).values()
|
| 137 |
+
).sort((a, b) => a.composite_benchmark_name.localeCompare(b.composite_benchmark_name))
|
| 138 |
+
|
| 139 |
+
const dominantCategory =
|
| 140 |
+
Object.entries(
|
| 141 |
+
items.reduce<Record<string, number>>((counts, item) => {
|
| 142 |
+
counts[item.category] = (counts[item.category] ?? 0) + 1
|
| 143 |
+
return counts
|
| 144 |
+
}, {})
|
| 145 |
+
).sort((a, b) => b[1] - a[1])[0]?.[0] ?? first.category
|
| 146 |
+
|
| 147 |
+
return {
|
| 148 |
+
...first,
|
| 149 |
+
evaluation_name: first.benchmark_card?.benchmark_details?.name ?? first.evaluation_name,
|
| 150 |
+
evaluation_id: slugifyAggregateId(groupKey),
|
| 151 |
+
composite_benchmark_key: aggregateSources.length === 1 ? aggregateSources[0].composite_benchmark_key : "multiple",
|
| 152 |
+
composite_benchmark_name:
|
| 153 |
+
aggregateSources.length === 1
|
| 154 |
+
? aggregateSources[0].composite_benchmark_name
|
| 155 |
+
: `${aggregateSources.length} composite benchmarks`,
|
| 156 |
+
category: dominantCategory as CategoryType,
|
| 157 |
+
models_count: Math.max(...items.map((item) => item.models_count)),
|
| 158 |
+
evaluator_names: Array.from(new Set(items.flatMap((item) => item.evaluator_names))).sort((a, b) => a.localeCompare(b)),
|
| 159 |
+
source_types: Array.from(new Set(items.flatMap((item) => item.source_types))).sort((a, b) => a.localeCompare(b)),
|
| 160 |
+
latest_source_name:
|
| 161 |
+
aggregateSources.length === 1 ? aggregateSources[0].composite_benchmark_name : "Multiple sources",
|
| 162 |
+
third_party_ratio:
|
| 163 |
+
items.reduce((sum, item) => sum + item.third_party_ratio, 0) / items.length,
|
| 164 |
+
missing_generation_config_count: items.reduce(
|
| 165 |
+
(sum, item) => sum + item.missing_generation_config_count,
|
| 166 |
+
0
|
| 167 |
+
),
|
| 168 |
+
avg_score:
|
| 169 |
+
items.reduce((sum, item) => sum + item.avg_score_norm, 0) / items.length,
|
| 170 |
+
avg_score_norm:
|
| 171 |
+
items.reduce((sum, item) => sum + item.avg_score_norm, 0) / items.length,
|
| 172 |
+
best_model: null,
|
| 173 |
+
worst_model: null,
|
| 174 |
+
is_aggregated: true,
|
| 175 |
+
aggregate_sources: aggregateSources,
|
| 176 |
+
}
|
| 177 |
+
})
|
| 178 |
+
|
| 179 |
+
return [...merged, ...passthrough]
|
| 180 |
+
}, [summariesWithCards])
|
| 181 |
+
|
| 182 |
+
const allDomains = useMemo(() => {
|
| 183 |
+
const domainSet = new Set<string>()
|
| 184 |
+
for (const summary of aggregatedSummaries.filter((entry) => entry.benchmark_card)) {
|
| 185 |
+
for (const domain of summary.benchmark_card?.benchmark_details?.domains ?? []) {
|
| 186 |
+
domainSet.add(domain)
|
| 187 |
+
}
|
| 188 |
+
}
|
| 189 |
+
return Array.from(domainSet).sort((a, b) => a.localeCompare(b))
|
| 190 |
+
}, [aggregatedSummaries])
|
| 191 |
+
|
| 192 |
+
const allCategories = useMemo(() => {
|
| 193 |
+
const categorySet = new Set<string>()
|
| 194 |
+
for (const summary of aggregatedSummaries.filter((entry) => entry.benchmark_card)) {
|
| 195 |
+
if (summary.category) {
|
| 196 |
+
categorySet.add(summary.category)
|
| 197 |
+
}
|
| 198 |
+
}
|
| 199 |
+
return Array.from(categorySet).sort((a, b) => a.localeCompare(b))
|
| 200 |
+
}, [aggregatedSummaries])
|
| 201 |
+
|
| 202 |
+
const metadataRichCount = useMemo(
|
| 203 |
+
() => aggregatedSummaries.filter((summary) => summary.benchmark_card).length,
|
| 204 |
+
[aggregatedSummaries]
|
| 205 |
+
)
|
| 206 |
+
|
| 207 |
+
const metadataPoorCount = aggregatedSummaries.length - metadataRichCount
|
| 208 |
+
|
| 209 |
const filtered = useMemo(() => {
|
| 210 |
const query = searchQuery.trim().toLowerCase()
|
| 211 |
+
let list = showWithoutMetadata
|
| 212 |
+
? [...aggregatedSummaries]
|
| 213 |
+
: aggregatedSummaries.filter((summary) => summary.benchmark_card)
|
| 214 |
|
| 215 |
if (query) {
|
| 216 |
list = list.filter((summary) => {
|
| 217 |
const haystacks = [
|
|
|
|
| 218 |
summary.evaluation_name,
|
| 219 |
+
summary.composite_benchmark_name,
|
| 220 |
summary.metric_config.evaluation_description,
|
| 221 |
+
summary.benchmark_card?.benchmark_details?.overview,
|
| 222 |
+
...(summary.benchmark_card?.benchmark_details?.domains ?? []),
|
|
|
|
|
|
|
|
|
|
| 223 |
]
|
| 224 |
|
| 225 |
return haystacks.some((value) => value?.toLowerCase().includes(query))
|
| 226 |
})
|
| 227 |
}
|
| 228 |
|
| 229 |
+
if (selectedDomain) {
|
| 230 |
+
list = list.filter((summary) =>
|
| 231 |
+
(summary.benchmark_card?.benchmark_details?.domains ?? []).some(
|
| 232 |
+
(domain) => domain.toLowerCase() === selectedDomain.toLowerCase()
|
| 233 |
+
)
|
| 234 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 235 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 236 |
|
| 237 |
+
if (selectedCategory) {
|
| 238 |
+
list = list.filter((summary) => summary.category === selectedCategory)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 239 |
}
|
| 240 |
|
| 241 |
+
list.sort((a, b) => a.evaluation_name.localeCompare(b.evaluation_name))
|
| 242 |
+
return list
|
| 243 |
+
}, [aggregatedSummaries, searchQuery, selectedCategory, selectedDomain, showWithoutMetadata])
|
| 244 |
|
| 245 |
useEffect(() => {
|
| 246 |
setPage(1)
|
| 247 |
+
}, [searchQuery, selectedCategory, selectedDomain, showWithoutMetadata])
|
| 248 |
|
| 249 |
const pagedSummaries = useMemo(
|
| 250 |
() => filtered.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE),
|
| 251 |
[filtered, page]
|
| 252 |
)
|
| 253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 254 |
if (loading) {
|
| 255 |
return (
|
| 256 |
<div className="min-h-screen bg-background">
|
|
|
|
| 269 |
<Navigation />
|
| 270 |
<PageHeader
|
| 271 |
eyebrow="Evaluations"
|
| 272 |
+
title="Browse Evaluations"
|
| 273 |
description={
|
| 274 |
mode === "research"
|
| 275 |
+
? "Scan single-benchmark evaluations with the benchmark context first, then open the detail page when you need methodology, provenance, or ranking depth."
|
| 276 |
+
: "Scan single-benchmark evaluations with the benchmark context first, then open the detail page when you need accountability, source, or reporting detail."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
}
|
| 278 |
+
metaItems={[
|
| 279 |
+
{ label: "Evaluations", value: filtered.length.toString() },
|
| 280 |
+
{ label: "Rich cards", value: metadataRichCount.toString() },
|
| 281 |
+
{ label: "Models", value: totalModels.toString() },
|
| 282 |
+
{ label: "Domains", value: allDomains.length.toString() },
|
| 283 |
+
...(selectedDomain ? [{ label: "Domain filter", value: selectedDomain }] : []),
|
| 284 |
+
...(selectedCategory ? [{ label: "Category filter", value: selectedCategory }] : []),
|
| 285 |
+
]}
|
| 286 |
/>
|
| 287 |
+
|
| 288 |
<main className="container mx-auto px-4 py-8">
|
| 289 |
+
<div className="mb-8 flex flex-col gap-3 border-b border-border/50 pb-6">
|
| 290 |
+
<div className="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center">
|
| 291 |
+
<div className="relative w-full sm:max-w-sm">
|
| 292 |
+
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
| 293 |
+
<Input
|
| 294 |
+
value={searchQuery}
|
| 295 |
+
onChange={(event) => setSearchQuery(event.target.value)}
|
| 296 |
+
placeholder="Search by name, domain, or overview"
|
| 297 |
+
className="pl-9"
|
| 298 |
+
/>
|
| 299 |
+
</div>
|
| 300 |
+
<label className="inline-flex w-fit items-center gap-2 rounded-full border border-border/70 bg-muted/20 px-3 py-2 text-sm text-muted-foreground">
|
| 301 |
+
<input
|
| 302 |
+
type="checkbox"
|
| 303 |
+
checked={showWithoutMetadata}
|
| 304 |
+
onChange={(event) => setShowWithoutMetadata(event.target.checked)}
|
| 305 |
+
className="h-4 w-4 rounded border-border text-primary focus:ring-primary"
|
| 306 |
+
/>
|
| 307 |
+
<span>Show benchmarks that don't have rich metadata</span>
|
| 308 |
+
{metadataPoorCount > 0 ? (
|
| 309 |
+
<span className="rounded-full border border-border/60 bg-background px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground">
|
| 310 |
+
+{metadataPoorCount}
|
| 311 |
+
</span>
|
| 312 |
+
) : null}
|
| 313 |
+
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 314 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 315 |
|
| 316 |
+
{allDomains.length > 0 && (
|
| 317 |
+
<div className="flex flex-wrap items-center gap-1.5">
|
| 318 |
+
<span className="mr-1 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 319 |
+
Domain
|
| 320 |
+
</span>
|
| 321 |
+
<button
|
| 322 |
+
type="button"
|
| 323 |
+
onClick={() => setSelectedDomain(null)}
|
| 324 |
+
className={cn(
|
| 325 |
+
"rounded-full border px-3 py-1 text-xs font-medium transition-colors",
|
| 326 |
+
selectedDomain === null
|
| 327 |
+
? "border-primary bg-primary text-primary-foreground"
|
| 328 |
+
: "border-border/60 bg-background text-muted-foreground hover:text-foreground"
|
| 329 |
+
)}
|
| 330 |
>
|
| 331 |
+
All
|
| 332 |
+
</button>
|
| 333 |
+
{allDomains.map((domain) => (
|
| 334 |
+
<button
|
| 335 |
+
key={domain}
|
| 336 |
+
type="button"
|
| 337 |
+
onClick={() => setSelectedDomain(selectedDomain === domain ? null : domain)}
|
| 338 |
+
className={cn(
|
| 339 |
+
"rounded-full border px-3 py-1 text-xs font-medium capitalize transition-colors",
|
| 340 |
+
selectedDomain === domain
|
| 341 |
+
? "border-primary bg-primary text-primary-foreground"
|
| 342 |
+
: "border-border/60 bg-background text-muted-foreground hover:text-foreground"
|
| 343 |
+
)}
|
| 344 |
+
>
|
| 345 |
+
{domain}
|
| 346 |
+
</button>
|
| 347 |
+
))}
|
| 348 |
+
{selectedDomain && (
|
| 349 |
+
<button
|
| 350 |
+
type="button"
|
| 351 |
+
onClick={() => setSelectedDomain(null)}
|
| 352 |
+
className="ml-1 flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground"
|
| 353 |
+
>
|
| 354 |
+
<X className="h-3 w-3" />
|
| 355 |
+
Clear
|
| 356 |
+
</button>
|
| 357 |
+
)}
|
| 358 |
+
</div>
|
| 359 |
+
)}
|
| 360 |
+
|
| 361 |
+
{allCategories.length > 0 && (
|
| 362 |
+
<div className="flex flex-wrap items-center gap-1.5">
|
| 363 |
+
<span className="mr-1 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 364 |
+
Category
|
| 365 |
+
</span>
|
| 366 |
+
<button
|
| 367 |
+
type="button"
|
| 368 |
+
onClick={() => setSelectedCategory(null)}
|
| 369 |
+
className={cn(
|
| 370 |
+
"rounded-full border px-3 py-1 text-xs font-medium transition-colors",
|
| 371 |
+
selectedCategory === null
|
| 372 |
+
? "border-primary bg-primary text-primary-foreground"
|
| 373 |
+
: "border-border/60 bg-background text-muted-foreground hover:text-foreground"
|
| 374 |
+
)}
|
| 375 |
+
>
|
| 376 |
+
All
|
| 377 |
+
</button>
|
| 378 |
+
{allCategories.map((category) => (
|
| 379 |
+
<button
|
| 380 |
+
key={category}
|
| 381 |
+
type="button"
|
| 382 |
+
onClick={() => setSelectedCategory(selectedCategory === category ? null : category)}
|
| 383 |
+
className={cn(
|
| 384 |
+
"rounded-full border px-3 py-1 text-xs font-medium transition-colors",
|
| 385 |
+
selectedCategory === category
|
| 386 |
+
? `${getCategoryColor(category as CategoryType)} border-2`
|
| 387 |
+
: "border-border/60 bg-background text-muted-foreground hover:text-foreground"
|
| 388 |
+
)}
|
| 389 |
+
>
|
| 390 |
+
{category}
|
| 391 |
+
</button>
|
| 392 |
+
))}
|
| 393 |
+
{selectedCategory && (
|
| 394 |
+
<button
|
| 395 |
+
type="button"
|
| 396 |
+
onClick={() => setSelectedCategory(null)}
|
| 397 |
+
className="ml-1 flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground"
|
| 398 |
+
>
|
| 399 |
+
<X className="h-3 w-3" />
|
| 400 |
+
Clear
|
| 401 |
+
</button>
|
| 402 |
+
)}
|
| 403 |
+
</div>
|
| 404 |
+
)}
|
| 405 |
+
</div>
|
| 406 |
+
|
| 407 |
+
{filtered.length === 0 ? (
|
| 408 |
+
<div className="py-12 text-center text-muted-foreground">
|
| 409 |
+
No evaluations found.
|
| 410 |
</div>
|
| 411 |
) : (
|
| 412 |
+
<div className="grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3">
|
| 413 |
+
{pagedSummaries.map((summary) => {
|
| 414 |
+
const card = summary.benchmark_card
|
| 415 |
+
const title = card?.benchmark_details?.name ?? summary.evaluation_name
|
| 416 |
+
const overview =
|
| 417 |
+
card?.benchmark_details?.overview ?? summary.metric_config.evaluation_description
|
| 418 |
+
const domains = card?.benchmark_details?.domains ?? []
|
| 419 |
+
const dataType = card?.benchmark_details?.data_type ?? ""
|
| 420 |
+
const license = card?.ethical_and_legal_considerations?.data_licensing ?? ""
|
| 421 |
+
const shortLicense = shortenLicense(license)
|
| 422 |
+
const showCompositeLabel =
|
| 423 |
+
summary.composite_benchmark_name &&
|
| 424 |
+
summary.composite_benchmark_name.toLowerCase() !== title.toLowerCase()
|
| 425 |
+
const compositeLabel = summary.is_aggregated
|
| 426 |
+
? summary.aggregate_sources?.map((source) => source.composite_benchmark_name).join(", ")
|
| 427 |
+
: summary.composite_benchmark_name
|
| 428 |
|
| 429 |
+
return (
|
| 430 |
+
<Link
|
| 431 |
+
key={summary.evaluation_id}
|
| 432 |
+
href={`/evals/${summary.evaluation_id}`}
|
| 433 |
+
className="group flex flex-col rounded-[1.75rem] border border-border/70 bg-card p-5 shadow-[0_10px_30px_-22px_rgba(15,23,42,0.35)] transition-all hover:-translate-y-0.5 hover:shadow-[0_18px_40px_-24px_rgba(15,23,42,0.45)] motion-academic-enter motion-academic-surface motion-academic-hover"
|
| 434 |
+
>
|
| 435 |
+
<div className="mb-4 flex items-start justify-between gap-3">
|
| 436 |
+
<div className="text-[10px] font-semibold uppercase tracking-[0.28em] text-muted-foreground">
|
| 437 |
+
{card ? "Benchmark" : "Benchmark without rich metadata"}
|
| 438 |
+
</div>
|
| 439 |
+
<div className="flex flex-wrap justify-end gap-1.5">
|
| 440 |
+
{dataType && (
|
| 441 |
+
<span className="rounded-full border border-border/60 bg-muted/40 px-2.5 py-0.5 text-[10px] font-medium text-muted-foreground">
|
| 442 |
+
{dataType}
|
| 443 |
+
</span>
|
| 444 |
+
)}
|
| 445 |
+
{shortLicense && (
|
| 446 |
+
<span className={`rounded-full border px-2.5 py-0.5 text-[10px] font-semibold ${licenseBadgeClass(license)}`}>
|
| 447 |
+
{shortLicense}
|
| 448 |
+
</span>
|
| 449 |
+
)}
|
| 450 |
+
<span className="rounded-full border border-border/60 bg-background px-2.5 py-0.5 text-[10px] font-semibold text-muted-foreground">
|
| 451 |
+
{summary.models_count.toLocaleString()} models
|
| 452 |
+
</span>
|
| 453 |
+
</div>
|
| 454 |
+
</div>
|
| 455 |
+
|
| 456 |
+
<h3 className="mb-2 text-base font-bold tracking-tight transition-colors group-hover:text-primary sm:text-lg">
|
| 457 |
+
{title}
|
| 458 |
+
</h3>
|
| 459 |
+
|
| 460 |
+
{showCompositeLabel && compositeLabel && (
|
| 461 |
+
<div className="mb-2 text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground">
|
| 462 |
+
{compositeLabel}
|
| 463 |
+
</div>
|
| 464 |
+
)}
|
| 465 |
+
|
| 466 |
+
{overview && (
|
| 467 |
+
<p className="mb-4 flex-1 text-sm leading-6 text-muted-foreground line-clamp-4">
|
| 468 |
+
{overview}
|
| 469 |
+
</p>
|
| 470 |
+
)}
|
| 471 |
+
|
| 472 |
+
{domains.length > 0 && (
|
| 473 |
+
<div className="mt-auto flex flex-wrap gap-2 pt-1">
|
| 474 |
+
{domains.slice(0, 5).map((domain) => (
|
| 475 |
+
<span
|
| 476 |
+
key={domain}
|
| 477 |
+
className="rounded-full border border-border/60 bg-muted/30 px-3 py-1 text-[11px] font-medium capitalize text-muted-foreground"
|
| 478 |
+
>
|
| 479 |
+
{domain}
|
| 480 |
+
</span>
|
| 481 |
+
))}
|
| 482 |
+
{domains.length > 5 && (
|
| 483 |
+
<span className="rounded-full border border-border/60 bg-muted/30 px-3 py-1 text-[11px] font-medium text-muted-foreground">
|
| 484 |
+
+{domains.length - 5}
|
| 485 |
+
</span>
|
| 486 |
+
)}
|
| 487 |
+
</div>
|
| 488 |
+
)}
|
| 489 |
+
</Link>
|
| 490 |
+
)
|
| 491 |
+
})}
|
| 492 |
</div>
|
| 493 |
)}
|
| 494 |
|
| 495 |
<ListPagination
|
| 496 |
page={page}
|
| 497 |
pageSize={PAGE_SIZE}
|
| 498 |
+
totalItems={filtered.length}
|
| 499 |
+
itemLabel="evaluations"
|
| 500 |
onPageChange={setPage}
|
| 501 |
/>
|
| 502 |
</main>
|
app/models/[id]/page.tsx
CHANGED
|
@@ -6,8 +6,8 @@ import { Button } from "@/components/ui/button"
|
|
| 6 |
import { ArrowLeft } from "lucide-react"
|
| 7 |
import { Navigation } from "@/components/navigation"
|
| 8 |
import { BenchmarkDetail } from "@/components/benchmark-detail"
|
| 9 |
-
import type { ModelEvaluationSummary } from "@/lib/eval-processing"
|
| 10 |
-
import { fetchModelSummary } from "@/lib/dashboard-data-client"
|
| 11 |
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
| 12 |
|
| 13 |
export default function ModelDetailPage() {
|
|
@@ -15,6 +15,7 @@ export default function ModelDetailPage() {
|
|
| 15 |
const router = useRouter()
|
| 16 |
const searchParams = useSearchParams()
|
| 17 |
const [summary, setSummary] = useState<ModelEvaluationSummary | null>(null)
|
|
|
|
| 18 |
const [selectedVariantId, setSelectedVariantId] = useState<string | null>(null)
|
| 19 |
const [loading, setLoading] = useState(true)
|
| 20 |
const [error, setError] = useState<string | null>(null)
|
|
@@ -95,12 +96,16 @@ export default function ModelDetailPage() {
|
|
| 95 |
|
| 96 |
const loadData = async () => {
|
| 97 |
try {
|
| 98 |
-
const modelSummary = await
|
|
|
|
|
|
|
|
|
|
| 99 |
if (isCancelled) {
|
| 100 |
return
|
| 101 |
}
|
| 102 |
|
| 103 |
setSummary(modelSummary)
|
|
|
|
| 104 |
setSelectedVariantId((current) => current ?? modelSummary.variants[0]?.variant_id ?? null)
|
| 105 |
} catch (err) {
|
| 106 |
if (isCancelled) {
|
|
@@ -259,7 +264,7 @@ export default function ModelDetailPage() {
|
|
| 259 |
</div>
|
| 260 |
</div>
|
| 261 |
<main className="container mx-auto px-4 py-8">
|
| 262 |
-
<BenchmarkDetail summary={detailSummary} />
|
| 263 |
</main>
|
| 264 |
</div>
|
| 265 |
)
|
|
|
|
| 6 |
import { ArrowLeft } from "lucide-react"
|
| 7 |
import { Navigation } from "@/components/navigation"
|
| 8 |
import { BenchmarkDetail } from "@/components/benchmark-detail"
|
| 9 |
+
import type { BenchmarkCard, ModelEvaluationSummary } from "@/lib/eval-processing"
|
| 10 |
+
import { fetchBenchmarkMetadata, fetchModelSummary } from "@/lib/dashboard-data-client"
|
| 11 |
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
| 12 |
|
| 13 |
export default function ModelDetailPage() {
|
|
|
|
| 15 |
const router = useRouter()
|
| 16 |
const searchParams = useSearchParams()
|
| 17 |
const [summary, setSummary] = useState<ModelEvaluationSummary | null>(null)
|
| 18 |
+
const [benchmarkCards, setBenchmarkCards] = useState<Record<string, BenchmarkCard>>({})
|
| 19 |
const [selectedVariantId, setSelectedVariantId] = useState<string | null>(null)
|
| 20 |
const [loading, setLoading] = useState(true)
|
| 21 |
const [error, setError] = useState<string | null>(null)
|
|
|
|
| 96 |
|
| 97 |
const loadData = async () => {
|
| 98 |
try {
|
| 99 |
+
const [modelSummary, cards] = await Promise.all([
|
| 100 |
+
fetchModelSummary(routeId),
|
| 101 |
+
fetchBenchmarkMetadata(),
|
| 102 |
+
])
|
| 103 |
if (isCancelled) {
|
| 104 |
return
|
| 105 |
}
|
| 106 |
|
| 107 |
setSummary(modelSummary)
|
| 108 |
+
setBenchmarkCards(cards)
|
| 109 |
setSelectedVariantId((current) => current ?? modelSummary.variants[0]?.variant_id ?? null)
|
| 110 |
} catch (err) {
|
| 111 |
if (isCancelled) {
|
|
|
|
| 264 |
</div>
|
| 265 |
</div>
|
| 266 |
<main className="container mx-auto px-4 py-8">
|
| 267 |
+
<BenchmarkDetail summary={detailSummary} benchmarkCards={benchmarkCards} />
|
| 268 |
</main>
|
| 269 |
</div>
|
| 270 |
)
|
app/models/page.tsx
CHANGED
|
@@ -13,7 +13,10 @@ import { ModelCompareDialog } from "@/components/model-compare-dialog"
|
|
| 13 |
import { Navigation } from "@/components/navigation"
|
| 14 |
import { PageHeader } from "@/components/page-header"
|
| 15 |
import { Badge } from "@/components/ui/badge"
|
| 16 |
-
import { fetchDevelopers, fetchModelCards, type DeveloperListItem } from "@/lib/dashboard-data-client"
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
const PAGE_SIZE = 40
|
| 19 |
const MAX_COMPARE_MODELS = 4
|
|
@@ -57,6 +60,7 @@ export default function ModelsPage() {
|
|
| 57 |
const { mode } = useAudienceMode()
|
| 58 |
const [evaluations, setEvaluations] = useState<BenchmarkEvaluationCardData[]>([])
|
| 59 |
const [developers, setDevelopers] = useState<DeveloperListItem[]>([])
|
|
|
|
| 60 |
const [loadingModels, setLoadingModels] = useState(true)
|
| 61 |
const [loadingDevelopers, setLoadingDevelopers] = useState(true)
|
| 62 |
const [groupByDeveloper, setGroupByDeveloper] = useState(false)
|
|
@@ -66,12 +70,16 @@ export default function ModelsPage() {
|
|
| 66 |
const [minParamStep, setMinParamStep] = useState(0)
|
| 67 |
const [maxParamStep, setMaxParamStep] = useState(PARAM_RANGE_VALUES.length - 1)
|
| 68 |
const [selectedModelIds, setSelectedModelIds] = useState<string[]>([])
|
|
|
|
| 69 |
const [compareOpen, setCompareOpen] = useState(false)
|
| 70 |
const [page, setPage] = useState(1)
|
| 71 |
|
| 72 |
useEffect(() => {
|
| 73 |
-
fetchModelCards()
|
| 74 |
-
.then(
|
|
|
|
|
|
|
|
|
|
| 75 |
.catch((error) => {
|
| 76 |
console.error("Failed to load evaluations:", error)
|
| 77 |
})
|
|
@@ -116,6 +124,16 @@ export default function ModelsPage() {
|
|
| 116 |
return PARAM_RANGE_VALUES[maxParamStep] ?? null
|
| 117 |
}, [maxParamStep])
|
| 118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
const filteredEvaluations = useMemo(() => {
|
| 120 |
const query = searchQuery.trim().toLowerCase()
|
| 121 |
|
|
@@ -132,6 +150,12 @@ export default function ModelsPage() {
|
|
| 132 |
}
|
| 133 |
}
|
| 134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
if (!query) {
|
| 136 |
return true
|
| 137 |
}
|
|
@@ -149,7 +173,7 @@ export default function ModelsPage() {
|
|
| 149 |
|
| 150 |
return haystacks.some((value) => value?.toLowerCase().includes(query))
|
| 151 |
})
|
| 152 |
-
}, [evaluations, numericMaxParams, numericMinParams, searchQuery])
|
| 153 |
|
| 154 |
const sortedEvaluations = useMemo(() => {
|
| 155 |
const sorted = [...filteredEvaluations]
|
|
@@ -247,7 +271,7 @@ export default function ModelsPage() {
|
|
| 247 |
|
| 248 |
useEffect(() => {
|
| 249 |
setPage(1)
|
| 250 |
-
}, [developerSortBy, groupByDeveloper, maxParamStep, minParamStep, modelSortBy, searchQuery])
|
| 251 |
|
| 252 |
const pagedEvaluations = useMemo(
|
| 253 |
() => sortedEvaluations.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE),
|
|
@@ -343,6 +367,7 @@ export default function ModelsPage() {
|
|
| 343 |
!groupByDeveloper
|
| 344 |
? { label: "Compare tray", value: selectedModels.length.toString() }
|
| 345 |
: { label: "View", value: "Developer" },
|
|
|
|
| 346 |
]}
|
| 347 |
/>
|
| 348 |
|
|
@@ -367,20 +392,21 @@ export default function ModelsPage() {
|
|
| 367 |
</div>
|
| 368 |
) : null}
|
| 369 |
|
| 370 |
-
<div className="mb-8 flex flex-col gap-4 border-b border-border/50 pb-6
|
| 371 |
-
<div className="
|
| 372 |
-
<
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
|
|
|
| 384 |
{!groupByDeveloper ? (
|
| 385 |
<div className="rounded-xl border border-border/70 bg-muted/15 px-4 py-2">
|
| 386 |
<div className="flex items-center gap-3">
|
|
@@ -524,6 +550,48 @@ export default function ModelsPage() {
|
|
| 524 |
)}
|
| 525 |
</SelectContent>
|
| 526 |
</Select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 527 |
</div>
|
| 528 |
|
| 529 |
{(groupByDeveloper ? filteredDevelopers.length === 0 : sortedEvaluations.length === 0) ? (
|
|
@@ -559,6 +627,7 @@ export default function ModelsPage() {
|
|
| 559 |
<BenchmarkEvaluationCard
|
| 560 |
key={evaluation.id}
|
| 561 |
data={evaluation}
|
|
|
|
| 562 |
onDelete={handleDelete}
|
| 563 |
selectedForCompare={selectedModelIds.includes(evaluation.id)}
|
| 564 |
onToggleCompare={toggleModelSelection}
|
|
|
|
| 13 |
import { Navigation } from "@/components/navigation"
|
| 14 |
import { PageHeader } from "@/components/page-header"
|
| 15 |
import { Badge } from "@/components/ui/badge"
|
| 16 |
+
import { fetchDevelopers, fetchModelCards, fetchBenchmarkMetadata, type DeveloperListItem } from "@/lib/dashboard-data-client"
|
| 17 |
+
import type { BenchmarkCard } from "@/lib/benchmark-schema"
|
| 18 |
+
import { getCategoryColor, type CategoryType } from "@/lib/benchmark-schema"
|
| 19 |
+
import { cn } from "@/lib/utils"
|
| 20 |
|
| 21 |
const PAGE_SIZE = 40
|
| 22 |
const MAX_COMPARE_MODELS = 4
|
|
|
|
| 60 |
const { mode } = useAudienceMode()
|
| 61 |
const [evaluations, setEvaluations] = useState<BenchmarkEvaluationCardData[]>([])
|
| 62 |
const [developers, setDevelopers] = useState<DeveloperListItem[]>([])
|
| 63 |
+
const [benchmarkCards, setBenchmarkCards] = useState<Record<string, BenchmarkCard>>({})
|
| 64 |
const [loadingModels, setLoadingModels] = useState(true)
|
| 65 |
const [loadingDevelopers, setLoadingDevelopers] = useState(true)
|
| 66 |
const [groupByDeveloper, setGroupByDeveloper] = useState(false)
|
|
|
|
| 70 |
const [minParamStep, setMinParamStep] = useState(0)
|
| 71 |
const [maxParamStep, setMaxParamStep] = useState(PARAM_RANGE_VALUES.length - 1)
|
| 72 |
const [selectedModelIds, setSelectedModelIds] = useState<string[]>([])
|
| 73 |
+
const [selectedCategories, setSelectedCategories] = useState<string[]>([])
|
| 74 |
const [compareOpen, setCompareOpen] = useState(false)
|
| 75 |
const [page, setPage] = useState(1)
|
| 76 |
|
| 77 |
useEffect(() => {
|
| 78 |
+
Promise.all([fetchModelCards(), fetchBenchmarkMetadata()])
|
| 79 |
+
.then(([cards, metadata]) => {
|
| 80 |
+
setEvaluations(cards)
|
| 81 |
+
setBenchmarkCards(metadata)
|
| 82 |
+
})
|
| 83 |
.catch((error) => {
|
| 84 |
console.error("Failed to load evaluations:", error)
|
| 85 |
})
|
|
|
|
| 124 |
return PARAM_RANGE_VALUES[maxParamStep] ?? null
|
| 125 |
}, [maxParamStep])
|
| 126 |
|
| 127 |
+
const allCategories = useMemo(() => {
|
| 128 |
+
const catSet = new Set<string>()
|
| 129 |
+
for (const evaluation of evaluations) {
|
| 130 |
+
for (const cat of evaluation.categories ?? []) {
|
| 131 |
+
catSet.add(cat)
|
| 132 |
+
}
|
| 133 |
+
}
|
| 134 |
+
return Array.from(catSet).sort((a, b) => a.localeCompare(b))
|
| 135 |
+
}, [evaluations])
|
| 136 |
+
|
| 137 |
const filteredEvaluations = useMemo(() => {
|
| 138 |
const query = searchQuery.trim().toLowerCase()
|
| 139 |
|
|
|
|
| 150 |
}
|
| 151 |
}
|
| 152 |
|
| 153 |
+
if (selectedCategories.length > 0) {
|
| 154 |
+
if (!evaluation.categories.some((c) => selectedCategories.includes(c))) {
|
| 155 |
+
return false
|
| 156 |
+
}
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
if (!query) {
|
| 160 |
return true
|
| 161 |
}
|
|
|
|
| 173 |
|
| 174 |
return haystacks.some((value) => value?.toLowerCase().includes(query))
|
| 175 |
})
|
| 176 |
+
}, [evaluations, numericMaxParams, numericMinParams, searchQuery, selectedCategories])
|
| 177 |
|
| 178 |
const sortedEvaluations = useMemo(() => {
|
| 179 |
const sorted = [...filteredEvaluations]
|
|
|
|
| 271 |
|
| 272 |
useEffect(() => {
|
| 273 |
setPage(1)
|
| 274 |
+
}, [developerSortBy, groupByDeveloper, maxParamStep, minParamStep, modelSortBy, searchQuery, selectedCategories])
|
| 275 |
|
| 276 |
const pagedEvaluations = useMemo(
|
| 277 |
() => sortedEvaluations.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE),
|
|
|
|
| 367 |
!groupByDeveloper
|
| 368 |
? { label: "Compare tray", value: selectedModels.length.toString() }
|
| 369 |
: { label: "View", value: "Developer" },
|
| 370 |
+
...(selectedCategories.length > 0 ? [{ label: "Category filter", value: selectedCategories.join(", ") }] : []),
|
| 371 |
]}
|
| 372 |
/>
|
| 373 |
|
|
|
|
| 392 |
</div>
|
| 393 |
) : null}
|
| 394 |
|
| 395 |
+
<div className="mb-8 flex flex-col gap-4 border-b border-border/50 pb-6">
|
| 396 |
+
<div className="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center">
|
| 397 |
+
<div className="relative w-full sm:max-w-sm">
|
| 398 |
+
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
| 399 |
+
<Input
|
| 400 |
+
value={searchQuery}
|
| 401 |
+
onChange={(event) => setSearchQuery(event.target.value)}
|
| 402 |
+
placeholder={
|
| 403 |
+
groupByDeveloper
|
| 404 |
+
? "Search developers or popular evals"
|
| 405 |
+
: "Search models, developers, or benchmarks"
|
| 406 |
+
}
|
| 407 |
+
className="pl-9"
|
| 408 |
+
/>
|
| 409 |
+
</div>
|
| 410 |
{!groupByDeveloper ? (
|
| 411 |
<div className="rounded-xl border border-border/70 bg-muted/15 px-4 py-2">
|
| 412 |
<div className="flex items-center gap-3">
|
|
|
|
| 550 |
)}
|
| 551 |
</SelectContent>
|
| 552 |
</Select>
|
| 553 |
+
</div>
|
| 554 |
+
|
| 555 |
+
{/* Category filter chips — only shown for model view */}
|
| 556 |
+
{!groupByDeveloper && allCategories.length > 0 && (
|
| 557 |
+
<div className="flex flex-wrap items-center gap-1.5">
|
| 558 |
+
<span className="text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground mr-1">
|
| 559 |
+
Category
|
| 560 |
+
</span>
|
| 561 |
+
{allCategories.map((cat) => {
|
| 562 |
+
const isActive = selectedCategories.includes(cat)
|
| 563 |
+
return (
|
| 564 |
+
<button
|
| 565 |
+
key={cat}
|
| 566 |
+
type="button"
|
| 567 |
+
onClick={() =>
|
| 568 |
+
setSelectedCategories((prev) =>
|
| 569 |
+
prev.includes(cat) ? prev.filter((c) => c !== cat) : [...prev, cat]
|
| 570 |
+
)
|
| 571 |
+
}
|
| 572 |
+
className={cn(
|
| 573 |
+
"rounded-full border px-3 py-1 text-xs font-medium transition-colors",
|
| 574 |
+
isActive
|
| 575 |
+
? getCategoryColor(cat as CategoryType) + " border-2"
|
| 576 |
+
: "border-border/60 bg-background text-muted-foreground hover:text-foreground"
|
| 577 |
+
)}
|
| 578 |
+
>
|
| 579 |
+
{cat}
|
| 580 |
+
</button>
|
| 581 |
+
)
|
| 582 |
+
})}
|
| 583 |
+
{selectedCategories.length > 0 && (
|
| 584 |
+
<button
|
| 585 |
+
type="button"
|
| 586 |
+
onClick={() => setSelectedCategories([])}
|
| 587 |
+
className="ml-1 flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground"
|
| 588 |
+
>
|
| 589 |
+
<X className="h-3 w-3" />
|
| 590 |
+
Clear
|
| 591 |
+
</button>
|
| 592 |
+
)}
|
| 593 |
+
</div>
|
| 594 |
+
)}
|
| 595 |
</div>
|
| 596 |
|
| 597 |
{(groupByDeveloper ? filteredDevelopers.length === 0 : sortedEvaluations.length === 0) ? (
|
|
|
|
| 627 |
<BenchmarkEvaluationCard
|
| 628 |
key={evaluation.id}
|
| 629 |
data={evaluation}
|
| 630 |
+
benchmarkCards={benchmarkCards}
|
| 631 |
onDelete={handleDelete}
|
| 632 |
selectedForCompare={selectedModelIds.includes(evaluation.id)}
|
| 633 |
onToggleCompare={toggleModelSelection}
|
components/benchmark-detail.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
// Force recompile
|
|
|
|
| 4 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 5 |
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
| 6 |
import { Badge } from "@/components/ui/badge"
|
|
@@ -17,14 +18,16 @@ import {
|
|
| 17 |
ChevronDown, ChevronUp, BarChart3, Award, AlertTriangle,
|
| 18 |
Cpu, Tag, Globe, Network, Activity, MessageSquare, Clock, Hash, Layers, Search, FlaskConical, Scale, BookOpenText
|
| 19 |
} from "lucide-react"
|
| 20 |
-
import type { BenchmarkEvaluation, CategoryType, EvaluationResult } from "@/lib/benchmark-schema"
|
| 21 |
-
import { inferCategoryFromBenchmark } from "@/lib/benchmark-schema"
|
| 22 |
import { formatScore, getBenchmarkDisplayName } from "@/lib/eval-processing"
|
| 23 |
import type { ModelSummaryCore } from "@/lib/benchmark-schema"
|
|
|
|
| 24 |
import { Fragment, useState, useEffect, useMemo, type CSSProperties } from "react"
|
| 25 |
|
| 26 |
interface BenchmarkDetailProps {
|
| 27 |
summary: ModelSummaryCore
|
|
|
|
| 28 |
}
|
| 29 |
|
| 30 |
interface BenchmarkVariant {
|
|
@@ -41,10 +44,14 @@ interface BenchmarkVariant {
|
|
| 41 |
interface BenchmarkGroup {
|
| 42 |
key: string
|
| 43 |
title: string
|
|
|
|
|
|
|
| 44 |
description: string
|
| 45 |
scoreType: EvaluationResult["metric_config"]["score_type"] | "mixed"
|
| 46 |
avgNormalizedScore: number
|
| 47 |
avgDisplayScore: string
|
|
|
|
|
|
|
| 48 |
variants: BenchmarkVariant[]
|
| 49 |
}
|
| 50 |
|
|
@@ -450,6 +457,16 @@ function normalizeScoreForDisplay(result: EvaluationResult) {
|
|
| 450 |
return Math.max(0, Math.min(1, normalized))
|
| 451 |
}
|
| 452 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 453 |
function formatResultDisplayScore(result: EvaluationResult) {
|
| 454 |
return formatScore(
|
| 455 |
result.score_details.score,
|
|
@@ -492,12 +509,16 @@ function getVariantDedupKey(variant: BenchmarkVariant) {
|
|
| 492 |
}
|
| 493 |
|
| 494 |
function buildBenchmarkGroups(
|
| 495 |
-
entries: Array<{ evaluation: BenchmarkEvaluation; result: EvaluationResult }>
|
|
|
|
| 496 |
): BenchmarkGroup[] {
|
| 497 |
const groups = new Map<string, BenchmarkGroup>()
|
| 498 |
|
| 499 |
for (const entry of entries) {
|
| 500 |
const title = getBenchmarkDisplayName(getResultBenchmarkName(entry.evaluation, entry.result))
|
|
|
|
|
|
|
|
|
|
| 501 |
const normalizedScore = normalizeScoreForDisplay(entry.result)
|
| 502 |
const displayScore = formatResultDisplayScore(entry.result)
|
| 503 |
const descriptor = getVariantDescriptor(entry.evaluation, entry.result)
|
|
@@ -518,10 +539,14 @@ function buildBenchmarkGroups(
|
|
| 518 |
groups.set(title, {
|
| 519 |
key: title,
|
| 520 |
title,
|
|
|
|
|
|
|
| 521 |
description: entry.result.metric_config.evaluation_description,
|
| 522 |
scoreType: entry.result.metric_config.score_type,
|
| 523 |
avgNormalizedScore: normalizedScore,
|
| 524 |
avgDisplayScore: `${(normalizedScore * 100).toFixed(1)}%`,
|
|
|
|
|
|
|
| 525 |
variants: [variant],
|
| 526 |
})
|
| 527 |
continue
|
|
@@ -593,12 +618,14 @@ function getEvaluationVariantLabel(evaluation: BenchmarkEvaluation) {
|
|
| 593 |
return evaluationPrefix.split("/").filter(Boolean).pop() || null
|
| 594 |
}
|
| 595 |
|
| 596 |
-
export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
| 597 |
const { mode } = useAudienceMode()
|
| 598 |
const isResearchView = mode === "research"
|
| 599 |
const [benchmarkSearch, setBenchmarkSearch] = useState("")
|
| 600 |
const [benchmarkSort, setBenchmarkSort] = useState<"score" | "name" | "variants" | "spread">("score")
|
|
|
|
| 601 |
const [expandedBenchmarkKey, setExpandedBenchmarkKey] = useState<string | null>(null)
|
|
|
|
| 602 |
const allEvaluations = useMemo(
|
| 603 |
() => Object.values(summary.evaluations_by_category).flat(),
|
| 604 |
[summary.evaluations_by_category]
|
|
@@ -655,7 +682,9 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 655 |
}
|
| 656 |
}
|
| 657 |
|
| 658 |
-
return resultCategory === category
|
|
|
|
|
|
|
| 659 |
})
|
| 660 |
)
|
| 661 |
),
|
|
@@ -663,7 +692,7 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 663 |
)
|
| 664 |
|
| 665 |
const policyHighlights = useMemo(() => {
|
| 666 |
-
const groups = buildBenchmarkGroups(allCategoryResults)
|
| 667 |
const seenLabels = new Set<string>()
|
| 668 |
|
| 669 |
return groups
|
|
@@ -691,7 +720,7 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 691 |
level,
|
| 692 |
}
|
| 693 |
})
|
| 694 |
-
}, [allCategoryResults])
|
| 695 |
|
| 696 |
const policySummary = useMemo(() => {
|
| 697 |
const benchmarkCount = new Set(
|
|
@@ -751,22 +780,22 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 751 |
summary.total_evaluations,
|
| 752 |
])
|
| 753 |
|
| 754 |
-
const benchmarkGroups = useMemo(
|
| 755 |
-
|
| 756 |
-
|
| 757 |
-
|
| 758 |
-
const
|
| 759 |
-
|
| 760 |
-
|
| 761 |
-
|
| 762 |
-
).length
|
| 763 |
-
const subtaskDrivenBenchmarkCount = benchmarkGroups.filter((group) =>
|
| 764 |
-
group.variants.some((variant) => variant.variantType === "subtask" || variant.variantType === "setup+subtask")
|
| 765 |
-
).length
|
| 766 |
|
| 767 |
const filteredBenchmarkGroups = useMemo(() => {
|
| 768 |
const query = benchmarkSearch.trim().toLowerCase()
|
| 769 |
const filtered = benchmarkGroups.filter((group) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 770 |
if (!query) {
|
| 771 |
return true
|
| 772 |
}
|
|
@@ -778,25 +807,54 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 778 |
)
|
| 779 |
})
|
| 780 |
|
| 781 |
-
|
| 782 |
-
|
| 783 |
-
|
| 784 |
-
|
| 785 |
-
|
| 786 |
-
|
| 787 |
-
|
| 788 |
-
|
| 789 |
-
|
| 790 |
-
|
| 791 |
-
|
| 792 |
-
case "score":
|
| 793 |
-
default:
|
| 794 |
-
sorted.sort((a, b) => b.avgNormalizedScore - a.avgNormalizedScore)
|
| 795 |
-
break
|
| 796 |
}
|
| 797 |
|
| 798 |
-
|
| 799 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 800 |
|
| 801 |
useEffect(() => {
|
| 802 |
if (!expandedBenchmarkKey) {
|
|
@@ -809,6 +867,12 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 809 |
}
|
| 810 |
}, [expandedBenchmarkKey, filteredBenchmarkGroups])
|
| 811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 812 |
const formatDate = (isoString: string) => {
|
| 813 |
try {
|
| 814 |
return new Date(isoString).toLocaleDateString('en-US', {
|
|
@@ -824,11 +888,11 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 824 |
}
|
| 825 |
|
| 826 |
return (
|
| 827 |
-
<div className="space-y-
|
| 828 |
<Card className="overflow-hidden">
|
| 829 |
-
<CardContent className="space-y-
|
| 830 |
-
<div className="flex flex-col gap-
|
| 831 |
-
<div className="space-y-
|
| 832 |
<div className="flex flex-wrap items-center gap-2">
|
| 833 |
<Badge variant="outline" className="border-border/60 bg-background/80 text-[11px] uppercase tracking-[0.18em]">
|
| 834 |
Model Metadata
|
|
@@ -858,16 +922,16 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 858 |
)}
|
| 859 |
</div>
|
| 860 |
|
| 861 |
-
<div className="grid w-full gap-
|
| 862 |
-
<div className="rounded-2xl border border-sky-200/80 bg-sky-50/80 px-
|
| 863 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-sky-700 dark:text-sky-200 whitespace-nowrap">Benchmarks</div>
|
| 864 |
<div className="mt-1 text-[1.8rem] font-semibold leading-none text-sky-950 dark:text-sky-50">{benchmarkGroups.length}</div>
|
| 865 |
</div>
|
| 866 |
-
<div className="rounded-2xl border border-border/70 bg-muted/20 px-
|
| 867 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-muted-foreground whitespace-nowrap">Results</div>
|
| 868 |
<div className="mt-1 text-[1.8rem] font-semibold leading-none">{summary.total_evaluations}</div>
|
| 869 |
</div>
|
| 870 |
-
<div className="rounded-2xl border border-emerald-200/80 bg-emerald-50/80 px-
|
| 871 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-emerald-700 dark:text-emerald-200 whitespace-nowrap">
|
| 872 |
Reporting orgs
|
| 873 |
</div>
|
|
@@ -875,7 +939,7 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 875 |
{reportingStats.organizationCount}
|
| 876 |
</div>
|
| 877 |
</div>
|
| 878 |
-
<div className="rounded-2xl border border-amber-200/80 bg-amber-50/80 px-
|
| 879 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-amber-700 dark:text-amber-200 whitespace-nowrap">
|
| 880 |
Source types
|
| 881 |
</div>
|
|
@@ -886,7 +950,7 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 886 |
</div>
|
| 887 |
</div>
|
| 888 |
|
| 889 |
-
<div className="grid gap-
|
| 890 |
<div className="rounded-[1.5rem] border bg-muted/10 p-4">
|
| 891 |
<div className="text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 892 |
System and evidence context
|
|
@@ -974,7 +1038,7 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 974 |
</div>
|
| 975 |
</div>
|
| 976 |
) : (
|
| 977 |
-
<div className="rounded-[1.5rem] border bg-
|
| 978 |
<div className="flex items-center gap-2">
|
| 979 |
<Scale className="h-4 w-4 text-primary" />
|
| 980 |
<div className="text-sm font-semibold">Public reading</div>
|
|
@@ -1013,8 +1077,8 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 1013 |
</CardContent>
|
| 1014 |
</Card>
|
| 1015 |
|
| 1016 |
-
<section className="space-y-
|
| 1017 |
-
<div className="flex flex-col gap-
|
| 1018 |
<div className="space-y-1">
|
| 1019 |
<h3 className="text-xl font-semibold">
|
| 1020 |
{isResearchView ? "Benchmark Explorer" : "Reported Benchmark Signals"}
|
|
@@ -1026,8 +1090,8 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 1026 |
</p>
|
| 1027 |
</div>
|
| 1028 |
|
| 1029 |
-
<div className="flex flex-col gap-
|
| 1030 |
-
<div className="relative w-full sm:w-[
|
| 1031 |
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
| 1032 |
<Input
|
| 1033 |
value={benchmarkSearch}
|
|
@@ -1038,55 +1102,126 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 1038 |
</div>
|
| 1039 |
|
| 1040 |
<Select value={benchmarkSort} onValueChange={(value) => setBenchmarkSort(value as typeof benchmarkSort)}>
|
| 1041 |
-
<SelectTrigger className="w-full sm:w-[
|
| 1042 |
<SelectValue placeholder="Sort benchmarks" />
|
| 1043 |
</SelectTrigger>
|
| 1044 |
<SelectContent>
|
| 1045 |
<SelectItem value="score">Highest score first</SelectItem>
|
| 1046 |
<SelectItem value="name">Name (A-Z)</SelectItem>
|
| 1047 |
-
<SelectItem value="variants">Most
|
| 1048 |
<SelectItem value="spread">Largest setup swing</SelectItem>
|
| 1049 |
</SelectContent>
|
| 1050 |
</Select>
|
| 1051 |
</div>
|
| 1052 |
</div>
|
| 1053 |
|
| 1054 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1055 |
{bestBenchmark && (
|
| 1056 |
-
<div className="rounded-
|
| 1057 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-emerald-700/90 dark:text-emerald-300">
|
| 1058 |
Strongest Reported Benchmark
|
| 1059 |
</div>
|
| 1060 |
-
<div className="mt-
|
| 1061 |
-
|
| 1062 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1063 |
</div>
|
| 1064 |
)}
|
| 1065 |
|
| 1066 |
{widestBenchmark && (
|
| 1067 |
-
<div className="rounded-
|
| 1068 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-amber-700/90 dark:text-amber-300">
|
| 1069 |
Widest score gap
|
| 1070 |
</div>
|
| 1071 |
-
<div className="mt-
|
| 1072 |
-
|
| 1073 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1074 |
</div>
|
| 1075 |
-
<div className="mt-
|
| 1076 |
{(getBenchmarkSpread(widestBenchmark) * 100).toFixed(1)} pts
|
| 1077 |
</div>
|
| 1078 |
</div>
|
| 1079 |
)}
|
| 1080 |
|
| 1081 |
-
<div className="rounded-
|
| 1082 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-sky-700/90 dark:text-sky-300">
|
| 1083 |
Coverage Snapshot
|
| 1084 |
</div>
|
| 1085 |
-
<div className="mt-
|
| 1086 |
-
<div className="mt-1 text-
|
| 1087 |
-
{repeatedBenchmarkCount} benchmark{repeatedBenchmarkCount === 1 ? "" : "s"} include multiple
|
| 1088 |
</div>
|
| 1089 |
-
<div className="mt-
|
| 1090 |
{filteredBenchmarkGroups.length} shown after filters
|
| 1091 |
</div>
|
| 1092 |
</div>
|
|
@@ -1094,26 +1229,41 @@ export function BenchmarkDetail({ summary }: BenchmarkDetailProps) {
|
|
| 1094 |
|
| 1095 |
{filteredBenchmarkGroups.length === 0 ? (
|
| 1096 |
<div className="rounded-2xl border border-dashed p-8 text-center text-sm text-muted-foreground">
|
| 1097 |
-
No benchmarks match the current search.
|
| 1098 |
</div>
|
| 1099 |
) : (
|
| 1100 |
-
<div className="
|
| 1101 |
-
{
|
| 1102 |
-
<
|
| 1103 |
-
|
| 1104 |
-
|
| 1105 |
-
|
| 1106 |
-
|
| 1107 |
-
|
| 1108 |
-
|
| 1109 |
-
|
| 1110 |
-
|
| 1111 |
-
|
| 1112 |
-
|
| 1113 |
-
|
| 1114 |
-
|
| 1115 |
-
|
| 1116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1117 |
))}
|
| 1118 |
</div>
|
| 1119 |
)}
|
|
@@ -1861,6 +2011,8 @@ function AggregatedBenchmarkCard({
|
|
| 1861 |
}, Number.NEGATIVE_INFINITY)
|
| 1862 |
const latestReportedLabel =
|
| 1863 |
Number.isFinite(latestTimestamp) ? formatCompactDate(String(latestTimestamp)) : formatCompactDate(group.variants[0]?.evaluation.retrieved_timestamp ?? "")
|
|
|
|
|
|
|
| 1864 |
|
| 1865 |
const toggleRow = (rowKey: string) => {
|
| 1866 |
setExpandedRows((current) => ({
|
|
@@ -1871,118 +2023,150 @@ function AggregatedBenchmarkCard({
|
|
| 1871 |
|
| 1872 |
return (
|
| 1873 |
<div
|
| 1874 |
-
className=
|
| 1875 |
style={{ "--enter-delay": `${Math.min(motionIndex * 55, 260)}ms` } as CSSProperties}
|
| 1876 |
>
|
| 1877 |
<Collapsible open={isOpen} onOpenChange={onOpenChange}>
|
| 1878 |
-
<Card className="motion-academic-surface overflow-hidden border border-border/70 bg-card shadow-[0_1px_0_rgba(255,255,255,0.3),
|
| 1879 |
-
<div
|
| 1880 |
-
|
| 1881 |
-
|
| 1882 |
-
|
| 1883 |
-
|
| 1884 |
-
|
| 1885 |
-
|
| 1886 |
-
|
| 1887 |
-
|
| 1888 |
-
|
| 1889 |
-
|
| 1890 |
-
|
| 1891 |
-
|
| 1892 |
-
|
| 1893 |
-
|
| 1894 |
-
|
| 1895 |
-
|
| 1896 |
-
|
| 1897 |
-
|
| 1898 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1899 |
</div>
|
| 1900 |
|
| 1901 |
-
|
| 1902 |
-
|
| 1903 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1904 |
</div>
|
| 1905 |
|
| 1906 |
-
|
| 1907 |
-
|
| 1908 |
-
|
| 1909 |
-
|
| 1910 |
-
|
| 1911 |
-
|
| 1912 |
-
|
| 1913 |
-
|
| 1914 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1915 |
</div>
|
| 1916 |
-
<div className="
|
| 1917 |
-
<
|
| 1918 |
-
{group.
|
| 1919 |
-
</
|
| 1920 |
-
{group.
|
| 1921 |
-
<Badge
|
| 1922 |
-
{
|
| 1923 |
</Badge>
|
| 1924 |
-
)}
|
| 1925 |
</div>
|
| 1926 |
</div>
|
| 1927 |
-
<div className="
|
| 1928 |
-
<div className="
|
| 1929 |
-
|
| 1930 |
-
|
| 1931 |
-
|
| 1932 |
-
|
| 1933 |
-
|
|
|
|
| 1934 |
</div>
|
| 1935 |
-
<div className="
|
| 1936 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1937 |
</div>
|
| 1938 |
-
|
| 1939 |
-
|
| 1940 |
-
|
| 1941 |
-
|
|
|
|
|
|
|
|
|
|
| 1942 |
</div>
|
| 1943 |
-
<div className="mt-1 text-[13px] font-medium text-foreground/90">{latestReportedLabel}</div>
|
| 1944 |
</div>
|
| 1945 |
</div>
|
| 1946 |
-
|
| 1947 |
-
</div>
|
| 1948 |
-
|
| 1949 |
-
<div className="flex items-center gap-3 lg:min-w-[210px] lg:justify-end lg:pl-4">
|
| 1950 |
-
<div className="min-w-[152px] text-right">
|
| 1951 |
-
<div className="text-[2rem] font-semibold tracking-tight text-foreground/95">{group.avgDisplayScore}</div>
|
| 1952 |
-
<div className="mt-1 text-[12px] text-muted-foreground">
|
| 1953 |
-
{isResearchView ? "Average normalized score" : "Average reported score"}
|
| 1954 |
-
</div>
|
| 1955 |
-
<div className="mt-3 flex justify-end">
|
| 1956 |
-
<div className="h-1.5 w-28 overflow-hidden rounded-full bg-muted">
|
| 1957 |
-
<div
|
| 1958 |
-
className="h-full rounded-full bg-foreground/90 transition-[width] duration-300"
|
| 1959 |
-
style={{ width: `${Math.max(0, Math.min(100, group.avgNormalizedScore * 100))}%` }}
|
| 1960 |
-
/>
|
| 1961 |
-
</div>
|
| 1962 |
-
</div>
|
| 1963 |
-
</div>
|
| 1964 |
-
<CollapsibleTrigger asChild>
|
| 1965 |
-
<Button variant="ghost" size="sm" className="motion-academic-button h-9 w-9 rounded-full border border-border/60 bg-background/80 p-0 shadow-sm">
|
| 1966 |
-
{isOpen ? <ChevronUp className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
|
| 1967 |
-
<span className="sr-only">Toggle benchmark details</span>
|
| 1968 |
-
</Button>
|
| 1969 |
-
</CollapsibleTrigger>
|
| 1970 |
-
</div>
|
| 1971 |
-
</div>
|
| 1972 |
-
</div>
|
| 1973 |
|
| 1974 |
-
<CollapsibleContent>
|
| 1975 |
-
<Separator />
|
| 1976 |
-
<CardContent className="p-6 bg-muted/5">
|
| 1977 |
-
<div className="space-y-3">
|
| 1978 |
<div>
|
| 1979 |
<div className="text-xs font-semibold text-muted-foreground uppercase tracking-wider">
|
| 1980 |
-
|
| 1981 |
</div>
|
| 1982 |
<div className="text-xs text-muted-foreground mt-1">
|
| 1983 |
{isResearchView
|
| 1984 |
? "Setup changes and benchmark subtasks are shown separately so you can tell methodological differences from benchmark decomposition."
|
| 1985 |
-
: "Different setups and benchmark subtasks are visually separated so policy review does not confuse reporting choices with
|
| 1986 |
</div>
|
| 1987 |
</div>
|
| 1988 |
|
|
@@ -2073,7 +2257,11 @@ function AggregatedBenchmarkCard({
|
|
| 2073 |
className="motion-academic-enter-soft overflow-hidden rounded-xl border bg-background"
|
| 2074 |
style={{ "--enter-delay": `${Math.min(index * 40, 180)}ms` } as CSSProperties}
|
| 2075 |
>
|
| 2076 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2077 |
<div className="flex flex-col gap-3">
|
| 2078 |
<div className="flex items-start justify-between gap-3">
|
| 2079 |
<div className="flex min-w-0 items-start gap-3">
|
|
@@ -2096,76 +2284,69 @@ function AggregatedBenchmarkCard({
|
|
| 2096 |
</div>
|
| 2097 |
</div>
|
| 2098 |
|
| 2099 |
-
<
|
| 2100 |
-
variant="ghost"
|
| 2101 |
-
size="sm"
|
| 2102 |
-
className="h-9 w-9 shrink-0 p-0"
|
| 2103 |
-
onClick={() => toggleRow(rowKey)}
|
| 2104 |
-
>
|
| 2105 |
{isRowOpen ? <ChevronUp className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
|
| 2106 |
<span className="sr-only">Toggle variant details</span>
|
| 2107 |
-
</
|
| 2108 |
</div>
|
| 2109 |
|
| 2110 |
-
<div className="grid gap-
|
| 2111 |
-
<
|
| 2112 |
-
|
| 2113 |
-
|
| 2114 |
-
|
| 2115 |
-
<
|
| 2116 |
-
variant="outline"
|
| 2117 |
-
className="max-w-full truncate border-sky-200/70 bg-background/90 px-2 py-0.5 font-normal dark:border-sky-900/40 dark:bg-background/70"
|
| 2118 |
-
title={getTableConfigLabel(row)}
|
| 2119 |
-
>
|
| 2120 |
{getConfigDisplayValue(getTableConfigLabel(row))}
|
| 2121 |
-
</
|
| 2122 |
-
</
|
| 2123 |
|
| 2124 |
-
<
|
| 2125 |
-
|
| 2126 |
-
|
| 2127 |
-
|
|
|
|
| 2128 |
{isResearchView ? (
|
| 2129 |
-
<
|
| 2130 |
-
<div className="
|
| 2131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2132 |
</div>
|
| 2133 |
-
<
|
| 2134 |
-
|
| 2135 |
-
|
| 2136 |
-
|
| 2137 |
-
</div>
|
| 2138 |
) : (
|
| 2139 |
-
<div className="text-sm capitalize text-muted-foreground">
|
| 2140 |
{variant.evaluation.source_metadata.evaluator_relationship.replace(/_/g, " ")}
|
| 2141 |
</div>
|
| 2142 |
)}
|
| 2143 |
-
</
|
| 2144 |
-
|
| 2145 |
-
<
|
| 2146 |
-
|
| 2147 |
-
|
| 2148 |
-
|
| 2149 |
-
<
|
| 2150 |
-
</
|
| 2151 |
-
|
| 2152 |
-
<
|
| 2153 |
-
|
| 2154 |
-
|
| 2155 |
-
|
| 2156 |
-
<div className="
|
| 2157 |
-
|
| 2158 |
-
|
| 2159 |
-
|
| 2160 |
-
|
| 2161 |
-
<span className="shrink-0">
|
| 2162 |
-
{evidenceStatus}
|
| 2163 |
-
</span>
|
| 2164 |
</div>
|
| 2165 |
-
</
|
| 2166 |
</div>
|
| 2167 |
</div>
|
| 2168 |
-
</
|
| 2169 |
|
| 2170 |
{isRowOpen && (
|
| 2171 |
<div className="border-t bg-muted/10 p-4">
|
|
@@ -2182,7 +2363,7 @@ function AggregatedBenchmarkCard({
|
|
| 2182 |
|
| 2183 |
{filteredRows.length === 0 && (
|
| 2184 |
<div className="rounded-xl border bg-background p-6 text-center text-sm text-muted-foreground">
|
| 2185 |
-
No
|
| 2186 |
</div>
|
| 2187 |
)}
|
| 2188 |
</div>
|
|
@@ -2376,25 +2557,6 @@ function InlineMeta({ label, value }: { label: string; value: React.ReactNode })
|
|
| 2376 |
)
|
| 2377 |
}
|
| 2378 |
|
| 2379 |
-
function SummaryRailItem({
|
| 2380 |
-
label,
|
| 2381 |
-
tone,
|
| 2382 |
-
children,
|
| 2383 |
-
}: {
|
| 2384 |
-
label: string
|
| 2385 |
-
tone: string
|
| 2386 |
-
children: React.ReactNode
|
| 2387 |
-
}) {
|
| 2388 |
-
return (
|
| 2389 |
-
<div className={`min-w-0 rounded-2xl border px-3 py-2.5 ${tone}`}>
|
| 2390 |
-
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2391 |
-
{label}
|
| 2392 |
-
</div>
|
| 2393 |
-
<div className="mt-1.5 min-w-0 overflow-hidden">{children}</div>
|
| 2394 |
-
</div>
|
| 2395 |
-
)
|
| 2396 |
-
}
|
| 2397 |
-
|
| 2398 |
function AllEvaluationsView({ evaluations }: { evaluations: BenchmarkEvaluation[] }) {
|
| 2399 |
return (
|
| 2400 |
<div className="space-y-6">
|
|
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
// Force recompile
|
| 4 |
+
import Link from "next/link"
|
| 5 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 6 |
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
| 7 |
import { Badge } from "@/components/ui/badge"
|
|
|
|
| 18 |
ChevronDown, ChevronUp, BarChart3, Award, AlertTriangle,
|
| 19 |
Cpu, Tag, Globe, Network, Activity, MessageSquare, Clock, Hash, Layers, Search, FlaskConical, Scale, BookOpenText
|
| 20 |
} from "lucide-react"
|
| 21 |
+
import type { BenchmarkCard, BenchmarkEvaluation, CategoryType, EvaluationResult } from "@/lib/benchmark-schema"
|
| 22 |
+
import { getCategoryColor as getCategoryTone, inferCategoryFromBenchmark } from "@/lib/benchmark-schema"
|
| 23 |
import { formatScore, getBenchmarkDisplayName } from "@/lib/eval-processing"
|
| 24 |
import type { ModelSummaryCore } from "@/lib/benchmark-schema"
|
| 25 |
+
import { lookupBenchmarkCard } from "@/lib/benchmark-metadata-utils"
|
| 26 |
import { Fragment, useState, useEffect, useMemo, type CSSProperties } from "react"
|
| 27 |
|
| 28 |
interface BenchmarkDetailProps {
|
| 29 |
summary: ModelSummaryCore
|
| 30 |
+
benchmarkCards?: Record<string, BenchmarkCard>
|
| 31 |
}
|
| 32 |
|
| 33 |
interface BenchmarkVariant {
|
|
|
|
| 44 |
interface BenchmarkGroup {
|
| 45 |
key: string
|
| 46 |
title: string
|
| 47 |
+
evalDetailHref: string
|
| 48 |
+
category: CategoryType
|
| 49 |
description: string
|
| 50 |
scoreType: EvaluationResult["metric_config"]["score_type"] | "mixed"
|
| 51 |
avgNormalizedScore: number
|
| 52 |
avgDisplayScore: string
|
| 53 |
+
domains: string[]
|
| 54 |
+
benchmarkCard?: BenchmarkCard
|
| 55 |
variants: BenchmarkVariant[]
|
| 56 |
}
|
| 57 |
|
|
|
|
| 457 |
return Math.max(0, Math.min(1, normalized))
|
| 458 |
}
|
| 459 |
|
| 460 |
+
function slugifyEvalSummaryId(value: string) {
|
| 461 |
+
return value.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "")
|
| 462 |
+
}
|
| 463 |
+
|
| 464 |
+
function getEvalDetailHref(evaluation: BenchmarkEvaluation, result: EvaluationResult) {
|
| 465 |
+
const benchmarkKey = evaluation.benchmark || getResultBenchmarkName(evaluation, result)
|
| 466 |
+
const evalSummaryId = slugifyEvalSummaryId(`${benchmarkKey}__${result.evaluation_name}`)
|
| 467 |
+
return `/evals/${evalSummaryId}`
|
| 468 |
+
}
|
| 469 |
+
|
| 470 |
function formatResultDisplayScore(result: EvaluationResult) {
|
| 471 |
return formatScore(
|
| 472 |
result.score_details.score,
|
|
|
|
| 509 |
}
|
| 510 |
|
| 511 |
function buildBenchmarkGroups(
|
| 512 |
+
entries: Array<{ evaluation: BenchmarkEvaluation; result: EvaluationResult; category: CategoryType }>,
|
| 513 |
+
benchmarkCards?: Record<string, BenchmarkCard>
|
| 514 |
): BenchmarkGroup[] {
|
| 515 |
const groups = new Map<string, BenchmarkGroup>()
|
| 516 |
|
| 517 |
for (const entry of entries) {
|
| 518 |
const title = getBenchmarkDisplayName(getResultBenchmarkName(entry.evaluation, entry.result))
|
| 519 |
+
const card = benchmarkCards
|
| 520 |
+
? lookupBenchmarkCard(benchmarkCards, getResultBenchmarkName(entry.evaluation, entry.result))
|
| 521 |
+
: undefined
|
| 522 |
const normalizedScore = normalizeScoreForDisplay(entry.result)
|
| 523 |
const displayScore = formatResultDisplayScore(entry.result)
|
| 524 |
const descriptor = getVariantDescriptor(entry.evaluation, entry.result)
|
|
|
|
| 539 |
groups.set(title, {
|
| 540 |
key: title,
|
| 541 |
title,
|
| 542 |
+
evalDetailHref: getEvalDetailHref(entry.evaluation, entry.result),
|
| 543 |
+
category: entry.category,
|
| 544 |
description: entry.result.metric_config.evaluation_description,
|
| 545 |
scoreType: entry.result.metric_config.score_type,
|
| 546 |
avgNormalizedScore: normalizedScore,
|
| 547 |
avgDisplayScore: `${(normalizedScore * 100).toFixed(1)}%`,
|
| 548 |
+
domains: card?.benchmark_details?.domains ?? [],
|
| 549 |
+
benchmarkCard: card,
|
| 550 |
variants: [variant],
|
| 551 |
})
|
| 552 |
continue
|
|
|
|
| 618 |
return evaluationPrefix.split("/").filter(Boolean).pop() || null
|
| 619 |
}
|
| 620 |
|
| 621 |
+
export function BenchmarkDetail({ summary, benchmarkCards }: BenchmarkDetailProps) {
|
| 622 |
const { mode } = useAudienceMode()
|
| 623 |
const isResearchView = mode === "research"
|
| 624 |
const [benchmarkSearch, setBenchmarkSearch] = useState("")
|
| 625 |
const [benchmarkSort, setBenchmarkSort] = useState<"score" | "name" | "variants" | "spread">("score")
|
| 626 |
+
const [selectedCategories, setSelectedCategories] = useState<CategoryType[]>([])
|
| 627 |
const [expandedBenchmarkKey, setExpandedBenchmarkKey] = useState<string | null>(null)
|
| 628 |
+
const [showWithoutMetadata, setShowWithoutMetadata] = useState(false)
|
| 629 |
const allEvaluations = useMemo(
|
| 630 |
() => Object.values(summary.evaluations_by_category).flat(),
|
| 631 |
[summary.evaluations_by_category]
|
|
|
|
| 682 |
}
|
| 683 |
}
|
| 684 |
|
| 685 |
+
return resultCategory === category
|
| 686 |
+
? [{ evaluation, result, category: category as CategoryType }]
|
| 687 |
+
: []
|
| 688 |
})
|
| 689 |
)
|
| 690 |
),
|
|
|
|
| 692 |
)
|
| 693 |
|
| 694 |
const policyHighlights = useMemo(() => {
|
| 695 |
+
const groups = buildBenchmarkGroups(allCategoryResults, benchmarkCards)
|
| 696 |
const seenLabels = new Set<string>()
|
| 697 |
|
| 698 |
return groups
|
|
|
|
| 720 |
level,
|
| 721 |
}
|
| 722 |
})
|
| 723 |
+
}, [allCategoryResults, benchmarkCards])
|
| 724 |
|
| 725 |
const policySummary = useMemo(() => {
|
| 726 |
const benchmarkCount = new Set(
|
|
|
|
| 780 |
summary.total_evaluations,
|
| 781 |
])
|
| 782 |
|
| 783 |
+
const benchmarkGroups = useMemo(
|
| 784 |
+
() => buildBenchmarkGroups(allCategoryResults, benchmarkCards),
|
| 785 |
+
[allCategoryResults, benchmarkCards]
|
| 786 |
+
)
|
| 787 |
+
const availableCategories = useMemo(() => {
|
| 788 |
+
const presentCategories = new Set(benchmarkGroups.map((group) => group.category))
|
| 789 |
+
return summary.categories_covered.filter((category) => presentCategories.has(category))
|
| 790 |
+
}, [benchmarkGroups, summary.categories_covered])
|
|
|
|
|
|
|
|
|
|
|
|
|
| 791 |
|
| 792 |
const filteredBenchmarkGroups = useMemo(() => {
|
| 793 |
const query = benchmarkSearch.trim().toLowerCase()
|
| 794 |
const filtered = benchmarkGroups.filter((group) => {
|
| 795 |
+
if (selectedCategories.length > 0 && !selectedCategories.includes(group.category)) {
|
| 796 |
+
return false
|
| 797 |
+
}
|
| 798 |
+
|
| 799 |
if (!query) {
|
| 800 |
return true
|
| 801 |
}
|
|
|
|
| 807 |
)
|
| 808 |
})
|
| 809 |
|
| 810 |
+
// Metadata-first: always put groups with a benchmarkCard at the top
|
| 811 |
+
const withCard = filtered.filter((g) => !!g.benchmarkCard)
|
| 812 |
+
const withoutCard = filtered.filter((g) => !g.benchmarkCard)
|
| 813 |
+
|
| 814 |
+
const sortFn = (a: BenchmarkGroup, b: BenchmarkGroup) => {
|
| 815 |
+
switch (benchmarkSort) {
|
| 816 |
+
case "name": return a.title.localeCompare(b.title)
|
| 817 |
+
case "variants": return b.variants.length - a.variants.length || b.avgNormalizedScore - a.avgNormalizedScore
|
| 818 |
+
case "spread": return getBenchmarkSpread(b) - getBenchmarkSpread(a) || b.avgNormalizedScore - a.avgNormalizedScore
|
| 819 |
+
default: return b.avgNormalizedScore - a.avgNormalizedScore
|
| 820 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 821 |
}
|
| 822 |
|
| 823 |
+
withCard.sort(sortFn)
|
| 824 |
+
withoutCard.sort(sortFn)
|
| 825 |
+
|
| 826 |
+
return showWithoutMetadata ? [...withCard, ...withoutCard] : withCard
|
| 827 |
+
}, [benchmarkGroups, benchmarkSearch, benchmarkSort, selectedCategories, showWithoutMetadata])
|
| 828 |
+
|
| 829 |
+
const groupedFilteredBenchmarkGroups = useMemo(() => {
|
| 830 |
+
const order = new Map(summary.categories_covered.map((category, index) => [category, index]))
|
| 831 |
+
const groups = new Map<CategoryType, BenchmarkGroup[]>()
|
| 832 |
+
|
| 833 |
+
for (const benchmarkGroup of filteredBenchmarkGroups) {
|
| 834 |
+
const bucket = groups.get(benchmarkGroup.category) ?? []
|
| 835 |
+
bucket.push(benchmarkGroup)
|
| 836 |
+
groups.set(benchmarkGroup.category, bucket)
|
| 837 |
+
}
|
| 838 |
+
|
| 839 |
+
return Array.from(groups.entries())
|
| 840 |
+
.sort((a, b) => (order.get(a[0]) ?? 999) - (order.get(b[0]) ?? 999))
|
| 841 |
+
.map(([category, groups]) => ({ category, groups }))
|
| 842 |
+
}, [filteredBenchmarkGroups, summary.categories_covered])
|
| 843 |
+
|
| 844 |
+
const overviewBenchmarkGroups =
|
| 845 |
+
selectedCategories.length > 0 || benchmarkSearch.trim()
|
| 846 |
+
? filteredBenchmarkGroups
|
| 847 |
+
: benchmarkGroups
|
| 848 |
+
|
| 849 |
+
const bestBenchmark = overviewBenchmarkGroups[0]
|
| 850 |
+
const widestBenchmark = [...overviewBenchmarkGroups].sort((a, b) => getBenchmarkSpread(b) - getBenchmarkSpread(a))[0]
|
| 851 |
+
const repeatedBenchmarkCount = overviewBenchmarkGroups.filter((group) => group.variants.length > 1).length
|
| 852 |
+
const setupDrivenBenchmarkCount = overviewBenchmarkGroups.filter((group) =>
|
| 853 |
+
group.variants.some((variant) => variant.variantType === "setup" || variant.variantType === "setup+subtask")
|
| 854 |
+
).length
|
| 855 |
+
const subtaskDrivenBenchmarkCount = overviewBenchmarkGroups.filter((group) =>
|
| 856 |
+
group.variants.some((variant) => variant.variantType === "subtask" || variant.variantType === "setup+subtask")
|
| 857 |
+
).length
|
| 858 |
|
| 859 |
useEffect(() => {
|
| 860 |
if (!expandedBenchmarkKey) {
|
|
|
|
| 867 |
}
|
| 868 |
}, [expandedBenchmarkKey, filteredBenchmarkGroups])
|
| 869 |
|
| 870 |
+
useEffect(() => {
|
| 871 |
+
setSelectedCategories((current) =>
|
| 872 |
+
current.filter((category) => availableCategories.includes(category))
|
| 873 |
+
)
|
| 874 |
+
}, [availableCategories])
|
| 875 |
+
|
| 876 |
const formatDate = (isoString: string) => {
|
| 877 |
try {
|
| 878 |
return new Date(isoString).toLocaleDateString('en-US', {
|
|
|
|
| 888 |
}
|
| 889 |
|
| 890 |
return (
|
| 891 |
+
<div className="space-y-4">
|
| 892 |
<Card className="overflow-hidden">
|
| 893 |
+
<CardContent className="space-y-4 p-4 sm:p-5">
|
| 894 |
+
<div className="flex flex-col gap-4 xl:flex-row xl:items-start xl:justify-between">
|
| 895 |
+
<div className="space-y-2.5">
|
| 896 |
<div className="flex flex-wrap items-center gap-2">
|
| 897 |
<Badge variant="outline" className="border-border/60 bg-background/80 text-[11px] uppercase tracking-[0.18em]">
|
| 898 |
Model Metadata
|
|
|
|
| 922 |
)}
|
| 923 |
</div>
|
| 924 |
|
| 925 |
+
<div className="grid w-full gap-2.5 sm:grid-cols-2 xl:w-[620px] xl:grid-cols-4">
|
| 926 |
+
<div className="rounded-2xl border border-sky-200/80 bg-sky-50/80 px-3.5 py-2.5 dark:border-sky-900/40 dark:bg-sky-950/20 dark:shadow-none">
|
| 927 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-sky-700 dark:text-sky-200 whitespace-nowrap">Benchmarks</div>
|
| 928 |
<div className="mt-1 text-[1.8rem] font-semibold leading-none text-sky-950 dark:text-sky-50">{benchmarkGroups.length}</div>
|
| 929 |
</div>
|
| 930 |
+
<div className="rounded-2xl border border-border/70 bg-muted/20 px-3.5 py-2.5 dark:shadow-none">
|
| 931 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-muted-foreground whitespace-nowrap">Results</div>
|
| 932 |
<div className="mt-1 text-[1.8rem] font-semibold leading-none">{summary.total_evaluations}</div>
|
| 933 |
</div>
|
| 934 |
+
<div className="rounded-2xl border border-emerald-200/80 bg-emerald-50/80 px-3.5 py-2.5 dark:border-emerald-900/40 dark:bg-emerald-950/20 dark:shadow-none">
|
| 935 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-emerald-700 dark:text-emerald-200 whitespace-nowrap">
|
| 936 |
Reporting orgs
|
| 937 |
</div>
|
|
|
|
| 939 |
{reportingStats.organizationCount}
|
| 940 |
</div>
|
| 941 |
</div>
|
| 942 |
+
<div className="rounded-2xl border border-amber-200/80 bg-amber-50/80 px-3.5 py-2.5 dark:border-amber-900/40 dark:bg-amber-950/20 dark:shadow-none">
|
| 943 |
<div className="text-[10px] font-semibold tracking-[0.12em] text-amber-700 dark:text-amber-200 whitespace-nowrap">
|
| 944 |
Source types
|
| 945 |
</div>
|
|
|
|
| 950 |
</div>
|
| 951 |
</div>
|
| 952 |
|
| 953 |
+
<div className="grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(320px,0.92fr)]">
|
| 954 |
<div className="rounded-[1.5rem] border bg-muted/10 p-4">
|
| 955 |
<div className="text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 956 |
System and evidence context
|
|
|
|
| 1038 |
</div>
|
| 1039 |
</div>
|
| 1040 |
) : (
|
| 1041 |
+
<div className="rounded-[1.5rem] border bg-amber-50/60 p-4 dark:bg-amber-950/20">
|
| 1042 |
<div className="flex items-center gap-2">
|
| 1043 |
<Scale className="h-4 w-4 text-primary" />
|
| 1044 |
<div className="text-sm font-semibold">Public reading</div>
|
|
|
|
| 1077 |
</CardContent>
|
| 1078 |
</Card>
|
| 1079 |
|
| 1080 |
+
<section className="space-y-4">
|
| 1081 |
+
<div className="flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between">
|
| 1082 |
<div className="space-y-1">
|
| 1083 |
<h3 className="text-xl font-semibold">
|
| 1084 |
{isResearchView ? "Benchmark Explorer" : "Reported Benchmark Signals"}
|
|
|
|
| 1090 |
</p>
|
| 1091 |
</div>
|
| 1092 |
|
| 1093 |
+
<div className="flex flex-col gap-2.5 sm:flex-row sm:flex-wrap sm:justify-end">
|
| 1094 |
+
<div className="relative w-full sm:w-[260px]">
|
| 1095 |
<Search className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" />
|
| 1096 |
<Input
|
| 1097 |
value={benchmarkSearch}
|
|
|
|
| 1102 |
</div>
|
| 1103 |
|
| 1104 |
<Select value={benchmarkSort} onValueChange={(value) => setBenchmarkSort(value as typeof benchmarkSort)}>
|
| 1105 |
+
<SelectTrigger className="w-full sm:w-[200px]">
|
| 1106 |
<SelectValue placeholder="Sort benchmarks" />
|
| 1107 |
</SelectTrigger>
|
| 1108 |
<SelectContent>
|
| 1109 |
<SelectItem value="score">Highest score first</SelectItem>
|
| 1110 |
<SelectItem value="name">Name (A-Z)</SelectItem>
|
| 1111 |
+
<SelectItem value="variants">Most subtasks</SelectItem>
|
| 1112 |
<SelectItem value="spread">Largest setup swing</SelectItem>
|
| 1113 |
</SelectContent>
|
| 1114 |
</Select>
|
| 1115 |
</div>
|
| 1116 |
</div>
|
| 1117 |
|
| 1118 |
+
{availableCategories.length > 0 && (
|
| 1119 |
+
<div className="flex flex-wrap items-center gap-2">
|
| 1120 |
+
<span className="text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground">
|
| 1121 |
+
Category
|
| 1122 |
+
</span>
|
| 1123 |
+
<button
|
| 1124 |
+
type="button"
|
| 1125 |
+
onClick={() => setSelectedCategories([])}
|
| 1126 |
+
className={`inline-flex items-center rounded-full border px-3 py-1 text-sm font-medium transition-colors ${
|
| 1127 |
+
selectedCategories.length === 0
|
| 1128 |
+
? "border-foreground bg-foreground text-background"
|
| 1129 |
+
: "border-border/70 bg-background text-muted-foreground hover:text-foreground"
|
| 1130 |
+
}`}
|
| 1131 |
+
>
|
| 1132 |
+
All
|
| 1133 |
+
</button>
|
| 1134 |
+
{availableCategories.map((category) => {
|
| 1135 |
+
const isSelected = selectedCategories.includes(category)
|
| 1136 |
+
|
| 1137 |
+
return (
|
| 1138 |
+
<button
|
| 1139 |
+
key={category}
|
| 1140 |
+
type="button"
|
| 1141 |
+
onClick={() =>
|
| 1142 |
+
setSelectedCategories((current) =>
|
| 1143 |
+
current.includes(category)
|
| 1144 |
+
? current.filter((item) => item !== category)
|
| 1145 |
+
: [...current, category]
|
| 1146 |
+
)
|
| 1147 |
+
}
|
| 1148 |
+
className={`inline-flex items-center rounded-full border px-3 py-1 text-sm font-medium transition-colors ${
|
| 1149 |
+
isSelected
|
| 1150 |
+
? getCategoryTone(category)
|
| 1151 |
+
: "border-border/70 bg-background text-muted-foreground hover:text-foreground"
|
| 1152 |
+
}`}
|
| 1153 |
+
>
|
| 1154 |
+
{category}
|
| 1155 |
+
</button>
|
| 1156 |
+
)
|
| 1157 |
+
})}
|
| 1158 |
+
</div>
|
| 1159 |
+
)}
|
| 1160 |
+
|
| 1161 |
+
{/* Metadata toggle */}
|
| 1162 |
+
{benchmarkGroups.some((g) => !g.benchmarkCard) && (
|
| 1163 |
+
<div className="flex items-center gap-2 text-sm">
|
| 1164 |
+
<label className="flex cursor-pointer items-center gap-2 select-none">
|
| 1165 |
+
<input
|
| 1166 |
+
type="checkbox"
|
| 1167 |
+
checked={showWithoutMetadata}
|
| 1168 |
+
onChange={(e) => setShowWithoutMetadata(e.target.checked)}
|
| 1169 |
+
className="h-4 w-4 rounded border-border accent-primary"
|
| 1170 |
+
/>
|
| 1171 |
+
<span className="text-muted-foreground">
|
| 1172 |
+
Show {benchmarkGroups.filter((g) => !g.benchmarkCard).length} benchmarks without rich metadata
|
| 1173 |
+
</span>
|
| 1174 |
+
</label>
|
| 1175 |
+
<span className="rounded-full border border-border/60 bg-muted/30 px-2 py-0.5 text-[10px] font-medium text-muted-foreground">
|
| 1176 |
+
{benchmarkGroups.filter((g) => !!g.benchmarkCard).length} with metadata
|
| 1177 |
+
</span>
|
| 1178 |
+
</div>
|
| 1179 |
+
)}
|
| 1180 |
+
|
| 1181 |
+
<div className={`grid gap-3 ${isResearchView ? "md:grid-cols-3" : "md:grid-cols-2 xl:grid-cols-3"}`}>
|
| 1182 |
{bestBenchmark && (
|
| 1183 |
+
<div className="rounded-2xl border bg-emerald-50/70 p-3.5 dark:bg-emerald-950/20">
|
| 1184 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-emerald-700/90 dark:text-emerald-300">
|
| 1185 |
Strongest Reported Benchmark
|
| 1186 |
</div>
|
| 1187 |
+
<div className="mt-1.5 text-sm font-semibold tracking-tight">
|
| 1188 |
+
<Link href={bestBenchmark.evalDetailHref} className="underline decoration-dotted underline-offset-4 hover:text-primary">
|
| 1189 |
+
{bestBenchmark.title}
|
| 1190 |
+
</Link>
|
| 1191 |
+
</div>
|
| 1192 |
+
<div className="mt-1 text-xs leading-5 text-muted-foreground">{bestBenchmark.description}</div>
|
| 1193 |
+
<div className="mt-2 text-[1.45rem] font-semibold tracking-tight text-emerald-700 dark:text-emerald-300">{bestBenchmark.avgDisplayScore}</div>
|
| 1194 |
</div>
|
| 1195 |
)}
|
| 1196 |
|
| 1197 |
{widestBenchmark && (
|
| 1198 |
+
<div className="rounded-2xl border bg-amber-50/70 p-3.5 dark:bg-amber-950/20">
|
| 1199 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-amber-700/90 dark:text-amber-300">
|
| 1200 |
Widest score gap
|
| 1201 |
</div>
|
| 1202 |
+
<div className="mt-1.5 text-sm font-semibold tracking-tight">
|
| 1203 |
+
<Link href={widestBenchmark.evalDetailHref} className="underline decoration-dotted underline-offset-4 hover:text-primary">
|
| 1204 |
+
{widestBenchmark.title}
|
| 1205 |
+
</Link>
|
| 1206 |
+
</div>
|
| 1207 |
+
<div className="mt-1 text-xs leading-5 text-muted-foreground">
|
| 1208 |
+
{widestBenchmark.variants.length} subtask{widestBenchmark.variants.length === 1 ? "" : "s"} with the biggest spread between highest and lowest scores
|
| 1209 |
</div>
|
| 1210 |
+
<div className="mt-2 text-[1.45rem] font-semibold tracking-tight text-amber-700 dark:text-amber-300">
|
| 1211 |
{(getBenchmarkSpread(widestBenchmark) * 100).toFixed(1)} pts
|
| 1212 |
</div>
|
| 1213 |
</div>
|
| 1214 |
)}
|
| 1215 |
|
| 1216 |
+
<div className="rounded-2xl border bg-sky-50/70 p-3.5 dark:bg-sky-950/20">
|
| 1217 |
<div className="text-[10px] font-semibold uppercase tracking-[0.16em] text-sky-700/90 dark:text-sky-300">
|
| 1218 |
Coverage Snapshot
|
| 1219 |
</div>
|
| 1220 |
+
<div className="mt-1.5 text-sm font-semibold tracking-tight">{benchmarkGroups.length} benchmarks</div>
|
| 1221 |
+
<div className="mt-1 text-xs leading-5 text-muted-foreground">
|
| 1222 |
+
{repeatedBenchmarkCount} benchmark{repeatedBenchmarkCount === 1 ? "" : "s"} include multiple subtasks.
|
| 1223 |
</div>
|
| 1224 |
+
<div className="mt-2 text-xs font-medium text-sky-700 dark:text-sky-300">
|
| 1225 |
{filteredBenchmarkGroups.length} shown after filters
|
| 1226 |
</div>
|
| 1227 |
</div>
|
|
|
|
| 1229 |
|
| 1230 |
{filteredBenchmarkGroups.length === 0 ? (
|
| 1231 |
<div className="rounded-2xl border border-dashed p-8 text-center text-sm text-muted-foreground">
|
| 1232 |
+
No benchmarks match the current search or category filters.
|
| 1233 |
</div>
|
| 1234 |
) : (
|
| 1235 |
+
<div className="space-y-5">
|
| 1236 |
+
{groupedFilteredBenchmarkGroups.map(({ category, groups }, sectionIndex) => (
|
| 1237 |
+
<section key={category} className="space-y-3">
|
| 1238 |
+
<div className="flex items-center gap-3">
|
| 1239 |
+
<span className={`inline-flex items-center rounded-full border px-3 py-1 text-xs font-semibold ${getCategoryTone(category)}`}>
|
| 1240 |
+
{category}
|
| 1241 |
+
</span>
|
| 1242 |
+
<div className="text-sm text-muted-foreground">
|
| 1243 |
+
{groups.length} benchmark{groups.length === 1 ? "" : "s"}
|
| 1244 |
+
</div>
|
| 1245 |
+
</div>
|
| 1246 |
+
|
| 1247 |
+
<div className="space-y-2.5">
|
| 1248 |
+
{groups.map((group, index) => (
|
| 1249 |
+
<AggregatedBenchmarkCard
|
| 1250 |
+
key={`${category}-${group.key}`}
|
| 1251 |
+
group={group}
|
| 1252 |
+
isOpen={expandedBenchmarkKey === group.key}
|
| 1253 |
+
motionIndex={sectionIndex * 6 + index}
|
| 1254 |
+
onOpenChange={(open) =>
|
| 1255 |
+
setExpandedBenchmarkKey((current) => {
|
| 1256 |
+
if (open) {
|
| 1257 |
+
return group.key
|
| 1258 |
+
}
|
| 1259 |
+
|
| 1260 |
+
return current === group.key ? null : current
|
| 1261 |
+
})
|
| 1262 |
+
}
|
| 1263 |
+
/>
|
| 1264 |
+
))}
|
| 1265 |
+
</div>
|
| 1266 |
+
</section>
|
| 1267 |
))}
|
| 1268 |
</div>
|
| 1269 |
)}
|
|
|
|
| 2011 |
}, Number.NEGATIVE_INFINITY)
|
| 2012 |
const latestReportedLabel =
|
| 2013 |
Number.isFinite(latestTimestamp) ? formatCompactDate(String(latestTimestamp)) : formatCompactDate(group.variants[0]?.evaluation.retrieved_timestamp ?? "")
|
| 2014 |
+
const compactDomains = group.domains.slice(0, 2)
|
| 2015 |
+
const progressWidth = Math.max(4, Math.min(100, group.avgNormalizedScore * 100))
|
| 2016 |
|
| 2017 |
const toggleRow = (rowKey: string) => {
|
| 2018 |
setExpandedRows((current) => ({
|
|
|
|
| 2023 |
|
| 2024 |
return (
|
| 2025 |
<div
|
| 2026 |
+
className="motion-academic-enter"
|
| 2027 |
style={{ "--enter-delay": `${Math.min(motionIndex * 55, 260)}ms` } as CSSProperties}
|
| 2028 |
>
|
| 2029 |
<Collapsible open={isOpen} onOpenChange={onOpenChange}>
|
| 2030 |
+
<Card className="motion-academic-surface overflow-hidden border border-border/70 bg-card shadow-[0_1px_0_rgba(255,255,255,0.3),0_8px_24px_rgba(15,23,42,0.04)] dark:shadow-[0_1px_0_rgba(255,255,255,0.02)]">
|
| 2031 |
+
<div
|
| 2032 |
+
role="button"
|
| 2033 |
+
tabIndex={0}
|
| 2034 |
+
onClick={() => onOpenChange(!isOpen)}
|
| 2035 |
+
onKeyDown={(event) => {
|
| 2036 |
+
if (event.key === "Enter" || event.key === " ") {
|
| 2037 |
+
event.preventDefault()
|
| 2038 |
+
onOpenChange(!isOpen)
|
| 2039 |
+
}
|
| 2040 |
+
}}
|
| 2041 |
+
className="block w-full cursor-pointer px-3.5 py-2.5 text-left transition-colors hover:bg-muted/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
|
| 2042 |
+
>
|
| 2043 |
+
{/* Compact single-row layout */}
|
| 2044 |
+
<div className="flex items-center gap-3">
|
| 2045 |
+
{/* Category dot */}
|
| 2046 |
+
<span className={`shrink-0 inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-semibold ${getCategoryTone(group.category)}`}>
|
| 2047 |
+
{group.category}
|
| 2048 |
+
</span>
|
| 2049 |
+
|
| 2050 |
+
{/* Name + domains */}
|
| 2051 |
+
<div className="min-w-0 flex-1">
|
| 2052 |
+
<div className="flex flex-wrap items-center gap-2">
|
| 2053 |
+
<Link
|
| 2054 |
+
href={group.evalDetailHref}
|
| 2055 |
+
onClick={(event) => event.stopPropagation()}
|
| 2056 |
+
className="text-sm font-semibold tracking-tight text-foreground/95 underline decoration-dotted underline-offset-4 hover:text-primary"
|
| 2057 |
+
>
|
| 2058 |
+
{group.title}
|
| 2059 |
+
</Link>
|
| 2060 |
+
{group.benchmarkCard && (
|
| 2061 |
+
<span className="shrink-0 rounded-full border border-border/50 bg-muted/30 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground">
|
| 2062 |
+
card
|
| 2063 |
+
</span>
|
| 2064 |
+
)}
|
| 2065 |
+
{compactDomains.map((domain) => (
|
| 2066 |
+
<span
|
| 2067 |
+
key={`${group.key}-${domain}`}
|
| 2068 |
+
className="hidden sm:inline-flex items-center rounded-full border border-border/50 bg-background/60 px-2 py-0.5 text-[10px] font-medium capitalize text-muted-foreground"
|
| 2069 |
+
>
|
| 2070 |
+
{domain}
|
| 2071 |
+
</span>
|
| 2072 |
+
))}
|
| 2073 |
+
{group.domains.length > compactDomains.length && (
|
| 2074 |
+
<span className="hidden sm:inline text-[10px] text-muted-foreground/70">+{group.domains.length - compactDomains.length}</span>
|
| 2075 |
+
)}
|
| 2076 |
+
</div>
|
| 2077 |
</div>
|
| 2078 |
|
| 2079 |
+
{/* Score bar + score — right side */}
|
| 2080 |
+
<div className="hidden md:flex shrink-0 items-center gap-2.5 w-[180px] lg:w-[190px]">
|
| 2081 |
+
<div className="flex-1 h-1.5 overflow-hidden rounded-full bg-muted/60">
|
| 2082 |
+
<div
|
| 2083 |
+
className="h-full rounded-full bg-foreground/70 transition-[width] duration-300"
|
| 2084 |
+
style={{ width: `${progressWidth}%` }}
|
| 2085 |
+
/>
|
| 2086 |
+
</div>
|
| 2087 |
+
<span className="w-12 shrink-0 text-right text-sm font-semibold tabular-nums text-foreground/90">
|
| 2088 |
+
{group.avgDisplayScore}
|
| 2089 |
+
</span>
|
| 2090 |
</div>
|
| 2091 |
|
| 2092 |
+
{/* Subtask count */}
|
| 2093 |
+
<span className="shrink-0 text-[11px] text-muted-foreground w-16 text-right hidden sm:block">
|
| 2094 |
+
{group.variants.length} {group.variants.length === 1 ? "subtask" : "subtasks"}
|
| 2095 |
+
</span>
|
| 2096 |
+
|
| 2097 |
+
{/* Expand toggle */}
|
| 2098 |
+
<div className="shrink-0 text-muted-foreground">
|
| 2099 |
+
{isOpen ? <ChevronUp className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
|
| 2100 |
+
</div>
|
| 2101 |
+
</div>
|
| 2102 |
+
</div>
|
| 2103 |
+
|
| 2104 |
+
<CollapsibleContent>
|
| 2105 |
+
<Separator />
|
| 2106 |
+
<CardContent className="bg-muted/5 p-4 sm:p-5">
|
| 2107 |
+
<div className="space-y-2.5">
|
| 2108 |
+
{group.benchmarkCard && (
|
| 2109 |
+
<div className="rounded-2xl border border-border/70 bg-background/90 p-3.5">
|
| 2110 |
+
<div className="flex flex-wrap items-start justify-between gap-3">
|
| 2111 |
+
<div className="min-w-0 space-y-1">
|
| 2112 |
+
<div className="text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 2113 |
+
Benchmark context
|
| 2114 |
+
</div>
|
| 2115 |
+
<div className="text-base font-semibold">
|
| 2116 |
+
{group.benchmarkCard.benchmark_details.name}
|
| 2117 |
+
</div>
|
| 2118 |
+
<p className="max-w-3xl text-sm leading-6 text-muted-foreground">
|
| 2119 |
+
{group.benchmarkCard.benchmark_details.overview}
|
| 2120 |
+
</p>
|
| 2121 |
</div>
|
| 2122 |
+
<div className="flex flex-wrap gap-1.5">
|
| 2123 |
+
<Badge variant="outline" className="font-normal">
|
| 2124 |
+
{group.benchmarkCard.benchmark_details.data_type}
|
| 2125 |
+
</Badge>
|
| 2126 |
+
{group.benchmarkCard.methodology.metrics.slice(0, 2).map((metric) => (
|
| 2127 |
+
<Badge key={`${group.key}-${metric}`} variant="secondary" className="font-normal">
|
| 2128 |
+
{metric}
|
| 2129 |
</Badge>
|
| 2130 |
+
))}
|
| 2131 |
</div>
|
| 2132 |
</div>
|
| 2133 |
+
<div className="mt-3 grid gap-3 lg:grid-cols-3">
|
| 2134 |
+
<div className="rounded-xl border bg-muted/10 p-3">
|
| 2135 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2136 |
+
Goal
|
| 2137 |
+
</div>
|
| 2138 |
+
<div className="mt-1 text-sm text-foreground/90">
|
| 2139 |
+
{group.benchmarkCard.purpose_and_intended_users.goal}
|
| 2140 |
+
</div>
|
| 2141 |
</div>
|
| 2142 |
+
<div className="rounded-xl border bg-muted/10 p-3">
|
| 2143 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2144 |
+
Methods
|
| 2145 |
+
</div>
|
| 2146 |
+
<div className="mt-1 text-sm text-foreground/90">
|
| 2147 |
+
{group.benchmarkCard.methodology.methods.slice(0, 2).join(", ") || "Not specified"}
|
| 2148 |
+
</div>
|
| 2149 |
</div>
|
| 2150 |
+
<div className="rounded-xl border bg-muted/10 p-3">
|
| 2151 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2152 |
+
Caveat
|
| 2153 |
+
</div>
|
| 2154 |
+
<div className="mt-1 text-sm text-foreground/90">
|
| 2155 |
+
{group.benchmarkCard.purpose_and_intended_users.limitations}
|
| 2156 |
+
</div>
|
| 2157 |
</div>
|
|
|
|
| 2158 |
</div>
|
| 2159 |
</div>
|
| 2160 |
+
)}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2162 |
<div>
|
| 2163 |
<div className="text-xs font-semibold text-muted-foreground uppercase tracking-wider">
|
| 2164 |
+
Subtasks
|
| 2165 |
</div>
|
| 2166 |
<div className="text-xs text-muted-foreground mt-1">
|
| 2167 |
{isResearchView
|
| 2168 |
? "Setup changes and benchmark subtasks are shown separately so you can tell methodological differences from benchmark decomposition."
|
| 2169 |
+
: "Different setups and benchmark subtasks are visually separated so policy review does not confuse reporting choices with benchmark decomposition."}
|
| 2170 |
</div>
|
| 2171 |
</div>
|
| 2172 |
|
|
|
|
| 2257 |
className="motion-academic-enter-soft overflow-hidden rounded-xl border bg-background"
|
| 2258 |
style={{ "--enter-delay": `${Math.min(index * 40, 180)}ms` } as CSSProperties}
|
| 2259 |
>
|
| 2260 |
+
<button
|
| 2261 |
+
type="button"
|
| 2262 |
+
className="block w-full p-4 text-left transition-colors hover:bg-muted/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
|
| 2263 |
+
onClick={() => toggleRow(rowKey)}
|
| 2264 |
+
>
|
| 2265 |
<div className="flex flex-col gap-3">
|
| 2266 |
<div className="flex items-start justify-between gap-3">
|
| 2267 |
<div className="flex min-w-0 items-start gap-3">
|
|
|
|
| 2284 |
</div>
|
| 2285 |
</div>
|
| 2286 |
|
| 2287 |
+
<span className="inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-border/60 bg-background/80">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2288 |
{isRowOpen ? <ChevronUp className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
|
| 2289 |
<span className="sr-only">Toggle variant details</span>
|
| 2290 |
+
</span>
|
| 2291 |
</div>
|
| 2292 |
|
| 2293 |
+
<div className="grid gap-3 border-t border-border/50 pt-3 lg:grid-cols-[minmax(0,1.1fr)_minmax(180px,1fr)_110px_150px]">
|
| 2294 |
+
<div className="min-w-0">
|
| 2295 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2296 |
+
{isResearchView ? "Config" : "Setup"}
|
| 2297 |
+
</div>
|
| 2298 |
+
<div className="mt-1 text-sm font-medium text-foreground/90" title={getTableConfigLabel(row)}>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2299 |
{getConfigDisplayValue(getTableConfigLabel(row))}
|
| 2300 |
+
</div>
|
| 2301 |
+
</div>
|
| 2302 |
|
| 2303 |
+
<div className="min-w-0">
|
| 2304 |
+
<div className="flex items-center justify-between text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2305 |
+
<span>{isResearchView ? "Relative score" : "Evidence context"}</span>
|
| 2306 |
+
<span>{index === 0 ? "Leader" : `-${(gapToLeader * 100).toFixed(1)} pts`}</span>
|
| 2307 |
+
</div>
|
| 2308 |
{isResearchView ? (
|
| 2309 |
+
<>
|
| 2310 |
+
<div className="mt-2 h-2 overflow-hidden rounded-full bg-muted">
|
| 2311 |
+
<div
|
| 2312 |
+
className="h-full rounded-full bg-foreground/70"
|
| 2313 |
+
style={{
|
| 2314 |
+
width: `${leaderNormalizedScore > 0 ? Math.max(4, (variant.normalizedScore / leaderNormalizedScore) * 100) : 100}%`,
|
| 2315 |
+
}}
|
| 2316 |
+
/>
|
| 2317 |
</div>
|
| 2318 |
+
<div className="mt-1 text-[12px] text-muted-foreground">
|
| 2319 |
+
{variant.evaluation.source_metadata.evaluator_relationship.replace(/_/g, " ")}
|
| 2320 |
+
</div>
|
| 2321 |
+
</>
|
|
|
|
| 2322 |
) : (
|
| 2323 |
+
<div className="mt-1 text-sm capitalize text-muted-foreground">
|
| 2324 |
{variant.evaluation.source_metadata.evaluator_relationship.replace(/_/g, " ")}
|
| 2325 |
</div>
|
| 2326 |
)}
|
| 2327 |
+
</div>
|
| 2328 |
+
|
| 2329 |
+
<div>
|
| 2330 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2331 |
+
Score
|
| 2332 |
+
</div>
|
| 2333 |
+
<div className="mt-1 text-lg font-semibold tracking-tight">{variant.displayScore}</div>
|
| 2334 |
+
</div>
|
| 2335 |
+
|
| 2336 |
+
<div className="min-w-0">
|
| 2337 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 2338 |
+
{isResearchView ? "Source" : "Evidence"}
|
| 2339 |
+
</div>
|
| 2340 |
+
<div className="mt-1 truncate text-sm font-medium text-foreground/90">
|
| 2341 |
+
{variant.evaluation.source_metadata.source_organization_name}
|
| 2342 |
+
</div>
|
| 2343 |
+
<div className="text-[12px] text-muted-foreground">
|
| 2344 |
+
{evidenceStatus}
|
|
|
|
|
|
|
|
|
|
| 2345 |
</div>
|
| 2346 |
+
</div>
|
| 2347 |
</div>
|
| 2348 |
</div>
|
| 2349 |
+
</button>
|
| 2350 |
|
| 2351 |
{isRowOpen && (
|
| 2352 |
<div className="border-t bg-muted/10 p-4">
|
|
|
|
| 2363 |
|
| 2364 |
{filteredRows.length === 0 && (
|
| 2365 |
<div className="rounded-xl border bg-background p-6 text-center text-sm text-muted-foreground">
|
| 2366 |
+
No subtasks match the current filters.
|
| 2367 |
</div>
|
| 2368 |
)}
|
| 2369 |
</div>
|
|
|
|
| 2557 |
)
|
| 2558 |
}
|
| 2559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2560 |
function AllEvaluationsView({ evaluations }: { evaluations: BenchmarkEvaluation[] }) {
|
| 2561 |
return (
|
| 2562 |
<div className="space-y-6">
|
components/benchmark-evaluation-card.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
import type { CSSProperties } from "react"
|
|
|
|
| 4 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 5 |
import { useRouter } from "next/navigation"
|
| 6 |
import {
|
| 7 |
Award,
|
| 8 |
-
BookOpenText,
|
| 9 |
ChevronDown,
|
| 10 |
CheckCircle2,
|
| 11 |
ExternalLink,
|
|
@@ -18,12 +18,14 @@ import {
|
|
| 18 |
} from "lucide-react"
|
| 19 |
|
| 20 |
import type { CategoryType } from "@/lib/benchmark-schema"
|
|
|
|
|
|
|
|
|
|
| 21 |
import { Badge } from "@/components/ui/badge"
|
| 22 |
import { Button } from "@/components/ui/button"
|
| 23 |
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
| 24 |
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
|
| 25 |
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
|
| 26 |
-
import { Progress } from "@/components/ui/progress"
|
| 27 |
|
| 28 |
export type BenchmarkEvaluationCardData = {
|
| 29 |
id: string
|
|
@@ -76,6 +78,7 @@ export type BenchmarkEvaluationCardData = {
|
|
| 76 |
|
| 77 |
interface BenchmarkEvaluationCardProps {
|
| 78 |
data: BenchmarkEvaluationCardData
|
|
|
|
| 79 |
onDelete?: (id: string) => void
|
| 80 |
delayMs?: number
|
| 81 |
selectedForCompare?: boolean
|
|
@@ -100,32 +103,6 @@ function formatDate(isoString: string) {
|
|
| 100 |
}
|
| 101 |
}
|
| 102 |
|
| 103 |
-
function formatHighlightScore(score: number, unit?: string) {
|
| 104 |
-
if (unit === "accuracy" || unit === "pass@1" || (!unit && score >= 0 && score <= 1)) {
|
| 105 |
-
return `${(score * 100).toFixed(1)}%`
|
| 106 |
-
}
|
| 107 |
-
if (unit === "points") return score.toFixed(1)
|
| 108 |
-
return score.toFixed(2)
|
| 109 |
-
}
|
| 110 |
-
|
| 111 |
-
function scoreToPercent(score: number, unit?: string): number {
|
| 112 |
-
if (score >= 0 && score <= 1) return score * 100
|
| 113 |
-
return Math.min(Math.max(score, 0), 100)
|
| 114 |
-
}
|
| 115 |
-
|
| 116 |
-
function getPolicyBenchmarkLabel(name: string) {
|
| 117 |
-
const value = name.toLowerCase()
|
| 118 |
-
if (value.includes("ifeval")) return "Following instructions"
|
| 119 |
-
if (value.includes("bbh")) return "Reasoning and logic"
|
| 120 |
-
if (value.includes("math")) return "Advanced mathematics"
|
| 121 |
-
if (value.includes("gpqa")) return "Expert knowledge"
|
| 122 |
-
if (value.includes("musr")) return "Narrative reasoning"
|
| 123 |
-
if (value.includes("mmlu")) return "Broad knowledge"
|
| 124 |
-
if (value.includes("tau-bench")) return "Agentic task completion"
|
| 125 |
-
if (value.includes("swe-bench")) return "Software engineering"
|
| 126 |
-
return name
|
| 127 |
-
}
|
| 128 |
-
|
| 129 |
function formatParamsBillions(value: number | null | undefined) {
|
| 130 |
if (value == null || Number.isNaN(value)) return null
|
| 131 |
if (value >= 100) return `${Math.round(value)}B`
|
|
@@ -181,8 +158,84 @@ function getIndependentSummary(data: BenchmarkEvaluationCardData) {
|
|
| 181 |
return "Self-reported only"
|
| 182 |
}
|
| 183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
export function BenchmarkEvaluationCard({
|
| 185 |
data,
|
|
|
|
| 186 |
onDelete,
|
| 187 |
delayMs = 0,
|
| 188 |
selectedForCompare = false,
|
|
@@ -191,7 +244,32 @@ export function BenchmarkEvaluationCard({
|
|
| 191 |
const router = useRouter()
|
| 192 |
const { mode } = useAudienceMode()
|
| 193 |
const isResearchView = mode === "research"
|
| 194 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 195 |
const library = data.eval_libraries[0]
|
| 196 |
const paramsBillions = formatParamsBillions(data.params_billions)
|
| 197 |
const reportingSummaryLabel = getReportingSummaryLabel(data)
|
|
@@ -291,74 +369,49 @@ export function BenchmarkEvaluationCard({
|
|
| 291 |
</CardHeader>
|
| 292 |
|
| 293 |
<CardContent className="space-y-4 pt-4">
|
| 294 |
-
<div className="grid grid-cols-3 gap-2">
|
| 295 |
-
<CompactStat
|
| 296 |
-
label={isResearchView ? "Benchmarks" : "Coverage"}
|
| 297 |
-
value={data.benchmarks_count.toString()}
|
| 298 |
-
tone="bg-sky-50 text-sky-900 ring-1 ring-sky-200/70 dark:bg-sky-950/25 dark:text-sky-100 dark:ring-sky-900/50"
|
| 299 |
-
/>
|
| 300 |
-
<CompactStat
|
| 301 |
-
label={isResearchView ? "Results" : "Reported"}
|
| 302 |
-
value={data.evaluations_count.toString()}
|
| 303 |
-
tone="bg-stone-100 text-stone-900 ring-1 ring-stone-200/80 dark:bg-stone-900/40 dark:text-stone-100 dark:ring-stone-800/70"
|
| 304 |
-
/>
|
| 305 |
-
<CompactStat
|
| 306 |
-
label="Reporting Orgs"
|
| 307 |
-
value={data.evaluator_count.toString()}
|
| 308 |
-
tone="bg-emerald-50 text-emerald-900 ring-1 ring-emerald-200/70 dark:bg-emerald-950/25 dark:text-emerald-100 dark:ring-emerald-900/50"
|
| 309 |
-
/>
|
| 310 |
-
</div>
|
| 311 |
-
|
| 312 |
<div className="rounded-2xl border border-border/70 bg-muted/10 px-4 py-3">
|
| 313 |
-
<div className="flex flex-wrap items-center gap-
|
| 314 |
-
<
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
<
|
| 321 |
-
|
| 322 |
-
<
|
|
|
|
|
|
|
|
|
|
| 323 |
</div>
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
|
| 327 |
-
: "Most useful signals first: benchmark coverage, reporting posture, and what was actually tested. Open the details panel if you need source or methodology context."}
|
| 328 |
</div>
|
| 329 |
</div>
|
| 330 |
|
| 331 |
-
{
|
| 332 |
-
<
|
| 333 |
-
<div className="
|
| 334 |
-
|
| 335 |
-
<FlaskConical className="h-3.5 w-3.5" />
|
| 336 |
-
) : (
|
| 337 |
-
<BookOpenText className="h-3.5 w-3.5" />
|
| 338 |
-
)}
|
| 339 |
-
{isResearchView ? "Most Relevant Benchmarks" : "What Was Tested"}
|
| 340 |
</div>
|
| 341 |
-
<div className="
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
scorePercent={scoreToPercent(item.score, item.unit)}
|
| 356 |
-
isLast={index === highlights.length - 1}
|
| 357 |
-
/>
|
| 358 |
-
))}
|
| 359 |
</div>
|
| 360 |
-
</
|
| 361 |
-
)
|
| 362 |
|
| 363 |
<Collapsible className="rounded-2xl border border-border/70 bg-background">
|
| 364 |
<CollapsibleTrigger asChild>
|
|
@@ -372,7 +425,7 @@ export function BenchmarkEvaluationCard({
|
|
| 372 |
Dive Deeper
|
| 373 |
</div>
|
| 374 |
<div className="mt-1 text-sm font-semibold text-foreground">
|
| 375 |
-
|
| 376 |
</div>
|
| 377 |
</div>
|
| 378 |
<ChevronDown className="h-4 w-4 text-muted-foreground" />
|
|
@@ -380,28 +433,51 @@ export function BenchmarkEvaluationCard({
|
|
| 380 |
</CollapsibleTrigger>
|
| 381 |
<CollapsibleContent onClick={(event) => event.stopPropagation()} className="border-t border-border/60 px-4 py-4">
|
| 382 |
<div className="space-y-0 text-sm">
|
| 383 |
-
|
| 384 |
-
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
|
| 393 |
-
|
| 394 |
-
|
| 395 |
-
|
| 396 |
-
|
| 397 |
-
|
| 398 |
-
|
| 399 |
-
|
| 400 |
-
|
| 401 |
-
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 405 |
)}
|
| 406 |
</div>
|
| 407 |
</CollapsibleContent>
|
|
@@ -411,23 +487,6 @@ export function BenchmarkEvaluationCard({
|
|
| 411 |
)
|
| 412 |
}
|
| 413 |
|
| 414 |
-
function CompactStat({
|
| 415 |
-
label,
|
| 416 |
-
value,
|
| 417 |
-
tone,
|
| 418 |
-
}: {
|
| 419 |
-
label: string
|
| 420 |
-
value: string
|
| 421 |
-
tone: string
|
| 422 |
-
}) {
|
| 423 |
-
return (
|
| 424 |
-
<div className={`rounded-2xl px-3 py-2.5 ${tone}`}>
|
| 425 |
-
<div className="text-[10px] font-semibold uppercase tracking-[0.2em] opacity-80">{label}</div>
|
| 426 |
-
<div className="mt-1 text-base font-bold tabular-nums">{value}</div>
|
| 427 |
-
</div>
|
| 428 |
-
)
|
| 429 |
-
}
|
| 430 |
-
|
| 431 |
function KeyValueRow({ label, value }: { label: string; value: string }) {
|
| 432 |
return (
|
| 433 |
<div className="grid grid-cols-[7rem_minmax(0,1fr)] items-start gap-x-3 border-b border-border/40 py-2 last:border-b-0 last:pb-0 first:pt-0">
|
|
@@ -438,39 +497,3 @@ function KeyValueRow({ label, value }: { label: string; value: string }) {
|
|
| 438 |
</div>
|
| 439 |
)
|
| 440 |
}
|
| 441 |
-
|
| 442 |
-
function SignalRow({
|
| 443 |
-
rank,
|
| 444 |
-
label,
|
| 445 |
-
rawLabel,
|
| 446 |
-
scoreLabel,
|
| 447 |
-
scorePercent,
|
| 448 |
-
isLast,
|
| 449 |
-
}: {
|
| 450 |
-
rank: number
|
| 451 |
-
label: string
|
| 452 |
-
rawLabel?: string
|
| 453 |
-
scoreLabel: string
|
| 454 |
-
scorePercent: number
|
| 455 |
-
isLast?: boolean
|
| 456 |
-
}) {
|
| 457 |
-
return (
|
| 458 |
-
<div className={`px-3 py-3 ${isLast ? "" : "border-b border-border/60"}`}>
|
| 459 |
-
<div className="flex items-start gap-3">
|
| 460 |
-
<div className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-muted text-[11px] font-semibold text-muted-foreground">
|
| 461 |
-
{rank}
|
| 462 |
-
</div>
|
| 463 |
-
<div className="min-w-0 flex-1">
|
| 464 |
-
<div className="flex items-start justify-between gap-3">
|
| 465 |
-
<div className="min-w-0">
|
| 466 |
-
<div className="truncate text-sm font-semibold">{label}</div>
|
| 467 |
-
{rawLabel && <div className="truncate text-xs text-muted-foreground">{rawLabel}</div>}
|
| 468 |
-
</div>
|
| 469 |
-
<div className="shrink-0 text-sm font-semibold tabular-nums">{scoreLabel}</div>
|
| 470 |
-
</div>
|
| 471 |
-
<Progress value={scorePercent} className="mt-2 h-1.5" />
|
| 472 |
-
</div>
|
| 473 |
-
</div>
|
| 474 |
-
</div>
|
| 475 |
-
)
|
| 476 |
-
}
|
|
|
|
| 1 |
"use client"
|
| 2 |
|
| 3 |
import type { CSSProperties } from "react"
|
| 4 |
+
import { useMemo } from "react"
|
| 5 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 6 |
import { useRouter } from "next/navigation"
|
| 7 |
import {
|
| 8 |
Award,
|
|
|
|
| 9 |
ChevronDown,
|
| 10 |
CheckCircle2,
|
| 11 |
ExternalLink,
|
|
|
|
| 18 |
} from "lucide-react"
|
| 19 |
|
| 20 |
import type { CategoryType } from "@/lib/benchmark-schema"
|
| 21 |
+
import { getCategoryColor } from "@/lib/benchmark-schema"
|
| 22 |
+
import type { BenchmarkCard } from "@/lib/benchmark-schema"
|
| 23 |
+
import { lookupBenchmarkCard } from "@/lib/benchmark-metadata-utils"
|
| 24 |
import { Badge } from "@/components/ui/badge"
|
| 25 |
import { Button } from "@/components/ui/button"
|
| 26 |
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
| 27 |
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
|
| 28 |
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
|
|
|
|
| 29 |
|
| 30 |
export type BenchmarkEvaluationCardData = {
|
| 31 |
id: string
|
|
|
|
| 78 |
|
| 79 |
interface BenchmarkEvaluationCardProps {
|
| 80 |
data: BenchmarkEvaluationCardData
|
| 81 |
+
benchmarkCards?: Record<string, BenchmarkCard>
|
| 82 |
onDelete?: (id: string) => void
|
| 83 |
delayMs?: number
|
| 84 |
selectedForCompare?: boolean
|
|
|
|
| 103 |
}
|
| 104 |
}
|
| 105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
function formatParamsBillions(value: number | null | undefined) {
|
| 107 |
if (value == null || Number.isNaN(value)) return null
|
| 108 |
if (value >= 100) return `${Math.round(value)}B`
|
|
|
|
| 158 |
return "Self-reported only"
|
| 159 |
}
|
| 160 |
|
| 161 |
+
const CATEGORY_PLOT_COLORS: Record<string, string> = {
|
| 162 |
+
"Core Performance": "#2563eb",
|
| 163 |
+
"Core Quality Dimensions": "#7c3aed",
|
| 164 |
+
"Robustness": "#0f766e",
|
| 165 |
+
"Calibration": "#0891b2",
|
| 166 |
+
"Adversarial": "#dc2626",
|
| 167 |
+
"Memorization": "#9333ea",
|
| 168 |
+
"Fairness": "#ea580c",
|
| 169 |
+
"Safety": "#16a34a",
|
| 170 |
+
"Leakage/Contamination": "#be123c",
|
| 171 |
+
"Privacy": "#0d9488",
|
| 172 |
+
"Interpretability": "#6366f1",
|
| 173 |
+
"Efficiency": "#ca8a04",
|
| 174 |
+
"Retrainability": "#1d4ed8",
|
| 175 |
+
"Meta-Learning": "#9333ea",
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
function getCategoryPlotColor(category: string) {
|
| 179 |
+
return CATEGORY_PLOT_COLORS[category] ?? "#64748b"
|
| 180 |
+
}
|
| 181 |
+
|
| 182 |
+
function CategoryCoveragePlot({
|
| 183 |
+
coverage,
|
| 184 |
+
}: {
|
| 185 |
+
coverage: Array<{ category: CategoryType; count: number }>
|
| 186 |
+
}) {
|
| 187 |
+
if (coverage.length === 0) {
|
| 188 |
+
return (
|
| 189 |
+
<div className="rounded-xl border border-dashed border-border/60 px-3 py-4 text-sm text-muted-foreground">
|
| 190 |
+
No category coverage recorded.
|
| 191 |
+
</div>
|
| 192 |
+
)
|
| 193 |
+
}
|
| 194 |
+
|
| 195 |
+
const totalCount = coverage.reduce((sum, item) => sum + item.count, 0)
|
| 196 |
+
|
| 197 |
+
return (
|
| 198 |
+
<div className="space-y-2">
|
| 199 |
+
<div
|
| 200 |
+
className="flex h-3 w-full items-stretch gap-1 rounded-full bg-muted/70"
|
| 201 |
+
aria-label="Category coverage distribution"
|
| 202 |
+
role="img"
|
| 203 |
+
>
|
| 204 |
+
{coverage.map((item) => (
|
| 205 |
+
<div
|
| 206 |
+
key={item.category}
|
| 207 |
+
className="min-w-2 rounded-full"
|
| 208 |
+
style={{
|
| 209 |
+
width: `${(item.count / totalCount) * 100}%`,
|
| 210 |
+
backgroundColor: getCategoryPlotColor(item.category),
|
| 211 |
+
}}
|
| 212 |
+
title={`${item.category}: ${item.count} benchmark${item.count !== 1 ? "s" : ""}`}
|
| 213 |
+
/>
|
| 214 |
+
))}
|
| 215 |
+
</div>
|
| 216 |
+
|
| 217 |
+
<div className="flex flex-wrap gap-1.5">
|
| 218 |
+
{coverage.slice(0, 4).map((item) => (
|
| 219 |
+
<span
|
| 220 |
+
key={item.category}
|
| 221 |
+
className={`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[10px] font-semibold ${getCategoryColor(item.category)}`}
|
| 222 |
+
>
|
| 223 |
+
<span
|
| 224 |
+
className="h-1.5 w-1.5 rounded-full"
|
| 225 |
+
style={{ backgroundColor: getCategoryPlotColor(item.category) }}
|
| 226 |
+
/>
|
| 227 |
+
{item.category}
|
| 228 |
+
<span className="opacity-70">{item.count}</span>
|
| 229 |
+
</span>
|
| 230 |
+
))}
|
| 231 |
+
</div>
|
| 232 |
+
</div>
|
| 233 |
+
)
|
| 234 |
+
}
|
| 235 |
+
|
| 236 |
export function BenchmarkEvaluationCard({
|
| 237 |
data,
|
| 238 |
+
benchmarkCards,
|
| 239 |
onDelete,
|
| 240 |
delayMs = 0,
|
| 241 |
selectedForCompare = false,
|
|
|
|
| 244 |
const router = useRouter()
|
| 245 |
const { mode } = useAudienceMode()
|
| 246 |
const isResearchView = mode === "research"
|
| 247 |
+
|
| 248 |
+
// Collect unique domains from this model's benchmarks using metadata cards
|
| 249 |
+
const modelDomains = useMemo(() => {
|
| 250 |
+
if (!benchmarkCards) return []
|
| 251 |
+
const domainCounts = new Map<string, number>()
|
| 252 |
+
for (const { benchmark } of data.top_scores) {
|
| 253 |
+
const card = lookupBenchmarkCard(benchmarkCards, benchmark)
|
| 254 |
+
for (const domain of card?.benchmark_details?.domains ?? []) {
|
| 255 |
+
domainCounts.set(domain, (domainCounts.get(domain) ?? 0) + 1)
|
| 256 |
+
}
|
| 257 |
+
}
|
| 258 |
+
return Array.from(domainCounts.entries())
|
| 259 |
+
.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
|
| 260 |
+
.map(([domain]) => domain)
|
| 261 |
+
}, [benchmarkCards, data.top_scores])
|
| 262 |
+
const categoryCoverage = useMemo(
|
| 263 |
+
() =>
|
| 264 |
+
Object.entries(data.category_stats)
|
| 265 |
+
.filter(([, count]) => count > 0)
|
| 266 |
+
.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
|
| 267 |
+
.map(([category, count]) => ({
|
| 268 |
+
category: category as CategoryType,
|
| 269 |
+
count,
|
| 270 |
+
})),
|
| 271 |
+
[data.category_stats]
|
| 272 |
+
)
|
| 273 |
const library = data.eval_libraries[0]
|
| 274 |
const paramsBillions = formatParamsBillions(data.params_billions)
|
| 275 |
const reportingSummaryLabel = getReportingSummaryLabel(data)
|
|
|
|
| 369 |
</CardHeader>
|
| 370 |
|
| 371 |
<CardContent className="space-y-4 pt-4">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 372 |
<div className="rounded-2xl border border-border/70 bg-muted/10 px-4 py-3">
|
| 373 |
+
<div className="flex flex-wrap items-center justify-between gap-3">
|
| 374 |
+
<div>
|
| 375 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground">
|
| 376 |
+
Category coverage
|
| 377 |
+
</div>
|
| 378 |
+
<div className="mt-1 text-sm text-muted-foreground">
|
| 379 |
+
{categoryCoverage.length} {categoryCoverage.length === 1 ? "category" : "categories"}
|
| 380 |
+
</div>
|
| 381 |
+
</div>
|
| 382 |
+
<div className="text-right">
|
| 383 |
+
<div className="text-lg font-semibold tabular-nums text-foreground">{data.evaluator_count}</div>
|
| 384 |
+
<div className="text-[11px] uppercase tracking-[0.18em] text-muted-foreground">reporting orgs</div>
|
| 385 |
+
</div>
|
| 386 |
</div>
|
| 387 |
+
|
| 388 |
+
<div className="mt-3">
|
| 389 |
+
<CategoryCoveragePlot coverage={categoryCoverage} />
|
|
|
|
| 390 |
</div>
|
| 391 |
</div>
|
| 392 |
|
| 393 |
+
{modelDomains.length > 0 && (
|
| 394 |
+
<div className="space-y-2">
|
| 395 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground">
|
| 396 |
+
Top domain coverage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 397 |
</div>
|
| 398 |
+
<div className="flex flex-wrap gap-1.5">
|
| 399 |
+
{modelDomains.slice(0, 5).map((domain) => (
|
| 400 |
+
<span
|
| 401 |
+
key={domain}
|
| 402 |
+
className="inline-flex items-center rounded-full border border-border/50 bg-muted/40 px-2.5 py-0.5 text-[11px] font-medium capitalize text-muted-foreground"
|
| 403 |
+
>
|
| 404 |
+
{domain}
|
| 405 |
+
</span>
|
| 406 |
+
))}
|
| 407 |
+
{modelDomains.length > 5 && (
|
| 408 |
+
<span className="inline-flex items-center rounded-full border border-border/50 bg-muted/40 px-2.5 py-0.5 text-[11px] font-medium text-muted-foreground">
|
| 409 |
+
+{modelDomains.length - 5} more
|
| 410 |
+
</span>
|
| 411 |
+
)}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 412 |
</div>
|
| 413 |
+
</div>
|
| 414 |
+
)}
|
| 415 |
|
| 416 |
<Collapsible className="rounded-2xl border border-border/70 bg-background">
|
| 417 |
<CollapsibleTrigger asChild>
|
|
|
|
| 425 |
Dive Deeper
|
| 426 |
</div>
|
| 427 |
<div className="mt-1 text-sm font-semibold text-foreground">
|
| 428 |
+
{isResearchView ? "Methodology & provenance details" : "Reporting & accountability details"}
|
| 429 |
</div>
|
| 430 |
</div>
|
| 431 |
<ChevronDown className="h-4 w-4 text-muted-foreground" />
|
|
|
|
| 433 |
</CollapsibleTrigger>
|
| 434 |
<CollapsibleContent onClick={(event) => event.stopPropagation()} className="border-t border-border/60 px-4 py-4">
|
| 435 |
<div className="space-y-0 text-sm">
|
| 436 |
+
{isResearchView ? (
|
| 437 |
+
<>
|
| 438 |
+
<KeyValueRow label="Reporting sources" value={reportingSummaryLabel} />
|
| 439 |
+
{library && (
|
| 440 |
+
<KeyValueRow label="Library" value={`${library.name}${library.version ? ` ${library.version}` : ""}`} />
|
| 441 |
+
)}
|
| 442 |
+
{data.latest_source_name && (
|
| 443 |
+
<KeyValueRow label="Latest report" value={data.latest_source_name} />
|
| 444 |
+
)}
|
| 445 |
+
<KeyValueRow label="Updated" value={formatDate(data.latest_timestamp)} />
|
| 446 |
+
<KeyValueRow label="Reproducibility" value={reproducibility.label} />
|
| 447 |
+
<KeyValueRow label="Independence" value={independentSummary} />
|
| 448 |
+
{data.source_types.length > 0 && (
|
| 449 |
+
<KeyValueRow label="Source types" value={data.source_types.map((s) => s.replace(/_/g, " ")).join(", ")} />
|
| 450 |
+
)}
|
| 451 |
+
{data.architecture && <KeyValueRow label="Architecture" value={data.architecture} />}
|
| 452 |
+
{data.missing_generation_config_count > 0 && (
|
| 453 |
+
<KeyValueRow label="Missing config" value={`${data.missing_generation_config_count} result${data.missing_generation_config_count !== 1 ? "s" : ""}`} />
|
| 454 |
+
)}
|
| 455 |
+
{library?.fork && (
|
| 456 |
+
<div className="mt-3 flex items-start gap-2 rounded-xl bg-amber-50/80 px-3 py-2 text-xs text-amber-900 dark:bg-amber-950/20 dark:text-amber-200">
|
| 457 |
+
<LibraryBig className="mt-0.5 h-3.5 w-3.5 shrink-0 text-amber-600 dark:text-amber-300" />
|
| 458 |
+
<span>Non-standard eval library fork</span>
|
| 459 |
+
</div>
|
| 460 |
+
)}
|
| 461 |
+
</>
|
| 462 |
+
) : (
|
| 463 |
+
<>
|
| 464 |
+
<KeyValueRow label="Who reported" value={reportingSummaryLabel} />
|
| 465 |
+
<KeyValueRow label="Independence" value={independentSummary} />
|
| 466 |
+
<KeyValueRow label="Reproducibility" value={reproducibility.label} />
|
| 467 |
+
{data.latest_source_name && (
|
| 468 |
+
<KeyValueRow label="Latest source" value={data.latest_source_name} />
|
| 469 |
+
)}
|
| 470 |
+
<KeyValueRow label="Updated" value={formatDate(data.latest_timestamp)} />
|
| 471 |
+
{data.source_types.length > 0 && (
|
| 472 |
+
<KeyValueRow label="Evidence types" value={data.source_types.map((s) => s.replace(/_/g, " ")).join(", ")} />
|
| 473 |
+
)}
|
| 474 |
+
{data.missing_generation_config_count > 0 && (
|
| 475 |
+
<div className="mt-3 flex items-start gap-2 rounded-xl bg-amber-50/80 px-3 py-2 text-xs text-amber-900 dark:bg-amber-950/20 dark:text-amber-200">
|
| 476 |
+
<LibraryBig className="mt-0.5 h-3.5 w-3.5 shrink-0 text-amber-600 dark:text-amber-300" />
|
| 477 |
+
<span>{data.missing_generation_config_count} result{data.missing_generation_config_count !== 1 ? "s" : ""} lack documented generation settings — comparisons should be read with care.</span>
|
| 478 |
+
</div>
|
| 479 |
+
)}
|
| 480 |
+
</>
|
| 481 |
)}
|
| 482 |
</div>
|
| 483 |
</CollapsibleContent>
|
|
|
|
| 487 |
)
|
| 488 |
}
|
| 489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 490 |
function KeyValueRow({ label, value }: { label: string; value: string }) {
|
| 491 |
return (
|
| 492 |
<div className="grid grid-cols-[7rem_minmax(0,1fr)] items-start gap-x-3 border-b border-border/40 py-2 last:border-b-0 last:pb-0 first:pt-0">
|
|
|
|
| 497 |
</div>
|
| 498 |
)
|
| 499 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/eval-card.tsx
CHANGED
|
@@ -15,6 +15,35 @@ import {
|
|
| 15 |
Users,
|
| 16 |
} from "lucide-react"
|
| 17 |
import type { BenchmarkEvalListItem } from "@/lib/eval-processing"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
interface EvalCardProps {
|
| 20 |
summary: BenchmarkEvalListItem
|
|
@@ -27,6 +56,25 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 27 |
const isResearchView = mode === "research"
|
| 28 |
const scorePercent = `${Math.round(summary.avg_score_norm * 100)}%`
|
| 29 |
const purpose = summary.factsheet?.purpose ?? "General single-benchmark evaluation"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
return (
|
| 32 |
<Card
|
|
@@ -35,8 +83,22 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 35 |
onClick={() => router.push(`/evals/${summary.evaluation_id}`)}
|
| 36 |
>
|
| 37 |
<CardHeader className="space-y-3 border-b border-border/60 pb-4">
|
| 38 |
-
<div className="
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
</div>
|
| 41 |
|
| 42 |
<div className="min-w-0">
|
|
@@ -45,10 +107,28 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 45 |
Composite benchmark: {summary.composite_benchmark_name}
|
| 46 |
</div>
|
| 47 |
<div className="mt-1 text-sm text-muted-foreground line-clamp-2">
|
| 48 |
-
{summary.metric_config.evaluation_description}
|
| 49 |
</div>
|
| 50 |
</div>
|
| 51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
<div className="flex flex-wrap gap-2">
|
| 53 |
{summary.third_party_ratio > 0 && (
|
| 54 |
<Badge className="bg-emerald-600 text-white hover:bg-emerald-600">
|
|
@@ -74,6 +154,14 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 74 |
<MetricPill icon={Users} label="Evaluators" value={summary.evaluator_names.length.toLocaleString()} tone="bg-emerald-100/80 text-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-100" />
|
| 75 |
</div>
|
| 76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
<div className="rounded-xl border bg-muted/10 p-3">
|
| 78 |
<div className="mb-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Methodology</div>
|
| 79 |
<div className="space-y-1.5 text-sm">
|
|
@@ -91,25 +179,46 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 91 |
: "Fully documented"
|
| 92 |
}
|
| 93 |
/>
|
| 94 |
-
<DataRow
|
| 95 |
-
|
| 96 |
-
value={
|
| 97 |
-
|
| 98 |
</div>
|
| 99 |
</div>
|
| 100 |
</>
|
| 101 |
) : (
|
| 102 |
<>
|
|
|
|
| 103 |
<div className="rounded-xl border border-amber-200/70 bg-amber-50/75 p-3 dark:border-amber-900/40 dark:bg-amber-950/15">
|
| 104 |
<div className="flex items-start gap-2">
|
| 105 |
<Scale className="mt-0.5 h-4 w-4 shrink-0 text-amber-600" />
|
| 106 |
<div>
|
| 107 |
<div className="text-sm font-semibold">Purpose</div>
|
| 108 |
-
<div className="text-sm text-muted-foreground">
|
|
|
|
|
|
|
| 109 |
</div>
|
| 110 |
</div>
|
| 111 |
</div>
|
| 112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
<div className="grid gap-2 sm:grid-cols-2">
|
| 114 |
<MetricPill icon={BadgeCheck} label="Independent" value={`${Math.round(summary.third_party_ratio * 100)}%`} tone="bg-emerald-100/80 text-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-100" />
|
| 115 |
<MetricPill icon={BookOpenText} label="Models" value={summary.models_count.toLocaleString()} tone="bg-sky-100/80 text-sky-900 dark:bg-sky-950/40 dark:text-sky-100" />
|
|
@@ -117,14 +226,8 @@ export function EvalCard({ summary, delayMs = 0 }: EvalCardProps) {
|
|
| 117 |
|
| 118 |
<div className="rounded-xl border bg-muted/10 p-3">
|
| 119 |
<div className="space-y-1.5 text-sm">
|
| 120 |
-
<DataRow
|
| 121 |
-
|
| 122 |
-
value={scorePercent}
|
| 123 |
-
/>
|
| 124 |
-
<DataRow
|
| 125 |
-
label="Reported by"
|
| 126 |
-
value={summary.evaluator_names.join(", ") || "Unknown"}
|
| 127 |
-
/>
|
| 128 |
{summary.missing_generation_config_count > 0 && (
|
| 129 |
<p className="pt-1 text-xs text-muted-foreground">
|
| 130 |
Some results lack documented generation settings — direct score comparisons should be read with care.
|
|
|
|
| 15 |
Users,
|
| 16 |
} from "lucide-react"
|
| 17 |
import type { BenchmarkEvalListItem } from "@/lib/eval-processing"
|
| 18 |
+
import { getCategoryColor } from "@/lib/benchmark-schema"
|
| 19 |
+
|
| 20 |
+
const LICENSE_COLORS: Record<string, string> = {
|
| 21 |
+
"mit": "bg-emerald-100 text-emerald-800 border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-200",
|
| 22 |
+
"apache": "bg-sky-100 text-sky-800 border-sky-200 dark:bg-sky-950/40 dark:text-sky-200",
|
| 23 |
+
"cc by": "bg-violet-100 text-violet-800 border-violet-200 dark:bg-violet-950/40 dark:text-violet-200",
|
| 24 |
+
"cc0": "bg-teal-100 text-teal-800 border-teal-200 dark:bg-teal-950/40 dark:text-teal-200",
|
| 25 |
+
"cc-by-sa": "bg-indigo-100 text-indigo-800 border-indigo-200 dark:bg-indigo-950/40 dark:text-indigo-200",
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
function licenseBadgeClass(license: string): string {
|
| 29 |
+
const l = license.toLowerCase()
|
| 30 |
+
for (const [key, cls] of Object.entries(LICENSE_COLORS)) {
|
| 31 |
+
if (l.includes(key)) return cls
|
| 32 |
+
}
|
| 33 |
+
return "bg-muted text-muted-foreground border-border"
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
function shortenLicense(license: string): string {
|
| 37 |
+
if (!license || license === "Not specified") return ""
|
| 38 |
+
// Shorten known verbose license names
|
| 39 |
+
if (license.toLowerCase().includes("creative commons attribution 4")) return "CC BY 4.0"
|
| 40 |
+
if (license.toLowerCase().includes("creative commons zero")) return "CC0"
|
| 41 |
+
if (license.toLowerCase().includes("apache license 2") || license.toLowerCase().includes("apache 2")) return "Apache 2.0"
|
| 42 |
+
if (license.toLowerCase().includes("mit license")) return "MIT"
|
| 43 |
+
if (license.toLowerCase().includes("cc-by-sa")) return "CC BY-SA"
|
| 44 |
+
if (license.length > 24) return license.slice(0, 22) + "…"
|
| 45 |
+
return license
|
| 46 |
+
}
|
| 47 |
|
| 48 |
interface EvalCardProps {
|
| 49 |
summary: BenchmarkEvalListItem
|
|
|
|
| 56 |
const isResearchView = mode === "research"
|
| 57 |
const scorePercent = `${Math.round(summary.avg_score_norm * 100)}%`
|
| 58 |
const purpose = summary.factsheet?.purpose ?? "General single-benchmark evaluation"
|
| 59 |
+
const card = summary.benchmark_card
|
| 60 |
+
const domains: string[] = card?.benchmark_details?.domains ?? []
|
| 61 |
+
const license = card?.ethical_and_legal_considerations?.data_licensing ?? ""
|
| 62 |
+
const shortLicense = shortenLicense(license)
|
| 63 |
+
// Use the benchmark overview as a richer description when available
|
| 64 |
+
const overviewText = card?.benchmark_details?.overview
|
| 65 |
+
// Policy: rich context from metadata card
|
| 66 |
+
const policyGoal = card?.purpose_and_intended_users?.goal
|
| 67 |
+
const policyLimitations = card?.purpose_and_intended_users?.limitations
|
| 68 |
+
const policyAudience = card?.purpose_and_intended_users?.audience
|
| 69 |
+
const audienceText = Array.isArray(policyAudience)
|
| 70 |
+
? policyAudience.slice(0, 2).join("; ")
|
| 71 |
+
: typeof policyAudience === "string"
|
| 72 |
+
? policyAudience
|
| 73 |
+
: null
|
| 74 |
+
// Research: score interpretation + similar benchmarks
|
| 75 |
+
const scoreInterpretation = card?.methodology?.interpretation
|
| 76 |
+
const rawSimilar = card?.benchmark_details?.similar_benchmarks
|
| 77 |
+
const similarBenchmarks: string[] = Array.isArray(rawSimilar) ? rawSimilar : rawSimilar ? [rawSimilar] : []
|
| 78 |
|
| 79 |
return (
|
| 80 |
<Card
|
|
|
|
| 83 |
onClick={() => router.push(`/evals/${summary.evaluation_id}`)}
|
| 84 |
>
|
| 85 |
<CardHeader className="space-y-3 border-b border-border/60 pb-4">
|
| 86 |
+
<div className="flex items-center justify-between gap-2">
|
| 87 |
+
<div className="flex items-center gap-2">
|
| 88 |
+
<div className="text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground">
|
| 89 |
+
Single Benchmark
|
| 90 |
+
</div>
|
| 91 |
+
{summary.category && (
|
| 92 |
+
<span className={`rounded-full border px-2 py-0.5 text-[10px] font-semibold ${getCategoryColor(summary.category)}`}>
|
| 93 |
+
{summary.category}
|
| 94 |
+
</span>
|
| 95 |
+
)}
|
| 96 |
+
</div>
|
| 97 |
+
{shortLicense && (
|
| 98 |
+
<span className={`rounded-full border px-2 py-0.5 text-[10px] font-semibold ${licenseBadgeClass(license)}`}>
|
| 99 |
+
{shortLicense}
|
| 100 |
+
</span>
|
| 101 |
+
)}
|
| 102 |
</div>
|
| 103 |
|
| 104 |
<div className="min-w-0">
|
|
|
|
| 107 |
Composite benchmark: {summary.composite_benchmark_name}
|
| 108 |
</div>
|
| 109 |
<div className="mt-1 text-sm text-muted-foreground line-clamp-2">
|
| 110 |
+
{overviewText ?? summary.metric_config.evaluation_description}
|
| 111 |
</div>
|
| 112 |
</div>
|
| 113 |
|
| 114 |
+
{domains.length > 0 && (
|
| 115 |
+
<div className="flex flex-wrap gap-1.5">
|
| 116 |
+
{domains.slice(0, 5).map((d) => (
|
| 117 |
+
<span
|
| 118 |
+
key={d}
|
| 119 |
+
className="rounded-full border border-border/60 bg-muted/40 px-2 py-0.5 text-[10px] font-medium capitalize text-muted-foreground"
|
| 120 |
+
>
|
| 121 |
+
{d}
|
| 122 |
+
</span>
|
| 123 |
+
))}
|
| 124 |
+
{domains.length > 5 && (
|
| 125 |
+
<span className="rounded-full border border-border/60 bg-muted/40 px-2 py-0.5 text-[10px] font-medium text-muted-foreground">
|
| 126 |
+
+{domains.length - 5}
|
| 127 |
+
</span>
|
| 128 |
+
)}
|
| 129 |
+
</div>
|
| 130 |
+
)}
|
| 131 |
+
|
| 132 |
<div className="flex flex-wrap gap-2">
|
| 133 |
{summary.third_party_ratio > 0 && (
|
| 134 |
<Badge className="bg-emerald-600 text-white hover:bg-emerald-600">
|
|
|
|
| 154 |
<MetricPill icon={Users} label="Evaluators" value={summary.evaluator_names.length.toLocaleString()} tone="bg-emerald-100/80 text-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-100" />
|
| 155 |
</div>
|
| 156 |
|
| 157 |
+
{/* Research: score interpretation from metadata */}
|
| 158 |
+
{scoreInterpretation && (
|
| 159 |
+
<div className="rounded-xl border border-sky-200/60 bg-sky-50/40 p-3 text-sm dark:border-sky-900/40 dark:bg-sky-950/10">
|
| 160 |
+
<div className="mb-1 text-[10px] font-semibold uppercase tracking-[0.18em] text-sky-700 dark:text-sky-300">Score interpretation</div>
|
| 161 |
+
<p className="text-muted-foreground line-clamp-2">{scoreInterpretation}</p>
|
| 162 |
+
</div>
|
| 163 |
+
)}
|
| 164 |
+
|
| 165 |
<div className="rounded-xl border bg-muted/10 p-3">
|
| 166 |
<div className="mb-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Methodology</div>
|
| 167 |
<div className="space-y-1.5 text-sm">
|
|
|
|
| 179 |
: "Fully documented"
|
| 180 |
}
|
| 181 |
/>
|
| 182 |
+
<DataRow label="Third-party" value={`${Math.round(summary.third_party_ratio * 100)}%`} />
|
| 183 |
+
{similarBenchmarks.length > 0 && (
|
| 184 |
+
<DataRow label="See also" value={similarBenchmarks.slice(0, 3).join(", ")} />
|
| 185 |
+
)}
|
| 186 |
</div>
|
| 187 |
</div>
|
| 188 |
</>
|
| 189 |
) : (
|
| 190 |
<>
|
| 191 |
+
{/* Policy: goal (from metadata card if available, otherwise factsheet purpose) */}
|
| 192 |
<div className="rounded-xl border border-amber-200/70 bg-amber-50/75 p-3 dark:border-amber-900/40 dark:bg-amber-950/15">
|
| 193 |
<div className="flex items-start gap-2">
|
| 194 |
<Scale className="mt-0.5 h-4 w-4 shrink-0 text-amber-600" />
|
| 195 |
<div>
|
| 196 |
<div className="text-sm font-semibold">Purpose</div>
|
| 197 |
+
<div className="text-sm text-muted-foreground line-clamp-3">
|
| 198 |
+
{policyGoal ?? purpose}
|
| 199 |
+
</div>
|
| 200 |
</div>
|
| 201 |
</div>
|
| 202 |
</div>
|
| 203 |
|
| 204 |
+
{/* Policy: audience + limitations from metadata */}
|
| 205 |
+
{(audienceText || policyLimitations) && (
|
| 206 |
+
<div className="space-y-2">
|
| 207 |
+
{audienceText && (
|
| 208 |
+
<div className="rounded-xl border border-sky-200/60 bg-sky-50/50 p-3 text-sm dark:border-sky-900/40 dark:bg-sky-950/15">
|
| 209 |
+
<span className="font-semibold text-sky-800 dark:text-sky-200">Intended for: </span>
|
| 210 |
+
<span className="text-muted-foreground">{audienceText}</span>
|
| 211 |
+
</div>
|
| 212 |
+
)}
|
| 213 |
+
{policyLimitations && (
|
| 214 |
+
<div className="rounded-xl border border-rose-200/60 bg-rose-50/50 p-3 text-sm dark:border-rose-900/40 dark:bg-rose-950/15">
|
| 215 |
+
<span className="font-semibold text-rose-800 dark:text-rose-200">Known limitation: </span>
|
| 216 |
+
<span className="text-muted-foreground line-clamp-2">{policyLimitations}</span>
|
| 217 |
+
</div>
|
| 218 |
+
)}
|
| 219 |
+
</div>
|
| 220 |
+
)}
|
| 221 |
+
|
| 222 |
<div className="grid gap-2 sm:grid-cols-2">
|
| 223 |
<MetricPill icon={BadgeCheck} label="Independent" value={`${Math.round(summary.third_party_ratio * 100)}%`} tone="bg-emerald-100/80 text-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-100" />
|
| 224 |
<MetricPill icon={BookOpenText} label="Models" value={summary.models_count.toLocaleString()} tone="bg-sky-100/80 text-sky-900 dark:bg-sky-950/40 dark:text-sky-100" />
|
|
|
|
| 226 |
|
| 227 |
<div className="rounded-xl border bg-muted/10 p-3">
|
| 228 |
<div className="space-y-1.5 text-sm">
|
| 229 |
+
<DataRow label="Avg score" value={scorePercent} />
|
| 230 |
+
<DataRow label="Reported by" value={summary.evaluator_names.join(", ") || "Unknown"} />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
{summary.missing_generation_config_count > 0 && (
|
| 232 |
<p className="pt-1 text-xs text-muted-foreground">
|
| 233 |
Some results lack documented generation settings — direct score comparisons should be read with care.
|
components/eval-detail.tsx
CHANGED
|
@@ -2,21 +2,31 @@
|
|
| 2 |
|
| 3 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 4 |
import { Fragment, useMemo, useState } from "react"
|
|
|
|
| 5 |
import { Badge } from "@/components/ui/badge"
|
| 6 |
import { Button } from "@/components/ui/button"
|
| 7 |
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
|
|
|
| 8 |
import { Progress } from "@/components/ui/progress"
|
| 9 |
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
|
|
|
| 10 |
import { cn } from "@/lib/utils"
|
| 11 |
import {
|
|
|
|
| 12 |
BarChart3,
|
|
|
|
| 13 |
ChevronDown,
|
| 14 |
ChevronUp,
|
| 15 |
Database,
|
| 16 |
ExternalLink,
|
|
|
|
| 17 |
Globe,
|
| 18 |
Medal,
|
|
|
|
|
|
|
|
|
|
| 19 |
} from "lucide-react"
|
|
|
|
| 20 |
import type { BenchmarkEvalSummary, ModelResultForBenchmark } from "@/lib/eval-processing"
|
| 21 |
|
| 22 |
interface EvalDetailProps {
|
|
@@ -30,6 +40,136 @@ interface LeaderboardRow {
|
|
| 30 |
normalizedScore: number
|
| 31 |
}
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
function formatMetadataValue(value: unknown): string {
|
| 34 |
if (value == null) {
|
| 35 |
return "N/A"
|
|
@@ -98,6 +238,9 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 98 |
const { mode } = useAudienceMode()
|
| 99 |
const isResearchView = mode === "research"
|
| 100 |
const [expandedRows, setExpandedRows] = useState<Record<string, boolean>>({})
|
|
|
|
|
|
|
|
|
|
| 101 |
|
| 102 |
const maxScore = summary.metric_config.max_score ?? 1
|
| 103 |
const minScore = summary.metric_config.min_score ?? 0
|
|
@@ -105,6 +248,25 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 105 |
|
| 106 |
const normalizeScore = (raw: number) => (range > 0 ? (raw - minScore) / range : raw)
|
| 107 |
const formatPercent = (normalized: number) => `${(normalized * 100).toFixed(1)}%`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
|
| 109 |
const sortedResults = useMemo(
|
| 110 |
() =>
|
|
@@ -114,11 +276,32 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 114 |
[summary.model_results, summary.metric_config.lower_is_better]
|
| 115 |
)
|
| 116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
const leaderboardRows = useMemo<LeaderboardRow[]>(() => {
|
| 118 |
let currentRank = 0
|
| 119 |
let previousScore: number | null = null
|
| 120 |
|
| 121 |
-
return
|
| 122 |
if (previousScore === null || Math.abs(modelResult.score - previousScore) > 1e-9) {
|
| 123 |
currentRank = index + 1
|
| 124 |
previousScore = modelResult.score
|
|
@@ -131,14 +314,24 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 131 |
normalizedScore: normalizeScore(modelResult.score),
|
| 132 |
}
|
| 133 |
})
|
| 134 |
-
}, [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
|
| 136 |
const avgNorm = formatPercent(summary.avg_score_norm)
|
| 137 |
const scoreDirectionLabel = summary.metric_config.lower_is_better ? "Lower scores rank higher" : "Higher scores rank higher"
|
| 138 |
const leaderboardTitle = isResearchView ? "Leaderboard" : "Reporting Comparison"
|
| 139 |
const leaderboardDescription = isResearchView
|
| 140 |
-
?
|
| 141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
|
| 143 |
const toggleRow = (key: string) =>
|
| 144 |
setExpandedRows((current) => ({
|
|
@@ -154,11 +347,17 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 154 |
<div className="space-y-3">
|
| 155 |
<div className="flex flex-wrap items-center gap-2">
|
| 156 |
<Badge variant="outline" className="border-border/60 bg-background/80 text-[11px] uppercase tracking-[0.18em]">
|
| 157 |
-
Single Benchmark
|
| 158 |
-
</Badge>
|
| 159 |
-
<Badge variant="secondary" className="font-normal">
|
| 160 |
-
Composite: {summary.composite_benchmark_name}
|
| 161 |
</Badge>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 162 |
<Badge variant="secondary" className="font-normal capitalize">
|
| 163 |
{summary.metric_config.score_type}
|
| 164 |
</Badge>
|
|
@@ -235,14 +434,22 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 235 |
<dt className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 236 |
Composite benchmark
|
| 237 |
</dt>
|
| 238 |
-
<dd className="mt-1 break-words font-medium">
|
|
|
|
|
|
|
|
|
|
|
|
|
| 239 |
</div>
|
| 240 |
<div>
|
| 241 |
<dt className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 242 |
{isResearchView ? "Single benchmark ID" : "What this covers"}
|
| 243 |
</dt>
|
| 244 |
<dd className="mt-1 break-words font-medium">
|
| 245 |
-
{isResearchView
|
|
|
|
|
|
|
|
|
|
|
|
|
| 246 |
</dd>
|
| 247 |
</div>
|
| 248 |
<div>
|
|
@@ -286,6 +493,11 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 286 |
</CardContent>
|
| 287 |
</Card>
|
| 288 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 289 |
<Card className="overflow-hidden">
|
| 290 |
<CardHeader className="border-b bg-muted/10">
|
| 291 |
<div className="flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between">
|
|
@@ -298,8 +510,17 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 298 |
</div>
|
| 299 |
|
| 300 |
<div className="flex flex-wrap items-center gap-2 text-xs text-muted-foreground">
|
| 301 |
-
<Badge variant="secondary">
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
<Badge variant="outline">{scoreDirectionLabel}</Badge>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 303 |
{isResearchView && (
|
| 304 |
<Badge variant="outline">
|
| 305 |
Scale {summary.metric_config.min_score ?? 0} - {summary.metric_config.max_score ?? 1}
|
|
@@ -310,6 +531,89 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 310 |
</CardHeader>
|
| 311 |
|
| 312 |
<CardContent className="p-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 313 |
<Table className="min-w-[980px]">
|
| 314 |
<TableHeader>
|
| 315 |
<TableRow className="hover:bg-transparent">
|
|
@@ -332,11 +636,14 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 332 |
</TableRow>
|
| 333 |
</TableHeader>
|
| 334 |
<TableBody>
|
| 335 |
-
{
|
| 336 |
const isExpanded = expandedRows[key] ?? false
|
| 337 |
const subtasks = modelResult.score_details.details
|
| 338 |
? Object.entries(modelResult.score_details.details).filter(([, value]) => typeof value === "number")
|
| 339 |
: []
|
|
|
|
|
|
|
|
|
|
| 340 |
|
| 341 |
const datasetName = Array.isArray(modelResult.source_data)
|
| 342 |
? undefined
|
|
@@ -362,7 +669,14 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 362 |
|
| 363 |
<TableCell className="whitespace-normal">
|
| 364 |
<div className="space-y-1">
|
| 365 |
-
<div className="font-semibold leading-tight">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
<div className="flex flex-wrap items-center gap-2 text-xs text-muted-foreground">
|
| 367 |
{modelResult.model_info.parameter_count && (
|
| 368 |
<Badge variant="secondary" className="font-normal">
|
|
@@ -377,6 +691,11 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 377 |
<span className="lg:hidden">
|
| 378 |
{modelResult.model_info.developer ?? "Unknown developer"}
|
| 379 |
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 380 |
</div>
|
| 381 |
</div>
|
| 382 |
</TableCell>
|
|
@@ -408,18 +727,33 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 408 |
) : (
|
| 409 |
<TableCell className="hidden md:table-cell">
|
| 410 |
<div className="text-sm text-muted-foreground capitalize">
|
| 411 |
-
{modelResult.
|
|
|
|
|
|
|
| 412 |
</div>
|
| 413 |
</TableCell>
|
| 414 |
)}
|
| 415 |
|
| 416 |
<TableCell className="hidden whitespace-normal xl:table-cell">
|
| 417 |
-
|
| 418 |
-
<div className="
|
| 419 |
-
|
| 420 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 421 |
</div>
|
| 422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 423 |
</TableCell>
|
| 424 |
|
| 425 |
<TableCell className="hidden lg:table-cell">
|
|
@@ -427,14 +761,16 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 427 |
</TableCell>
|
| 428 |
|
| 429 |
<TableCell className="px-4 text-right">
|
| 430 |
-
|
| 431 |
-
|
| 432 |
-
|
| 433 |
-
|
| 434 |
-
|
| 435 |
-
|
| 436 |
-
|
| 437 |
-
|
|
|
|
|
|
|
| 438 |
</TableCell>
|
| 439 |
</TableRow>
|
| 440 |
|
|
@@ -515,9 +851,12 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 515 |
: "Normalized performance plus uncertainty and sample details."
|
| 516 |
}
|
| 517 |
>
|
| 518 |
-
<MetaRow label="Normalized Score" value={formatPercent(normalizedScore)} />
|
| 519 |
<MetaRow
|
| 520 |
-
label="
|
|
|
|
|
|
|
|
|
|
|
|
|
| 521 |
value={formatRawScore(modelResult.score, summary.metric_config.unit)}
|
| 522 |
/>
|
| 523 |
<MetaRow label="Score Type" value={modelResult.result.metric_config.score_type} />
|
|
@@ -539,41 +878,64 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 539 |
</DetailPanel>
|
| 540 |
</div>
|
| 541 |
|
| 542 |
-
{
|
| 543 |
-
<div className="space-y-
|
| 544 |
-
<div>
|
| 545 |
-
|
| 546 |
-
Subtask Distribution
|
| 547 |
-
</div>
|
| 548 |
-
<div className="text-sm text-muted-foreground">
|
| 549 |
-
Detailed sub-metric scores for this model run.
|
| 550 |
-
</div>
|
| 551 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 552 |
|
| 553 |
-
|
| 554 |
-
|
| 555 |
-
|
| 556 |
-
|
| 557 |
-
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
|
| 575 |
-
|
| 576 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 577 |
</div>
|
| 578 |
</div>
|
| 579 |
)}
|
|
@@ -633,14 +995,68 @@ export function EvalDetail({ summary }: EvalDetailProps) {
|
|
| 633 |
</Fragment>
|
| 634 |
)
|
| 635 |
})}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 636 |
</TableBody>
|
| 637 |
</Table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 638 |
</CardContent>
|
| 639 |
</Card>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 640 |
</div>
|
| 641 |
)
|
| 642 |
}
|
| 643 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 644 |
function DetailPanel({
|
| 645 |
title,
|
| 646 |
subtitle,
|
|
@@ -675,3 +1091,305 @@ function MetaRow({
|
|
| 675 |
</div>
|
| 676 |
)
|
| 677 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
import { useAudienceMode } from "@/components/audience-mode-provider"
|
| 4 |
import { Fragment, useMemo, useState } from "react"
|
| 5 |
+
import Link from "next/link"
|
| 6 |
import { Badge } from "@/components/ui/badge"
|
| 7 |
import { Button } from "@/components/ui/button"
|
| 8 |
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
| 9 |
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
|
| 10 |
import { Progress } from "@/components/ui/progress"
|
| 11 |
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
| 12 |
+
import { getModelFamilyRouteId } from "@/lib/model-family"
|
| 13 |
import { cn } from "@/lib/utils"
|
| 14 |
import {
|
| 15 |
+
AlertTriangle,
|
| 16 |
BarChart3,
|
| 17 |
+
BookOpen,
|
| 18 |
ChevronDown,
|
| 19 |
ChevronUp,
|
| 20 |
Database,
|
| 21 |
ExternalLink,
|
| 22 |
+
FileText,
|
| 23 |
Globe,
|
| 24 |
Medal,
|
| 25 |
+
Scale,
|
| 26 |
+
Shield,
|
| 27 |
+
Tag,
|
| 28 |
} from "lucide-react"
|
| 29 |
+
import type { BenchmarkCard } from "@/lib/benchmark-schema"
|
| 30 |
import type { BenchmarkEvalSummary, ModelResultForBenchmark } from "@/lib/eval-processing"
|
| 31 |
|
| 32 |
interface EvalDetailProps {
|
|
|
|
| 40 |
normalizedScore: number
|
| 41 |
}
|
| 42 |
|
| 43 |
+
const PARAM_RANGE_VALUES = [1, 2, 3, 4, 6, 8, 10, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 500] as const
|
| 44 |
+
const PARAM_RANGE_MARKERS = [
|
| 45 |
+
{ label: "< 1B", step: 0 },
|
| 46 |
+
{ label: "6B", step: PARAM_RANGE_VALUES.indexOf(6) },
|
| 47 |
+
{ label: "12B", step: PARAM_RANGE_VALUES.indexOf(12) },
|
| 48 |
+
{ label: "32B", step: PARAM_RANGE_VALUES.indexOf(32) },
|
| 49 |
+
{ label: "128B", step: PARAM_RANGE_VALUES.indexOf(128) },
|
| 50 |
+
{ label: "> 500B", step: PARAM_RANGE_VALUES.length - 1 },
|
| 51 |
+
] as const
|
| 52 |
+
|
| 53 |
+
function formatParamBoundLabel(step: number, bound: "min" | "max") {
|
| 54 |
+
const maxStepIndex = PARAM_RANGE_VALUES.length - 1
|
| 55 |
+
|
| 56 |
+
if (bound === "min" && step <= 0) {
|
| 57 |
+
return "< 1B"
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
if (bound === "max" && step >= maxStepIndex) {
|
| 61 |
+
return "> 500B"
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
const value = PARAM_RANGE_VALUES[step]
|
| 65 |
+
return value != null ? `${value}B` : "Not reported"
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
function parseParamsBillionsFromText(value: string | null | undefined) {
|
| 69 |
+
if (!value) {
|
| 70 |
+
return null
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
const normalized = value.trim().toLowerCase()
|
| 74 |
+
if (!normalized) {
|
| 75 |
+
return null
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
const compact = normalized.replace(/,/g, "")
|
| 79 |
+
const tokenMatch = compact.match(/(\d+(?:\.\d+)?)\s*(trillion|tn|t|billion|bn|b|million|mn|m|thousand|k)\b/)
|
| 80 |
+
if (tokenMatch) {
|
| 81 |
+
const amount = Number.parseFloat(tokenMatch[1])
|
| 82 |
+
if (!Number.isFinite(amount)) {
|
| 83 |
+
return null
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
const unit = tokenMatch[2]
|
| 87 |
+
if (unit === "trillion" || unit === "tn" || unit === "t") {
|
| 88 |
+
return amount * 1000
|
| 89 |
+
}
|
| 90 |
+
|
| 91 |
+
if (unit === "billion" || unit === "bn" || unit === "b") {
|
| 92 |
+
return amount
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
if (unit === "million" || unit === "mn" || unit === "m") {
|
| 96 |
+
return amount / 1000
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
if (unit === "thousand" || unit === "k") {
|
| 100 |
+
return amount / 1_000_000
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
const numeric = Number.parseFloat(compact)
|
| 105 |
+
return Number.isFinite(numeric) ? numeric : null
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
function parseParamsBillionsFromModelName(modelName: string | null | undefined) {
|
| 109 |
+
if (!modelName) {
|
| 110 |
+
return null
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
const sizeTokens = Array.from(modelName.matchAll(/\b(\d+(?:\.\d+)?)\s*([tmbk])\b/gi))
|
| 114 |
+
if (sizeTokens.length === 0) {
|
| 115 |
+
return null
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
const lastToken = sizeTokens[sizeTokens.length - 1]
|
| 119 |
+
const numericValue = Number.parseFloat(lastToken[1])
|
| 120 |
+
if (!Number.isFinite(numericValue)) {
|
| 121 |
+
return null
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
const unit = lastToken[2].toLowerCase()
|
| 125 |
+
if (unit === "t") {
|
| 126 |
+
return numericValue * 1000
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
if (unit === "b") {
|
| 130 |
+
return numericValue
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
if (unit === "m") {
|
| 134 |
+
return numericValue / 1000
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
if (unit === "k") {
|
| 138 |
+
return numericValue / 1_000_000
|
| 139 |
+
}
|
| 140 |
+
|
| 141 |
+
return null
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
function getParamsBillions(modelResult: ModelResultForBenchmark) {
|
| 145 |
+
const additionalDetails = modelResult.model_info.additional_details
|
| 146 |
+
const rawParamsBillions =
|
| 147 |
+
additionalDetails?.params_billions ??
|
| 148 |
+
additionalDetails?.parameter_count ??
|
| 149 |
+
additionalDetails?.num_parameters ??
|
| 150 |
+
additionalDetails?.params
|
| 151 |
+
|
| 152 |
+
if (typeof rawParamsBillions === "number") {
|
| 153 |
+
return rawParamsBillions
|
| 154 |
+
}
|
| 155 |
+
|
| 156 |
+
if (typeof rawParamsBillions === "string") {
|
| 157 |
+
const parsed = parseParamsBillionsFromText(rawParamsBillions)
|
| 158 |
+
if (Number.isFinite(parsed)) {
|
| 159 |
+
return parsed
|
| 160 |
+
}
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
if (typeof modelResult.model_info.parameter_count === "string") {
|
| 164 |
+
const parsed = parseParamsBillionsFromText(modelResult.model_info.parameter_count)
|
| 165 |
+
if (Number.isFinite(parsed)) {
|
| 166 |
+
return parsed
|
| 167 |
+
}
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
return parseParamsBillionsFromModelName(modelResult.model_info.name)
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
function formatMetadataValue(value: unknown): string {
|
| 174 |
if (value == null) {
|
| 175 |
return "N/A"
|
|
|
|
| 238 |
const { mode } = useAudienceMode()
|
| 239 |
const isResearchView = mode === "research"
|
| 240 |
const [expandedRows, setExpandedRows] = useState<Record<string, boolean>>({})
|
| 241 |
+
const [leaderboardPage, setLeaderboardPage] = useState(1)
|
| 242 |
+
const [minParamStep, setMinParamStep] = useState(0)
|
| 243 |
+
const [maxParamStep, setMaxParamStep] = useState(PARAM_RANGE_VALUES.length - 1)
|
| 244 |
|
| 245 |
const maxScore = summary.metric_config.max_score ?? 1
|
| 246 |
const minScore = summary.metric_config.min_score ?? 0
|
|
|
|
| 248 |
|
| 249 |
const normalizeScore = (raw: number) => (range > 0 ? (raw - minScore) / range : raw)
|
| 250 |
const formatPercent = (normalized: number) => `${(normalized * 100).toFixed(1)}%`
|
| 251 |
+
const maxParamStepIndex = PARAM_RANGE_VALUES.length - 1
|
| 252 |
+
const minHandlePercent = (minParamStep / maxParamStepIndex) * 100
|
| 253 |
+
const maxHandlePercent = (maxParamStep / maxParamStepIndex) * 100
|
| 254 |
+
|
| 255 |
+
const numericMinParams = useMemo(() => {
|
| 256 |
+
if (minParamStep <= 0) {
|
| 257 |
+
return null
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
return PARAM_RANGE_VALUES[minParamStep] ?? null
|
| 261 |
+
}, [minParamStep])
|
| 262 |
+
|
| 263 |
+
const numericMaxParams = useMemo(() => {
|
| 264 |
+
if (maxParamStep >= PARAM_RANGE_VALUES.length - 1) {
|
| 265 |
+
return null
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
return PARAM_RANGE_VALUES[maxParamStep] ?? null
|
| 269 |
+
}, [maxParamStep])
|
| 270 |
|
| 271 |
const sortedResults = useMemo(
|
| 272 |
() =>
|
|
|
|
| 276 |
[summary.model_results, summary.metric_config.lower_is_better]
|
| 277 |
)
|
| 278 |
|
| 279 |
+
const hasParameterData = useMemo(
|
| 280 |
+
() => sortedResults.some((result) => getParamsBillions(result) != null),
|
| 281 |
+
[sortedResults]
|
| 282 |
+
)
|
| 283 |
+
|
| 284 |
+
const filteredResults = useMemo(() => {
|
| 285 |
+
return sortedResults.filter((modelResult) => {
|
| 286 |
+
const paramsBillions = getParamsBillions(modelResult)
|
| 287 |
+
|
| 288 |
+
if (numericMinParams != null && (paramsBillions == null || paramsBillions < numericMinParams)) {
|
| 289 |
+
return false
|
| 290 |
+
}
|
| 291 |
+
|
| 292 |
+
if (numericMaxParams != null && (paramsBillions == null || paramsBillions > numericMaxParams)) {
|
| 293 |
+
return false
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
return true
|
| 297 |
+
})
|
| 298 |
+
}, [numericMaxParams, numericMinParams, sortedResults])
|
| 299 |
+
|
| 300 |
const leaderboardRows = useMemo<LeaderboardRow[]>(() => {
|
| 301 |
let currentRank = 0
|
| 302 |
let previousScore: number | null = null
|
| 303 |
|
| 304 |
+
return filteredResults.map((modelResult, index) => {
|
| 305 |
if (previousScore === null || Math.abs(modelResult.score - previousScore) > 1e-9) {
|
| 306 |
currentRank = index + 1
|
| 307 |
previousScore = modelResult.score
|
|
|
|
| 314 |
normalizedScore: normalizeScore(modelResult.score),
|
| 315 |
}
|
| 316 |
})
|
| 317 |
+
}, [filteredResults])
|
| 318 |
+
|
| 319 |
+
const LEADERBOARD_PAGE_SIZE = 50
|
| 320 |
+
const pagedLeaderboardRows = useMemo(
|
| 321 |
+
() => leaderboardRows.slice(0, leaderboardPage * LEADERBOARD_PAGE_SIZE),
|
| 322 |
+
[leaderboardRows, leaderboardPage]
|
| 323 |
+
)
|
| 324 |
|
| 325 |
const avgNorm = formatPercent(summary.avg_score_norm)
|
| 326 |
const scoreDirectionLabel = summary.metric_config.lower_is_better ? "Lower scores rank higher" : "Higher scores rank higher"
|
| 327 |
const leaderboardTitle = isResearchView ? "Leaderboard" : "Reporting Comparison"
|
| 328 |
const leaderboardDescription = isResearchView
|
| 329 |
+
? summary.is_aggregated
|
| 330 |
+
? "Models ranked by average normalized score across the contributing composite benchmarks."
|
| 331 |
+
: "Models ranked by normalized score for this benchmark."
|
| 332 |
+
: summary.is_aggregated
|
| 333 |
+
? "Averaged model results across the contributing composite benchmarks, with drill-down to each component score."
|
| 334 |
+
: "Model results with stronger emphasis on reporting context and evaluator provenance."
|
| 335 |
|
| 336 |
const toggleRow = (key: string) =>
|
| 337 |
setExpandedRows((current) => ({
|
|
|
|
| 347 |
<div className="space-y-3">
|
| 348 |
<div className="flex flex-wrap items-center gap-2">
|
| 349 |
<Badge variant="outline" className="border-border/60 bg-background/80 text-[11px] uppercase tracking-[0.18em]">
|
| 350 |
+
{summary.is_aggregated ? "Merged Benchmark" : "Single Benchmark"}
|
|
|
|
|
|
|
|
|
|
| 351 |
</Badge>
|
| 352 |
+
{summary.is_aggregated ? (
|
| 353 |
+
<Badge variant="secondary" className="font-normal">
|
| 354 |
+
{summary.aggregate_sources?.length ?? 0} composite benchmarks
|
| 355 |
+
</Badge>
|
| 356 |
+
) : (
|
| 357 |
+
<Badge variant="secondary" className="font-normal">
|
| 358 |
+
Composite: {summary.composite_benchmark_name}
|
| 359 |
+
</Badge>
|
| 360 |
+
)}
|
| 361 |
<Badge variant="secondary" className="font-normal capitalize">
|
| 362 |
{summary.metric_config.score_type}
|
| 363 |
</Badge>
|
|
|
|
| 434 |
<dt className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 435 |
Composite benchmark
|
| 436 |
</dt>
|
| 437 |
+
<dd className="mt-1 break-words font-medium">
|
| 438 |
+
{summary.is_aggregated
|
| 439 |
+
? summary.aggregate_sources?.map((source) => source.composite_benchmark_name).join(", ") || "Multiple composite benchmarks"
|
| 440 |
+
: summary.composite_benchmark_name}
|
| 441 |
+
</dd>
|
| 442 |
</div>
|
| 443 |
<div>
|
| 444 |
<dt className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">
|
| 445 |
{isResearchView ? "Single benchmark ID" : "What this covers"}
|
| 446 |
</dt>
|
| 447 |
<dd className="mt-1 break-words font-medium">
|
| 448 |
+
{isResearchView
|
| 449 |
+
? summary.evaluation_id
|
| 450 |
+
: summary.is_aggregated
|
| 451 |
+
? summary.metric_config.evaluation_description
|
| 452 |
+
: summary.metric_config.evaluation_description}
|
| 453 |
</dd>
|
| 454 |
</div>
|
| 455 |
<div>
|
|
|
|
| 493 |
</CardContent>
|
| 494 |
</Card>
|
| 495 |
|
| 496 |
+
{/* Policy: benchmark context BEFORE the leaderboard (context first, numbers second) */}
|
| 497 |
+
{!isResearchView && summary.benchmark_card && (
|
| 498 |
+
<BenchmarkCardPanel card={summary.benchmark_card} isResearchView={false} defaultRisksOpen />
|
| 499 |
+
)}
|
| 500 |
+
|
| 501 |
<Card className="overflow-hidden">
|
| 502 |
<CardHeader className="border-b bg-muted/10">
|
| 503 |
<div className="flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between">
|
|
|
|
| 510 |
</div>
|
| 511 |
|
| 512 |
<div className="flex flex-wrap items-center gap-2 text-xs text-muted-foreground">
|
| 513 |
+
<Badge variant="secondary">
|
| 514 |
+
{leaderboardRows.length === summary.models_count
|
| 515 |
+
? `${summary.models_count} models`
|
| 516 |
+
: `${leaderboardRows.length} of ${summary.models_count} models`}
|
| 517 |
+
</Badge>
|
| 518 |
<Badge variant="outline">{scoreDirectionLabel}</Badge>
|
| 519 |
+
{hasParameterData && (numericMinParams != null || numericMaxParams != null) && (
|
| 520 |
+
<Badge variant="outline">
|
| 521 |
+
Params {formatParamBoundLabel(minParamStep, "min")} to {formatParamBoundLabel(maxParamStep, "max")}
|
| 522 |
+
</Badge>
|
| 523 |
+
)}
|
| 524 |
{isResearchView && (
|
| 525 |
<Badge variant="outline">
|
| 526 |
Scale {summary.metric_config.min_score ?? 0} - {summary.metric_config.max_score ?? 1}
|
|
|
|
| 531 |
</CardHeader>
|
| 532 |
|
| 533 |
<CardContent className="p-0">
|
| 534 |
+
{hasParameterData && (
|
| 535 |
+
<div className="border-b bg-background px-5 py-4 sm:px-6">
|
| 536 |
+
<div className="flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between">
|
| 537 |
+
<div className="space-y-1">
|
| 538 |
+
<div className="text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground">
|
| 539 |
+
Parameter range
|
| 540 |
+
</div>
|
| 541 |
+
<div className="text-sm text-muted-foreground">
|
| 542 |
+
Narrow the leaderboard to comparable model sizes.
|
| 543 |
+
</div>
|
| 544 |
+
</div>
|
| 545 |
+
|
| 546 |
+
<div className="flex min-w-0 flex-1 items-center gap-4 lg:max-w-[40rem]">
|
| 547 |
+
<div className="min-w-0 flex-1">
|
| 548 |
+
<div className="mb-2 flex items-center justify-between text-[10px] font-medium uppercase tracking-[0.14em] text-muted-foreground">
|
| 549 |
+
{PARAM_RANGE_MARKERS.map((marker) => (
|
| 550 |
+
<span key={marker.label} className="text-center">
|
| 551 |
+
{marker.label}
|
| 552 |
+
</span>
|
| 553 |
+
))}
|
| 554 |
+
</div>
|
| 555 |
+
|
| 556 |
+
<div className="relative h-4">
|
| 557 |
+
<div className="absolute inset-x-1.5 top-1/2 h-[3px] -translate-y-1/2 rounded-full bg-border/80" />
|
| 558 |
+
<div className="absolute inset-x-1.5 top-1/2 h-[3px] -translate-y-1/2">
|
| 559 |
+
<div
|
| 560 |
+
className="absolute inset-y-0 rounded-full bg-foreground transition-[left,right] duration-300 ease-[var(--ease-out-quint)]"
|
| 561 |
+
style={{
|
| 562 |
+
left: `${minHandlePercent}%`,
|
| 563 |
+
right: `${Math.max(100 - maxHandlePercent, 0)}%`,
|
| 564 |
+
}}
|
| 565 |
+
/>
|
| 566 |
+
</div>
|
| 567 |
+
|
| 568 |
+
<div className="absolute inset-x-1.5 top-1/2 -translate-y-1/2">
|
| 569 |
+
{PARAM_RANGE_VALUES.map((_, stepIndex) => (
|
| 570 |
+
<span
|
| 571 |
+
key={`param-tick-${stepIndex}`}
|
| 572 |
+
className="absolute top-0 h-2 w-px -translate-x-1/2 rounded-full bg-border"
|
| 573 |
+
style={{ left: `${(stepIndex / maxParamStepIndex) * 100}%` }}
|
| 574 |
+
aria-hidden="true"
|
| 575 |
+
/>
|
| 576 |
+
))}
|
| 577 |
+
</div>
|
| 578 |
+
|
| 579 |
+
<input
|
| 580 |
+
type="range"
|
| 581 |
+
min={0}
|
| 582 |
+
max={maxParamStepIndex}
|
| 583 |
+
step={1}
|
| 584 |
+
value={minParamStep}
|
| 585 |
+
onChange={(event) => {
|
| 586 |
+
const nextMin = Number(event.target.value)
|
| 587 |
+
setMinParamStep(Math.min(nextMin, maxParamStep))
|
| 588 |
+
}}
|
| 589 |
+
className="param-range-input"
|
| 590 |
+
aria-label="Minimum parameter filter"
|
| 591 |
+
/>
|
| 592 |
+
|
| 593 |
+
<input
|
| 594 |
+
type="range"
|
| 595 |
+
min={0}
|
| 596 |
+
max={maxParamStepIndex}
|
| 597 |
+
step={1}
|
| 598 |
+
value={maxParamStep}
|
| 599 |
+
onChange={(event) => {
|
| 600 |
+
const nextMax = Number(event.target.value)
|
| 601 |
+
setMaxParamStep(Math.max(nextMax, minParamStep))
|
| 602 |
+
}}
|
| 603 |
+
className="param-range-input"
|
| 604 |
+
aria-label="Maximum parameter filter"
|
| 605 |
+
/>
|
| 606 |
+
</div>
|
| 607 |
+
</div>
|
| 608 |
+
|
| 609 |
+
<span className="shrink-0 text-[11px] text-muted-foreground">
|
| 610 |
+
{formatParamBoundLabel(minParamStep, "min")} to {formatParamBoundLabel(maxParamStep, "max")}
|
| 611 |
+
</span>
|
| 612 |
+
</div>
|
| 613 |
+
</div>
|
| 614 |
+
</div>
|
| 615 |
+
)}
|
| 616 |
+
|
| 617 |
<Table className="min-w-[980px]">
|
| 618 |
<TableHeader>
|
| 619 |
<TableRow className="hover:bg-transparent">
|
|
|
|
| 636 |
</TableRow>
|
| 637 |
</TableHeader>
|
| 638 |
<TableBody>
|
| 639 |
+
{pagedLeaderboardRows.map(({ key, rank, modelResult, normalizedScore }) => {
|
| 640 |
const isExpanded = expandedRows[key] ?? false
|
| 641 |
const subtasks = modelResult.score_details.details
|
| 642 |
? Object.entries(modelResult.score_details.details).filter(([, value]) => typeof value === "number")
|
| 643 |
: []
|
| 644 |
+
const hasExpandableDetails =
|
| 645 |
+
(modelResult.aggregate_components && modelResult.aggregate_components.length > 1) ||
|
| 646 |
+
subtasks.length > 1
|
| 647 |
|
| 648 |
const datasetName = Array.isArray(modelResult.source_data)
|
| 649 |
? undefined
|
|
|
|
| 669 |
|
| 670 |
<TableCell className="whitespace-normal">
|
| 671 |
<div className="space-y-1">
|
| 672 |
+
<div className="font-semibold leading-tight">
|
| 673 |
+
<Link
|
| 674 |
+
href={`/models/${getModelFamilyRouteId(modelResult.model_info)}`}
|
| 675 |
+
className="underline decoration-dotted underline-offset-4 hover:text-primary"
|
| 676 |
+
>
|
| 677 |
+
{modelResult.model_info.name}
|
| 678 |
+
</Link>
|
| 679 |
+
</div>
|
| 680 |
<div className="flex flex-wrap items-center gap-2 text-xs text-muted-foreground">
|
| 681 |
{modelResult.model_info.parameter_count && (
|
| 682 |
<Badge variant="secondary" className="font-normal">
|
|
|
|
| 691 |
<span className="lg:hidden">
|
| 692 |
{modelResult.model_info.developer ?? "Unknown developer"}
|
| 693 |
</span>
|
| 694 |
+
{modelResult.aggregate_components && modelResult.aggregate_components.length > 1 && (
|
| 695 |
+
<Badge variant="outline" className="font-normal">
|
| 696 |
+
Avg of {modelResult.aggregate_components.length}
|
| 697 |
+
</Badge>
|
| 698 |
+
)}
|
| 699 |
</div>
|
| 700 |
</div>
|
| 701 |
</TableCell>
|
|
|
|
| 727 |
) : (
|
| 728 |
<TableCell className="hidden md:table-cell">
|
| 729 |
<div className="text-sm text-muted-foreground capitalize">
|
| 730 |
+
{modelResult.aggregate_components && modelResult.aggregate_components.length > 1
|
| 731 |
+
? `average of ${modelResult.aggregate_components.length} composite scores`
|
| 732 |
+
: modelResult.source_metadata.evaluator_relationship.replace(/_/g, " ")}
|
| 733 |
</div>
|
| 734 |
</TableCell>
|
| 735 |
)}
|
| 736 |
|
| 737 |
<TableCell className="hidden whitespace-normal xl:table-cell">
|
| 738 |
+
{modelResult.aggregate_components && modelResult.aggregate_components.length > 1 ? (
|
| 739 |
+
<div className="space-y-1">
|
| 740 |
+
<div className="font-medium">
|
| 741 |
+
{Array.from(new Set(modelResult.aggregate_components.map((component) => component.source_organization_name))).join(", ")}
|
| 742 |
+
</div>
|
| 743 |
+
<div className="text-xs text-muted-foreground">
|
| 744 |
+
{modelResult.aggregate_components
|
| 745 |
+
.map((component) => component.composite_benchmark_name)
|
| 746 |
+
.join(", ")}
|
| 747 |
+
</div>
|
| 748 |
</div>
|
| 749 |
+
) : (
|
| 750 |
+
<div className="space-y-1">
|
| 751 |
+
<div className="font-medium">{modelResult.source_metadata.source_organization_name}</div>
|
| 752 |
+
<div className="text-xs text-muted-foreground">
|
| 753 |
+
{modelResult.source_metadata.evaluator_relationship.replace(/_/g, " ")}
|
| 754 |
+
</div>
|
| 755 |
+
</div>
|
| 756 |
+
)}
|
| 757 |
</TableCell>
|
| 758 |
|
| 759 |
<TableCell className="hidden lg:table-cell">
|
|
|
|
| 761 |
</TableCell>
|
| 762 |
|
| 763 |
<TableCell className="px-4 text-right">
|
| 764 |
+
{hasExpandableDetails && (
|
| 765 |
+
<Button
|
| 766 |
+
variant="ghost"
|
| 767 |
+
size="icon"
|
| 768 |
+
aria-label={isExpanded ? "Collapse details" : "Expand details"}
|
| 769 |
+
onClick={() => toggleRow(key)}
|
| 770 |
+
>
|
| 771 |
+
{isExpanded ? <ChevronUp className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
|
| 772 |
+
</Button>
|
| 773 |
+
)}
|
| 774 |
</TableCell>
|
| 775 |
</TableRow>
|
| 776 |
|
|
|
|
| 851 |
: "Normalized performance plus uncertainty and sample details."
|
| 852 |
}
|
| 853 |
>
|
|
|
|
| 854 |
<MetaRow
|
| 855 |
+
label={modelResult.aggregate_components ? "Average Score" : "Normalized Score"}
|
| 856 |
+
value={formatPercent(normalizedScore)}
|
| 857 |
+
/>
|
| 858 |
+
<MetaRow
|
| 859 |
+
label={modelResult.aggregate_components ? "Average Raw Value" : "Raw Score"}
|
| 860 |
value={formatRawScore(modelResult.score, summary.metric_config.unit)}
|
| 861 |
/>
|
| 862 |
<MetaRow label="Score Type" value={modelResult.result.metric_config.score_type} />
|
|
|
|
| 878 |
</DetailPanel>
|
| 879 |
</div>
|
| 880 |
|
| 881 |
+
{modelResult.aggregate_components && modelResult.aggregate_components.length > 1 && (
|
| 882 |
+
<div className="space-y-2">
|
| 883 |
+
<div className="text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 884 |
+
Composite Score Breakdown
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 885 |
</div>
|
| 886 |
+
<div className="overflow-hidden rounded-xl border">
|
| 887 |
+
<table className="w-full text-sm">
|
| 888 |
+
<thead>
|
| 889 |
+
<tr className="border-b bg-muted/30">
|
| 890 |
+
<th className="px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Benchmark</th>
|
| 891 |
+
<th className="px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Source</th>
|
| 892 |
+
<th className="px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Raw</th>
|
| 893 |
+
<th className="px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Score</th>
|
| 894 |
+
</tr>
|
| 895 |
+
</thead>
|
| 896 |
+
<tbody>
|
| 897 |
+
{modelResult.aggregate_components.map((component, i) => (
|
| 898 |
+
<tr key={`${component.evaluation_id}-${i}`} className="border-b last:border-0 hover:bg-muted/10">
|
| 899 |
+
<td className="px-3 py-2 font-medium">{component.composite_benchmark_name}</td>
|
| 900 |
+
<td className="px-3 py-2 text-muted-foreground">{component.source_organization_name}</td>
|
| 901 |
+
<td className="px-3 py-2 text-right tabular-nums text-muted-foreground">{formatRawScore(component.score)}</td>
|
| 902 |
+
<td className="px-3 py-2 text-right font-semibold tabular-nums">{formatPercent(component.normalized_score)}</td>
|
| 903 |
+
</tr>
|
| 904 |
+
))}
|
| 905 |
+
</tbody>
|
| 906 |
+
</table>
|
| 907 |
+
</div>
|
| 908 |
+
</div>
|
| 909 |
+
)}
|
| 910 |
|
| 911 |
+
{subtasks.length > 1 && (
|
| 912 |
+
<div className="space-y-2">
|
| 913 |
+
<div className="text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 914 |
+
Subtask Breakdown
|
| 915 |
+
</div>
|
| 916 |
+
<div className="overflow-hidden rounded-xl border">
|
| 917 |
+
<table className="w-full text-sm">
|
| 918 |
+
<thead>
|
| 919 |
+
<tr className="border-b bg-muted/30">
|
| 920 |
+
<th className="px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Subtask</th>
|
| 921 |
+
<th className="px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Raw</th>
|
| 922 |
+
<th className="px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">Score</th>
|
| 923 |
+
</tr>
|
| 924 |
+
</thead>
|
| 925 |
+
<tbody>
|
| 926 |
+
{subtasks.map(([subtaskName, value]) => {
|
| 927 |
+
const numericValue = value as number
|
| 928 |
+
const normalizedSubtaskScore = range > 0 ? (numericValue - minScore) / range : numericValue
|
| 929 |
+
return (
|
| 930 |
+
<tr key={subtaskName} className="border-b last:border-0 hover:bg-muted/10">
|
| 931 |
+
<td className="px-3 py-2 font-medium capitalize">{subtaskName.replace(/_/g, " ")}</td>
|
| 932 |
+
<td className="px-3 py-2 text-right tabular-nums text-muted-foreground">{formatRawScore(numericValue, summary.metric_config.unit)}</td>
|
| 933 |
+
<td className="px-3 py-2 text-right font-semibold tabular-nums">{formatPercent(normalizedSubtaskScore)}</td>
|
| 934 |
+
</tr>
|
| 935 |
+
)
|
| 936 |
+
})}
|
| 937 |
+
</tbody>
|
| 938 |
+
</table>
|
| 939 |
</div>
|
| 940 |
</div>
|
| 941 |
)}
|
|
|
|
| 995 |
</Fragment>
|
| 996 |
)
|
| 997 |
})}
|
| 998 |
+
{leaderboardRows.length === 0 && (
|
| 999 |
+
<TableRow>
|
| 1000 |
+
<TableCell colSpan={8} className="px-6 py-12 text-center text-sm text-muted-foreground">
|
| 1001 |
+
No leaderboard entries match the selected parameter range.
|
| 1002 |
+
</TableCell>
|
| 1003 |
+
</TableRow>
|
| 1004 |
+
)}
|
| 1005 |
</TableBody>
|
| 1006 |
</Table>
|
| 1007 |
+
|
| 1008 |
+
{/* Load more */}
|
| 1009 |
+
{pagedLeaderboardRows.length < leaderboardRows.length && (
|
| 1010 |
+
<div className="border-t px-6 py-4 text-center">
|
| 1011 |
+
<Button
|
| 1012 |
+
variant="outline"
|
| 1013 |
+
onClick={() => setLeaderboardPage((p) => p + 1)}
|
| 1014 |
+
>
|
| 1015 |
+
Load more ({leaderboardRows.length - pagedLeaderboardRows.length} remaining)
|
| 1016 |
+
</Button>
|
| 1017 |
+
</div>
|
| 1018 |
+
)}
|
| 1019 |
</CardContent>
|
| 1020 |
</Card>
|
| 1021 |
+
|
| 1022 |
+
{/* Research: benchmark card details AFTER the leaderboard, collapsed by default */}
|
| 1023 |
+
{isResearchView && summary.benchmark_card && (
|
| 1024 |
+
<ResearchBenchmarkCardCollapsible card={summary.benchmark_card} />
|
| 1025 |
+
)}
|
| 1026 |
</div>
|
| 1027 |
)
|
| 1028 |
}
|
| 1029 |
|
| 1030 |
+
function ResearchBenchmarkCardCollapsible({ card }: { card: BenchmarkCard }) {
|
| 1031 |
+
const [open, setOpen] = useState(false)
|
| 1032 |
+
return (
|
| 1033 |
+
<Collapsible open={open} onOpenChange={setOpen}>
|
| 1034 |
+
<CollapsibleTrigger asChild>
|
| 1035 |
+
<button
|
| 1036 |
+
type="button"
|
| 1037 |
+
className="flex w-full items-center justify-between rounded-[1.5rem] border border-border/70 bg-muted/10 px-5 py-4 text-left transition-colors hover:bg-muted/20"
|
| 1038 |
+
>
|
| 1039 |
+
<div className="flex items-center gap-2">
|
| 1040 |
+
<BookOpen className="h-4 w-4 text-muted-foreground" />
|
| 1041 |
+
<span className="text-sm font-semibold">Benchmark card details</span>
|
| 1042 |
+
<span className="text-xs text-muted-foreground">
|
| 1043 |
+
— dataset, methodology, risks, resources
|
| 1044 |
+
</span>
|
| 1045 |
+
</div>
|
| 1046 |
+
{open ? (
|
| 1047 |
+
<ChevronUp className="h-4 w-4 text-muted-foreground" />
|
| 1048 |
+
) : (
|
| 1049 |
+
<ChevronDown className="h-4 w-4 text-muted-foreground" />
|
| 1050 |
+
)}
|
| 1051 |
+
</button>
|
| 1052 |
+
</CollapsibleTrigger>
|
| 1053 |
+
<CollapsibleContent className="mt-2">
|
| 1054 |
+
<BenchmarkCardPanel card={card} isResearchView defaultRisksOpen={false} />
|
| 1055 |
+
</CollapsibleContent>
|
| 1056 |
+
</Collapsible>
|
| 1057 |
+
)
|
| 1058 |
+
}
|
| 1059 |
+
|
| 1060 |
function DetailPanel({
|
| 1061 |
title,
|
| 1062 |
subtitle,
|
|
|
|
| 1091 |
</div>
|
| 1092 |
)
|
| 1093 |
}
|
| 1094 |
+
|
| 1095 |
+
function toStringArray(value: string[] | string | undefined): string[] {
|
| 1096 |
+
if (!value) return []
|
| 1097 |
+
if (Array.isArray(value)) return value.filter(Boolean)
|
| 1098 |
+
if (value === "Not specified") return []
|
| 1099 |
+
return [value]
|
| 1100 |
+
}
|
| 1101 |
+
|
| 1102 |
+
function BenchmarkCardPanel({
|
| 1103 |
+
card,
|
| 1104 |
+
isResearchView,
|
| 1105 |
+
defaultRisksOpen = false,
|
| 1106 |
+
}: {
|
| 1107 |
+
card: BenchmarkCard
|
| 1108 |
+
isResearchView: boolean
|
| 1109 |
+
defaultRisksOpen?: boolean
|
| 1110 |
+
}) {
|
| 1111 |
+
const [risksOpen, setRisksOpen] = useState(defaultRisksOpen)
|
| 1112 |
+
const details = card.benchmark_details
|
| 1113 |
+
const purpose = card.purpose_and_intended_users
|
| 1114 |
+
const methodology = card.methodology
|
| 1115 |
+
const data = card.data
|
| 1116 |
+
const ethical = card.ethical_and_legal_considerations
|
| 1117 |
+
const risks = card.possible_risks ?? []
|
| 1118 |
+
const flaggedFields = Object.entries(card.flagged_fields ?? {})
|
| 1119 |
+
const missingFields = card.missing_fields ?? []
|
| 1120 |
+
|
| 1121 |
+
const domains = details.domains ?? []
|
| 1122 |
+
const languages = details.languages ?? []
|
| 1123 |
+
const resources = (details.resources ?? []).filter(Boolean)
|
| 1124 |
+
const tasks = toStringArray(purpose.tasks)
|
| 1125 |
+
const audience = toStringArray(purpose.audience)
|
| 1126 |
+
|
| 1127 |
+
const license = ethical.data_licensing ?? ""
|
| 1128 |
+
const shortLicense = license && license !== "Not specified" ? license : null
|
| 1129 |
+
|
| 1130 |
+
return (
|
| 1131 |
+
<Card className="overflow-hidden">
|
| 1132 |
+
<CardHeader className="border-b bg-muted/10">
|
| 1133 |
+
<div className="flex flex-wrap items-center gap-3">
|
| 1134 |
+
<BookOpen className="h-5 w-5 text-primary" />
|
| 1135 |
+
<CardTitle className="text-xl">Benchmark Card</CardTitle>
|
| 1136 |
+
{shortLicense && (
|
| 1137 |
+
<Badge variant="outline" className="font-normal">
|
| 1138 |
+
{shortLicense}
|
| 1139 |
+
</Badge>
|
| 1140 |
+
)}
|
| 1141 |
+
{(flaggedFields.length > 0 || missingFields.length > 0) && (
|
| 1142 |
+
<Badge className="bg-amber-500 text-amber-950 hover:bg-amber-500">
|
| 1143 |
+
<AlertTriangle className="mr-1 h-3 w-3" />
|
| 1144 |
+
{flaggedFields.length} flagged · {missingFields.length} missing
|
| 1145 |
+
</Badge>
|
| 1146 |
+
)}
|
| 1147 |
+
</div>
|
| 1148 |
+
<CardDescription>
|
| 1149 |
+
Structured metadata about this benchmark — what it measures, how it was built, and known limitations.
|
| 1150 |
+
{card.card_info?.llm && (
|
| 1151 |
+
<span className="ml-1 text-muted-foreground/70">
|
| 1152 |
+
Card generated by {card.card_info.llm}.
|
| 1153 |
+
</span>
|
| 1154 |
+
)}
|
| 1155 |
+
</CardDescription>
|
| 1156 |
+
</CardHeader>
|
| 1157 |
+
|
| 1158 |
+
<CardContent className="space-y-6 p-5 sm:p-6">
|
| 1159 |
+
{/* Overview + domains */}
|
| 1160 |
+
<div className="space-y-3">
|
| 1161 |
+
<p className="text-sm leading-6 text-muted-foreground">{details.overview}</p>
|
| 1162 |
+
|
| 1163 |
+
<div className="flex flex-wrap gap-2">
|
| 1164 |
+
{domains.map((d) => (
|
| 1165 |
+
<span
|
| 1166 |
+
key={d}
|
| 1167 |
+
className="inline-flex items-center gap-1 rounded-full border border-border/60 bg-muted/30 px-2.5 py-1 text-xs font-medium capitalize"
|
| 1168 |
+
>
|
| 1169 |
+
<Tag className="h-3 w-3 shrink-0 text-muted-foreground" />
|
| 1170 |
+
{d}
|
| 1171 |
+
</span>
|
| 1172 |
+
))}
|
| 1173 |
+
{languages.map((l) => (
|
| 1174 |
+
<span
|
| 1175 |
+
key={l}
|
| 1176 |
+
className="inline-flex items-center gap-1 rounded-full border border-sky-200/70 bg-sky-50/60 px-2.5 py-1 text-xs font-medium dark:border-sky-900/40 dark:bg-sky-950/20"
|
| 1177 |
+
>
|
| 1178 |
+
<Globe className="h-3 w-3 shrink-0 text-sky-600" />
|
| 1179 |
+
{l}
|
| 1180 |
+
</span>
|
| 1181 |
+
))}
|
| 1182 |
+
</div>
|
| 1183 |
+
</div>
|
| 1184 |
+
|
| 1185 |
+
<div className="grid gap-4 sm:grid-cols-2 xl:grid-cols-3">
|
| 1186 |
+
{/* Goal */}
|
| 1187 |
+
<div className="rounded-[1.25rem] border border-border/70 bg-muted/10 p-4">
|
| 1188 |
+
<div className="mb-2 flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1189 |
+
<Scale className="h-3.5 w-3.5" /> Goal
|
| 1190 |
+
</div>
|
| 1191 |
+
<p className="text-sm leading-5 text-foreground">{purpose.goal}</p>
|
| 1192 |
+
</div>
|
| 1193 |
+
|
| 1194 |
+
{/* Metric interpretation */}
|
| 1195 |
+
<div className="rounded-[1.25rem] border border-border/70 bg-muted/10 p-4">
|
| 1196 |
+
<div className="mb-2 flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1197 |
+
<BarChart3 className="h-3.5 w-3.5" /> Score interpretation
|
| 1198 |
+
</div>
|
| 1199 |
+
<p className="text-sm leading-5 text-foreground">{methodology.interpretation}</p>
|
| 1200 |
+
</div>
|
| 1201 |
+
|
| 1202 |
+
{/* Limitations */}
|
| 1203 |
+
<div className="rounded-[1.25rem] border border-amber-200/60 bg-amber-50/60 p-4 dark:border-amber-900/40 dark:bg-amber-950/15">
|
| 1204 |
+
<div className="mb-2 flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-amber-700 dark:text-amber-300">
|
| 1205 |
+
<AlertTriangle className="h-3.5 w-3.5" /> Limitations
|
| 1206 |
+
</div>
|
| 1207 |
+
<p className="text-sm leading-5 text-amber-900/90 dark:text-amber-100/90">{purpose.limitations}</p>
|
| 1208 |
+
</div>
|
| 1209 |
+
</div>
|
| 1210 |
+
|
| 1211 |
+
{/* Research-only: methodology + dataset details */}
|
| 1212 |
+
{isResearchView && (
|
| 1213 |
+
<div className="grid gap-4 sm:grid-cols-2">
|
| 1214 |
+
<div className="rounded-[1.25rem] border border-border/70 bg-muted/10 p-4">
|
| 1215 |
+
<div className="mb-3 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1216 |
+
Dataset
|
| 1217 |
+
</div>
|
| 1218 |
+
<dl className="space-y-2 text-sm">
|
| 1219 |
+
<div className="flex gap-2">
|
| 1220 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Size</dt>
|
| 1221 |
+
<dd className="font-medium">{data.size}</dd>
|
| 1222 |
+
</div>
|
| 1223 |
+
<div className="flex gap-2">
|
| 1224 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Format</dt>
|
| 1225 |
+
<dd className="font-medium capitalize">{data.format}</dd>
|
| 1226 |
+
</div>
|
| 1227 |
+
<div className="flex gap-2">
|
| 1228 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Source</dt>
|
| 1229 |
+
<dd className="font-medium">{data.source}</dd>
|
| 1230 |
+
</div>
|
| 1231 |
+
</dl>
|
| 1232 |
+
</div>
|
| 1233 |
+
|
| 1234 |
+
<div className="rounded-[1.25rem] border border-border/70 bg-muted/10 p-4">
|
| 1235 |
+
<div className="mb-3 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1236 |
+
Methodology
|
| 1237 |
+
</div>
|
| 1238 |
+
<dl className="space-y-2 text-sm">
|
| 1239 |
+
{methodology.metrics.length > 0 && (
|
| 1240 |
+
<div className="flex gap-2">
|
| 1241 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Metrics</dt>
|
| 1242 |
+
<dd className="font-medium">{methodology.metrics.join(", ")}</dd>
|
| 1243 |
+
</div>
|
| 1244 |
+
)}
|
| 1245 |
+
{tasks.length > 0 && (
|
| 1246 |
+
<div className="flex gap-2">
|
| 1247 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Tasks</dt>
|
| 1248 |
+
<dd className="font-medium">{tasks.join(", ")}</dd>
|
| 1249 |
+
</div>
|
| 1250 |
+
)}
|
| 1251 |
+
{audience.length > 0 && (
|
| 1252 |
+
<div className="flex gap-2">
|
| 1253 |
+
<dt className="w-20 shrink-0 text-muted-foreground">Audience</dt>
|
| 1254 |
+
<dd className="font-medium">{audience.join("; ")}</dd>
|
| 1255 |
+
</div>
|
| 1256 |
+
)}
|
| 1257 |
+
</dl>
|
| 1258 |
+
</div>
|
| 1259 |
+
</div>
|
| 1260 |
+
)}
|
| 1261 |
+
|
| 1262 |
+
{/* Risks (collapsible) */}
|
| 1263 |
+
{risks.length > 0 && (
|
| 1264 |
+
<Collapsible open={risksOpen} onOpenChange={setRisksOpen}>
|
| 1265 |
+
<CollapsibleTrigger asChild>
|
| 1266 |
+
<button
|
| 1267 |
+
type="button"
|
| 1268 |
+
className="flex w-full items-center justify-between rounded-[1.25rem] border border-border/70 bg-muted/10 p-4 text-left transition-colors hover:bg-muted/20"
|
| 1269 |
+
>
|
| 1270 |
+
<div className="flex items-center gap-2">
|
| 1271 |
+
<Shield className="h-4 w-4 text-muted-foreground" />
|
| 1272 |
+
<span className="text-sm font-semibold">
|
| 1273 |
+
Risk considerations ({risks.length})
|
| 1274 |
+
</span>
|
| 1275 |
+
</div>
|
| 1276 |
+
{risksOpen ? (
|
| 1277 |
+
<ChevronUp className="h-4 w-4 text-muted-foreground" />
|
| 1278 |
+
) : (
|
| 1279 |
+
<ChevronDown className="h-4 w-4 text-muted-foreground" />
|
| 1280 |
+
)}
|
| 1281 |
+
</button>
|
| 1282 |
+
</CollapsibleTrigger>
|
| 1283 |
+
<CollapsibleContent>
|
| 1284 |
+
<div className="mt-2 grid gap-3 sm:grid-cols-2">
|
| 1285 |
+
{risks.map((risk, i) => (
|
| 1286 |
+
<div
|
| 1287 |
+
key={i}
|
| 1288 |
+
className="rounded-[1.25rem] border border-border/60 bg-background p-4"
|
| 1289 |
+
>
|
| 1290 |
+
<div className="mb-1.5 flex items-start justify-between gap-2">
|
| 1291 |
+
<span className="text-sm font-semibold">{risk.category}</span>
|
| 1292 |
+
{risk.url && (
|
| 1293 |
+
<a
|
| 1294 |
+
href={risk.url}
|
| 1295 |
+
target="_blank"
|
| 1296 |
+
rel="noreferrer"
|
| 1297 |
+
onClick={(e) => e.stopPropagation()}
|
| 1298 |
+
className="shrink-0 text-muted-foreground hover:text-primary"
|
| 1299 |
+
>
|
| 1300 |
+
<ExternalLink className="h-3.5 w-3.5" />
|
| 1301 |
+
</a>
|
| 1302 |
+
)}
|
| 1303 |
+
</div>
|
| 1304 |
+
{risk.description?.[0] && (
|
| 1305 |
+
<p className="text-xs leading-5 text-muted-foreground line-clamp-3">
|
| 1306 |
+
{risk.description[0]}
|
| 1307 |
+
</p>
|
| 1308 |
+
)}
|
| 1309 |
+
</div>
|
| 1310 |
+
))}
|
| 1311 |
+
</div>
|
| 1312 |
+
</CollapsibleContent>
|
| 1313 |
+
</Collapsible>
|
| 1314 |
+
)}
|
| 1315 |
+
|
| 1316 |
+
{/* Compliance / ethical notes (policy view emphasis) */}
|
| 1317 |
+
{!isResearchView && (
|
| 1318 |
+
<div className="rounded-[1.25rem] border border-border/70 bg-muted/10 p-4">
|
| 1319 |
+
<div className="mb-3 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1320 |
+
Ethical & legal
|
| 1321 |
+
</div>
|
| 1322 |
+
<dl className="grid gap-x-6 gap-y-2 text-sm sm:grid-cols-2">
|
| 1323 |
+
{shortLicense && (
|
| 1324 |
+
<div className="flex gap-2">
|
| 1325 |
+
<dt className="w-28 shrink-0 text-muted-foreground">License</dt>
|
| 1326 |
+
<dd className="font-medium">{license}</dd>
|
| 1327 |
+
</div>
|
| 1328 |
+
)}
|
| 1329 |
+
{ethical.compliance_with_regulations && ethical.compliance_with_regulations !== "Not specified" && (
|
| 1330 |
+
<div className="flex gap-2">
|
| 1331 |
+
<dt className="w-28 shrink-0 text-muted-foreground">Compliance</dt>
|
| 1332 |
+
<dd className="font-medium">{ethical.compliance_with_regulations}</dd>
|
| 1333 |
+
</div>
|
| 1334 |
+
)}
|
| 1335 |
+
{ethical.privacy_and_anonymity && ethical.privacy_and_anonymity !== "Not specified" && (
|
| 1336 |
+
<div className="col-span-full flex gap-2">
|
| 1337 |
+
<dt className="w-28 shrink-0 text-muted-foreground">Privacy</dt>
|
| 1338 |
+
<dd className="font-medium">{ethical.privacy_and_anonymity}</dd>
|
| 1339 |
+
</div>
|
| 1340 |
+
)}
|
| 1341 |
+
</dl>
|
| 1342 |
+
</div>
|
| 1343 |
+
)}
|
| 1344 |
+
|
| 1345 |
+
{/* Flagged / missing fields warning */}
|
| 1346 |
+
{(flaggedFields.length > 0 || missingFields.length > 0) && isResearchView && (
|
| 1347 |
+
<div className="rounded-[1.25rem] border border-amber-200/60 bg-amber-50/50 p-4 dark:border-amber-900/40 dark:bg-amber-950/15">
|
| 1348 |
+
<div className="mb-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-amber-700 dark:text-amber-300">
|
| 1349 |
+
Card quality notes
|
| 1350 |
+
</div>
|
| 1351 |
+
{flaggedFields.length > 0 && (
|
| 1352 |
+
<ul className="space-y-1 text-xs text-amber-900/80 dark:text-amber-100/80">
|
| 1353 |
+
{flaggedFields.map(([field, note]) => (
|
| 1354 |
+
<li key={field}>
|
| 1355 |
+
<span className="font-semibold">{field}:</span> {note}
|
| 1356 |
+
</li>
|
| 1357 |
+
))}
|
| 1358 |
+
</ul>
|
| 1359 |
+
)}
|
| 1360 |
+
{missingFields.length > 0 && (
|
| 1361 |
+
<p className="mt-1 text-xs text-amber-900/70 dark:text-amber-100/70">
|
| 1362 |
+
Missing: {missingFields.join(", ")}
|
| 1363 |
+
</p>
|
| 1364 |
+
)}
|
| 1365 |
+
</div>
|
| 1366 |
+
)}
|
| 1367 |
+
|
| 1368 |
+
{/* External resources */}
|
| 1369 |
+
{resources.length > 0 && (
|
| 1370 |
+
<div>
|
| 1371 |
+
<div className="mb-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-muted-foreground">
|
| 1372 |
+
Resources
|
| 1373 |
+
</div>
|
| 1374 |
+
<div className="flex flex-wrap gap-2">
|
| 1375 |
+
{resources.map((url) => (
|
| 1376 |
+
<a
|
| 1377 |
+
key={url}
|
| 1378 |
+
href={url}
|
| 1379 |
+
target="_blank"
|
| 1380 |
+
rel="noreferrer"
|
| 1381 |
+
onClick={(e) => e.stopPropagation()}
|
| 1382 |
+
className="inline-flex items-center gap-1 rounded-full border border-border/60 bg-background px-3 py-1.5 text-xs font-medium text-muted-foreground hover:text-primary hover:border-primary/40 transition-colors"
|
| 1383 |
+
>
|
| 1384 |
+
<FileText className="h-3 w-3 shrink-0" />
|
| 1385 |
+
{url.replace(/^https?:\/\//, "").replace(/\/.+/, "")}
|
| 1386 |
+
<ExternalLink className="h-3 w-3 shrink-0" />
|
| 1387 |
+
</a>
|
| 1388 |
+
))}
|
| 1389 |
+
</div>
|
| 1390 |
+
</div>
|
| 1391 |
+
)}
|
| 1392 |
+
</CardContent>
|
| 1393 |
+
</Card>
|
| 1394 |
+
)
|
| 1395 |
+
}
|
data/benchmarks/helm_capabilities.json
CHANGED
|
@@ -1,4 +1,233 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"models": [
|
| 3 |
{
|
| 4 |
"model_id": "allenai/OLMo-2-1124-7B-Instruct",
|
|
@@ -794,4 +1023,4 @@
|
|
| 794 |
}
|
| 795 |
}
|
| 796 |
]
|
| 797 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"benchmark_cards": {
|
| 3 |
+
"Omni-MATH": {
|
| 4 |
+
"benchmark_details": {
|
| 5 |
+
"name": "Omni-MATH",
|
| 6 |
+
"overview": "Omni-MATH is a benchmark designed to measure the mathematical reasoning capabilities of large language models at the Olympiad competition level. It comprises 4,428 challenging problems, categorized into over 33 sub-domains and more than 10 distinct difficulty levels. It was created because existing mathematical benchmarks are nearing saturation and are inadequate for assessing models on truly difficult tasks.",
|
| 7 |
+
"data_type": "text",
|
| 8 |
+
"domains": [
|
| 9 |
+
"math",
|
| 10 |
+
"olympiads"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"GSM8K",
|
| 17 |
+
"MATH"
|
| 18 |
+
],
|
| 19 |
+
"resources": [
|
| 20 |
+
"https://arxiv.org/abs/2410.07985",
|
| 21 |
+
"https://huggingface.co/datasets/KbsdJames/Omni-MATH",
|
| 22 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"purpose_and_intended_users": {
|
| 26 |
+
"goal": "To provide a challenging benchmark for assessing and advancing the mathematical reasoning capabilities of large language models at the Olympiad and competition level, as existing benchmarks have become less challenging. It enables a nuanced analysis of performance across various mathematical disciplines and complexity levels.",
|
| 27 |
+
"audience": [
|
| 28 |
+
"Researchers evaluating large language models"
|
| 29 |
+
],
|
| 30 |
+
"tasks": [
|
| 31 |
+
"Solving Olympiad-level mathematical problems",
|
| 32 |
+
"Solving competition-level mathematical problems",
|
| 33 |
+
"Rule-based evaluation on a filtered subset of problems (Omni-MATH-Rule)"
|
| 34 |
+
],
|
| 35 |
+
"limitations": "Some problems are not suitable for reliable rule-based evaluation, leading to a filtered 'testable' set and an 'untestable' set.",
|
| 36 |
+
"out_of_scope_uses": [
|
| 37 |
+
"Not specified"
|
| 38 |
+
]
|
| 39 |
+
},
|
| 40 |
+
"data": {
|
| 41 |
+
"source": "The data is sourced from contest pages, the AoPS Wiki, and the AoPS Forum. Initial raw counts from these sources were filtered to create the final dataset.",
|
| 42 |
+
"size": "4,428 problems. A subset of 2,821 problems (Omni-MATH-Rule) is suitable for rule-based evaluation, and a separate subset of 100 samples was used for meta-evaluation.",
|
| 43 |
+
"format": "JSON",
|
| 44 |
+
"annotation": "Problems underwent rigorous human annotation by a team including PhD and Master's students. Each problem was reviewed by two annotators for cross-validation, achieving high agreement rates."
|
| 45 |
+
},
|
| 46 |
+
"methodology": {
|
| 47 |
+
"methods": [
|
| 48 |
+
"Models are evaluated by generating solutions to the mathematical problems.",
|
| 49 |
+
"Evaluation is conducted using both model-based judgment (e.g., GPT-4o or the open-source Omni-Judge) and rule-based evaluation for a specific subset of problems (Omni-MATH-Rule)."
|
| 50 |
+
],
|
| 51 |
+
"metrics": [
|
| 52 |
+
"Accuracy (Acc)"
|
| 53 |
+
],
|
| 54 |
+
"calculation": "The overall score is the accuracy percentage, calculated as the number of correct solutions divided by the total number of problems.",
|
| 55 |
+
"interpretation": "Higher accuracy indicates stronger performance. The benchmark is considered challenging, as even advanced models achieve only moderate accuracy.",
|
| 56 |
+
"baseline_results": "Paper baselines (accuracy on full Omni-MATH / Omni-MATH-Rule subset): o1-mini (60.54% / 62.2%), o1-preview (52.55% / 51.7%), qwen2.5-MATH-72b-Instruct (36.20% / 35.7%), qwen2.5-MATH-7b-Instruct (33.22% / 32.3%), GPT-4o (30.49% / 29.2%), NuminaMATH-72b-cot (28.45% / 27.1%), DeepseekMATH-7b-RL (16.12% / 14.9%). EEE results: OLMo 2 32B Instruct March 2025 scored 0.161 (16.1%).",
|
| 57 |
+
"validation": "For the Omni-MATH-Rule subset, two PhD students annotated problems to determine suitability for rule-based evaluation, achieving 98% cross-validation accuracy. A meta-evaluation compared model-generated judgments against human gold-standard annotations on a 100-sample subset to assess reliability."
|
| 58 |
+
},
|
| 59 |
+
"ethical_and_legal_considerations": {
|
| 60 |
+
"privacy_and_anonymity": "Not specified",
|
| 61 |
+
"data_licensing": "Apache License 2.0",
|
| 62 |
+
"consent_procedures": "Not specified",
|
| 63 |
+
"compliance_with_regulations": "Not specified"
|
| 64 |
+
},
|
| 65 |
+
"possible_risks": [
|
| 66 |
+
{
|
| 67 |
+
"category": "Over- or under-reliance",
|
| 68 |
+
"description": [
|
| 69 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 70 |
+
],
|
| 71 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"category": "Unrepresentative data",
|
| 75 |
+
"description": [
|
| 76 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 77 |
+
],
|
| 78 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"category": "Data bias",
|
| 82 |
+
"description": [
|
| 83 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 84 |
+
],
|
| 85 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"category": "Lack of data transparency",
|
| 89 |
+
"description": [
|
| 90 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 91 |
+
],
|
| 92 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 93 |
+
},
|
| 94 |
+
{
|
| 95 |
+
"category": "Improper usage",
|
| 96 |
+
"description": [
|
| 97 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 98 |
+
],
|
| 99 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"flagged_fields": {},
|
| 103 |
+
"missing_fields": [
|
| 104 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 105 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 106 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 107 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 108 |
+
],
|
| 109 |
+
"card_info": {
|
| 110 |
+
"created_at": "2026-03-17T13:34:44.331592",
|
| 111 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 112 |
+
}
|
| 113 |
+
},
|
| 114 |
+
"WildBench": {
|
| 115 |
+
"benchmark_details": {
|
| 116 |
+
"name": "WildBench",
|
| 117 |
+
"overview": "WildBench is a benchmark that measures the performance of large language models on challenging, open-ended tasks derived from real-world user queries. It consists of 1,024 tasks selected from human-chatbot conversation logs. Its distinctive features include using a natural distribution of real user queries and employing automated evaluation with two novel metrics, WB-Reward and WB-Score, which utilize task-specific checklists and structured explanations.",
|
| 118 |
+
"data_type": "tabular, text",
|
| 119 |
+
"domains": [
|
| 120 |
+
"Info Seeking",
|
| 121 |
+
"Math & Data",
|
| 122 |
+
"Reasoning & Planning",
|
| 123 |
+
"Creative Tasks"
|
| 124 |
+
],
|
| 125 |
+
"languages": [
|
| 126 |
+
"English"
|
| 127 |
+
],
|
| 128 |
+
"similar_benchmarks": [
|
| 129 |
+
"AlpacaEval",
|
| 130 |
+
"ArenaHard",
|
| 131 |
+
"MT-bench",
|
| 132 |
+
"Chatbot Arena"
|
| 133 |
+
],
|
| 134 |
+
"resources": [
|
| 135 |
+
"https://arxiv.org/abs/2406.04770",
|
| 136 |
+
"https://huggingface.co/datasets/allenai/WildBench",
|
| 137 |
+
"https://huggingface.co/spaces/allenai/WildBench",
|
| 138 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 139 |
+
]
|
| 140 |
+
},
|
| 141 |
+
"purpose_and_intended_users": {
|
| 142 |
+
"goal": "To provide a realistic, automated, and cost-effective evaluation framework for large language models that reflects their capabilities on challenging, real-world user tasks. It aims to be contamination-resilient and dynamically updated.",
|
| 143 |
+
"audience": [
|
| 144 |
+
"Researchers and practitioners evaluating large language models"
|
| 145 |
+
],
|
| 146 |
+
"tasks": [
|
| 147 |
+
"Open-ended text generation in response to diverse user queries"
|
| 148 |
+
],
|
| 149 |
+
"limitations": "The benchmark acknowledges a common issue in LLM-as-a-judge evaluations: bias towards longer outputs. It introduces a length-penalty method to mitigate this.",
|
| 150 |
+
"out_of_scope_uses": [
|
| 151 |
+
"Not specified"
|
| 152 |
+
]
|
| 153 |
+
},
|
| 154 |
+
"data": {
|
| 155 |
+
"source": "The data is derived from real user-chatbot conversation logs collected by the AI2 WildChat project. Over one million logs were filtered to create the benchmark.",
|
| 156 |
+
"size": "The benchmark contains 1,024 tasks. A separate 'v2-hard' configuration contains 256 examples. The dataset falls into the size category of 1K to 10K examples.",
|
| 157 |
+
"format": "The data is stored in Parquet format.",
|
| 158 |
+
"annotation": "Human annotation was used for quality control. GPT-4-Turbo assisted by summarizing query intents to help human reviewers filter out nonsensical tasks. Human reviewers manually assessed tasks to ensure they were challenging, diverse, and that associated checklist questions were clear. The final set of tasks was retained after this process. Each example includes fine-grained annotations such as task types and checklists for evaluating response quality."
|
| 159 |
+
},
|
| 160 |
+
"methodology": {
|
| 161 |
+
"methods": [
|
| 162 |
+
"Models are evaluated automatically using LLM-as-a-judge, with GPT-4-turbo as the evaluator. The evaluation is not fine-tuning-based and appears to be zero-shot or prompted.",
|
| 163 |
+
"The evaluation uses length-penalized pairwise comparisons and individual scoring to prevent bias towards longer outputs."
|
| 164 |
+
],
|
| 165 |
+
"metrics": [
|
| 166 |
+
"WB-Reward (for pairwise comparisons)",
|
| 167 |
+
"WB-Score (for individual scoring)",
|
| 168 |
+
"WB-Elo (for leaderboard ranking, merging WB-Reward and WB-Score)"
|
| 169 |
+
],
|
| 170 |
+
"calculation": "WB-Reward compares a test model against three baseline models of varying performance, producing outcomes of 'much better', 'slightly better', 'tie', 'slightly worse', or 'much worse'. A length penalty converts 'slightly better/worse' to 'tie' if the winner's response is excessively longer. WB-Score evaluates individual model outputs. WB-Elo merges the pairwise comparisons from WB-Reward and WB-Score to perform Elo rating updates.",
|
| 171 |
+
"interpretation": "Higher scores on WB-Reward and WB-Score indicate better performance. Strong performance is validated by a high correlation with human-voted Elo ratings from Chatbot Arena, with WB-Reward achieving a Pearson correlation of 0.98 and WB-Score reaching 0.95.",
|
| 172 |
+
"baseline_results": "Paper baselines: The paper reports results for 40 LLMs but does not list specific scores. It notes that using Haiku as a baseline yields the best correlation with human ratings. EEE results: OLMo 2 32B Instruct March 2025 scored 0.7340 on WildBench.",
|
| 173 |
+
"validation": "The evaluation metrics are validated by their strong correlation with human-voted Elo ratings from Chatbot Arena on hard tasks. Checklist questions used in the evaluation were manually verified for clarity and relevance."
|
| 174 |
+
},
|
| 175 |
+
"ethical_and_legal_considerations": {
|
| 176 |
+
"privacy_and_anonymity": "Not specified",
|
| 177 |
+
"data_licensing": "The dataset is made available under a CC BY license, intended for research and educational use in accordance with AI2's Responsible Use Guidelines.",
|
| 178 |
+
"consent_procedures": "Not specified",
|
| 179 |
+
"compliance_with_regulations": "Not specified"
|
| 180 |
+
},
|
| 181 |
+
"possible_risks": [
|
| 182 |
+
{
|
| 183 |
+
"category": "Over- or under-reliance",
|
| 184 |
+
"description": [
|
| 185 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 186 |
+
],
|
| 187 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"category": "Unrepresentative data",
|
| 191 |
+
"description": [
|
| 192 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 193 |
+
],
|
| 194 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 195 |
+
},
|
| 196 |
+
{
|
| 197 |
+
"category": "Data bias",
|
| 198 |
+
"description": [
|
| 199 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 200 |
+
],
|
| 201 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"category": "Data contamination",
|
| 205 |
+
"description": [
|
| 206 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 207 |
+
],
|
| 208 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 209 |
+
},
|
| 210 |
+
{
|
| 211 |
+
"category": "Lack of data transparency",
|
| 212 |
+
"description": [
|
| 213 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 214 |
+
],
|
| 215 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 216 |
+
}
|
| 217 |
+
],
|
| 218 |
+
"flagged_fields": {},
|
| 219 |
+
"missing_fields": [
|
| 220 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 221 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 222 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 223 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 224 |
+
],
|
| 225 |
+
"card_info": {
|
| 226 |
+
"created_at": "2026-03-17T13:56:24.159440",
|
| 227 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
},
|
| 231 |
"models": [
|
| 232 |
{
|
| 233 |
"model_id": "allenai/OLMo-2-1124-7B-Instruct",
|
|
|
|
| 1023 |
}
|
| 1024 |
}
|
| 1025 |
]
|
| 1026 |
+
}
|
data/benchmarks/helm_classic.json
CHANGED
|
@@ -1,4 +1,556 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"models": [
|
| 3 |
{
|
| 4 |
"model_id": "Anthropic-LM-v4-s3-52B",
|
|
@@ -14,7 +566,7 @@
|
|
| 14 |
"HellaSwag": 0.807,
|
| 15 |
"OpenbookQA": 0.558,
|
| 16 |
"TruthfulQA": 0.368,
|
| 17 |
-
"MS MARCO (TREC)": -1
|
| 18 |
"CNN/DailyMail": 0.154,
|
| 19 |
"XSUM": 0.134,
|
| 20 |
"IMDB": 0.934,
|
|
@@ -33,12 +585,12 @@
|
|
| 33 |
"NarrativeQA": 0.596,
|
| 34 |
"NaturalQuestions (open-book)": 0.581,
|
| 35 |
"QuAC": 0.313,
|
| 36 |
-
"HellaSwag": -1
|
| 37 |
-
"OpenbookQA": -1
|
| 38 |
"TruthfulQA": 0.177,
|
| 39 |
-
"MS MARCO (TREC)": -1
|
| 40 |
-
"CNN/DailyMail": -1
|
| 41 |
-
"XSUM": -1
|
| 42 |
"IMDB": 0.931,
|
| 43 |
"CivilComments": 0.531,
|
| 44 |
"RAFT": 0.514
|
|
@@ -55,12 +607,12 @@
|
|
| 55 |
"NarrativeQA": 0.528,
|
| 56 |
"NaturalQuestions (open-book)": 0.539,
|
| 57 |
"QuAC": 0.296,
|
| 58 |
-
"HellaSwag": -1
|
| 59 |
-
"OpenbookQA": -1
|
| 60 |
"TruthfulQA": 0.213,
|
| 61 |
-
"MS MARCO (TREC)": -1
|
| 62 |
-
"CNN/DailyMail": -1
|
| 63 |
-
"XSUM": -1
|
| 64 |
"IMDB": 0.928,
|
| 65 |
"CivilComments": 0.511,
|
| 66 |
"RAFT": 0.502
|
|
@@ -206,9 +758,9 @@
|
|
| 206 |
"Mean win rate": 0.553,
|
| 207 |
"MMLU": 0.339,
|
| 208 |
"BoolQ": 0.742,
|
| 209 |
-
"NarrativeQA": -1
|
| 210 |
"NaturalQuestions (open-book)": 0.589,
|
| 211 |
-
"QuAC": -1
|
| 212 |
"HellaSwag": 0.729,
|
| 213 |
"OpenbookQA": 0.53,
|
| 214 |
"TruthfulQA": 0.245,
|
|
@@ -231,10 +783,10 @@
|
|
| 231 |
"NarrativeQA": 0.605,
|
| 232 |
"NaturalQuestions (open-book)": 0.568,
|
| 233 |
"QuAC": 0.334,
|
| 234 |
-
"HellaSwag": -1
|
| 235 |
-
"OpenbookQA": -1
|
| 236 |
"TruthfulQA": 0.182,
|
| 237 |
-
"MS MARCO (TREC)": -1
|
| 238 |
"CNN/DailyMail": 0.11,
|
| 239 |
"XSUM": 0.105,
|
| 240 |
"IMDB": 0.939,
|
|
@@ -253,10 +805,10 @@
|
|
| 253 |
"NarrativeQA": 0.665,
|
| 254 |
"NaturalQuestions (open-book)": 0.609,
|
| 255 |
"QuAC": 0.349,
|
| 256 |
-
"HellaSwag": -1
|
| 257 |
-
"OpenbookQA": -1
|
| 258 |
"TruthfulQA": 0.221,
|
| 259 |
-
"MS MARCO (TREC)": -1
|
| 260 |
"CNN/DailyMail": 0.139,
|
| 261 |
"XSUM": 0.124,
|
| 262 |
"IMDB": 0.947,
|
|
@@ -275,10 +827,10 @@
|
|
| 275 |
"NarrativeQA": 0.711,
|
| 276 |
"NaturalQuestions (open-book)": 0.649,
|
| 277 |
"QuAC": 0.37,
|
| 278 |
-
"HellaSwag": -1
|
| 279 |
-
"OpenbookQA": -1
|
| 280 |
"TruthfulQA": 0.222,
|
| 281 |
-
"MS MARCO (TREC)": -1
|
| 282 |
"CNN/DailyMail": 0.15,
|
| 283 |
"XSUM": 0.136,
|
| 284 |
"IMDB": 0.959,
|
|
@@ -315,14 +867,14 @@
|
|
| 315 |
"scores": {
|
| 316 |
"Mean win rate": 0.197,
|
| 317 |
"MMLU": 0.407,
|
| 318 |
-
"BoolQ": 0
|
| 319 |
"NarrativeQA": 0.151,
|
| 320 |
"NaturalQuestions (open-book)": 0.19,
|
| 321 |
"QuAC": 0.121,
|
| 322 |
-
"HellaSwag": -1
|
| 323 |
-
"OpenbookQA": -1
|
| 324 |
"TruthfulQA": 0.377,
|
| 325 |
-
"MS MARCO (TREC)": -1
|
| 326 |
"CNN/DailyMail": 0.122,
|
| 327 |
"XSUM": 0.09,
|
| 328 |
"IMDB": 0.207,
|
|
@@ -515,12 +1067,12 @@
|
|
| 515 |
"MMLU": 0.609,
|
| 516 |
"BoolQ": 0.896,
|
| 517 |
"NarrativeQA": 0.742,
|
| 518 |
-
"NaturalQuestions (open-book)": -1
|
| 519 |
"QuAC": 0.473,
|
| 520 |
-
"HellaSwag": -1
|
| 521 |
-
"OpenbookQA": -1
|
| 522 |
"TruthfulQA": 0.616,
|
| 523 |
-
"MS MARCO (TREC)": -1
|
| 524 |
"CNN/DailyMail": 0.049,
|
| 525 |
"XSUM": 0.149,
|
| 526 |
"IMDB": 0.935,
|
|
@@ -539,10 +1091,10 @@
|
|
| 539 |
"NarrativeQA": 0.086,
|
| 540 |
"NaturalQuestions (open-book)": 0.477,
|
| 541 |
"QuAC": 0.116,
|
| 542 |
-
"HellaSwag": -1
|
| 543 |
-
"OpenbookQA": -1
|
| 544 |
"TruthfulQA": 0.133,
|
| 545 |
-
"MS MARCO (TREC)": -1
|
| 546 |
"CNN/DailyMail": 0.043,
|
| 547 |
"XSUM": 0.015,
|
| 548 |
"IMDB": 0.379,
|
|
@@ -561,10 +1113,10 @@
|
|
| 561 |
"NarrativeQA": 0.083,
|
| 562 |
"NaturalQuestions (open-book)": 0.349,
|
| 563 |
"QuAC": 0.144,
|
| 564 |
-
"HellaSwag": -1
|
| 565 |
-
"OpenbookQA": -1
|
| 566 |
"TruthfulQA": 0.193,
|
| 567 |
-
"MS MARCO (TREC)": -1
|
| 568 |
"CNN/DailyMail": 0.03,
|
| 569 |
"XSUM": 0.058,
|
| 570 |
"IMDB": 0.337,
|
|
@@ -583,12 +1135,12 @@
|
|
| 583 |
"NarrativeQA": 0.691,
|
| 584 |
"NaturalQuestions (open-book)": 0.686,
|
| 585 |
"QuAC": 0.403,
|
| 586 |
-
"HellaSwag": -1
|
| 587 |
-
"OpenbookQA": -1
|
| 588 |
"TruthfulQA": 0.385,
|
| 589 |
-
"MS MARCO (TREC)": -1
|
| 590 |
-
"CNN/DailyMail": -1
|
| 591 |
-
"XSUM": -1
|
| 592 |
"IMDB": 0.762,
|
| 593 |
"CivilComments": 0.645,
|
| 594 |
"RAFT": 0.657
|
|
@@ -605,12 +1157,12 @@
|
|
| 605 |
"NarrativeQA": 0.643,
|
| 606 |
"NaturalQuestions (open-book)": 0.634,
|
| 607 |
"QuAC": 0.392,
|
| 608 |
-
"HellaSwag": -1
|
| 609 |
-
"OpenbookQA": -1
|
| 610 |
"TruthfulQA": 0.292,
|
| 611 |
-
"MS MARCO (TREC)": -1
|
| 612 |
-
"CNN/DailyMail": -1
|
| 613 |
-
"XSUM": -1
|
| 614 |
"IMDB": 0.916,
|
| 615 |
"CivilComments": 0.62,
|
| 616 |
"RAFT": 0.693
|
|
@@ -627,12 +1179,12 @@
|
|
| 627 |
"NarrativeQA": 0.711,
|
| 628 |
"NaturalQuestions (open-book)": 0.614,
|
| 629 |
"QuAC": 0.347,
|
| 630 |
-
"HellaSwag": -1
|
| 631 |
-
"OpenbookQA": -1
|
| 632 |
"TruthfulQA": 0.324,
|
| 633 |
-
"MS MARCO (TREC)": -1
|
| 634 |
-
"CNN/DailyMail": -1
|
| 635 |
-
"XSUM": -1
|
| 636 |
"IMDB": 0.928,
|
| 637 |
"CivilComments": 0.6,
|
| 638 |
"RAFT": 0.643
|
|
@@ -649,12 +1201,12 @@
|
|
| 649 |
"NarrativeQA": 0.752,
|
| 650 |
"NaturalQuestions (open-book)": 0.666,
|
| 651 |
"QuAC": 0.39,
|
| 652 |
-
"HellaSwag": -1
|
| 653 |
-
"OpenbookQA": -1
|
| 654 |
"TruthfulQA": 0.344,
|
| 655 |
-
"MS MARCO (TREC)": -1
|
| 656 |
-
"CNN/DailyMail": -1
|
| 657 |
-
"XSUM": -1
|
| 658 |
"IMDB": 0.927,
|
| 659 |
"CivilComments": 0.549,
|
| 660 |
"RAFT": 0.752
|
|
@@ -671,12 +1223,12 @@
|
|
| 671 |
"NarrativeQA": 0.755,
|
| 672 |
"NaturalQuestions (open-book)": 0.672,
|
| 673 |
"QuAC": 0.401,
|
| 674 |
-
"HellaSwag": -1
|
| 675 |
-
"OpenbookQA": -1
|
| 676 |
"TruthfulQA": 0.508,
|
| 677 |
-
"MS MARCO (TREC)": -1
|
| 678 |
-
"CNN/DailyMail": -1
|
| 679 |
-
"XSUM": -1
|
| 680 |
"IMDB": 0.962,
|
| 681 |
"CivilComments": 0.655,
|
| 682 |
"RAFT": 0.702
|
|
@@ -693,12 +1245,12 @@
|
|
| 693 |
"NarrativeQA": 0.669,
|
| 694 |
"NaturalQuestions (open-book)": 0.589,
|
| 695 |
"QuAC": 0.338,
|
| 696 |
-
"HellaSwag": -1
|
| 697 |
-
"OpenbookQA": -1
|
| 698 |
"TruthfulQA": 0.28,
|
| 699 |
-
"MS MARCO (TREC)": -1
|
| 700 |
-
"CNN/DailyMail": -1
|
| 701 |
-
"XSUM": -1
|
| 702 |
"IMDB": 0.947,
|
| 703 |
"CivilComments": 0.563,
|
| 704 |
"RAFT": 0.573
|
|
@@ -759,12 +1311,12 @@
|
|
| 759 |
"NarrativeQA": 0.744,
|
| 760 |
"NaturalQuestions (open-book)": 0.637,
|
| 761 |
"QuAC": 0.424,
|
| 762 |
-
"HellaSwag": -1
|
| 763 |
-
"OpenbookQA": -1
|
| 764 |
"TruthfulQA": 0.33,
|
| 765 |
-
"MS MARCO (TREC)": -1
|
| 766 |
-
"CNN/DailyMail": -1
|
| 767 |
-
"XSUM": -1
|
| 768 |
"IMDB": 0.962,
|
| 769 |
"CivilComments": 0.588,
|
| 770 |
"RAFT": 0.707
|
|
@@ -781,12 +1333,12 @@
|
|
| 781 |
"NarrativeQA": 0.77,
|
| 782 |
"NaturalQuestions (open-book)": 0.674,
|
| 783 |
"QuAC": 0.484,
|
| 784 |
-
"HellaSwag": -1
|
| 785 |
-
"OpenbookQA": -1
|
| 786 |
"TruthfulQA": 0.554,
|
| 787 |
-
"MS MARCO (TREC)": -1
|
| 788 |
-
"CNN/DailyMail": -1
|
| 789 |
-
"XSUM": -1
|
| 790 |
"IMDB": 0.961,
|
| 791 |
"CivilComments": 0.652,
|
| 792 |
"RAFT": 0.727
|
|
@@ -803,12 +1355,12 @@
|
|
| 803 |
"NarrativeQA": 0.691,
|
| 804 |
"NaturalQuestions (open-book)": 0.611,
|
| 805 |
"QuAC": 0.406,
|
| 806 |
-
"HellaSwag": -1
|
| 807 |
-
"OpenbookQA": -1
|
| 808 |
"TruthfulQA": 0.272,
|
| 809 |
-
"MS MARCO (TREC)": -1
|
| 810 |
-
"CNN/DailyMail": -1
|
| 811 |
-
"XSUM": -1
|
| 812 |
"IMDB": 0.907,
|
| 813 |
"CivilComments": 0.562,
|
| 814 |
"RAFT": 0.643
|
|
@@ -869,12 +1421,12 @@
|
|
| 869 |
"NarrativeQA": 0.716,
|
| 870 |
"NaturalQuestions (open-book)": 0.687,
|
| 871 |
"QuAC": 0.423,
|
| 872 |
-
"HellaSwag": -1
|
| 873 |
-
"OpenbookQA": -1
|
| 874 |
"TruthfulQA": 0.422,
|
| 875 |
-
"MS MARCO (TREC)": -1
|
| 876 |
-
"CNN/DailyMail": -1
|
| 877 |
-
"XSUM": -1
|
| 878 |
"IMDB": 0.962,
|
| 879 |
"CivilComments": 0.624,
|
| 880 |
"RAFT": 0.707
|
|
@@ -891,12 +1443,12 @@
|
|
| 891 |
"NarrativeQA": 0.732,
|
| 892 |
"NaturalQuestions (open-book)": 0.673,
|
| 893 |
"QuAC": 0.393,
|
| 894 |
-
"HellaSwag": -1
|
| 895 |
-
"OpenbookQA": -1
|
| 896 |
"TruthfulQA": 0.231,
|
| 897 |
-
"MS MARCO (TREC)": -1
|
| 898 |
-
"CNN/DailyMail": -1
|
| 899 |
-
"XSUM": -1
|
| 900 |
"IMDB": 0.959,
|
| 901 |
"CivilComments": 0.599,
|
| 902 |
"RAFT": 0.723
|
|
@@ -913,12 +1465,12 @@
|
|
| 913 |
"NarrativeQA": 0.733,
|
| 914 |
"NaturalQuestions (open-book)": 0.697,
|
| 915 |
"QuAC": 0.327,
|
| 916 |
-
"HellaSwag": -1
|
| 917 |
-
"OpenbookQA": -1
|
| 918 |
"TruthfulQA": 0.234,
|
| 919 |
-
"MS MARCO (TREC)": -1
|
| 920 |
-
"CNN/DailyMail": -1
|
| 921 |
-
"XSUM": -1
|
| 922 |
"IMDB": 0.956,
|
| 923 |
"CivilComments": 0.573,
|
| 924 |
"RAFT": 0.68
|
|
@@ -1067,12 +1619,12 @@
|
|
| 1067 |
"NarrativeQA": 0.663,
|
| 1068 |
"NaturalQuestions (open-book)": 0.624,
|
| 1069 |
"QuAC": 0.512,
|
| 1070 |
-
"HellaSwag": -1
|
| 1071 |
-
"OpenbookQA": -1
|
| 1072 |
"TruthfulQA": 0.609,
|
| 1073 |
-
"MS MARCO (TREC)": -1
|
| 1074 |
-
"CNN/DailyMail": -1
|
| 1075 |
-
"XSUM": -1
|
| 1076 |
"IMDB": 0.899,
|
| 1077 |
"CivilComments": 0.674,
|
| 1078 |
"RAFT": 0.768
|
|
@@ -1089,12 +1641,12 @@
|
|
| 1089 |
"NarrativeQA": 0.625,
|
| 1090 |
"NaturalQuestions (open-book)": 0.675,
|
| 1091 |
"QuAC": 0.485,
|
| 1092 |
-
"HellaSwag": -1
|
| 1093 |
-
"OpenbookQA": -1
|
| 1094 |
"TruthfulQA": 0.339,
|
| 1095 |
-
"MS MARCO (TREC)": -1
|
| 1096 |
-
"CNN/DailyMail": -1
|
| 1097 |
-
"XSUM": -1
|
| 1098 |
"IMDB": 0.943,
|
| 1099 |
"CivilComments": 0.696,
|
| 1100 |
"RAFT": 0.748
|
|
@@ -1221,12 +1773,12 @@
|
|
| 1221 |
"NarrativeQA": 0.396,
|
| 1222 |
"NaturalQuestions (open-book)": 0.592,
|
| 1223 |
"QuAC": 0.27,
|
| 1224 |
-
"HellaSwag": -1
|
| 1225 |
-
"OpenbookQA": -1
|
| 1226 |
"TruthfulQA": 0.243,
|
| 1227 |
-
"MS MARCO (TREC)": -1
|
| 1228 |
-
"CNN/DailyMail": -1
|
| 1229 |
-
"XSUM": -1
|
| 1230 |
"IMDB": 0.738,
|
| 1231 |
"CivilComments": 0.566,
|
| 1232 |
"RAFT": 0.486
|
|
@@ -1243,12 +1795,12 @@
|
|
| 1243 |
"NarrativeQA": 0.625,
|
| 1244 |
"NaturalQuestions (open-book)": 0.666,
|
| 1245 |
"QuAC": 0.371,
|
| 1246 |
-
"HellaSwag": -1
|
| 1247 |
-
"OpenbookQA": -1
|
| 1248 |
"TruthfulQA": 0.384,
|
| 1249 |
-
"MS MARCO (TREC)": -1
|
| 1250 |
-
"CNN/DailyMail": -1
|
| 1251 |
-
"XSUM": -1
|
| 1252 |
"IMDB": 0.959,
|
| 1253 |
"CivilComments": 0.603,
|
| 1254 |
"RAFT": 0.586
|
|
@@ -1265,12 +1817,12 @@
|
|
| 1265 |
"NarrativeQA": 0.476,
|
| 1266 |
"NaturalQuestions (open-book)": 0.449,
|
| 1267 |
"QuAC": 0.311,
|
| 1268 |
-
"HellaSwag": -1
|
| 1269 |
-
"OpenbookQA": -1
|
| 1270 |
"TruthfulQA": 0.213,
|
| 1271 |
-
"MS MARCO (TREC)": -1
|
| 1272 |
-
"CNN/DailyMail": -1
|
| 1273 |
-
"XSUM": -1
|
| 1274 |
"IMDB": 0.852,
|
| 1275 |
"CivilComments": 0.511,
|
| 1276 |
"RAFT": 0.523
|
|
@@ -1287,12 +1839,12 @@
|
|
| 1287 |
"NarrativeQA": 0.673,
|
| 1288 |
"NaturalQuestions (open-book)": 0.675,
|
| 1289 |
"QuAC": 0.307,
|
| 1290 |
-
"HellaSwag": -1
|
| 1291 |
-
"OpenbookQA": -1
|
| 1292 |
"TruthfulQA": 0.353,
|
| 1293 |
-
"MS MARCO (TREC)": -1
|
| 1294 |
-
"CNN/DailyMail": -1
|
| 1295 |
-
"XSUM": -1
|
| 1296 |
"IMDB": 0.959,
|
| 1297 |
"CivilComments": 0.552,
|
| 1298 |
"RAFT": 0.661
|
|
@@ -1309,12 +1861,12 @@
|
|
| 1309 |
"NarrativeQA": 0.621,
|
| 1310 |
"NaturalQuestions (open-book)": 0.579,
|
| 1311 |
"QuAC": 0.332,
|
| 1312 |
-
"HellaSwag": -1
|
| 1313 |
-
"OpenbookQA": -1
|
| 1314 |
"TruthfulQA": 0.234,
|
| 1315 |
-
"MS MARCO (TREC)": -1
|
| 1316 |
-
"CNN/DailyMail": -1
|
| 1317 |
-
"XSUM": -1
|
| 1318 |
"IMDB": 0.836,
|
| 1319 |
"CivilComments": 0.514,
|
| 1320 |
"RAFT": 0.602
|
|
@@ -1331,12 +1883,12 @@
|
|
| 1331 |
"NarrativeQA": 0.617,
|
| 1332 |
"NaturalQuestions (open-book)": 0.586,
|
| 1333 |
"QuAC": 0.336,
|
| 1334 |
-
"HellaSwag": -1
|
| 1335 |
-
"OpenbookQA": -1
|
| 1336 |
"TruthfulQA": 0.205,
|
| 1337 |
-
"MS MARCO (TREC)": -1
|
| 1338 |
-
"CNN/DailyMail": -1
|
| 1339 |
-
"XSUM": -1
|
| 1340 |
"IMDB": 0.752,
|
| 1341 |
"CivilComments": 0.547,
|
| 1342 |
"RAFT": 0.648
|
|
@@ -1353,12 +1905,12 @@
|
|
| 1353 |
"NarrativeQA": 0.555,
|
| 1354 |
"NaturalQuestions (open-book)": 0.52,
|
| 1355 |
"QuAC": 0.309,
|
| 1356 |
-
"HellaSwag": -1
|
| 1357 |
-
"OpenbookQA": -1
|
| 1358 |
"TruthfulQA": 0.277,
|
| 1359 |
-
"MS MARCO (TREC)": -1
|
| 1360 |
-
"CNN/DailyMail": -1
|
| 1361 |
-
"XSUM": -1
|
| 1362 |
"IMDB": 0.907,
|
| 1363 |
"CivilComments": 0.549,
|
| 1364 |
"RAFT": 0.502
|
|
@@ -1375,12 +1927,12 @@
|
|
| 1375 |
"NarrativeQA": 0.638,
|
| 1376 |
"NaturalQuestions (open-book)": 0.659,
|
| 1377 |
"QuAC": 0.26,
|
| 1378 |
-
"HellaSwag": -1
|
| 1379 |
-
"OpenbookQA": -1
|
| 1380 |
"TruthfulQA": 0.243,
|
| 1381 |
-
"MS MARCO (TREC)": -1
|
| 1382 |
-
"CNN/DailyMail": -1
|
| 1383 |
-
"XSUM": -1
|
| 1384 |
"IMDB": 0.927,
|
| 1385 |
"CivilComments": 0.664,
|
| 1386 |
"RAFT": 0.695
|
|
@@ -1397,12 +1949,12 @@
|
|
| 1397 |
"NarrativeQA": 0.638,
|
| 1398 |
"NaturalQuestions (open-book)": 0.637,
|
| 1399 |
"QuAC": 0.259,
|
| 1400 |
-
"HellaSwag": -1
|
| 1401 |
-
"OpenbookQA": -1
|
| 1402 |
"TruthfulQA": 0.208,
|
| 1403 |
-
"MS MARCO (TREC)": -1
|
| 1404 |
-
"CNN/DailyMail": -1
|
| 1405 |
-
"XSUM": -1
|
| 1406 |
"IMDB": 0.894,
|
| 1407 |
"CivilComments": 0.549,
|
| 1408 |
"RAFT": 0.661
|
|
@@ -1419,10 +1971,10 @@
|
|
| 1419 |
"NarrativeQA": 0.496,
|
| 1420 |
"NaturalQuestions (open-book)": 0.682,
|
| 1421 |
"QuAC": 0.433,
|
| 1422 |
-
"HellaSwag": -1
|
| 1423 |
-
"OpenbookQA": -1
|
| 1424 |
"TruthfulQA": 0.185,
|
| 1425 |
-
"MS MARCO (TREC)": -1
|
| 1426 |
"CNN/DailyMail": 0.152,
|
| 1427 |
"XSUM": 0.104,
|
| 1428 |
"IMDB": 0.94,
|
|
@@ -1441,10 +1993,10 @@
|
|
| 1441 |
"NarrativeQA": 0.252,
|
| 1442 |
"NaturalQuestions (open-book)": 0.227,
|
| 1443 |
"QuAC": 0.162,
|
| 1444 |
-
"HellaSwag": -1
|
| 1445 |
-
"OpenbookQA": -1
|
| 1446 |
"TruthfulQA": 0.202,
|
| 1447 |
-
"MS MARCO (TREC)": -1
|
| 1448 |
"CNN/DailyMail": 0.017,
|
| 1449 |
"XSUM": 0.021,
|
| 1450 |
"IMDB": 0.836,
|
|
@@ -1463,10 +2015,10 @@
|
|
| 1463 |
"NarrativeQA": 0.706,
|
| 1464 |
"NaturalQuestions (open-book)": 0.642,
|
| 1465 |
"QuAC": 0.272,
|
| 1466 |
-
"HellaSwag": -1
|
| 1467 |
-
"OpenbookQA": -1
|
| 1468 |
"TruthfulQA": 0.218,
|
| 1469 |
-
"MS MARCO (TREC)": -1
|
| 1470 |
"CNN/DailyMail": 0.154,
|
| 1471 |
"XSUM": 0.132,
|
| 1472 |
"IMDB": 0.955,
|
|
@@ -1475,4 +2027,4 @@
|
|
| 1475 |
}
|
| 1476 |
}
|
| 1477 |
]
|
| 1478 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"benchmark_cards": {
|
| 3 |
+
"BoolQ": {
|
| 4 |
+
"benchmark_details": {
|
| 5 |
+
"name": "BoolQ",
|
| 6 |
+
"overview": "BoolQ is a benchmark that measures a model's ability to answer naturally occurring yes/no questions, framed as a reading comprehension task. The questions are generated in unprompted and unconstrained settings, often querying complex, non-factoid information and requiring difficult entailment-like inference. The dataset consists of a single task: answering yes/no questions given a supporting passage.",
|
| 7 |
+
"data_type": "text",
|
| 8 |
+
"domains": [
|
| 9 |
+
"natural language understanding",
|
| 10 |
+
"reading comprehension",
|
| 11 |
+
"natural language inference"
|
| 12 |
+
],
|
| 13 |
+
"languages": [
|
| 14 |
+
"English"
|
| 15 |
+
],
|
| 16 |
+
"similar_benchmarks": [
|
| 17 |
+
"MultiNLI",
|
| 18 |
+
"SNLI",
|
| 19 |
+
"QNLI",
|
| 20 |
+
"SQuAD 2.0",
|
| 21 |
+
"Natural Questions (NQ)",
|
| 22 |
+
"QQP",
|
| 23 |
+
"MS MARCO",
|
| 24 |
+
"RACE",
|
| 25 |
+
"bAbI stories"
|
| 26 |
+
],
|
| 27 |
+
"resources": [
|
| 28 |
+
"https://arxiv.org/abs/1905.10044",
|
| 29 |
+
"https://huggingface.co/datasets/google/boolq",
|
| 30 |
+
"https://goo.gl/boolq",
|
| 31 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 32 |
+
]
|
| 33 |
+
},
|
| 34 |
+
"purpose_and_intended_users": {
|
| 35 |
+
"goal": "To test models on their ability to answer naturally occurring yes/no questions, which are challenging and require complex inferential abilities beyond surface-level reasoning.",
|
| 36 |
+
"audience": [
|
| 37 |
+
"Researchers in natural language understanding and reading comprehension"
|
| 38 |
+
],
|
| 39 |
+
"tasks": [
|
| 40 |
+
"Yes/no question answering",
|
| 41 |
+
"Text-pair classification"
|
| 42 |
+
],
|
| 43 |
+
"limitations": "Annotation involved some errors and ambiguous cases. The use of singly-annotated examples is a trade-off for dataset size. Potential concerns about annotation artifacts are acknowledged.",
|
| 44 |
+
"out_of_scope_uses": "The paper does not explicitly state what the benchmark is not designed for."
|
| 45 |
+
},
|
| 46 |
+
"data": {
|
| 47 |
+
"source": "The data consists of naturally occurring yes/no questions authored by people who were not prompted to write specific question types and did not know the answers. The passages are excerpts from sources like Wikipedia.",
|
| 48 |
+
"size": "15,942 examples total, with 9,427 in the train split and 3,270 in the validation split. The dataset size category is between 10,000 and 100,000 examples.",
|
| 49 |
+
"format": "parquet",
|
| 50 |
+
"annotation": "Questions were answered by human annotators. A quality check on a subset showed the main annotation process achieved 90% accuracy against a gold-standard set labeled by three authors. The training, development, and test sets use singly-annotated examples."
|
| 51 |
+
},
|
| 52 |
+
"methodology": {
|
| 53 |
+
"methods": [
|
| 54 |
+
"Models are evaluated by fine-tuning on the BoolQ training set, potentially after transfer learning from other datasets or unsupervised pre-training. Zero-shot or direct use of pre-trained models without fine-tuning did not outperform the majority baseline.",
|
| 55 |
+
"The task requires providing a yes/no (boolean) answer to a question based on a given passage."
|
| 56 |
+
],
|
| 57 |
+
"metrics": [
|
| 58 |
+
"Accuracy"
|
| 59 |
+
],
|
| 60 |
+
"calculation": "The overall score is the accuracy percentage on the test set.",
|
| 61 |
+
"interpretation": "Higher accuracy indicates better performance. Human accuracy is 90%, and the majority baseline is approximately 62%.",
|
| 62 |
+
"baseline_results": "Paper baselines: Majority baseline: 62.17% dev, 62.31% test; Recurrent model baseline: 69.6%; Best model (BERT large pre-trained on MultiNLI then fine-tuned on BoolQ): 80.4% accuracy; Human accuracy: 90%. EEE results: Anthropic-LM v4-s3 52B: 81.5%.",
|
| 63 |
+
"validation": "Quality assurance involved author-led gold-standard annotation on a subset, showing 90% agreement. The development set was used for model selection, such as choosing the best model from five seeds based on its performance."
|
| 64 |
+
},
|
| 65 |
+
"ethical_and_legal_considerations": {
|
| 66 |
+
"privacy_and_anonymity": "Not specified",
|
| 67 |
+
"data_licensing": "cc-by-sa-3.0",
|
| 68 |
+
"consent_procedures": "Not specified",
|
| 69 |
+
"compliance_with_regulations": "Not specified"
|
| 70 |
+
},
|
| 71 |
+
"possible_risks": [
|
| 72 |
+
{
|
| 73 |
+
"category": "Over- or under-reliance",
|
| 74 |
+
"description": [
|
| 75 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Unrepresentative data",
|
| 81 |
+
"description": [
|
| 82 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Uncertain data provenance",
|
| 88 |
+
"description": [
|
| 89 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"category": "Data bias",
|
| 95 |
+
"description": [
|
| 96 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 97 |
+
],
|
| 98 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 99 |
+
},
|
| 100 |
+
{
|
| 101 |
+
"category": "Lack of data transparency",
|
| 102 |
+
"description": [
|
| 103 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 104 |
+
],
|
| 105 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"flagged_fields": {},
|
| 109 |
+
"missing_fields": [
|
| 110 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 111 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 112 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 113 |
+
],
|
| 114 |
+
"card_info": {
|
| 115 |
+
"created_at": "2026-03-17T15:08:51.830946",
|
| 116 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 117 |
+
}
|
| 118 |
+
},
|
| 119 |
+
"CNN/DailyMail": {
|
| 120 |
+
"benchmark_details": {
|
| 121 |
+
"name": "CNN/DailyMail",
|
| 122 |
+
"overview": "CNN/DailyMail is a benchmark for evaluating abstractive and extractive summarization models using news articles. It contains over 300,000 unique articles written by journalists from CNN and the Daily Mail. The dataset was originally created for machine reading and question answering, but later versions were restructured specifically for summarization tasks.",
|
| 123 |
+
"data_type": "text",
|
| 124 |
+
"domains": [
|
| 125 |
+
"summarization",
|
| 126 |
+
"journalism",
|
| 127 |
+
"news media"
|
| 128 |
+
],
|
| 129 |
+
"languages": [
|
| 130 |
+
"English"
|
| 131 |
+
],
|
| 132 |
+
"similar_benchmarks": "No facts provided about similar benchmarks.",
|
| 133 |
+
"resources": [
|
| 134 |
+
"https://huggingface.co/datasets/abisee/cnn_dailymail",
|
| 135 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 136 |
+
]
|
| 137 |
+
},
|
| 138 |
+
"purpose_and_intended_users": {
|
| 139 |
+
"goal": "To help develop models that can summarize long paragraphs of text into one or two sentences, aiding in the efficient presentation of information from large quantities of text.",
|
| 140 |
+
"audience": [
|
| 141 |
+
"NLP researchers",
|
| 142 |
+
"Summarization model developers"
|
| 143 |
+
],
|
| 144 |
+
"tasks": [
|
| 145 |
+
"Summarization"
|
| 146 |
+
],
|
| 147 |
+
"limitations": "News articles often place important information in the first third, which may affect summarization. A manual study found 25% of samples in an earlier version were difficult for humans due to ambiguity and coreference errors. Also, machine-generated summaries may differ in truth values from the original articles.",
|
| 148 |
+
"out_of_scope_uses": "No facts provided about out-of-scope uses."
|
| 149 |
+
},
|
| 150 |
+
"data": {
|
| 151 |
+
"source": "The dataset consists of news articles and highlight sentences written by journalists at CNN and the Daily Mail. The CNN articles were collected from April 2007 to April 2015, and the Daily Mail articles from June 2010 to April 2015, sourced from archives on the Wayback Machine.",
|
| 152 |
+
"size": "Over 300,000 unique articles, with 287,113 training examples, 13,368 validation examples, and 11,490 test examples.",
|
| 153 |
+
"format": "parquet",
|
| 154 |
+
"annotation": "The dataset does not contain additional annotations. The highlights are the original summaries written by the article authors and are used as the target for summarization."
|
| 155 |
+
},
|
| 156 |
+
"methodology": {
|
| 157 |
+
"methods": [
|
| 158 |
+
"Models generate a summary for a given news article, which is then compared to the author-written highlights."
|
| 159 |
+
],
|
| 160 |
+
"metrics": [
|
| 161 |
+
"ROUGE-2"
|
| 162 |
+
],
|
| 163 |
+
"calculation": "The ROUGE-2 score measures the overlap of bigrams between the generated summary and the reference highlights.",
|
| 164 |
+
"interpretation": "Higher scores indicate better performance, as they reflect greater overlap with the reference summaries.",
|
| 165 |
+
"baseline_results": "Paper baseline (Zhong et al., 2020): ROUGE-1 score of 44.41 for an extractive summarization model. Evaluation suite result (Anthropic-LM v4-s3 52B): ROUGE-2 score of 0.154.",
|
| 166 |
+
"validation": "No facts provided about validation procedures."
|
| 167 |
+
},
|
| 168 |
+
"ethical_and_legal_considerations": {
|
| 169 |
+
"privacy_and_anonymity": "The dataset (version 3.0.0) is not anonymized, meaning individuals' names are present in the text.",
|
| 170 |
+
"data_licensing": "Apache License 2.0",
|
| 171 |
+
"consent_procedures": "Not specified",
|
| 172 |
+
"compliance_with_regulations": "Not specified"
|
| 173 |
+
},
|
| 174 |
+
"possible_risks": [
|
| 175 |
+
{
|
| 176 |
+
"category": "Over- or under-reliance",
|
| 177 |
+
"description": [
|
| 178 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 179 |
+
],
|
| 180 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"category": "Unrepresentative data",
|
| 184 |
+
"description": [
|
| 185 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 186 |
+
],
|
| 187 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"category": "Data bias",
|
| 191 |
+
"description": [
|
| 192 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 193 |
+
],
|
| 194 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 195 |
+
},
|
| 196 |
+
{
|
| 197 |
+
"category": "Data contamination",
|
| 198 |
+
"description": [
|
| 199 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 200 |
+
],
|
| 201 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"category": "Lack of data transparency",
|
| 205 |
+
"description": [
|
| 206 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 207 |
+
],
|
| 208 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 209 |
+
}
|
| 210 |
+
],
|
| 211 |
+
"flagged_fields": {},
|
| 212 |
+
"missing_fields": [
|
| 213 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 214 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 215 |
+
],
|
| 216 |
+
"card_info": {
|
| 217 |
+
"created_at": "2026-03-17T15:15:47.316103",
|
| 218 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 219 |
+
}
|
| 220 |
+
},
|
| 221 |
+
"CivilComments": {
|
| 222 |
+
"benchmark_details": {
|
| 223 |
+
"name": "CivilComments",
|
| 224 |
+
"overview": "CivilComments is a benchmark designed to measure unintended identity-based bias in toxicity classification models. It uses a large, real-world dataset of online comments from the Civil Comments platform, extended with crowd-sourced annotations for toxicity and demographic identity references. This provides a nuanced evaluation of bias beyond synthetic datasets.",
|
| 225 |
+
"data_type": "tabular, text",
|
| 226 |
+
"domains": [
|
| 227 |
+
"machine learning fairness",
|
| 228 |
+
"bias measurement",
|
| 229 |
+
"toxic comment classification",
|
| 230 |
+
"text classification"
|
| 231 |
+
],
|
| 232 |
+
"languages": [
|
| 233 |
+
"English"
|
| 234 |
+
],
|
| 235 |
+
"similar_benchmarks": "The paper does not name other specific benchmark datasets, only referencing prior work using synthetic test sets.",
|
| 236 |
+
"resources": [
|
| 237 |
+
"https://arxiv.org/abs/1903.04561",
|
| 238 |
+
"https://huggingface.co/datasets/google/civil_comments",
|
| 239 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 240 |
+
]
|
| 241 |
+
},
|
| 242 |
+
"purpose_and_intended_users": {
|
| 243 |
+
"goal": "To evaluate unintended identity-based bias in toxicity classification models using real data and nuanced metrics.",
|
| 244 |
+
"audience": [
|
| 245 |
+
"Machine learning researchers and practitioners working on fairness, bias measurement, and mitigation, particularly in toxic comment classification."
|
| 246 |
+
],
|
| 247 |
+
"tasks": [
|
| 248 |
+
"Binary toxicity classification (toxic vs. non-toxic)",
|
| 249 |
+
"Analysis of performance across identity subgroups"
|
| 250 |
+
],
|
| 251 |
+
"limitations": "The labeled set of identities is not comprehensive and does not provide universal coverage, representing a balance between coverage, annotator accuracy, and example count. The real-world data is potentially noisier than synthetic alternatives.",
|
| 252 |
+
"out_of_scope_uses": [
|
| 253 |
+
"Developing effective strategies for choosing optimal thresholds to minimize bias"
|
| 254 |
+
]
|
| 255 |
+
},
|
| 256 |
+
"data": {
|
| 257 |
+
"source": "The data consists of online comments sourced from the Civil Comments platform, a commenting plugin for independent English-language news sites. The comments were publicly posted between 2015 and 2017.",
|
| 258 |
+
"size": "The dataset contains approximately 1.8 million comments for training, with separate validation and test sets of approximately 97,320 examples each. All comments were labeled for toxicity, and a subset of 450,000 comments was additionally labeled for identity references.",
|
| 259 |
+
"format": "parquet",
|
| 260 |
+
"annotation": "Labeling was performed by crowd raters. Toxicity labels were applied using guidelines consistent with the Perspective API. For the identity-labeled subset, raters were shown comments and selected referenced identities (e.g., genders, races, ethnicities) from a provided list. Some comments for identity labeling were pre-selected by models to increase the frequency of identity content."
|
| 261 |
+
},
|
| 262 |
+
"methodology": {
|
| 263 |
+
"methods": [
|
| 264 |
+
"Models are evaluated by applying a suite of bias metrics to their predictions on the test set. The original paper demonstrates this using publicly accessible toxicity classifiers on the dataset."
|
| 265 |
+
],
|
| 266 |
+
"metrics": [
|
| 267 |
+
"Subgroup AUC",
|
| 268 |
+
"BPSN AUC",
|
| 269 |
+
"BNSP AUC",
|
| 270 |
+
"Negative Average Equality Gap (AEG)",
|
| 271 |
+
"Positive Average Equality Gap (AEG)"
|
| 272 |
+
],
|
| 273 |
+
"calculation": "The evaluation calculates five metrics for each identity subgroup to provide a multi-faceted view of bias. There is no single aggregated overall score.",
|
| 274 |
+
"interpretation": "For the AUC metrics (Subgroup, BPSN, BNSP), higher values indicate better separability (fewer mis-orderings). For the Average Equality Gaps (Negative and Positive), lower values indicate better separability (more similar score distributions).",
|
| 275 |
+
"baseline_results": "Paper baselines: Results for TOXICITY@1 and TOXICITY@6 from the Perspective API are reported, showing their Subgroup AUC, BPSN AUC, BNSP AUC, Negative AEG, and Positive AEG on a synthetic dataset for the lowest performing 20 subgroups. They are also compared on short comments within the human-labeled dataset for specific identities. EEE results: Anthropic-LM v4-s3 52B scored 0.6100 on the CivilComments metric.",
|
| 276 |
+
"validation": "The evaluation assumes the human-provided labels are reliable. The identity labeling set was designed to balance coverage, crowd rater accuracy, and ensure sufficient examples per identity for meaningful results."
|
| 277 |
+
},
|
| 278 |
+
"ethical_and_legal_considerations": {
|
| 279 |
+
"privacy_and_anonymity": "The paper does not discuss how personally identifiable information (PII) in the online comments was handled or if data was anonymized.",
|
| 280 |
+
"data_licensing": "Creative Commons Zero v1.0 Universal",
|
| 281 |
+
"consent_procedures": "The paper does not describe compensation for crowdworkers or the specific platform used for annotation.",
|
| 282 |
+
"compliance_with_regulations": "The paper does not mention IRB approval, GDPR compliance, or any other ethical review process."
|
| 283 |
+
},
|
| 284 |
+
"possible_risks": [
|
| 285 |
+
{
|
| 286 |
+
"category": "Unrepresentative data",
|
| 287 |
+
"description": [
|
| 288 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 289 |
+
],
|
| 290 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"category": "Uncertain data provenance",
|
| 294 |
+
"description": [
|
| 295 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 296 |
+
],
|
| 297 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"category": "Data bias",
|
| 301 |
+
"description": [
|
| 302 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 303 |
+
],
|
| 304 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 305 |
+
},
|
| 306 |
+
{
|
| 307 |
+
"category": "Lack of data transparency",
|
| 308 |
+
"description": [
|
| 309 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 310 |
+
],
|
| 311 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"category": "Output bias",
|
| 315 |
+
"description": [
|
| 316 |
+
"Generated content might unfairly represent certain groups or individuals."
|
| 317 |
+
],
|
| 318 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/output-bias.html"
|
| 319 |
+
}
|
| 320 |
+
],
|
| 321 |
+
"flagged_fields": {},
|
| 322 |
+
"missing_fields": [],
|
| 323 |
+
"card_info": {
|
| 324 |
+
"created_at": "2026-03-17T12:38:43.250822",
|
| 325 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 326 |
+
}
|
| 327 |
+
},
|
| 328 |
+
"HellaSwag": {
|
| 329 |
+
"benchmark_details": {
|
| 330 |
+
"name": "HellaSwag",
|
| 331 |
+
"overview": "HellaSwag is a benchmark designed to measure commonsense natural language inference by testing a model's ability to select the most plausible follow-up event from four multiple-choice options. It is adversarially constructed to be challenging for state-of-the-art models, using a method called Adversarial Filtering to create difficult wrong answers that are obvious to humans but often misclassified by models.",
|
| 332 |
+
"data_type": "text",
|
| 333 |
+
"domains": [
|
| 334 |
+
"commonsense reasoning",
|
| 335 |
+
"natural language inference"
|
| 336 |
+
],
|
| 337 |
+
"languages": [
|
| 338 |
+
"English"
|
| 339 |
+
],
|
| 340 |
+
"similar_benchmarks": [
|
| 341 |
+
"SWAG",
|
| 342 |
+
"SNLI"
|
| 343 |
+
],
|
| 344 |
+
"resources": [
|
| 345 |
+
"https://rowanzellers.com/hellaswag",
|
| 346 |
+
"https://arxiv.org/abs/1905.07830",
|
| 347 |
+
"https://huggingface.co/datasets/Rowan/hellaswag",
|
| 348 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 349 |
+
]
|
| 350 |
+
},
|
| 351 |
+
"purpose_and_intended_users": {
|
| 352 |
+
"goal": "To create a challenge dataset that reveals the difficulty of commonsense inference for state-of-the-art models, demonstrating their lack of robustness and reliance on dataset biases rather than genuine reasoning. It aims to evaluate a model's ability to select the most plausible continuation of a given event description.",
|
| 353 |
+
"audience": [
|
| 354 |
+
"NLP researchers"
|
| 355 |
+
],
|
| 356 |
+
"tasks": [
|
| 357 |
+
"Four-way multiple-choice selection for event continuation",
|
| 358 |
+
"Commonsense inference"
|
| 359 |
+
],
|
| 360 |
+
"limitations": "The adversarial filtering process used to create the dataset, while effective at making it difficult for models, may also select examples where the ground truth answer is not the one preferred by human annotators, necessitating manual filtering to retain the best examples.",
|
| 361 |
+
"out_of_scope_uses": [
|
| 362 |
+
"Not specified"
|
| 363 |
+
]
|
| 364 |
+
},
|
| 365 |
+
"data": {
|
| 366 |
+
"source": "Contexts are sourced from WikiHow instructional articles and ActivityNet video descriptions. Incorrect answer choices are generated by machines and then adversarially filtered.",
|
| 367 |
+
"size": "The dataset contains 70,000 examples in total, with 5,001 in-domain validation examples and 5,000 zero-shot validation examples. The training set comprises 39,905 examples.",
|
| 368 |
+
"format": "Parquet",
|
| 369 |
+
"annotation": "Human crowd workers on Amazon Mechanical Turk validated the endings. They were presented with a context and six endings (one true, five machine-generated) and rated their plausibility. The process involved iterative filtering and replacement of unrealistic endings. Worker quality was ensured via an autograded test and fair pay. A gold standard check by three authors on a random sample showed 90% agreement with crowd annotations."
|
| 370 |
+
},
|
| 371 |
+
"methodology": {
|
| 372 |
+
"methods": [
|
| 373 |
+
"Models are evaluated via fine-tuning on the dataset.",
|
| 374 |
+
"The benchmark also includes zero-shot evaluation on held-out categories."
|
| 375 |
+
],
|
| 376 |
+
"metrics": [
|
| 377 |
+
"HellaSwag accuracy"
|
| 378 |
+
],
|
| 379 |
+
"calculation": "The overall score is the accuracy percentage on the full validation or test sets. Performance is also broken down by subsets, such as in-domain versus zero-shot and by data source.",
|
| 380 |
+
"interpretation": "Higher scores indicate better performance. Human performance is over 95%, which is considered strong. Model performance below 50% is reported, indicating a struggle, with a gap of over 45% from human performance on in-domain data.",
|
| 381 |
+
"baseline_results": "Paper baselines: BERT-Large achieves 47.3% accuracy overall. ESIM + ELMo gets 33.3% accuracy. A BERT-Base model with a frozen encoder and an added LSTM performs 4.3% worse than fine-tuned BERT-Base. Evaluation suite results: Anthropic-LM v4-s3 52B achieves 0.807 (80.7%) accuracy.",
|
| 382 |
+
"validation": "Human validation involved giving five crowd workers the same multiple-choice task and combining their answers via majority vote to establish a human performance baseline. The adversarial filtering process used iterative human ratings to ensure wrong answers were implausible."
|
| 383 |
+
},
|
| 384 |
+
"ethical_and_legal_considerations": {
|
| 385 |
+
"privacy_and_anonymity": "Not specified",
|
| 386 |
+
"data_licensing": "Not specified",
|
| 387 |
+
"consent_procedures": "Crowdworkers on Amazon Mechanical Turk participated voluntarily and were compensated, with pay described as fair. A qualification task was used to filter workers, and those who consistently preferred generated endings over real ones were disqualified.",
|
| 388 |
+
"compliance_with_regulations": "Not specified"
|
| 389 |
+
},
|
| 390 |
+
"possible_risks": [
|
| 391 |
+
{
|
| 392 |
+
"category": "Over- or under-reliance",
|
| 393 |
+
"description": [
|
| 394 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 395 |
+
],
|
| 396 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"category": "Unrepresentative data",
|
| 400 |
+
"description": [
|
| 401 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 402 |
+
],
|
| 403 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 404 |
+
},
|
| 405 |
+
{
|
| 406 |
+
"category": "Data bias",
|
| 407 |
+
"description": [
|
| 408 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 409 |
+
],
|
| 410 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 411 |
+
},
|
| 412 |
+
{
|
| 413 |
+
"category": "Lack of data transparency",
|
| 414 |
+
"description": [
|
| 415 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 416 |
+
],
|
| 417 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 418 |
+
},
|
| 419 |
+
{
|
| 420 |
+
"category": "Improper usage",
|
| 421 |
+
"description": [
|
| 422 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 423 |
+
],
|
| 424 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 425 |
+
}
|
| 426 |
+
],
|
| 427 |
+
"flagged_fields": {
|
| 428 |
+
"baseline_results": "[Possible Hallucination], no supporting evidence found in source material"
|
| 429 |
+
},
|
| 430 |
+
"missing_fields": [
|
| 431 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 432 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 433 |
+
"ethical_and_legal_considerations.data_licensing",
|
| 434 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 435 |
+
],
|
| 436 |
+
"card_info": {
|
| 437 |
+
"created_at": "2026-03-17T15:47:07.561060",
|
| 438 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 439 |
+
}
|
| 440 |
+
},
|
| 441 |
+
"QuAC": {
|
| 442 |
+
"benchmark_details": {
|
| 443 |
+
"name": "QuAC",
|
| 444 |
+
"overview": "QuAC (Question Answering in Context) is a benchmark that measures a model's ability to answer questions within an information-seeking dialogue. It contains 14,000 dialogues comprising 100,000 question-answer pairs. The dataset is distinctive because questions are often open-ended, context-dependent, unanswerable, or only meaningful within the dialog flow, presenting challenges not found in standard machine comprehension datasets.",
|
| 445 |
+
"data_type": "text",
|
| 446 |
+
"domains": [
|
| 447 |
+
"question answering",
|
| 448 |
+
"dialogue modeling",
|
| 449 |
+
"text generation"
|
| 450 |
+
],
|
| 451 |
+
"languages": [
|
| 452 |
+
"English"
|
| 453 |
+
],
|
| 454 |
+
"similar_benchmarks": [
|
| 455 |
+
"SQuAD"
|
| 456 |
+
],
|
| 457 |
+
"resources": [
|
| 458 |
+
"http://quac.ai",
|
| 459 |
+
"https://arxiv.org/abs/1808.07036",
|
| 460 |
+
"https://huggingface.co/datasets/allenai/quac",
|
| 461 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 462 |
+
]
|
| 463 |
+
},
|
| 464 |
+
"purpose_and_intended_users": {
|
| 465 |
+
"goal": "To enable models to learn from and participate in information-seeking dialog, handling context-dependent, elliptical, and sometimes unanswerable questions.",
|
| 466 |
+
"audience": [
|
| 467 |
+
"Not specified"
|
| 468 |
+
],
|
| 469 |
+
"tasks": [
|
| 470 |
+
"Extractive question answering",
|
| 471 |
+
"Text generation",
|
| 472 |
+
"Fill mask"
|
| 473 |
+
],
|
| 474 |
+
"limitations": "Some questions have lower quality annotations; the dataset filters out the noisiest ~10% of annotations where human F1 is below 40. Questions can be open-ended, unanswerable, or only meaningful within the dialog context, posing inherent challenges.",
|
| 475 |
+
"out_of_scope_uses": [
|
| 476 |
+
"Not specified"
|
| 477 |
+
]
|
| 478 |
+
},
|
| 479 |
+
"data": {
|
| 480 |
+
"source": "The data is crowdsourced via an interactive dialog between two crowd workers: one acting as a student asking questions to learn about a hidden Wikipedia text, and the other acting as a teacher who answers using short excerpts from that text. The source data comes from Wikipedia.",
|
| 481 |
+
"size": "The dataset contains 98,407 question-answer pairs from 13,594 dialogs, based on 8,854 unique sections from 3,611 unique Wikipedia articles. The training set has 83,568 questions (11,567 dialogs), the validation set has 7,354 questions (1,000 dialogs), and the test set has 7,353 questions (1,002 dialogs). The dataset size is between 10,000 and 100,000 examples.",
|
| 482 |
+
"format": "Each dialog is a sequence of question-answer pairs centered around a Wikipedia section. The teacher's response includes a text span, a 'yes/no' indication, a 'no answer' indication, and an encouragement for follow-up questions.",
|
| 483 |
+
"annotation": "Questions are answered by a teacher selecting short excerpts (spans) from the Wikipedia text. The training set has one reference answer per question, while the validation and test sets each have five reference answers per question to improve evaluation reliability. For evaluation, questions with a human F1 score lower than 40 are not used, as manual inspection revealed lower quality below this threshold."
|
| 484 |
+
},
|
| 485 |
+
"methodology": {
|
| 486 |
+
"methods": [
|
| 487 |
+
"Models predict a text span to answer a question about a Wikipedia section, given a dialog history of previous questions and answers.",
|
| 488 |
+
"The evaluation uses a reading comprehension architecture extended to model dialog context."
|
| 489 |
+
],
|
| 490 |
+
"metrics": [
|
| 491 |
+
"Word-level F1"
|
| 492 |
+
],
|
| 493 |
+
"calculation": "Precision and recall are computed over overlapping words after removing stopwords. For 'no answer' questions, F1 is 1 if correctly predicted and 0 otherwise. The maximum F1 among all references is computed for each question.",
|
| 494 |
+
"interpretation": "Higher F1 scores indicate better performance. The best model underperforms humans by 20 F1, indicating significant room for improvement.",
|
| 495 |
+
"baseline_results": "Paper baselines: The best model underperforms humans by 20 F1, but specific model names and scores are not provided. EEE results: Anthropic-LM v4-s3 52B achieves an F1 score of 0.431.",
|
| 496 |
+
"validation": "Quality assurance includes using multiple references for development and test questions, filtering out questions with low human F1 scores, and manual inspection of low-quality annotations."
|
| 497 |
+
},
|
| 498 |
+
"ethical_and_legal_considerations": {
|
| 499 |
+
"privacy_and_anonymity": "Not specified",
|
| 500 |
+
"data_licensing": "MIT License",
|
| 501 |
+
"consent_procedures": "Dialogs were created by two crowd workers, but the specific compensation or platform details are not provided in the paper.",
|
| 502 |
+
"compliance_with_regulations": "Not specified"
|
| 503 |
+
},
|
| 504 |
+
"possible_risks": [
|
| 505 |
+
{
|
| 506 |
+
"category": "Over- or under-reliance",
|
| 507 |
+
"description": [
|
| 508 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 509 |
+
],
|
| 510 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"category": "Unrepresentative data",
|
| 514 |
+
"description": [
|
| 515 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 516 |
+
],
|
| 517 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 518 |
+
},
|
| 519 |
+
{
|
| 520 |
+
"category": "Uncertain data provenance",
|
| 521 |
+
"description": [
|
| 522 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 523 |
+
],
|
| 524 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 525 |
+
},
|
| 526 |
+
{
|
| 527 |
+
"category": "Data bias",
|
| 528 |
+
"description": [
|
| 529 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 530 |
+
],
|
| 531 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 532 |
+
},
|
| 533 |
+
{
|
| 534 |
+
"category": "Lack of data transparency",
|
| 535 |
+
"description": [
|
| 536 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 537 |
+
],
|
| 538 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 539 |
+
}
|
| 540 |
+
],
|
| 541 |
+
"flagged_fields": {},
|
| 542 |
+
"missing_fields": [
|
| 543 |
+
"purpose_and_intended_users.audience",
|
| 544 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 545 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 546 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 547 |
+
],
|
| 548 |
+
"card_info": {
|
| 549 |
+
"created_at": "2026-03-17T13:45:24.009083",
|
| 550 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 551 |
+
}
|
| 552 |
+
}
|
| 553 |
+
},
|
| 554 |
"models": [
|
| 555 |
{
|
| 556 |
"model_id": "Anthropic-LM-v4-s3-52B",
|
|
|
|
| 566 |
"HellaSwag": 0.807,
|
| 567 |
"OpenbookQA": 0.558,
|
| 568 |
"TruthfulQA": 0.368,
|
| 569 |
+
"MS MARCO (TREC)": -1,
|
| 570 |
"CNN/DailyMail": 0.154,
|
| 571 |
"XSUM": 0.134,
|
| 572 |
"IMDB": 0.934,
|
|
|
|
| 585 |
"NarrativeQA": 0.596,
|
| 586 |
"NaturalQuestions (open-book)": 0.581,
|
| 587 |
"QuAC": 0.313,
|
| 588 |
+
"HellaSwag": -1,
|
| 589 |
+
"OpenbookQA": -1,
|
| 590 |
"TruthfulQA": 0.177,
|
| 591 |
+
"MS MARCO (TREC)": -1,
|
| 592 |
+
"CNN/DailyMail": -1,
|
| 593 |
+
"XSUM": -1,
|
| 594 |
"IMDB": 0.931,
|
| 595 |
"CivilComments": 0.531,
|
| 596 |
"RAFT": 0.514
|
|
|
|
| 607 |
"NarrativeQA": 0.528,
|
| 608 |
"NaturalQuestions (open-book)": 0.539,
|
| 609 |
"QuAC": 0.296,
|
| 610 |
+
"HellaSwag": -1,
|
| 611 |
+
"OpenbookQA": -1,
|
| 612 |
"TruthfulQA": 0.213,
|
| 613 |
+
"MS MARCO (TREC)": -1,
|
| 614 |
+
"CNN/DailyMail": -1,
|
| 615 |
+
"XSUM": -1,
|
| 616 |
"IMDB": 0.928,
|
| 617 |
"CivilComments": 0.511,
|
| 618 |
"RAFT": 0.502
|
|
|
|
| 758 |
"Mean win rate": 0.553,
|
| 759 |
"MMLU": 0.339,
|
| 760 |
"BoolQ": 0.742,
|
| 761 |
+
"NarrativeQA": -1,
|
| 762 |
"NaturalQuestions (open-book)": 0.589,
|
| 763 |
+
"QuAC": -1,
|
| 764 |
"HellaSwag": 0.729,
|
| 765 |
"OpenbookQA": 0.53,
|
| 766 |
"TruthfulQA": 0.245,
|
|
|
|
| 783 |
"NarrativeQA": 0.605,
|
| 784 |
"NaturalQuestions (open-book)": 0.568,
|
| 785 |
"QuAC": 0.334,
|
| 786 |
+
"HellaSwag": -1,
|
| 787 |
+
"OpenbookQA": -1,
|
| 788 |
"TruthfulQA": 0.182,
|
| 789 |
+
"MS MARCO (TREC)": -1,
|
| 790 |
"CNN/DailyMail": 0.11,
|
| 791 |
"XSUM": 0.105,
|
| 792 |
"IMDB": 0.939,
|
|
|
|
| 805 |
"NarrativeQA": 0.665,
|
| 806 |
"NaturalQuestions (open-book)": 0.609,
|
| 807 |
"QuAC": 0.349,
|
| 808 |
+
"HellaSwag": -1,
|
| 809 |
+
"OpenbookQA": -1,
|
| 810 |
"TruthfulQA": 0.221,
|
| 811 |
+
"MS MARCO (TREC)": -1,
|
| 812 |
"CNN/DailyMail": 0.139,
|
| 813 |
"XSUM": 0.124,
|
| 814 |
"IMDB": 0.947,
|
|
|
|
| 827 |
"NarrativeQA": 0.711,
|
| 828 |
"NaturalQuestions (open-book)": 0.649,
|
| 829 |
"QuAC": 0.37,
|
| 830 |
+
"HellaSwag": -1,
|
| 831 |
+
"OpenbookQA": -1,
|
| 832 |
"TruthfulQA": 0.222,
|
| 833 |
+
"MS MARCO (TREC)": -1,
|
| 834 |
"CNN/DailyMail": 0.15,
|
| 835 |
"XSUM": 0.136,
|
| 836 |
"IMDB": 0.959,
|
|
|
|
| 867 |
"scores": {
|
| 868 |
"Mean win rate": 0.197,
|
| 869 |
"MMLU": 0.407,
|
| 870 |
+
"BoolQ": 0,
|
| 871 |
"NarrativeQA": 0.151,
|
| 872 |
"NaturalQuestions (open-book)": 0.19,
|
| 873 |
"QuAC": 0.121,
|
| 874 |
+
"HellaSwag": -1,
|
| 875 |
+
"OpenbookQA": -1,
|
| 876 |
"TruthfulQA": 0.377,
|
| 877 |
+
"MS MARCO (TREC)": -1,
|
| 878 |
"CNN/DailyMail": 0.122,
|
| 879 |
"XSUM": 0.09,
|
| 880 |
"IMDB": 0.207,
|
|
|
|
| 1067 |
"MMLU": 0.609,
|
| 1068 |
"BoolQ": 0.896,
|
| 1069 |
"NarrativeQA": 0.742,
|
| 1070 |
+
"NaturalQuestions (open-book)": -1,
|
| 1071 |
"QuAC": 0.473,
|
| 1072 |
+
"HellaSwag": -1,
|
| 1073 |
+
"OpenbookQA": -1,
|
| 1074 |
"TruthfulQA": 0.616,
|
| 1075 |
+
"MS MARCO (TREC)": -1,
|
| 1076 |
"CNN/DailyMail": 0.049,
|
| 1077 |
"XSUM": 0.149,
|
| 1078 |
"IMDB": 0.935,
|
|
|
|
| 1091 |
"NarrativeQA": 0.086,
|
| 1092 |
"NaturalQuestions (open-book)": 0.477,
|
| 1093 |
"QuAC": 0.116,
|
| 1094 |
+
"HellaSwag": -1,
|
| 1095 |
+
"OpenbookQA": -1,
|
| 1096 |
"TruthfulQA": 0.133,
|
| 1097 |
+
"MS MARCO (TREC)": -1,
|
| 1098 |
"CNN/DailyMail": 0.043,
|
| 1099 |
"XSUM": 0.015,
|
| 1100 |
"IMDB": 0.379,
|
|
|
|
| 1113 |
"NarrativeQA": 0.083,
|
| 1114 |
"NaturalQuestions (open-book)": 0.349,
|
| 1115 |
"QuAC": 0.144,
|
| 1116 |
+
"HellaSwag": -1,
|
| 1117 |
+
"OpenbookQA": -1,
|
| 1118 |
"TruthfulQA": 0.193,
|
| 1119 |
+
"MS MARCO (TREC)": -1,
|
| 1120 |
"CNN/DailyMail": 0.03,
|
| 1121 |
"XSUM": 0.058,
|
| 1122 |
"IMDB": 0.337,
|
|
|
|
| 1135 |
"NarrativeQA": 0.691,
|
| 1136 |
"NaturalQuestions (open-book)": 0.686,
|
| 1137 |
"QuAC": 0.403,
|
| 1138 |
+
"HellaSwag": -1,
|
| 1139 |
+
"OpenbookQA": -1,
|
| 1140 |
"TruthfulQA": 0.385,
|
| 1141 |
+
"MS MARCO (TREC)": -1,
|
| 1142 |
+
"CNN/DailyMail": -1,
|
| 1143 |
+
"XSUM": -1,
|
| 1144 |
"IMDB": 0.762,
|
| 1145 |
"CivilComments": 0.645,
|
| 1146 |
"RAFT": 0.657
|
|
|
|
| 1157 |
"NarrativeQA": 0.643,
|
| 1158 |
"NaturalQuestions (open-book)": 0.634,
|
| 1159 |
"QuAC": 0.392,
|
| 1160 |
+
"HellaSwag": -1,
|
| 1161 |
+
"OpenbookQA": -1,
|
| 1162 |
"TruthfulQA": 0.292,
|
| 1163 |
+
"MS MARCO (TREC)": -1,
|
| 1164 |
+
"CNN/DailyMail": -1,
|
| 1165 |
+
"XSUM": -1,
|
| 1166 |
"IMDB": 0.916,
|
| 1167 |
"CivilComments": 0.62,
|
| 1168 |
"RAFT": 0.693
|
|
|
|
| 1179 |
"NarrativeQA": 0.711,
|
| 1180 |
"NaturalQuestions (open-book)": 0.614,
|
| 1181 |
"QuAC": 0.347,
|
| 1182 |
+
"HellaSwag": -1,
|
| 1183 |
+
"OpenbookQA": -1,
|
| 1184 |
"TruthfulQA": 0.324,
|
| 1185 |
+
"MS MARCO (TREC)": -1,
|
| 1186 |
+
"CNN/DailyMail": -1,
|
| 1187 |
+
"XSUM": -1,
|
| 1188 |
"IMDB": 0.928,
|
| 1189 |
"CivilComments": 0.6,
|
| 1190 |
"RAFT": 0.643
|
|
|
|
| 1201 |
"NarrativeQA": 0.752,
|
| 1202 |
"NaturalQuestions (open-book)": 0.666,
|
| 1203 |
"QuAC": 0.39,
|
| 1204 |
+
"HellaSwag": -1,
|
| 1205 |
+
"OpenbookQA": -1,
|
| 1206 |
"TruthfulQA": 0.344,
|
| 1207 |
+
"MS MARCO (TREC)": -1,
|
| 1208 |
+
"CNN/DailyMail": -1,
|
| 1209 |
+
"XSUM": -1,
|
| 1210 |
"IMDB": 0.927,
|
| 1211 |
"CivilComments": 0.549,
|
| 1212 |
"RAFT": 0.752
|
|
|
|
| 1223 |
"NarrativeQA": 0.755,
|
| 1224 |
"NaturalQuestions (open-book)": 0.672,
|
| 1225 |
"QuAC": 0.401,
|
| 1226 |
+
"HellaSwag": -1,
|
| 1227 |
+
"OpenbookQA": -1,
|
| 1228 |
"TruthfulQA": 0.508,
|
| 1229 |
+
"MS MARCO (TREC)": -1,
|
| 1230 |
+
"CNN/DailyMail": -1,
|
| 1231 |
+
"XSUM": -1,
|
| 1232 |
"IMDB": 0.962,
|
| 1233 |
"CivilComments": 0.655,
|
| 1234 |
"RAFT": 0.702
|
|
|
|
| 1245 |
"NarrativeQA": 0.669,
|
| 1246 |
"NaturalQuestions (open-book)": 0.589,
|
| 1247 |
"QuAC": 0.338,
|
| 1248 |
+
"HellaSwag": -1,
|
| 1249 |
+
"OpenbookQA": -1,
|
| 1250 |
"TruthfulQA": 0.28,
|
| 1251 |
+
"MS MARCO (TREC)": -1,
|
| 1252 |
+
"CNN/DailyMail": -1,
|
| 1253 |
+
"XSUM": -1,
|
| 1254 |
"IMDB": 0.947,
|
| 1255 |
"CivilComments": 0.563,
|
| 1256 |
"RAFT": 0.573
|
|
|
|
| 1311 |
"NarrativeQA": 0.744,
|
| 1312 |
"NaturalQuestions (open-book)": 0.637,
|
| 1313 |
"QuAC": 0.424,
|
| 1314 |
+
"HellaSwag": -1,
|
| 1315 |
+
"OpenbookQA": -1,
|
| 1316 |
"TruthfulQA": 0.33,
|
| 1317 |
+
"MS MARCO (TREC)": -1,
|
| 1318 |
+
"CNN/DailyMail": -1,
|
| 1319 |
+
"XSUM": -1,
|
| 1320 |
"IMDB": 0.962,
|
| 1321 |
"CivilComments": 0.588,
|
| 1322 |
"RAFT": 0.707
|
|
|
|
| 1333 |
"NarrativeQA": 0.77,
|
| 1334 |
"NaturalQuestions (open-book)": 0.674,
|
| 1335 |
"QuAC": 0.484,
|
| 1336 |
+
"HellaSwag": -1,
|
| 1337 |
+
"OpenbookQA": -1,
|
| 1338 |
"TruthfulQA": 0.554,
|
| 1339 |
+
"MS MARCO (TREC)": -1,
|
| 1340 |
+
"CNN/DailyMail": -1,
|
| 1341 |
+
"XSUM": -1,
|
| 1342 |
"IMDB": 0.961,
|
| 1343 |
"CivilComments": 0.652,
|
| 1344 |
"RAFT": 0.727
|
|
|
|
| 1355 |
"NarrativeQA": 0.691,
|
| 1356 |
"NaturalQuestions (open-book)": 0.611,
|
| 1357 |
"QuAC": 0.406,
|
| 1358 |
+
"HellaSwag": -1,
|
| 1359 |
+
"OpenbookQA": -1,
|
| 1360 |
"TruthfulQA": 0.272,
|
| 1361 |
+
"MS MARCO (TREC)": -1,
|
| 1362 |
+
"CNN/DailyMail": -1,
|
| 1363 |
+
"XSUM": -1,
|
| 1364 |
"IMDB": 0.907,
|
| 1365 |
"CivilComments": 0.562,
|
| 1366 |
"RAFT": 0.643
|
|
|
|
| 1421 |
"NarrativeQA": 0.716,
|
| 1422 |
"NaturalQuestions (open-book)": 0.687,
|
| 1423 |
"QuAC": 0.423,
|
| 1424 |
+
"HellaSwag": -1,
|
| 1425 |
+
"OpenbookQA": -1,
|
| 1426 |
"TruthfulQA": 0.422,
|
| 1427 |
+
"MS MARCO (TREC)": -1,
|
| 1428 |
+
"CNN/DailyMail": -1,
|
| 1429 |
+
"XSUM": -1,
|
| 1430 |
"IMDB": 0.962,
|
| 1431 |
"CivilComments": 0.624,
|
| 1432 |
"RAFT": 0.707
|
|
|
|
| 1443 |
"NarrativeQA": 0.732,
|
| 1444 |
"NaturalQuestions (open-book)": 0.673,
|
| 1445 |
"QuAC": 0.393,
|
| 1446 |
+
"HellaSwag": -1,
|
| 1447 |
+
"OpenbookQA": -1,
|
| 1448 |
"TruthfulQA": 0.231,
|
| 1449 |
+
"MS MARCO (TREC)": -1,
|
| 1450 |
+
"CNN/DailyMail": -1,
|
| 1451 |
+
"XSUM": -1,
|
| 1452 |
"IMDB": 0.959,
|
| 1453 |
"CivilComments": 0.599,
|
| 1454 |
"RAFT": 0.723
|
|
|
|
| 1465 |
"NarrativeQA": 0.733,
|
| 1466 |
"NaturalQuestions (open-book)": 0.697,
|
| 1467 |
"QuAC": 0.327,
|
| 1468 |
+
"HellaSwag": -1,
|
| 1469 |
+
"OpenbookQA": -1,
|
| 1470 |
"TruthfulQA": 0.234,
|
| 1471 |
+
"MS MARCO (TREC)": -1,
|
| 1472 |
+
"CNN/DailyMail": -1,
|
| 1473 |
+
"XSUM": -1,
|
| 1474 |
"IMDB": 0.956,
|
| 1475 |
"CivilComments": 0.573,
|
| 1476 |
"RAFT": 0.68
|
|
|
|
| 1619 |
"NarrativeQA": 0.663,
|
| 1620 |
"NaturalQuestions (open-book)": 0.624,
|
| 1621 |
"QuAC": 0.512,
|
| 1622 |
+
"HellaSwag": -1,
|
| 1623 |
+
"OpenbookQA": -1,
|
| 1624 |
"TruthfulQA": 0.609,
|
| 1625 |
+
"MS MARCO (TREC)": -1,
|
| 1626 |
+
"CNN/DailyMail": -1,
|
| 1627 |
+
"XSUM": -1,
|
| 1628 |
"IMDB": 0.899,
|
| 1629 |
"CivilComments": 0.674,
|
| 1630 |
"RAFT": 0.768
|
|
|
|
| 1641 |
"NarrativeQA": 0.625,
|
| 1642 |
"NaturalQuestions (open-book)": 0.675,
|
| 1643 |
"QuAC": 0.485,
|
| 1644 |
+
"HellaSwag": -1,
|
| 1645 |
+
"OpenbookQA": -1,
|
| 1646 |
"TruthfulQA": 0.339,
|
| 1647 |
+
"MS MARCO (TREC)": -1,
|
| 1648 |
+
"CNN/DailyMail": -1,
|
| 1649 |
+
"XSUM": -1,
|
| 1650 |
"IMDB": 0.943,
|
| 1651 |
"CivilComments": 0.696,
|
| 1652 |
"RAFT": 0.748
|
|
|
|
| 1773 |
"NarrativeQA": 0.396,
|
| 1774 |
"NaturalQuestions (open-book)": 0.592,
|
| 1775 |
"QuAC": 0.27,
|
| 1776 |
+
"HellaSwag": -1,
|
| 1777 |
+
"OpenbookQA": -1,
|
| 1778 |
"TruthfulQA": 0.243,
|
| 1779 |
+
"MS MARCO (TREC)": -1,
|
| 1780 |
+
"CNN/DailyMail": -1,
|
| 1781 |
+
"XSUM": -1,
|
| 1782 |
"IMDB": 0.738,
|
| 1783 |
"CivilComments": 0.566,
|
| 1784 |
"RAFT": 0.486
|
|
|
|
| 1795 |
"NarrativeQA": 0.625,
|
| 1796 |
"NaturalQuestions (open-book)": 0.666,
|
| 1797 |
"QuAC": 0.371,
|
| 1798 |
+
"HellaSwag": -1,
|
| 1799 |
+
"OpenbookQA": -1,
|
| 1800 |
"TruthfulQA": 0.384,
|
| 1801 |
+
"MS MARCO (TREC)": -1,
|
| 1802 |
+
"CNN/DailyMail": -1,
|
| 1803 |
+
"XSUM": -1,
|
| 1804 |
"IMDB": 0.959,
|
| 1805 |
"CivilComments": 0.603,
|
| 1806 |
"RAFT": 0.586
|
|
|
|
| 1817 |
"NarrativeQA": 0.476,
|
| 1818 |
"NaturalQuestions (open-book)": 0.449,
|
| 1819 |
"QuAC": 0.311,
|
| 1820 |
+
"HellaSwag": -1,
|
| 1821 |
+
"OpenbookQA": -1,
|
| 1822 |
"TruthfulQA": 0.213,
|
| 1823 |
+
"MS MARCO (TREC)": -1,
|
| 1824 |
+
"CNN/DailyMail": -1,
|
| 1825 |
+
"XSUM": -1,
|
| 1826 |
"IMDB": 0.852,
|
| 1827 |
"CivilComments": 0.511,
|
| 1828 |
"RAFT": 0.523
|
|
|
|
| 1839 |
"NarrativeQA": 0.673,
|
| 1840 |
"NaturalQuestions (open-book)": 0.675,
|
| 1841 |
"QuAC": 0.307,
|
| 1842 |
+
"HellaSwag": -1,
|
| 1843 |
+
"OpenbookQA": -1,
|
| 1844 |
"TruthfulQA": 0.353,
|
| 1845 |
+
"MS MARCO (TREC)": -1,
|
| 1846 |
+
"CNN/DailyMail": -1,
|
| 1847 |
+
"XSUM": -1,
|
| 1848 |
"IMDB": 0.959,
|
| 1849 |
"CivilComments": 0.552,
|
| 1850 |
"RAFT": 0.661
|
|
|
|
| 1861 |
"NarrativeQA": 0.621,
|
| 1862 |
"NaturalQuestions (open-book)": 0.579,
|
| 1863 |
"QuAC": 0.332,
|
| 1864 |
+
"HellaSwag": -1,
|
| 1865 |
+
"OpenbookQA": -1,
|
| 1866 |
"TruthfulQA": 0.234,
|
| 1867 |
+
"MS MARCO (TREC)": -1,
|
| 1868 |
+
"CNN/DailyMail": -1,
|
| 1869 |
+
"XSUM": -1,
|
| 1870 |
"IMDB": 0.836,
|
| 1871 |
"CivilComments": 0.514,
|
| 1872 |
"RAFT": 0.602
|
|
|
|
| 1883 |
"NarrativeQA": 0.617,
|
| 1884 |
"NaturalQuestions (open-book)": 0.586,
|
| 1885 |
"QuAC": 0.336,
|
| 1886 |
+
"HellaSwag": -1,
|
| 1887 |
+
"OpenbookQA": -1,
|
| 1888 |
"TruthfulQA": 0.205,
|
| 1889 |
+
"MS MARCO (TREC)": -1,
|
| 1890 |
+
"CNN/DailyMail": -1,
|
| 1891 |
+
"XSUM": -1,
|
| 1892 |
"IMDB": 0.752,
|
| 1893 |
"CivilComments": 0.547,
|
| 1894 |
"RAFT": 0.648
|
|
|
|
| 1905 |
"NarrativeQA": 0.555,
|
| 1906 |
"NaturalQuestions (open-book)": 0.52,
|
| 1907 |
"QuAC": 0.309,
|
| 1908 |
+
"HellaSwag": -1,
|
| 1909 |
+
"OpenbookQA": -1,
|
| 1910 |
"TruthfulQA": 0.277,
|
| 1911 |
+
"MS MARCO (TREC)": -1,
|
| 1912 |
+
"CNN/DailyMail": -1,
|
| 1913 |
+
"XSUM": -1,
|
| 1914 |
"IMDB": 0.907,
|
| 1915 |
"CivilComments": 0.549,
|
| 1916 |
"RAFT": 0.502
|
|
|
|
| 1927 |
"NarrativeQA": 0.638,
|
| 1928 |
"NaturalQuestions (open-book)": 0.659,
|
| 1929 |
"QuAC": 0.26,
|
| 1930 |
+
"HellaSwag": -1,
|
| 1931 |
+
"OpenbookQA": -1,
|
| 1932 |
"TruthfulQA": 0.243,
|
| 1933 |
+
"MS MARCO (TREC)": -1,
|
| 1934 |
+
"CNN/DailyMail": -1,
|
| 1935 |
+
"XSUM": -1,
|
| 1936 |
"IMDB": 0.927,
|
| 1937 |
"CivilComments": 0.664,
|
| 1938 |
"RAFT": 0.695
|
|
|
|
| 1949 |
"NarrativeQA": 0.638,
|
| 1950 |
"NaturalQuestions (open-book)": 0.637,
|
| 1951 |
"QuAC": 0.259,
|
| 1952 |
+
"HellaSwag": -1,
|
| 1953 |
+
"OpenbookQA": -1,
|
| 1954 |
"TruthfulQA": 0.208,
|
| 1955 |
+
"MS MARCO (TREC)": -1,
|
| 1956 |
+
"CNN/DailyMail": -1,
|
| 1957 |
+
"XSUM": -1,
|
| 1958 |
"IMDB": 0.894,
|
| 1959 |
"CivilComments": 0.549,
|
| 1960 |
"RAFT": 0.661
|
|
|
|
| 1971 |
"NarrativeQA": 0.496,
|
| 1972 |
"NaturalQuestions (open-book)": 0.682,
|
| 1973 |
"QuAC": 0.433,
|
| 1974 |
+
"HellaSwag": -1,
|
| 1975 |
+
"OpenbookQA": -1,
|
| 1976 |
"TruthfulQA": 0.185,
|
| 1977 |
+
"MS MARCO (TREC)": -1,
|
| 1978 |
"CNN/DailyMail": 0.152,
|
| 1979 |
"XSUM": 0.104,
|
| 1980 |
"IMDB": 0.94,
|
|
|
|
| 1993 |
"NarrativeQA": 0.252,
|
| 1994 |
"NaturalQuestions (open-book)": 0.227,
|
| 1995 |
"QuAC": 0.162,
|
| 1996 |
+
"HellaSwag": -1,
|
| 1997 |
+
"OpenbookQA": -1,
|
| 1998 |
"TruthfulQA": 0.202,
|
| 1999 |
+
"MS MARCO (TREC)": -1,
|
| 2000 |
"CNN/DailyMail": 0.017,
|
| 2001 |
"XSUM": 0.021,
|
| 2002 |
"IMDB": 0.836,
|
|
|
|
| 2015 |
"NarrativeQA": 0.706,
|
| 2016 |
"NaturalQuestions (open-book)": 0.642,
|
| 2017 |
"QuAC": 0.272,
|
| 2018 |
+
"HellaSwag": -1,
|
| 2019 |
+
"OpenbookQA": -1,
|
| 2020 |
"TruthfulQA": 0.218,
|
| 2021 |
+
"MS MARCO (TREC)": -1,
|
| 2022 |
"CNN/DailyMail": 0.154,
|
| 2023 |
"XSUM": 0.132,
|
| 2024 |
"IMDB": 0.955,
|
|
|
|
| 2027 |
}
|
| 2028 |
}
|
| 2029 |
]
|
| 2030 |
+
}
|
data/benchmarks/helm_lite.json
CHANGED
|
@@ -1,4 +1,346 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"models": [
|
| 3 |
{
|
| 4 |
"model_id": "01-ai/yi-34b",
|
|
@@ -980,7 +1322,7 @@
|
|
| 980 |
"OpenbookQA": 0.912,
|
| 981 |
"MMLU": 0.659,
|
| 982 |
"MATH": 0.703,
|
| 983 |
-
"GSM8K": -1
|
| 984 |
"LegalBench": 0.584,
|
| 985 |
"MedQA": 0.672,
|
| 986 |
"WMT 2014": 0.154
|
|
@@ -1548,4 +1890,4 @@
|
|
| 1548 |
}
|
| 1549 |
}
|
| 1550 |
]
|
| 1551 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"benchmark_cards": {
|
| 3 |
+
"GSM8K": {
|
| 4 |
+
"benchmark_details": {
|
| 5 |
+
"name": "GSM8K",
|
| 6 |
+
"overview": "GSM8K is a benchmark that measures the ability of language models to perform multi-step mathematical reasoning. It consists of 8.5K high-quality, linguistically diverse grade school math word problems. The problems are distinctive because they require 2 to 8 steps to solve using basic arithmetic, and even the largest transformer models struggle to achieve high test performance on them. Solutions are provided in natural language with step-by-step reasoning.",
|
| 7 |
+
"data_type": "text",
|
| 8 |
+
"domains": [
|
| 9 |
+
"grade school mathematics",
|
| 10 |
+
"math word problems"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"Not specified"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"https://arxiv.org/abs/2110.14168",
|
| 20 |
+
"https://huggingface.co/datasets/openai/gsm8k",
|
| 21 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 22 |
+
]
|
| 23 |
+
},
|
| 24 |
+
"purpose_and_intended_users": {
|
| 25 |
+
"goal": "To diagnose the failures of current language models in robust multi-step mathematical reasoning and to support research, particularly in methods like training verifiers to judge solution correctness. It also aims to shed light on the properties of large language models' reasoning processes.",
|
| 26 |
+
"audience": [
|
| 27 |
+
"Researchers working on language model capabilities and mathematical reasoning"
|
| 28 |
+
],
|
| 29 |
+
"tasks": [
|
| 30 |
+
"Solving grade school math word problems",
|
| 31 |
+
"Text generation for question answering"
|
| 32 |
+
],
|
| 33 |
+
"limitations": "Even the largest models struggle with high test performance on this dataset, and autoregressive models have no mechanism to correct their own errors during solution generation.",
|
| 34 |
+
"out_of_scope_uses": [
|
| 35 |
+
"Not specified"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
"data": {
|
| 39 |
+
"source": "The dataset was created by hiring freelance contractors via Upwork and then scaled using the NLP data labeling platform Surge AI. Problems and solutions were written by these contractors.",
|
| 40 |
+
"size": "8.5K (8,500) problems, with a size category of 10K<n<100K. The training set contains 7,473 examples and the test set contains 1,319 examples.",
|
| 41 |
+
"format": "parquet. The data is structured with a 'Problem:' field followed by a 'Solution:' field, where the solution includes step-by-step reasoning with intermediate calculations in special tags (e.g., `<<4*2=8>>`) and ends with a 'Final Answer:'.",
|
| 42 |
+
"annotation": "Contractors wrote the problems and solutions. For verification, different workers re-solved all problems to check agreement with the original solutions; problematic problems were either repaired or discarded. The annotators were from Surge AI."
|
| 43 |
+
},
|
| 44 |
+
"methodology": {
|
| 45 |
+
"methods": [
|
| 46 |
+
"Models are evaluated by generating step-by-step solutions to math word problems. The dataset provides two answer formats: a standard step-by-step solution and a solution structured with Socratic sub-questions.",
|
| 47 |
+
"The paper proposes a verification method where a separate verifier model is trained to judge the correctness of generated solutions. At test time, multiple candidate solutions are generated, and the one ranked highest by the verifier is selected."
|
| 48 |
+
],
|
| 49 |
+
"metrics": [
|
| 50 |
+
"GSM8K"
|
| 51 |
+
],
|
| 52 |
+
"calculation": "The GSM8K metric is a continuous score where higher values are better. It is described as 'EM on GSM8K', indicating it measures exact match accuracy.",
|
| 53 |
+
"interpretation": "Higher scores indicate better performance. The score is not bounded, but typical model performance ranges from low to high, with the highest reported score being 75.2.",
|
| 54 |
+
"baseline_results": "Paper baselines: The paper notes that even the largest transformer models fail to achieve high test performance, but does not report specific scores. EEE results: Llama 3.1 8B Instruct scored 75.2, and Yi 34B scored 0.648 on GSM8K.",
|
| 55 |
+
"validation": "The paper provides empirical evidence that the verification method scales more effectively with data than a finetuning baseline and remains effective even with a verifier much smaller than the generator."
|
| 56 |
+
},
|
| 57 |
+
"ethical_and_legal_considerations": {
|
| 58 |
+
"privacy_and_anonymity": "Not specified",
|
| 59 |
+
"data_licensing": "MIT License",
|
| 60 |
+
"consent_procedures": "Not specified",
|
| 61 |
+
"compliance_with_regulations": "Not specified"
|
| 62 |
+
},
|
| 63 |
+
"possible_risks": [
|
| 64 |
+
{
|
| 65 |
+
"category": "Over- or under-reliance",
|
| 66 |
+
"description": [
|
| 67 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 68 |
+
],
|
| 69 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"category": "Data bias",
|
| 73 |
+
"description": [
|
| 74 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 75 |
+
],
|
| 76 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"category": "Reproducibility",
|
| 80 |
+
"description": [
|
| 81 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 82 |
+
],
|
| 83 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"category": "Incomplete advice",
|
| 87 |
+
"description": [
|
| 88 |
+
"When a model provides advice without having enough information, resulting in possible harm if the advice is followed."
|
| 89 |
+
],
|
| 90 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/incomplete-advice.html"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"category": "Improper usage",
|
| 94 |
+
"description": [
|
| 95 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 96 |
+
],
|
| 97 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 98 |
+
}
|
| 99 |
+
],
|
| 100 |
+
"flagged_fields": {},
|
| 101 |
+
"missing_fields": [
|
| 102 |
+
"benchmark_details.similar_benchmarks",
|
| 103 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 104 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 105 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 106 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 107 |
+
],
|
| 108 |
+
"card_info": {
|
| 109 |
+
"created_at": "2026-03-17T15:37:16.459776",
|
| 110 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"LegalBench": {
|
| 114 |
+
"benchmark_details": {
|
| 115 |
+
"name": "LEGALBENCH",
|
| 116 |
+
"overview": "LEGALBENCH is a benchmark designed to measure the legal reasoning capabilities of large language models. It comprises 162 tasks collaboratively constructed and hand-crafted by legal professionals, covering six distinct types of legal reasoning.",
|
| 117 |
+
"data_type": "text",
|
| 118 |
+
"domains": [
|
| 119 |
+
"legal",
|
| 120 |
+
"law",
|
| 121 |
+
"finance"
|
| 122 |
+
],
|
| 123 |
+
"languages": [
|
| 124 |
+
"English"
|
| 125 |
+
],
|
| 126 |
+
"similar_benchmarks": [
|
| 127 |
+
"GLUE",
|
| 128 |
+
"HELM",
|
| 129 |
+
"BigBench",
|
| 130 |
+
"RAFT"
|
| 131 |
+
],
|
| 132 |
+
"resources": [
|
| 133 |
+
"https://arxiv.org/abs/2308.11462",
|
| 134 |
+
"https://huggingface.co/datasets/nguha/legalbench",
|
| 135 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 136 |
+
]
|
| 137 |
+
},
|
| 138 |
+
"purpose_and_intended_users": {
|
| 139 |
+
"goal": "To enable greater study of what types of legal reasoning large language models (LLMs) can perform.",
|
| 140 |
+
"audience": [
|
| 141 |
+
"Practitioners (to integrate LLMs into workflows)",
|
| 142 |
+
"Legal academics",
|
| 143 |
+
"Computer scientists"
|
| 144 |
+
],
|
| 145 |
+
"tasks": [
|
| 146 |
+
"Text classification",
|
| 147 |
+
"Question answering",
|
| 148 |
+
"Text generation",
|
| 149 |
+
"Rule-application tasks"
|
| 150 |
+
],
|
| 151 |
+
"limitations": "The tasks do not generalize to all legal reasoning tasks or all types of legal documents, offering only a preliminary understanding of LLM performance.",
|
| 152 |
+
"out_of_scope_uses": [
|
| 153 |
+
"Predicting the legality of real-world events",
|
| 154 |
+
"Predicting the outcome of lawsuits",
|
| 155 |
+
"Providing legal advice"
|
| 156 |
+
]
|
| 157 |
+
},
|
| 158 |
+
"data": {
|
| 159 |
+
"source": "Data is drawn from three categories: existing publicly available datasets and corpora (some reformatted), datasets previously created by legal professionals but not released, and tasks developed specifically for LegalBench. The tasks originate from 36 distinct corpora.",
|
| 160 |
+
"size": "The benchmark comprises 162 tasks. The distribution of tasks by sample count is: 28 tasks have 50-100 samples, 97 have 100-500 samples, 29 have 500-2000 samples, and 8 have 2000+ samples. The overall dataset falls into the size category of 10,000 to 100,000 examples.",
|
| 161 |
+
"format": "Examples are presented in a structured format with fields such as 'Task name', 'Question', 'Options', and 'Answer'.",
|
| 162 |
+
"annotation": "Annotation procedures are task-dependent. For certain tasks, each data point was manually validated by a law-trained expert. Detailed annotation methodology for each task is documented in a separate section of the paper."
|
| 163 |
+
},
|
| 164 |
+
"methodology": {
|
| 165 |
+
"methods": [
|
| 166 |
+
"Models are evaluated in a few-shot setting. Train splits consist of a small random sample of between 2 to 8 instances to capture a true few-shot learning scenario.",
|
| 167 |
+
"For rule-application tasks, a law-trained expert manually validates each model generation."
|
| 168 |
+
],
|
| 169 |
+
"metrics": [
|
| 170 |
+
"LegalBench",
|
| 171 |
+
"Correctness",
|
| 172 |
+
"Analysis"
|
| 173 |
+
],
|
| 174 |
+
"calculation": "The primary benchmark metric is Exact Match (EM) on LegalBench. For rule-application tasks, two separate metrics are computed: 'correctness' (the proportion of generations without errors) and 'analysis'.",
|
| 175 |
+
"interpretation": "Higher scores on the LegalBench metric indicate better performance. The metric is continuous and lower scores are not better.",
|
| 176 |
+
"baseline_results": "The original paper evaluated 20 LLMs from 11 different families but did not provide specific scores. In a separate evaluation suite, the Yi 34B model achieved a score of 0.618.",
|
| 177 |
+
"validation": "For rule-application tasks, a law-trained expert manually validated each model generation. For datasets reused or adapted from other sources, the original data sheets document any redactions or missing data."
|
| 178 |
+
},
|
| 179 |
+
"ethical_and_legal_considerations": {
|
| 180 |
+
"privacy_and_anonymity": "For tasks that reuse or adapt existing datasets, the benchmark refers to the original data sheets for details on any data redactions or missing information.",
|
| 181 |
+
"data_licensing": "other",
|
| 182 |
+
"consent_procedures": "Not specified.",
|
| 183 |
+
"compliance_with_regulations": "The benchmark includes a section for each task intended to provide information relevant to ethical review processes, but specific details are not provided in the available facts."
|
| 184 |
+
},
|
| 185 |
+
"possible_risks": [
|
| 186 |
+
{
|
| 187 |
+
"category": "Over- or under-reliance",
|
| 188 |
+
"description": [
|
| 189 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 190 |
+
],
|
| 191 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 192 |
+
},
|
| 193 |
+
{
|
| 194 |
+
"category": "Unrepresentative data",
|
| 195 |
+
"description": [
|
| 196 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 197 |
+
],
|
| 198 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"category": "Data bias",
|
| 202 |
+
"description": [
|
| 203 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 204 |
+
],
|
| 205 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 206 |
+
},
|
| 207 |
+
{
|
| 208 |
+
"category": "Lack of data transparency",
|
| 209 |
+
"description": [
|
| 210 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 211 |
+
],
|
| 212 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 213 |
+
},
|
| 214 |
+
{
|
| 215 |
+
"category": "Improper usage",
|
| 216 |
+
"description": [
|
| 217 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 218 |
+
],
|
| 219 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 220 |
+
}
|
| 221 |
+
],
|
| 222 |
+
"flagged_fields": {},
|
| 223 |
+
"missing_fields": [
|
| 224 |
+
"ethical_and_legal_considerations.consent_procedures"
|
| 225 |
+
],
|
| 226 |
+
"card_info": {
|
| 227 |
+
"created_at": "2026-03-17T12:59:10.203815",
|
| 228 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 229 |
+
}
|
| 230 |
+
},
|
| 231 |
+
"MedQA": {
|
| 232 |
+
"benchmark_details": {
|
| 233 |
+
"name": "MEDQA",
|
| 234 |
+
"overview": "MEDQA is a free-form multiple-choice open-domain question answering (OpenQA) benchmark designed to measure a model's ability to solve medical problems. It is distinctive as the first such dataset sourced from professional medical board exams, covering multiple languages and presenting a challenging real-world scenario.",
|
| 235 |
+
"data_type": "text",
|
| 236 |
+
"domains": [
|
| 237 |
+
"medical knowledge",
|
| 238 |
+
"professional medical exams"
|
| 239 |
+
],
|
| 240 |
+
"languages": [
|
| 241 |
+
"English"
|
| 242 |
+
],
|
| 243 |
+
"similar_benchmarks": [
|
| 244 |
+
"ARC",
|
| 245 |
+
"OpenBookQA"
|
| 246 |
+
],
|
| 247 |
+
"resources": [
|
| 248 |
+
"https://github.com/jind11/MedQA",
|
| 249 |
+
"https://arxiv.org/abs/2009.13081",
|
| 250 |
+
"https://huggingface.co/datasets/GBaker/MedQA-USMLE-4-options",
|
| 251 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 252 |
+
]
|
| 253 |
+
},
|
| 254 |
+
"purpose_and_intended_users": {
|
| 255 |
+
"goal": "To present a challenging open-domain question answering dataset to promote the development of stronger models capable of handling sophisticated real-world medical scenarios, specifically evaluating performance on medical knowledge as tested in professional exams.",
|
| 256 |
+
"audience": [
|
| 257 |
+
"The natural language processing (NLP) community"
|
| 258 |
+
],
|
| 259 |
+
"tasks": [
|
| 260 |
+
"Free-form multiple-choice question answering",
|
| 261 |
+
"Open-domain question answering"
|
| 262 |
+
],
|
| 263 |
+
"limitations": "Even the best current methods achieve relatively low accuracy (36.7% to 70.1% across languages), indicating the benchmark's difficulty and the limitations of existing models.",
|
| 264 |
+
"out_of_scope_uses": [
|
| 265 |
+
"Not specified"
|
| 266 |
+
]
|
| 267 |
+
},
|
| 268 |
+
"data": {
|
| 269 |
+
"source": "The data is collected from professional medical board exams.",
|
| 270 |
+
"size": "The dataset contains 12,723 questions in English, 34,251 in simplified Chinese, and 14,123 in traditional Chinese. The total number of examples falls within the 10K to 100K range.",
|
| 271 |
+
"format": "JSON",
|
| 272 |
+
"annotation": "The answer labels are the correct answers from the professional exams. No additional annotation process is described."
|
| 273 |
+
},
|
| 274 |
+
"methodology": {
|
| 275 |
+
"methods": [
|
| 276 |
+
"The benchmark uses a sequential combination of a document retriever and a machine comprehension model. It includes both rule-based and neural methods.",
|
| 277 |
+
"The evaluation is a standard question-answering task, though the specific learning setting (e.g., zero-shot, few-shot, fine-tuning) is not explicitly defined."
|
| 278 |
+
],
|
| 279 |
+
"metrics": [
|
| 280 |
+
"Accuracy"
|
| 281 |
+
],
|
| 282 |
+
"calculation": "The overall score is the accuracy on the test set.",
|
| 283 |
+
"interpretation": "Higher accuracy indicates better performance. The best reported accuracies are 36.7% for English, 42.0% for traditional Chinese, and 70.1% for simplified Chinese questions.",
|
| 284 |
+
"baseline_results": "Original paper baselines: The best method reported achieves 36.7% accuracy on English, 42.0% on traditional Chinese, and 70.1% on simplified Chinese questions. Model names are not specified. EEE results: Yi 34B achieves a score of 0.656 (65.6%).",
|
| 285 |
+
"validation": "Not specified"
|
| 286 |
+
},
|
| 287 |
+
"ethical_and_legal_considerations": {
|
| 288 |
+
"privacy_and_anonymity": "Not specified",
|
| 289 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 290 |
+
"consent_procedures": "Not specified",
|
| 291 |
+
"compliance_with_regulations": "Not specified"
|
| 292 |
+
},
|
| 293 |
+
"possible_risks": [
|
| 294 |
+
{
|
| 295 |
+
"category": "Over- or under-reliance",
|
| 296 |
+
"description": [
|
| 297 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 298 |
+
],
|
| 299 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 300 |
+
},
|
| 301 |
+
{
|
| 302 |
+
"category": "Unrepresentative data",
|
| 303 |
+
"description": [
|
| 304 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 305 |
+
],
|
| 306 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"category": "Uncertain data provenance",
|
| 310 |
+
"description": [
|
| 311 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 312 |
+
],
|
| 313 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 314 |
+
},
|
| 315 |
+
{
|
| 316 |
+
"category": "Data bias",
|
| 317 |
+
"description": [
|
| 318 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 319 |
+
],
|
| 320 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"category": "Lack of data transparency",
|
| 324 |
+
"description": [
|
| 325 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 326 |
+
],
|
| 327 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 328 |
+
}
|
| 329 |
+
],
|
| 330 |
+
"flagged_fields": {},
|
| 331 |
+
"missing_fields": [
|
| 332 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 333 |
+
"methodology.validation",
|
| 334 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 335 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 336 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 337 |
+
],
|
| 338 |
+
"card_info": {
|
| 339 |
+
"created_at": "2026-03-17T13:23:29.822123",
|
| 340 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 341 |
+
}
|
| 342 |
+
}
|
| 343 |
+
},
|
| 344 |
"models": [
|
| 345 |
{
|
| 346 |
"model_id": "01-ai/yi-34b",
|
|
|
|
| 1322 |
"OpenbookQA": 0.912,
|
| 1323 |
"MMLU": 0.659,
|
| 1324 |
"MATH": 0.703,
|
| 1325 |
+
"GSM8K": -1,
|
| 1326 |
"LegalBench": 0.584,
|
| 1327 |
"MedQA": 0.672,
|
| 1328 |
"WMT 2014": 0.154
|
|
|
|
| 1890 |
}
|
| 1891 |
}
|
| 1892 |
]
|
| 1893 |
+
}
|
data/benchmarks/helm_mmlu.json
CHANGED
|
@@ -1,4 +1,117 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"models": [
|
| 3 |
{
|
| 4 |
"model_id": "01-ai/yi-34b",
|
|
@@ -427,7 +540,7 @@
|
|
| 427 |
"Sociology": 0.846,
|
| 428 |
"Virology": 0.524,
|
| 429 |
"World Religions": 0.825,
|
| 430 |
-
"Mean win rate": 1
|
| 431 |
}
|
| 432 |
},
|
| 433 |
{
|
|
@@ -3398,4 +3511,4 @@
|
|
| 3398 |
}
|
| 3399 |
}
|
| 3400 |
]
|
| 3401 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"benchmark_cards": {
|
| 3 |
+
"MMLU All Subjects": {
|
| 4 |
+
"benchmark_details": {
|
| 5 |
+
"name": "Measuring Massive Multitask Language Understanding (MMLU)",
|
| 6 |
+
"overview": "MMLU is a multiple-choice question-answering benchmark that measures a text model's multitask accuracy across 57 distinct tasks. It is designed to test a wide range of knowledge and problem-solving abilities, covering diverse academic and professional subjects from elementary to advanced levels.",
|
| 7 |
+
"data_type": "text",
|
| 8 |
+
"domains": [
|
| 9 |
+
"STEM",
|
| 10 |
+
"humanities",
|
| 11 |
+
"social sciences"
|
| 12 |
+
],
|
| 13 |
+
"languages": [
|
| 14 |
+
"English"
|
| 15 |
+
],
|
| 16 |
+
"similar_benchmarks": [
|
| 17 |
+
"GLUE",
|
| 18 |
+
"SuperGLUE"
|
| 19 |
+
],
|
| 20 |
+
"resources": [
|
| 21 |
+
"https://arxiv.org/abs/2009.03300",
|
| 22 |
+
"https://huggingface.co/datasets/cais/mmlu",
|
| 23 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json",
|
| 24 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 25 |
+
]
|
| 26 |
+
},
|
| 27 |
+
"purpose_and_intended_users": {
|
| 28 |
+
"goal": "To bridge the gap between the wide-ranging knowledge models acquire during pretraining and existing evaluation measures by assessing models across a diverse set of academic and professional subjects.",
|
| 29 |
+
"audience": [
|
| 30 |
+
"Researchers analyzing model capabilities and identifying shortcomings"
|
| 31 |
+
],
|
| 32 |
+
"tasks": [
|
| 33 |
+
"Multiple-choice question answering"
|
| 34 |
+
],
|
| 35 |
+
"limitations": "Models exhibit lopsided performance, frequently do not know when they are wrong, and have near-random accuracy on some socially important subjects like morality and law.",
|
| 36 |
+
"out_of_scope_uses": [
|
| 37 |
+
"Not specified"
|
| 38 |
+
]
|
| 39 |
+
},
|
| 40 |
+
"data": {
|
| 41 |
+
"source": "The dataset is an original source with expert-generated questions.",
|
| 42 |
+
"size": "The dataset contains over 100,000 examples, with a test split of 14,042 examples, a validation split of 1,531 examples, a dev split of 285 examples, and an auxiliary training split of 99,842 examples.",
|
| 43 |
+
"format": "parquet",
|
| 44 |
+
"annotation": "The dataset has no additional annotations; each question provides the correct answer as a class label (A, B, C, or D)."
|
| 45 |
+
},
|
| 46 |
+
"methodology": {
|
| 47 |
+
"methods": [
|
| 48 |
+
"Models are evaluated exclusively in zero-shot and few-shot settings to measure knowledge acquired during pretraining."
|
| 49 |
+
],
|
| 50 |
+
"metrics": [
|
| 51 |
+
"MMLU (accuracy)"
|
| 52 |
+
],
|
| 53 |
+
"calculation": "The overall score is an average accuracy across the 57 tasks.",
|
| 54 |
+
"interpretation": "Higher scores indicate better performance. Near random-chance accuracy indicates weak performance. The very largest GPT-3 model improved over random chance by almost 20 percentage points on average, but models still need substantial improvements to reach expert-level accuracy.",
|
| 55 |
+
"baseline_results": "Paper baselines: Most recent models have near random-chance accuracy. The very largest GPT-3 model improved over random chance by almost 20 percentage points on average. EEE results: Yi 34B scored 0.6500, Anthropic-LM v4-s3 52B scored 0.4810. The mean score across 2 evaluated models is 0.5655.",
|
| 56 |
+
"validation": "Not specified"
|
| 57 |
+
},
|
| 58 |
+
"ethical_and_legal_considerations": {
|
| 59 |
+
"privacy_and_anonymity": "Not specified",
|
| 60 |
+
"data_licensing": "MIT License",
|
| 61 |
+
"consent_procedures": "Not specified",
|
| 62 |
+
"compliance_with_regulations": "Not specified"
|
| 63 |
+
},
|
| 64 |
+
"possible_risks": [
|
| 65 |
+
{
|
| 66 |
+
"category": "Over- or under-reliance",
|
| 67 |
+
"description": [
|
| 68 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 69 |
+
],
|
| 70 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"category": "Unrepresentative data",
|
| 74 |
+
"description": [
|
| 75 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Data bias",
|
| 81 |
+
"description": [
|
| 82 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Lack of data transparency",
|
| 88 |
+
"description": [
|
| 89 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"category": "Improper usage",
|
| 95 |
+
"description": [
|
| 96 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 97 |
+
],
|
| 98 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 99 |
+
}
|
| 100 |
+
],
|
| 101 |
+
"flagged_fields": {},
|
| 102 |
+
"missing_fields": [
|
| 103 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 104 |
+
"methodology.validation",
|
| 105 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 106 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 107 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 108 |
+
],
|
| 109 |
+
"card_info": {
|
| 110 |
+
"created_at": "2026-03-17T13:14:49.605975",
|
| 111 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
},
|
| 115 |
"models": [
|
| 116 |
{
|
| 117 |
"model_id": "01-ai/yi-34b",
|
|
|
|
| 540 |
"Sociology": 0.846,
|
| 541 |
"Virology": 0.524,
|
| 542 |
"World Religions": 0.825,
|
| 543 |
+
"Mean win rate": 1
|
| 544 |
}
|
| 545 |
},
|
| 546 |
{
|
|
|
|
| 3511 |
}
|
| 3512 |
}
|
| 3513 |
]
|
| 3514 |
+
}
|
data/benchmarks/hfopenllm_v2.json
CHANGED
|
@@ -1,4 +1,588 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"models": [
|
| 3 |
{
|
| 4 |
"model_id": "0-hero/Matter-0.2-7B-DPO",
|
|
@@ -839,7 +1423,7 @@
|
|
| 839 |
"scores": {
|
| 840 |
"IFEval": 0.1467,
|
| 841 |
"BBH": 0.2704,
|
| 842 |
-
"MATH Level 5": 0
|
| 843 |
"GPQA": 0.2525,
|
| 844 |
"MUSR": 0.3605,
|
| 845 |
"MMLU-PRO": 0.1123
|
|
@@ -878,7 +1462,7 @@
|
|
| 878 |
"scores": {
|
| 879 |
"IFEval": 0.1467,
|
| 880 |
"BBH": 0.2704,
|
| 881 |
-
"MATH Level 5": 0
|
| 882 |
"GPQA": 0.2525,
|
| 883 |
"MUSR": 0.3605,
|
| 884 |
"MMLU-PRO": 0.1123
|
|
@@ -1138,7 +1722,7 @@
|
|
| 1138 |
"scores": {
|
| 1139 |
"IFEval": 0.1374,
|
| 1140 |
"BBH": 0.2834,
|
| 1141 |
-
"MATH Level 5": 0
|
| 1142 |
"GPQA": 0.2458,
|
| 1143 |
"MUSR": 0.3552,
|
| 1144 |
"MMLU-PRO": 0.1117
|
|
@@ -1671,7 +2255,7 @@
|
|
| 1671 |
"scores": {
|
| 1672 |
"IFEval": 0.1751,
|
| 1673 |
"BBH": 0.293,
|
| 1674 |
-
"MATH Level 5": 0
|
| 1675 |
"GPQA": 0.2374,
|
| 1676 |
"MUSR": 0.3499,
|
| 1677 |
"MMLU-PRO": 0.1112
|
|
@@ -1775,7 +2359,7 @@
|
|
| 1775 |
"scores": {
|
| 1776 |
"IFEval": 0.2049,
|
| 1777 |
"BBH": 0.2912,
|
| 1778 |
-
"MATH Level 5": 0
|
| 1779 |
"GPQA": 0.2592,
|
| 1780 |
"MUSR": 0.3575,
|
| 1781 |
"MMLU-PRO": 0.1168
|
|
@@ -3998,7 +4582,7 @@
|
|
| 3998 |
"scores": {
|
| 3999 |
"IFEval": 0.2497,
|
| 4000 |
"BBH": 0.2817,
|
| 4001 |
-
"MATH Level 5": 0
|
| 4002 |
"GPQA": 0.2441,
|
| 4003 |
"MUSR": 0.3578,
|
| 4004 |
"MMLU-PRO": 0.1085
|
|
@@ -4011,7 +4595,7 @@
|
|
| 4011 |
"scores": {
|
| 4012 |
"IFEval": 0.1507,
|
| 4013 |
"BBH": 0.293,
|
| 4014 |
-
"MATH Level 5": 0
|
| 4015 |
"GPQA": 0.2534,
|
| 4016 |
"MUSR": 0.3565,
|
| 4017 |
"MMLU-PRO": 0.1125
|
|
@@ -5233,7 +5817,7 @@
|
|
| 5233 |
"scores": {
|
| 5234 |
"IFEval": 0.1778,
|
| 5235 |
"BBH": 0.287,
|
| 5236 |
-
"MATH Level 5": 0
|
| 5237 |
"GPQA": 0.2475,
|
| 5238 |
"MUSR": 0.3447,
|
| 5239 |
"MMLU-PRO": 0.111
|
|
@@ -7846,7 +8430,7 @@
|
|
| 7846 |
"scores": {
|
| 7847 |
"IFEval": 0.1592,
|
| 7848 |
"BBH": 0.2906,
|
| 7849 |
-
"MATH Level 5": 0
|
| 7850 |
"GPQA": 0.2492,
|
| 7851 |
"MUSR": 0.3286,
|
| 7852 |
"MMLU-PRO": 0.1111
|
|
@@ -8574,7 +9158,7 @@
|
|
| 8574 |
"scores": {
|
| 8575 |
"IFEval": 0.7628,
|
| 8576 |
"BBH": 0.5098,
|
| 8577 |
-
"MATH Level 5": 0
|
| 8578 |
"GPQA": 0.2802,
|
| 8579 |
"MUSR": 0.4579,
|
| 8580 |
"MMLU-PRO": 0.4033
|
|
@@ -8730,7 +9314,7 @@
|
|
| 8730 |
"scores": {
|
| 8731 |
"IFEval": 0.288,
|
| 8732 |
"BBH": 0.5154,
|
| 8733 |
-
"MATH Level 5": 0
|
| 8734 |
"GPQA": 0.3247,
|
| 8735 |
"MUSR": 0.408,
|
| 8736 |
"MMLU-PRO": 0.3817
|
|
@@ -8899,7 +9483,7 @@
|
|
| 8899 |
"scores": {
|
| 8900 |
"IFEval": 0.1869,
|
| 8901 |
"BBH": 0.2913,
|
| 8902 |
-
"MATH Level 5": 0
|
| 8903 |
"GPQA": 0.2601,
|
| 8904 |
"MUSR": 0.3738,
|
| 8905 |
"MMLU-PRO": 0.1123
|
|
@@ -8938,7 +9522,7 @@
|
|
| 8938 |
"scores": {
|
| 8939 |
"IFEval": 0.1575,
|
| 8940 |
"BBH": 0.4196,
|
| 8941 |
-
"MATH Level 5": 0
|
| 8942 |
"GPQA": 0.2936,
|
| 8943 |
"MUSR": 0.3116,
|
| 8944 |
"MMLU-PRO": 0.19
|
|
@@ -9224,7 +9808,7 @@
|
|
| 9224 |
"scores": {
|
| 9225 |
"IFEval": 0.1697,
|
| 9226 |
"BBH": 0.2877,
|
| 9227 |
-
"MATH Level 5": 0
|
| 9228 |
"GPQA": 0.2492,
|
| 9229 |
"MUSR": 0.3751,
|
| 9230 |
"MMLU-PRO": 0.1101
|
|
@@ -9235,9 +9819,9 @@
|
|
| 9235 |
"name": "BgGPT-Gemma-2-27B-IT-v1.0",
|
| 9236 |
"developer": "INSAIT-Institute",
|
| 9237 |
"scores": {
|
| 9238 |
-
"IFEval": 0
|
| 9239 |
"BBH": 0.2912,
|
| 9240 |
-
"MATH Level 5": 0
|
| 9241 |
"GPQA": 0.2601,
|
| 9242 |
"MUSR": 0.3575,
|
| 9243 |
"MMLU-PRO": 0.1167
|
|
@@ -9354,7 +9938,7 @@
|
|
| 9354 |
"scores": {
|
| 9355 |
"IFEval": 0.1409,
|
| 9356 |
"BBH": 0.2791,
|
| 9357 |
-
"MATH Level 5": 0
|
| 9358 |
"GPQA": 0.2441,
|
| 9359 |
"MUSR": 0.3738,
|
| 9360 |
"MMLU-PRO": 0.1109
|
|
@@ -12617,7 +13201,7 @@
|
|
| 12617 |
"scores": {
|
| 12618 |
"IFEval": 0.1351,
|
| 12619 |
"BBH": 0.2828,
|
| 12620 |
-
"MATH Level 5": 0
|
| 12621 |
"GPQA": 0.2559,
|
| 12622 |
"MUSR": 0.3526,
|
| 12623 |
"MMLU-PRO": 0.1128
|
|
@@ -12630,7 +13214,7 @@
|
|
| 12630 |
"scores": {
|
| 12631 |
"IFEval": 0.1354,
|
| 12632 |
"BBH": 0.2811,
|
| 12633 |
-
"MATH Level 5": 0
|
| 12634 |
"GPQA": 0.2643,
|
| 12635 |
"MUSR": 0.3579,
|
| 12636 |
"MMLU-PRO": 0.1105
|
|
@@ -12643,7 +13227,7 @@
|
|
| 12643 |
"scores": {
|
| 12644 |
"IFEval": 0.1354,
|
| 12645 |
"BBH": 0.2827,
|
| 12646 |
-
"MATH Level 5": 0
|
| 12647 |
"GPQA": 0.2609,
|
| 12648 |
"MUSR": 0.3619,
|
| 12649 |
"MMLU-PRO": 0.1094
|
|
@@ -12708,7 +13292,7 @@
|
|
| 12708 |
"scores": {
|
| 12709 |
"IFEval": 0.1395,
|
| 12710 |
"BBH": 0.2779,
|
| 12711 |
-
"MATH Level 5": 0
|
| 12712 |
"GPQA": 0.2483,
|
| 12713 |
"MUSR": 0.3447,
|
| 12714 |
"MMLU-PRO": 0.1115
|
|
@@ -13683,7 +14267,7 @@
|
|
| 13683 |
"scores": {
|
| 13684 |
"IFEval": 0.1153,
|
| 13685 |
"BBH": 0.2868,
|
| 13686 |
-
"MATH Level 5": 0
|
| 13687 |
"GPQA": 0.2458,
|
| 13688 |
"MUSR": 0.3698,
|
| 13689 |
"MMLU-PRO": 0.1108
|
|
@@ -15410,9 +15994,9 @@
|
|
| 15410 |
"name": "naps-gemma-2-27b-v-0.1.0",
|
| 15411 |
"developer": "NAPS-ai",
|
| 15412 |
"scores": {
|
| 15413 |
-
"IFEval": 0
|
| 15414 |
"BBH": 0.2912,
|
| 15415 |
-
"MATH Level 5": 0
|
| 15416 |
"GPQA": 0.2601,
|
| 15417 |
"MUSR": 0.3575,
|
| 15418 |
"MMLU-PRO": 0.1168
|
|
@@ -15423,9 +16007,9 @@
|
|
| 15423 |
"name": "naps-gemma-2-27b-v0.1.0",
|
| 15424 |
"developer": "NAPS-ai",
|
| 15425 |
"scores": {
|
| 15426 |
-
"IFEval": 0
|
| 15427 |
"BBH": 0.2912,
|
| 15428 |
-
"MATH Level 5": 0
|
| 15429 |
"GPQA": 0.2601,
|
| 15430 |
"MUSR": 0.3575,
|
| 15431 |
"MMLU-PRO": 0.1168
|
|
@@ -15490,7 +16074,7 @@
|
|
| 15490 |
"scores": {
|
| 15491 |
"IFEval": 0.1845,
|
| 15492 |
"BBH": 0.3041,
|
| 15493 |
-
"MATH Level 5": 0
|
| 15494 |
"GPQA": 0.2391,
|
| 15495 |
"MUSR": 0.3486,
|
| 15496 |
"MMLU-PRO": 0.1099
|
|
@@ -15516,7 +16100,7 @@
|
|
| 15516 |
"scores": {
|
| 15517 |
"IFEval": 0.1881,
|
| 15518 |
"BBH": 0.2178,
|
| 15519 |
-
"MATH Level 5": 0
|
| 15520 |
"GPQA": 0.2064,
|
| 15521 |
"MUSR": 0.3538,
|
| 15522 |
"MMLU-PRO": 0.1163
|
|
@@ -16335,7 +16919,7 @@
|
|
| 16335 |
"scores": {
|
| 16336 |
"IFEval": 0.1808,
|
| 16337 |
"BBH": 0.2815,
|
| 16338 |
-
"MATH Level 5": 0
|
| 16339 |
"GPQA": 0.2559,
|
| 16340 |
"MUSR": 0.375,
|
| 16341 |
"MMLU-PRO": 0.1143
|
|
@@ -16348,7 +16932,7 @@
|
|
| 16348 |
"scores": {
|
| 16349 |
"IFEval": 0.1749,
|
| 16350 |
"BBH": 0.2602,
|
| 16351 |
-
"MATH Level 5": 0
|
| 16352 |
"GPQA": 0.2458,
|
| 16353 |
"MUSR": 0.338,
|
| 16354 |
"MMLU-PRO": 0.1125
|
|
@@ -17089,7 +17673,7 @@
|
|
| 17089 |
"scores": {
|
| 17090 |
"IFEval": 0.0257,
|
| 17091 |
"BBH": 0.292,
|
| 17092 |
-
"MATH Level 5": 0
|
| 17093 |
"GPQA": 0.25,
|
| 17094 |
"MUSR": 0.3511,
|
| 17095 |
"MMLU-PRO": 0.1162
|
|
@@ -17128,7 +17712,7 @@
|
|
| 17128 |
"scores": {
|
| 17129 |
"IFEval": 0.203,
|
| 17130 |
"BBH": 0.2936,
|
| 17131 |
-
"MATH Level 5": 0
|
| 17132 |
"GPQA": 0.2576,
|
| 17133 |
"MUSR": 0.3619,
|
| 17134 |
"MMLU-PRO": 0.1111
|
|
@@ -17193,7 +17777,7 @@
|
|
| 17193 |
"scores": {
|
| 17194 |
"IFEval": 0.2254,
|
| 17195 |
"BBH": 0.275,
|
| 17196 |
-
"MATH Level 5": 0
|
| 17197 |
"GPQA": 0.2576,
|
| 17198 |
"MUSR": 0.3762,
|
| 17199 |
"MMLU-PRO": 0.1123
|
|
@@ -17219,7 +17803,7 @@
|
|
| 17219 |
"scores": {
|
| 17220 |
"IFEval": 0.0233,
|
| 17221 |
"BBH": 0.3092,
|
| 17222 |
-
"MATH Level 5": 0
|
| 17223 |
"GPQA": 0.2601,
|
| 17224 |
"MUSR": 0.3314,
|
| 17225 |
"MMLU-PRO": 0.1138
|
|
@@ -18129,7 +18713,7 @@
|
|
| 18129 |
"scores": {
|
| 18130 |
"IFEval": 0.1757,
|
| 18131 |
"BBH": 0.274,
|
| 18132 |
-
"MATH Level 5": 0
|
| 18133 |
"GPQA": 0.25,
|
| 18134 |
"MUSR": 0.3753,
|
| 18135 |
"MMLU-PRO": 0.112
|
|
@@ -18140,7 +18724,7 @@
|
|
| 18140 |
"name": "INTELLECT-1-Instruct",
|
| 18141 |
"developer": "PrimeIntellect",
|
| 18142 |
"scores": {
|
| 18143 |
-
"IFEval": 0
|
| 18144 |
"BBH": 0.287,
|
| 18145 |
"MATH Level 5": 0.0227,
|
| 18146 |
"GPQA": 0.2483,
|
|
@@ -18155,7 +18739,7 @@
|
|
| 18155 |
"scores": {
|
| 18156 |
"IFEval": 0.2282,
|
| 18157 |
"BBH": 0.2877,
|
| 18158 |
-
"MATH Level 5": 0
|
| 18159 |
"GPQA": 0.2601,
|
| 18160 |
"MUSR": 0.3484,
|
| 18161 |
"MMLU-PRO": 0.1123
|
|
@@ -19455,7 +20039,7 @@
|
|
| 19455 |
"scores": {
|
| 19456 |
"IFEval": 0.3071,
|
| 19457 |
"BBH": 0.3341,
|
| 19458 |
-
"MATH Level 5": 0
|
| 19459 |
"GPQA": 0.2576,
|
| 19460 |
"MUSR": 0.3329,
|
| 19461 |
"MMLU-PRO": 0.1697
|
|
@@ -19819,7 +20403,7 @@
|
|
| 19819 |
"scores": {
|
| 19820 |
"IFEval": 0.1897,
|
| 19821 |
"BBH": 0.2876,
|
| 19822 |
-
"MATH Level 5": 0
|
| 19823 |
"GPQA": 0.2492,
|
| 19824 |
"MUSR": 0.3948,
|
| 19825 |
"MMLU-PRO": 0.1078
|
|
@@ -19975,7 +20559,7 @@
|
|
| 19975 |
"scores": {
|
| 19976 |
"IFEval": 0.0932,
|
| 19977 |
"BBH": 0.2977,
|
| 19978 |
-
"MATH Level 5": 0
|
| 19979 |
"GPQA": 0.2475,
|
| 19980 |
"MUSR": 0.3941,
|
| 19981 |
"MMLU-PRO": 0.1157
|
|
@@ -19988,7 +20572,7 @@
|
|
| 19988 |
"scores": {
|
| 19989 |
"IFEval": 0.0858,
|
| 19990 |
"BBH": 0.2929,
|
| 19991 |
-
"MATH Level 5": 0
|
| 19992 |
"GPQA": 0.2483,
|
| 19993 |
"MUSR": 0.3981,
|
| 19994 |
"MMLU-PRO": 0.1285
|
|
@@ -20742,7 +21326,7 @@
|
|
| 20742 |
"scores": {
|
| 20743 |
"IFEval": 0.1545,
|
| 20744 |
"BBH": 0.2945,
|
| 20745 |
-
"MATH Level 5": 0
|
| 20746 |
"GPQA": 0.2391,
|
| 20747 |
"MUSR": 0.3711,
|
| 20748 |
"MMLU-PRO": 0.116
|
|
@@ -20794,7 +21378,7 @@
|
|
| 20794 |
"scores": {
|
| 20795 |
"IFEval": 0.1809,
|
| 20796 |
"BBH": 0.2881,
|
| 20797 |
-
"MATH Level 5": 0
|
| 20798 |
"GPQA": 0.2433,
|
| 20799 |
"MUSR": 0.3872,
|
| 20800 |
"MMLU-PRO": 0.109
|
|
@@ -22211,7 +22795,7 @@
|
|
| 22211 |
"scores": {
|
| 22212 |
"IFEval": 0.208,
|
| 22213 |
"BBH": 0.292,
|
| 22214 |
-
"MATH Level 5": 0
|
| 22215 |
"GPQA": 0.2601,
|
| 22216 |
"MUSR": 0.3499,
|
| 22217 |
"MMLU-PRO": 0.1167
|
|
@@ -22224,7 +22808,7 @@
|
|
| 22224 |
"scores": {
|
| 22225 |
"IFEval": 0.1407,
|
| 22226 |
"BBH": 0.2769,
|
| 22227 |
-
"MATH Level 5": 0
|
| 22228 |
"GPQA": 0.2634,
|
| 22229 |
"MUSR": 0.3218,
|
| 22230 |
"MMLU-PRO": 0.1112
|
|
@@ -22250,7 +22834,7 @@
|
|
| 22250 |
"scores": {
|
| 22251 |
"IFEval": 0.0656,
|
| 22252 |
"BBH": 0.3568,
|
| 22253 |
-
"MATH Level 5": 0
|
| 22254 |
"GPQA": 0.2676,
|
| 22255 |
"MUSR": 0.3805,
|
| 22256 |
"MMLU-PRO": 0.1672
|
|
@@ -22302,7 +22886,7 @@
|
|
| 22302 |
"scores": {
|
| 22303 |
"IFEval": 0.1828,
|
| 22304 |
"BBH": 0.2828,
|
| 22305 |
-
"MATH Level 5": 0
|
| 22306 |
"GPQA": 0.229,
|
| 22307 |
"MUSR": 0.31,
|
| 22308 |
"MMLU-PRO": 0.1144
|
|
@@ -22315,7 +22899,7 @@
|
|
| 22315 |
"scores": {
|
| 22316 |
"IFEval": 0.1815,
|
| 22317 |
"BBH": 0.2297,
|
| 22318 |
-
"MATH Level 5": 0
|
| 22319 |
"GPQA": 0.2315,
|
| 22320 |
"MUSR": 0.3445,
|
| 22321 |
"MMLU-PRO": 0.116
|
|
@@ -23056,7 +23640,7 @@
|
|
| 23056 |
"scores": {
|
| 23057 |
"IFEval": 0.1426,
|
| 23058 |
"BBH": 0.5528,
|
| 23059 |
-
"MATH Level 5": 0
|
| 23060 |
"GPQA": 0.3163,
|
| 23061 |
"MUSR": 0.4386,
|
| 23062 |
"MMLU-PRO": 0.4145
|
|
@@ -23067,9 +23651,9 @@
|
|
| 23067 |
"name": "glm-4-9b-chat",
|
| 23068 |
"developer": "THUDM",
|
| 23069 |
"scores": {
|
| 23070 |
-
"IFEval": 0
|
| 23071 |
"BBH": 0.4736,
|
| 23072 |
-
"MATH Level 5": 0
|
| 23073 |
"GPQA": 0.3138,
|
| 23074 |
"MUSR": 0.3994,
|
| 23075 |
"MMLU-PRO": 0.3167
|
|
@@ -23080,9 +23664,9 @@
|
|
| 23080 |
"name": "glm-4-9b-chat-1m",
|
| 23081 |
"developer": "THUDM",
|
| 23082 |
"scores": {
|
| 23083 |
-
"IFEval": 0
|
| 23084 |
"BBH": 0.418,
|
| 23085 |
-
"MATH Level 5": 0
|
| 23086 |
"GPQA": 0.3037,
|
| 23087 |
"MUSR": 0.3795,
|
| 23088 |
"MMLU-PRO": 0.3163
|
|
@@ -23823,7 +24407,7 @@
|
|
| 23823 |
"scores": {
|
| 23824 |
"IFEval": 0.1751,
|
| 23825 |
"BBH": 0.2643,
|
| 23826 |
-
"MATH Level 5": 0
|
| 23827 |
"GPQA": 0.2106,
|
| 23828 |
"MUSR": 0.3128,
|
| 23829 |
"MMLU-PRO": 0.1173
|
|
@@ -24031,7 +24615,7 @@
|
|
| 24031 |
"scores": {
|
| 24032 |
"IFEval": 0.1879,
|
| 24033 |
"BBH": 0.3017,
|
| 24034 |
-
"MATH Level 5": 0
|
| 24035 |
"GPQA": 0.224,
|
| 24036 |
"MUSR": 0.3684,
|
| 24037 |
"MMLU-PRO": 0.1164
|
|
@@ -24148,7 +24732,7 @@
|
|
| 24148 |
"scores": {
|
| 24149 |
"IFEval": 0.1879,
|
| 24150 |
"BBH": 0.4462,
|
| 24151 |
-
"MATH Level 5": 0
|
| 24152 |
"GPQA": 0.281,
|
| 24153 |
"MUSR": 0.3627,
|
| 24154 |
"MMLU-PRO": 0.2318
|
|
@@ -25292,7 +25876,7 @@
|
|
| 25292 |
"scores": {
|
| 25293 |
"IFEval": 0.185,
|
| 25294 |
"BBH": 0.2913,
|
| 25295 |
-
"MATH Level 5": 0
|
| 25296 |
"GPQA": 0.2592,
|
| 25297 |
"MUSR": 0.3497,
|
| 25298 |
"MMLU-PRO": 0.1166
|
|
@@ -25435,7 +26019,7 @@
|
|
| 25435 |
"scores": {
|
| 25436 |
"IFEval": 0.1273,
|
| 25437 |
"BBH": 0.2944,
|
| 25438 |
-
"MATH Level 5": 0
|
| 25439 |
"GPQA": 0.2408,
|
| 25440 |
"MUSR": 0.3368,
|
| 25441 |
"MMLU-PRO": 0.1144
|
|
@@ -25838,7 +26422,7 @@
|
|
| 25838 |
"scores": {
|
| 25839 |
"IFEval": 0.1856,
|
| 25840 |
"BBH": 0.291,
|
| 25841 |
-
"MATH Level 5": 0
|
| 25842 |
"GPQA": 0.2643,
|
| 25843 |
"MUSR": 0.3364,
|
| 25844 |
"MMLU-PRO": 0.1091
|
|
@@ -25903,7 +26487,7 @@
|
|
| 25903 |
"scores": {
|
| 25904 |
"IFEval": 0.207,
|
| 25905 |
"BBH": 0.3011,
|
| 25906 |
-
"MATH Level 5": 0
|
| 25907 |
"GPQA": 0.2634,
|
| 25908 |
"MUSR": 0.3219,
|
| 25909 |
"MMLU-PRO": 0.111
|
|
@@ -25916,7 +26500,7 @@
|
|
| 25916 |
"scores": {
|
| 25917 |
"IFEval": 0.207,
|
| 25918 |
"BBH": 0.3011,
|
| 25919 |
-
"MATH Level 5": 0
|
| 25920 |
"GPQA": 0.2634,
|
| 25921 |
"MUSR": 0.3219,
|
| 25922 |
"MMLU-PRO": 0.111
|
|
@@ -25981,7 +26565,7 @@
|
|
| 25981 |
"scores": {
|
| 25982 |
"IFEval": 0.167,
|
| 25983 |
"BBH": 0.2938,
|
| 25984 |
-
"MATH Level 5": 0
|
| 25985 |
"GPQA": 0.2517,
|
| 25986 |
"MUSR": 0.3541,
|
| 25987 |
"MMLU-PRO": 0.1087
|
|
@@ -26046,7 +26630,7 @@
|
|
| 26046 |
"scores": {
|
| 26047 |
"IFEval": 0.1446,
|
| 26048 |
"BBH": 0.2817,
|
| 26049 |
-
"MATH Level 5": 0
|
| 26050 |
"GPQA": 0.2433,
|
| 26051 |
"MUSR": 0.3697,
|
| 26052 |
"MMLU-PRO": 0.1095
|
|
@@ -26592,7 +27176,7 @@
|
|
| 26592 |
"scores": {
|
| 26593 |
"IFEval": 0.1746,
|
| 26594 |
"BBH": 0.3126,
|
| 26595 |
-
"MATH Level 5": 0
|
| 26596 |
"GPQA": 0.245,
|
| 26597 |
"MUSR": 0.4096,
|
| 26598 |
"MMLU-PRO": 0.1087
|
|
@@ -26735,7 +27319,7 @@
|
|
| 26735 |
"scores": {
|
| 26736 |
"IFEval": 0.1748,
|
| 26737 |
"BBH": 0.2883,
|
| 26738 |
-
"MATH Level 5": 0
|
| 26739 |
"GPQA": 0.2592,
|
| 26740 |
"MUSR": 0.3803,
|
| 26741 |
"MMLU-PRO": 0.1129
|
|
@@ -26969,7 +27553,7 @@
|
|
| 26969 |
"scores": {
|
| 26970 |
"IFEval": 0.167,
|
| 26971 |
"BBH": 0.295,
|
| 26972 |
-
"MATH Level 5": 0
|
| 26973 |
"GPQA": 0.2567,
|
| 26974 |
"MUSR": 0.3764,
|
| 26975 |
"MMLU-PRO": 0.1082
|
|
@@ -27320,7 +27904,7 @@
|
|
| 27320 |
"scores": {
|
| 27321 |
"IFEval": 0.1815,
|
| 27322 |
"BBH": 0.3242,
|
| 27323 |
-
"MATH Level 5": 0
|
| 27324 |
"GPQA": 0.2945,
|
| 27325 |
"MUSR": 0.3596,
|
| 27326 |
"MMLU-PRO": 0.331
|
|
@@ -27372,7 +27956,7 @@
|
|
| 27372 |
"scores": {
|
| 27373 |
"IFEval": 0.1943,
|
| 27374 |
"BBH": 0.6234,
|
| 27375 |
-
"MATH Level 5": 0
|
| 27376 |
"GPQA": 0.3322,
|
| 27377 |
"MUSR": 0.4267,
|
| 27378 |
"MMLU-PRO": 0.4688
|
|
@@ -27593,7 +28177,7 @@
|
|
| 27593 |
"scores": {
|
| 27594 |
"IFEval": 0.1773,
|
| 27595 |
"BBH": 0.2892,
|
| 27596 |
-
"MATH Level 5": 0
|
| 27597 |
"GPQA": 0.2592,
|
| 27598 |
"MUSR": 0.343,
|
| 27599 |
"MMLU-PRO": 0.1169
|
|
@@ -27684,7 +28268,7 @@
|
|
| 27684 |
"scores": {
|
| 27685 |
"IFEval": 0.1706,
|
| 27686 |
"BBH": 0.3607,
|
| 27687 |
-
"MATH Level 5": 0
|
| 27688 |
"GPQA": 0.2911,
|
| 27689 |
"MUSR": 0.3911,
|
| 27690 |
"MMLU-PRO": 0.1723
|
|
@@ -27697,7 +28281,7 @@
|
|
| 27697 |
"scores": {
|
| 27698 |
"IFEval": 0.1645,
|
| 27699 |
"BBH": 0.3597,
|
| 27700 |
-
"MATH Level 5": 0
|
| 27701 |
"GPQA": 0.2852,
|
| 27702 |
"MUSR": 0.4082,
|
| 27703 |
"MMLU-PRO": 0.1647
|
|
@@ -27762,7 +28346,7 @@
|
|
| 27762 |
"scores": {
|
| 27763 |
"IFEval": 0.1884,
|
| 27764 |
"BBH": 0.6129,
|
| 27765 |
-
"MATH Level 5": 0
|
| 27766 |
"GPQA": 0.3196,
|
| 27767 |
"MUSR": 0.4451,
|
| 27768 |
"MMLU-PRO": 0.4589
|
|
@@ -27775,7 +28359,7 @@
|
|
| 27775 |
"scores": {
|
| 27776 |
"IFEval": 0.1758,
|
| 27777 |
"BBH": 0.2757,
|
| 27778 |
-
"MATH Level 5": 0
|
| 27779 |
"GPQA": 0.2357,
|
| 27780 |
"MUSR": 0.3209,
|
| 27781 |
"MMLU-PRO": 0.1114
|
|
@@ -27788,7 +28372,7 @@
|
|
| 27788 |
"scores": {
|
| 27789 |
"IFEval": 0.1913,
|
| 27790 |
"BBH": 0.2942,
|
| 27791 |
-
"MATH Level 5": 0
|
| 27792 |
"GPQA": 0.2601,
|
| 27793 |
"MUSR": 0.362,
|
| 27794 |
"MMLU-PRO": 0.1168
|
|
@@ -28048,7 +28632,7 @@
|
|
| 28048 |
"scores": {
|
| 28049 |
"IFEval": 0.1879,
|
| 28050 |
"BBH": 0.2969,
|
| 28051 |
-
"MATH Level 5": 0
|
| 28052 |
"GPQA": 0.2626,
|
| 28053 |
"MUSR": 0.3633,
|
| 28054 |
"MMLU-PRO": 0.1168
|
|
@@ -28074,7 +28658,7 @@
|
|
| 28074 |
"scores": {
|
| 28075 |
"IFEval": 0.1754,
|
| 28076 |
"BBH": 0.2874,
|
| 28077 |
-
"MATH Level 5": 0
|
| 28078 |
"GPQA": 0.2492,
|
| 28079 |
"MUSR": 0.3524,
|
| 28080 |
"MMLU-PRO": 0.1128
|
|
@@ -28113,7 +28697,7 @@
|
|
| 28113 |
"scores": {
|
| 28114 |
"IFEval": 0.1639,
|
| 28115 |
"BBH": 0.2827,
|
| 28116 |
-
"MATH Level 5": 0
|
| 28117 |
"GPQA": 0.2584,
|
| 28118 |
"MUSR": 0.3857,
|
| 28119 |
"MMLU-PRO": 0.1095
|
|
@@ -28126,7 +28710,7 @@
|
|
| 28126 |
"scores": {
|
| 28127 |
"IFEval": 0.2009,
|
| 28128 |
"BBH": 0.3215,
|
| 28129 |
-
"MATH Level 5": 0
|
| 28130 |
"GPQA": 0.2743,
|
| 28131 |
"MUSR": 0.3843,
|
| 28132 |
"MMLU-PRO": 0.108
|
|
@@ -28152,7 +28736,7 @@
|
|
| 28152 |
"scores": {
|
| 28153 |
"IFEval": 0.1697,
|
| 28154 |
"BBH": 0.4063,
|
| 28155 |
-
"MATH Level 5": 0
|
| 28156 |
"GPQA": 0.2827,
|
| 28157 |
"MUSR": 0.3501,
|
| 28158 |
"MMLU-PRO": 0.1981
|
|
@@ -28217,7 +28801,7 @@
|
|
| 28217 |
"scores": {
|
| 28218 |
"IFEval": 0.1921,
|
| 28219 |
"BBH": 0.3252,
|
| 28220 |
-
"MATH Level 5": 0
|
| 28221 |
"GPQA": 0.2374,
|
| 28222 |
"MUSR": 0.375,
|
| 28223 |
"MMLU-PRO": 0.1088
|
|
@@ -28230,7 +28814,7 @@
|
|
| 28230 |
"scores": {
|
| 28231 |
"IFEval": 0.1742,
|
| 28232 |
"BBH": 0.3794,
|
| 28233 |
-
"MATH Level 5": 0
|
| 28234 |
"GPQA": 0.3062,
|
| 28235 |
"MUSR": 0.394,
|
| 28236 |
"MMLU-PRO": 0.198
|
|
@@ -28943,9 +29527,9 @@
|
|
| 28943 |
"name": "GRAG-NEMO-12B-ORPO-HESSIAN-AI",
|
| 28944 |
"developer": "avemio",
|
| 28945 |
"scores": {
|
| 28946 |
-
"IFEval": 0
|
| 28947 |
"BBH": 0.2607,
|
| 28948 |
-
"MATH Level 5": 0
|
| 28949 |
"GPQA": 0.2592,
|
| 28950 |
"MUSR": 0.3447,
|
| 28951 |
"MMLU-PRO": 0.1061
|
|
@@ -29634,7 +30218,7 @@
|
|
| 29634 |
"scores": {
|
| 29635 |
"IFEval": 0.1813,
|
| 29636 |
"BBH": 0.336,
|
| 29637 |
-
"MATH Level 5": 0
|
| 29638 |
"GPQA": 0.25,
|
| 29639 |
"MUSR": 0.3497,
|
| 29640 |
"MMLU-PRO": 0.1445
|
|
@@ -30076,7 +30660,7 @@
|
|
| 30076 |
"scores": {
|
| 30077 |
"IFEval": 0.1579,
|
| 30078 |
"BBH": 0.2962,
|
| 30079 |
-
"MATH Level 5": 0
|
| 30080 |
"GPQA": 0.2517,
|
| 30081 |
"MUSR": 0.3846,
|
| 30082 |
"MMLU-PRO": 0.1146
|
|
@@ -30856,7 +31440,7 @@
|
|
| 30856 |
"scores": {
|
| 30857 |
"IFEval": 0.1829,
|
| 30858 |
"BBH": 0.2874,
|
| 30859 |
-
"MATH Level 5": 0
|
| 30860 |
"GPQA": 0.2592,
|
| 30861 |
"MUSR": 0.3674,
|
| 30862 |
"MMLU-PRO": 0.11
|
|
@@ -31233,7 +31817,7 @@
|
|
| 31233 |
"scores": {
|
| 31234 |
"IFEval": 0.1123,
|
| 31235 |
"BBH": 0.2875,
|
| 31236 |
-
"MATH Level 5": 0
|
| 31237 |
"GPQA": 0.2466,
|
| 31238 |
"MUSR": 0.3938,
|
| 31239 |
"MMLU-PRO": 0.1135
|
|
@@ -31766,7 +32350,7 @@
|
|
| 31766 |
"scores": {
|
| 31767 |
"IFEval": 0.1706,
|
| 31768 |
"BBH": 0.2947,
|
| 31769 |
-
"MATH Level 5": 0
|
| 31770 |
"GPQA": 0.2601,
|
| 31771 |
"MUSR": 0.3686,
|
| 31772 |
"MMLU-PRO": 0.1167
|
|
@@ -31779,7 +32363,7 @@
|
|
| 31779 |
"scores": {
|
| 31780 |
"IFEval": 0.1916,
|
| 31781 |
"BBH": 0.2977,
|
| 31782 |
-
"MATH Level 5": 0
|
| 31783 |
"GPQA": 0.2685,
|
| 31784 |
"MUSR": 0.3872,
|
| 31785 |
"MMLU-PRO": 0.1132
|
|
@@ -32806,7 +33390,7 @@
|
|
| 32806 |
"scores": {
|
| 32807 |
"IFEval": 0.1715,
|
| 32808 |
"BBH": 0.5463,
|
| 32809 |
-
"MATH Level 5": 0
|
| 32810 |
"GPQA": 0.3406,
|
| 32811 |
"MUSR": 0.3555,
|
| 32812 |
"MMLU-PRO": 0.3947
|
|
@@ -33105,7 +33689,7 @@
|
|
| 33105 |
"scores": {
|
| 33106 |
"IFEval": 0.2019,
|
| 33107 |
"BBH": 0.2868,
|
| 33108 |
-
"MATH Level 5": 0
|
| 33109 |
"GPQA": 0.2601,
|
| 33110 |
"MUSR": 0.3566,
|
| 33111 |
"MMLU-PRO": 0.1065
|
|
@@ -33118,7 +33702,7 @@
|
|
| 33118 |
"scores": {
|
| 33119 |
"IFEval": 0.1979,
|
| 33120 |
"BBH": 0.2698,
|
| 33121 |
-
"MATH Level 5": 0
|
| 33122 |
"GPQA": 0.2466,
|
| 33123 |
"MUSR": 0.3593,
|
| 33124 |
"MMLU-PRO": 0.1041
|
|
@@ -33196,7 +33780,7 @@
|
|
| 33196 |
"scores": {
|
| 33197 |
"IFEval": 0.1752,
|
| 33198 |
"BBH": 0.2906,
|
| 33199 |
-
"MATH Level 5": 0
|
| 33200 |
"GPQA": 0.2399,
|
| 33201 |
"MUSR": 0.3512,
|
| 33202 |
"MMLU-PRO": 0.1126
|
|
@@ -33820,7 +34404,7 @@
|
|
| 33820 |
"scores": {
|
| 33821 |
"IFEval": 0.125,
|
| 33822 |
"BBH": 0.2867,
|
| 33823 |
-
"MATH Level 5": 0
|
| 33824 |
"GPQA": 0.2483,
|
| 33825 |
"MUSR": 0.3487,
|
| 33826 |
"MMLU-PRO": 0.1098
|
|
@@ -33833,7 +34417,7 @@
|
|
| 33833 |
"scores": {
|
| 33834 |
"IFEval": 0.1411,
|
| 33835 |
"BBH": 0.2924,
|
| 33836 |
-
"MATH Level 5": 0
|
| 33837 |
"GPQA": 0.2525,
|
| 33838 |
"MUSR": 0.3541,
|
| 33839 |
"MMLU-PRO": 0.1101
|
|
@@ -33885,7 +34469,7 @@
|
|
| 33885 |
"scores": {
|
| 33886 |
"IFEval": 0.1373,
|
| 33887 |
"BBH": 0.2949,
|
| 33888 |
-
"MATH Level 5": 0
|
| 33889 |
"GPQA": 0.2508,
|
| 33890 |
"MUSR": 0.3698,
|
| 33891 |
"MMLU-PRO": 0.1118
|
|
@@ -34782,7 +35366,7 @@
|
|
| 34782 |
"scores": {
|
| 34783 |
"IFEval": 0.1718,
|
| 34784 |
"BBH": 0.2766,
|
| 34785 |
-
"MATH Level 5": 0
|
| 34786 |
"GPQA": 0.2424,
|
| 34787 |
"MUSR": 0.3857,
|
| 34788 |
"MMLU-PRO": 0.1123
|
|
@@ -34795,7 +35379,7 @@
|
|
| 34795 |
"scores": {
|
| 34796 |
"IFEval": 0.196,
|
| 34797 |
"BBH": 0.3047,
|
| 34798 |
-
"MATH Level 5": 0
|
| 34799 |
"GPQA": 0.2643,
|
| 34800 |
"MUSR": 0.3795,
|
| 34801 |
"MMLU-PRO": 0.112
|
|
@@ -34808,7 +35392,7 @@
|
|
| 34808 |
"scores": {
|
| 34809 |
"IFEval": 0.2358,
|
| 34810 |
"BBH": 0.2959,
|
| 34811 |
-
"MATH Level 5": 0
|
| 34812 |
"GPQA": 0.2416,
|
| 34813 |
"MUSR": 0.3689,
|
| 34814 |
"MMLU-PRO": 0.1089
|
|
@@ -34873,7 +35457,7 @@
|
|
| 34873 |
"scores": {
|
| 34874 |
"IFEval": 0.1585,
|
| 34875 |
"BBH": 0.2876,
|
| 34876 |
-
"MATH Level 5": 0
|
| 34877 |
"GPQA": 0.25,
|
| 34878 |
"MUSR": 0.3517,
|
| 34879 |
"MMLU-PRO": 0.1098
|
|
@@ -35861,7 +36445,7 @@
|
|
| 35861 |
"scores": {
|
| 35862 |
"IFEval": 0.2049,
|
| 35863 |
"BBH": 0.2912,
|
| 35864 |
-
"MATH Level 5": 0
|
| 35865 |
"GPQA": 0.2601,
|
| 35866 |
"MUSR": 0.3575,
|
| 35867 |
"MMLU-PRO": 0.1167
|
|
@@ -37382,7 +37966,7 @@
|
|
| 37382 |
"scores": {
|
| 37383 |
"IFEval": 0.1028,
|
| 37384 |
"BBH": 0.2941,
|
| 37385 |
-
"MATH Level 5": 0
|
| 37386 |
"GPQA": 0.2567,
|
| 37387 |
"MUSR": 0.3528,
|
| 37388 |
"MMLU-PRO": 0.1141
|
|
@@ -37577,7 +38161,7 @@
|
|
| 37577 |
"scores": {
|
| 37578 |
"IFEval": 0.1572,
|
| 37579 |
"BBH": 0.2863,
|
| 37580 |
-
"MATH Level 5": 0
|
| 37581 |
"GPQA": 0.2592,
|
| 37582 |
"MUSR": 0.3607,
|
| 37583 |
"MMLU-PRO": 0.1169
|
|
@@ -40281,7 +40865,7 @@
|
|
| 40281 |
"scores": {
|
| 40282 |
"IFEval": 0.1416,
|
| 40283 |
"BBH": 0.2989,
|
| 40284 |
-
"MATH Level 5": 0
|
| 40285 |
"GPQA": 0.2525,
|
| 40286 |
"MUSR": 0.3475,
|
| 40287 |
"MMLU-PRO": 0.1094
|
|
@@ -40853,7 +41437,7 @@
|
|
| 40853 |
"scores": {
|
| 40854 |
"IFEval": 0.2145,
|
| 40855 |
"BBH": 0.4283,
|
| 40856 |
-
"MATH Level 5": 0
|
| 40857 |
"GPQA": 0.2961,
|
| 40858 |
"MUSR": 0.4979,
|
| 40859 |
"MMLU-PRO": 0.2414
|
|
@@ -41295,7 +41879,7 @@
|
|
| 41295 |
"scores": {
|
| 41296 |
"IFEval": 0.1778,
|
| 41297 |
"BBH": 0.3056,
|
| 41298 |
-
"MATH Level 5": 0
|
| 41299 |
"GPQA": 0.2517,
|
| 41300 |
"MUSR": 0.3883,
|
| 41301 |
"MMLU-PRO": 0.1126
|
|
@@ -41685,7 +42269,7 @@
|
|
| 41685 |
"scores": {
|
| 41686 |
"IFEval": 0.1564,
|
| 41687 |
"BBH": 0.2894,
|
| 41688 |
-
"MATH Level 5": 0
|
| 41689 |
"GPQA": 0.2626,
|
| 41690 |
"MUSR": 0.3789,
|
| 41691 |
"MMLU-PRO": 0.1169
|
|
@@ -42218,7 +42802,7 @@
|
|
| 42218 |
"scores": {
|
| 42219 |
"IFEval": 0.0705,
|
| 42220 |
"BBH": 0.3449,
|
| 42221 |
-
"MATH Level 5": 0
|
| 42222 |
"GPQA": 0.2668,
|
| 42223 |
"MUSR": 0.3631,
|
| 42224 |
"MMLU-PRO": 0.1679
|
|
@@ -42595,7 +43179,7 @@
|
|
| 42595 |
"scores": {
|
| 42596 |
"IFEval": 0.2018,
|
| 42597 |
"BBH": 0.3282,
|
| 42598 |
-
"MATH Level 5": 0
|
| 42599 |
"GPQA": 0.2643,
|
| 42600 |
"MUSR": 0.4123,
|
| 42601 |
"MMLU-PRO": 0.1472
|
|
@@ -42972,7 +43556,7 @@
|
|
| 42972 |
"scores": {
|
| 42973 |
"IFEval": 0.166,
|
| 42974 |
"BBH": 0.3068,
|
| 42975 |
-
"MATH Level 5": 0
|
| 42976 |
"GPQA": 0.2542,
|
| 42977 |
"MUSR": 0.3538,
|
| 42978 |
"MMLU-PRO": 0.108
|
|
@@ -42998,7 +43582,7 @@
|
|
| 42998 |
"scores": {
|
| 42999 |
"IFEval": 0.1504,
|
| 43000 |
"BBH": 0.295,
|
| 43001 |
-
"MATH Level 5": 0
|
| 43002 |
"GPQA": 0.2609,
|
| 43003 |
"MUSR": 0.4031,
|
| 43004 |
"MMLU-PRO": 0.1126
|
|
@@ -43011,7 +43595,7 @@
|
|
| 43011 |
"scores": {
|
| 43012 |
"IFEval": 0.1597,
|
| 43013 |
"BBH": 0.31,
|
| 43014 |
-
"MATH Level 5": 0
|
| 43015 |
"GPQA": 0.2567,
|
| 43016 |
"MUSR": 0.4017,
|
| 43017 |
"MMLU-PRO": 0.1157
|
|
@@ -43908,7 +44492,7 @@
|
|
| 43908 |
"scores": {
|
| 43909 |
"IFEval": 0.1479,
|
| 43910 |
"BBH": 0.3014,
|
| 43911 |
-
"MATH Level 5": 0
|
| 43912 |
"GPQA": 0.2542,
|
| 43913 |
"MUSR": 0.4287,
|
| 43914 |
"MMLU-PRO": 0.1119
|
|
@@ -44870,7 +45454,7 @@
|
|
| 44870 |
"scores": {
|
| 44871 |
"IFEval": 0.2273,
|
| 44872 |
"BBH": 0.2865,
|
| 44873 |
-
"MATH Level 5": 0
|
| 44874 |
"GPQA": 0.2492,
|
| 44875 |
"MUSR": 0.3445,
|
| 44876 |
"MMLU-PRO": 0.1168
|
|
@@ -45754,7 +46338,7 @@
|
|
| 45754 |
"scores": {
|
| 45755 |
"IFEval": 0.2049,
|
| 45756 |
"BBH": 0.2912,
|
| 45757 |
-
"MATH Level 5": 0
|
| 45758 |
"GPQA": 0.2601,
|
| 45759 |
"MUSR": 0.3575,
|
| 45760 |
"MMLU-PRO": 0.1167
|
|
@@ -46443,7 +47027,7 @@
|
|
| 46443 |
"scores": {
|
| 46444 |
"IFEval": 0.1564,
|
| 46445 |
"BBH": 0.292,
|
| 46446 |
-
"MATH Level 5": 0
|
| 46447 |
"GPQA": 0.2601,
|
| 46448 |
"MUSR": 0.3792,
|
| 46449 |
"MMLU-PRO": 0.11
|
|
@@ -47132,7 +47716,7 @@
|
|
| 47132 |
"scores": {
|
| 47133 |
"IFEval": 0.1413,
|
| 47134 |
"BBH": 0.2717,
|
| 47135 |
-
"MATH Level 5": 0
|
| 47136 |
"GPQA": 0.2341,
|
| 47137 |
"MUSR": 0.3351,
|
| 47138 |
"MMLU-PRO": 0.1179
|
|
@@ -47158,7 +47742,7 @@
|
|
| 47158 |
"scores": {
|
| 47159 |
"IFEval": 0.1494,
|
| 47160 |
"BBH": 0.2423,
|
| 47161 |
-
"MATH Level 5": 0
|
| 47162 |
"GPQA": 0.2458,
|
| 47163 |
"MUSR": 0.358,
|
| 47164 |
"MMLU-PRO": 0.1139
|
|
@@ -47509,7 +48093,7 @@
|
|
| 47509 |
"scores": {
|
| 47510 |
"IFEval": 0.1763,
|
| 47511 |
"BBH": 0.3011,
|
| 47512 |
-
"MATH Level 5": 0
|
| 47513 |
"GPQA": 0.2399,
|
| 47514 |
"MUSR": 0.342,
|
| 47515 |
"MMLU-PRO": 0.1066
|
|
@@ -47665,7 +48249,7 @@
|
|
| 47665 |
"scores": {
|
| 47666 |
"IFEval": 0.2049,
|
| 47667 |
"BBH": 0.2912,
|
| 47668 |
-
"MATH Level 5": 0
|
| 47669 |
"GPQA": 0.2601,
|
| 47670 |
"MUSR": 0.3575,
|
| 47671 |
"MMLU-PRO": 0.1167
|
|
@@ -48679,7 +49263,7 @@
|
|
| 48679 |
"scores": {
|
| 48680 |
"IFEval": 0.1492,
|
| 48681 |
"BBH": 0.313,
|
| 48682 |
-
"MATH Level 5": 0
|
| 48683 |
"GPQA": 0.2601,
|
| 48684 |
"MUSR": 0.3911,
|
| 48685 |
"MMLU-PRO": 0.1147
|
|
@@ -50421,7 +51005,7 @@
|
|
| 50421 |
"scores": {
|
| 50422 |
"IFEval": 0.1397,
|
| 50423 |
"BBH": 0.2824,
|
| 50424 |
-
"MATH Level 5": 0
|
| 50425 |
"GPQA": 0.276,
|
| 50426 |
"MUSR": 0.3724,
|
| 50427 |
"MMLU-PRO": 0.1123
|
|
@@ -51266,7 +51850,7 @@
|
|
| 51266 |
"scores": {
|
| 51267 |
"IFEval": 0.3681,
|
| 51268 |
"BBH": 0.4726,
|
| 51269 |
-
"MATH Level 5": 0
|
| 51270 |
"GPQA": 0.2743,
|
| 51271 |
"MUSR": 0.3524,
|
| 51272 |
"MMLU-PRO": 0.2247
|
|
@@ -52007,7 +52591,7 @@
|
|
| 52007 |
"scores": {
|
| 52008 |
"IFEval": 0.1872,
|
| 52009 |
"BBH": 0.302,
|
| 52010 |
-
"MATH Level 5": 0
|
| 52011 |
"GPQA": 0.2768,
|
| 52012 |
"MUSR": 0.3682,
|
| 52013 |
"MMLU-PRO": 0.1095
|
|
@@ -53801,7 +54385,7 @@
|
|
| 53801 |
"scores": {
|
| 53802 |
"IFEval": 0.2318,
|
| 53803 |
"BBH": 0.2823,
|
| 53804 |
-
"MATH Level 5": 0
|
| 53805 |
"GPQA": 0.2534,
|
| 53806 |
"MUSR": 0.3485,
|
| 53807 |
"MMLU-PRO": 0.1094
|
|
@@ -54048,7 +54632,7 @@
|
|
| 54048 |
"scores": {
|
| 54049 |
"IFEval": 0.1943,
|
| 54050 |
"BBH": 0.2951,
|
| 54051 |
-
"MATH Level 5": 0
|
| 54052 |
"GPQA": 0.2576,
|
| 54053 |
"MUSR": 0.3796,
|
| 54054 |
"MMLU-PRO": 0.1166
|
|
@@ -54113,7 +54697,7 @@
|
|
| 54113 |
"scores": {
|
| 54114 |
"IFEval": 0.0787,
|
| 54115 |
"BBH": 0.2919,
|
| 54116 |
-
"MATH Level 5": 0
|
| 54117 |
"GPQA": 0.2643,
|
| 54118 |
"MUSR": 0.4138,
|
| 54119 |
"MMLU-PRO": 0.1172
|
|
@@ -54178,7 +54762,7 @@
|
|
| 54178 |
"scores": {
|
| 54179 |
"IFEval": 0.1197,
|
| 54180 |
"BBH": 0.3002,
|
| 54181 |
-
"MATH Level 5": 0
|
| 54182 |
"GPQA": 0.2525,
|
| 54183 |
"MUSR": 0.3581,
|
| 54184 |
"MMLU-PRO": 0.1129
|
|
@@ -54282,7 +54866,7 @@
|
|
| 54282 |
"scores": {
|
| 54283 |
"IFEval": 0.1869,
|
| 54284 |
"BBH": 0.6048,
|
| 54285 |
-
"MATH Level 5": 0
|
| 54286 |
"GPQA": 0.2701,
|
| 54287 |
"MUSR": 0.3843,
|
| 54288 |
"MMLU-PRO": 0.4382
|
|
@@ -58247,7 +58831,7 @@
|
|
| 58247 |
"scores": {
|
| 58248 |
"IFEval": 0.1555,
|
| 58249 |
"BBH": 0.283,
|
| 58250 |
-
"MATH Level 5": 0
|
| 58251 |
"GPQA": 0.2416,
|
| 58252 |
"MUSR": 0.367,
|
| 58253 |
"MMLU-PRO": 0.109
|
|
@@ -58260,7 +58844,7 @@
|
|
| 58260 |
"scores": {
|
| 58261 |
"IFEval": 0.1555,
|
| 58262 |
"BBH": 0.283,
|
| 58263 |
-
"MATH Level 5": 0
|
| 58264 |
"GPQA": 0.2416,
|
| 58265 |
"MUSR": 0.367,
|
| 58266 |
"MMLU-PRO": 0.109
|
|
@@ -58410,4 +58994,4 @@
|
|
| 58410 |
}
|
| 58411 |
}
|
| 58412 |
]
|
| 58413 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"benchmark_cards": {
|
| 3 |
+
"IFEval": {
|
| 4 |
+
"benchmark_details": {
|
| 5 |
+
"name": "Instruction-Following Eval (IFEval)",
|
| 6 |
+
"overview": "IFEval is a benchmark that measures the ability of large language models to follow natural language instructions. It focuses specifically on 'verifiable instructions'—instructions that can be objectively checked, such as word count requirements or keyword mentions. It is distinctive for providing a straightforward, reproducible, and automatic evaluation that avoids the subjectivity of human judgment and the bias of model-based assessment.",
|
| 7 |
+
"data_type": "text",
|
| 8 |
+
"domains": [
|
| 9 |
+
"instruction following"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"Not specified"
|
| 16 |
+
],
|
| 17 |
+
"resources": [
|
| 18 |
+
"https://github.com/google-research/google-research/tree/master/instruction_following_eval",
|
| 19 |
+
"https://arxiv.org/abs/2311.07911",
|
| 20 |
+
"https://huggingface.co/datasets/google/IFEval",
|
| 21 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 22 |
+
]
|
| 23 |
+
},
|
| 24 |
+
"purpose_and_intended_users": {
|
| 25 |
+
"goal": "To provide a standardized, objective, and reproducible method for evaluating the instruction-following capability of large language models.",
|
| 26 |
+
"audience": [
|
| 27 |
+
"Researchers evaluating large language models"
|
| 28 |
+
],
|
| 29 |
+
"tasks": [
|
| 30 |
+
"Text generation",
|
| 31 |
+
"Following verifiable instructions (e.g., word counts, formatting rules, keyword mentions)"
|
| 32 |
+
],
|
| 33 |
+
"limitations": "The benchmark is limited to verifiable instructions and does not support multi-modal use cases, such as generating images. The current implementation is acknowledged to have room for improvement.",
|
| 34 |
+
"out_of_scope_uses": [
|
| 35 |
+
"Evaluating subjective or ambiguous instructions (e.g., 'write with a funny tone')"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
"data": {
|
| 39 |
+
"source": "The data consists of constructed prompts, as described in the research paper. The specific source material for the prompt content is not specified.",
|
| 40 |
+
"size": "Approximately 500 prompts, with a train split containing 541 prompts. No information is provided about development or test splits.",
|
| 41 |
+
"format": "JSON",
|
| 42 |
+
"annotation": "The prompts contain verifiable instructions, meaning compliance can be checked automatically via predefined rules (e.g., word counting). No human annotation process is described."
|
| 43 |
+
},
|
| 44 |
+
"methodology": {
|
| 45 |
+
"methods": [
|
| 46 |
+
"Automatic and objective verification of whether the model's output follows the verifiable instructions in the prompt.",
|
| 47 |
+
"Zero-shot evaluation setup."
|
| 48 |
+
],
|
| 49 |
+
"metrics": [
|
| 50 |
+
"IFEval"
|
| 51 |
+
],
|
| 52 |
+
"calculation": "Not specified",
|
| 53 |
+
"interpretation": "Higher scores indicate better performance.",
|
| 54 |
+
"baseline_results": "Paper baseline: Results for two widely available LLMs are reported, but specific model names and scores are not provided. EEE results: OLMo 2 32B Instruct March 2025 scored 0.7800; YiSM-blossom5.1-34B-SLERP scored 0.5033. Mean score across 2 models is 0.6417.",
|
| 55 |
+
"validation": "Quality assurance relies on the objective verifiability of the instructions. No additional validation procedures are described."
|
| 56 |
+
},
|
| 57 |
+
"ethical_and_legal_considerations": {
|
| 58 |
+
"privacy_and_anonymity": "Not specified",
|
| 59 |
+
"data_licensing": "Apache License 2.0",
|
| 60 |
+
"consent_procedures": "Not specified",
|
| 61 |
+
"compliance_with_regulations": "Not specified"
|
| 62 |
+
},
|
| 63 |
+
"possible_risks": [
|
| 64 |
+
{
|
| 65 |
+
"category": "Over- or under-reliance",
|
| 66 |
+
"description": [
|
| 67 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 68 |
+
],
|
| 69 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"category": "Unrepresentative data",
|
| 73 |
+
"description": [
|
| 74 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 75 |
+
],
|
| 76 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"category": "Lack of data transparency",
|
| 80 |
+
"description": [
|
| 81 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 82 |
+
],
|
| 83 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"category": "Reproducibility",
|
| 87 |
+
"description": [
|
| 88 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 89 |
+
],
|
| 90 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"category": "Improper usage",
|
| 94 |
+
"description": [
|
| 95 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 96 |
+
],
|
| 97 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 98 |
+
}
|
| 99 |
+
],
|
| 100 |
+
"flagged_fields": {},
|
| 101 |
+
"missing_fields": [
|
| 102 |
+
"benchmark_details.similar_benchmarks",
|
| 103 |
+
"methodology.calculation",
|
| 104 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 105 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 106 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 107 |
+
],
|
| 108 |
+
"card_info": {
|
| 109 |
+
"created_at": "2026-03-17T15:55:54.431294",
|
| 110 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"GPQA": {
|
| 114 |
+
"benchmark_details": {
|
| 115 |
+
"name": "GPQA",
|
| 116 |
+
"overview": "GPQA (Graduate-Level Google-Proof Q&A Benchmark) is a text-based benchmark that measures the ability to answer extremely difficult, expert-level multiple-choice questions. It contains 448 questions designed to be 'Google-proof,' meaning they are hard to solve even with unrestricted web access. Its distinctiveness lies in its high difficulty for both highly skilled non-experts and state-of-the-art AI, making it suitable for scalable oversight experiments.",
|
| 117 |
+
"data_type": "tabular, text",
|
| 118 |
+
"domains": [
|
| 119 |
+
"biology",
|
| 120 |
+
"physics",
|
| 121 |
+
"chemistry",
|
| 122 |
+
"open domain qa",
|
| 123 |
+
"open book qa",
|
| 124 |
+
"multiple choice qa"
|
| 125 |
+
],
|
| 126 |
+
"languages": [
|
| 127 |
+
"English"
|
| 128 |
+
],
|
| 129 |
+
"similar_benchmarks": [
|
| 130 |
+
"DROP",
|
| 131 |
+
"Massive Multitask Language Understanding (MMLU)"
|
| 132 |
+
],
|
| 133 |
+
"resources": [
|
| 134 |
+
"https://arxiv.org/abs/2311.12022",
|
| 135 |
+
"https://huggingface.co/datasets/Idavidrein/gpqa",
|
| 136 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 137 |
+
]
|
| 138 |
+
},
|
| 139 |
+
"purpose_and_intended_users": {
|
| 140 |
+
"goal": "To create a testbed for scalable oversight, enabling the study of methods for humans to reliably supervise and extract truthful information from AI systems on questions that are very difficult for non-experts to answer or verify. It can also be used for general large language model capabilities benchmarking.",
|
| 141 |
+
"audience": [
|
| 142 |
+
"Researchers studying scalable oversight and AI alignment",
|
| 143 |
+
"Researchers interested in supervising AI systems that may surpass human capabilities in specialized domains"
|
| 144 |
+
],
|
| 145 |
+
"tasks": [
|
| 146 |
+
"Multiple-choice question answering",
|
| 147 |
+
"Question answering",
|
| 148 |
+
"Text generation"
|
| 149 |
+
],
|
| 150 |
+
"limitations": "The dataset is small, with 448 examples in the main set. There is a need for scalable oversight methods to overcome existing cognitive or ethical biases supervisors might have.",
|
| 151 |
+
"out_of_scope_uses": [
|
| 152 |
+
"Tasks where non-experts can easily find the answer using web search, as the questions are intended to be 'Google-proof'"
|
| 153 |
+
]
|
| 154 |
+
},
|
| 155 |
+
"data": {
|
| 156 |
+
"source": "The questions were written and validated by domain experts with or pursuing PhDs in biology, physics, and chemistry, using an annotation pipeline where experts wrote questions and explanations and received detailed feedback from other experts.",
|
| 157 |
+
"size": "The main set contains 448 multiple-choice questions, with an extended set of 546 questions also mentioned. The dataset falls within the 1K<n<10K size category. The paper does not specify train, development, or test splits.",
|
| 158 |
+
"format": "The data is provided in CSV format and consists of multiple-choice questions, each with four answer choices, explanations, and references.",
|
| 159 |
+
"annotation": "Domain experts wrote the questions and explanations. Other expert validators provided feedback and 4-point difficulty ratings. Quality was assessed by comparing a sample to author-created 'gold-standard' labels, achieving 90% accuracy. Validation also involved experts from outside a question's domain attempting them with web access, which confirmed the questions' difficulty through low accuracy scores."
|
| 160 |
+
},
|
| 161 |
+
"methodology": {
|
| 162 |
+
"methods": [
|
| 163 |
+
"Models are evaluated in both closed-book (no runtime access to external information) and open-book (with access to an internet search tool) settings.",
|
| 164 |
+
"Prompting methods include zero-shot, few-shot, zero-shot chain-of-thought, and few-shot chain-of-thought."
|
| 165 |
+
],
|
| 166 |
+
"metrics": [
|
| 167 |
+
"Accuracy (percentage of correct answers)"
|
| 168 |
+
],
|
| 169 |
+
"calculation": "The overall score is the accuracy across the question set. Results are reported separately for the main set, extended set, and a 'Diamond Set'.",
|
| 170 |
+
"interpretation": "Higher accuracy indicates better performance. Expert human performance is benchmarked at 65% overall accuracy (or 74% when discounting clear mistakes). Non-expert human performance is 34%.",
|
| 171 |
+
"baseline_results": "PAPER baselines: On the main set, GPT-4 with few-shot chain-of-thought achieved 39.7% accuracy; GPT-4 with search achieved 41.0%; GPT-3.5-turbo-16k (zero-shot) achieved 29.8%; Llama-2-70B-chat (few-shot chain-of-thought) achieved 29.1%. Human expert accuracy was 65%, and non-expert accuracy was 34%. EEE results: YiSM-blossom5.1-34B-SLERP achieved 0.3557; OLMo 2 32B Instruct March 2025 achieved 0.2870.",
|
| 172 |
+
"validation": "Quality assurance involved expert validation and feedback. Gold-standard labels were created for a sample of 110 questions, achieving 90% annotator agreement. Expert validators also rated question difficulty."
|
| 173 |
+
},
|
| 174 |
+
"ethical_and_legal_considerations": {
|
| 175 |
+
"privacy_and_anonymity": "The dataset includes a canary string to aid in filtering it from training data, and distribution requires users to agree not to reveal examples in plain text or images online to prevent data leakage. No specific anonymization of the question content is described.",
|
| 176 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 177 |
+
"consent_procedures": "Non-expert validators were compensated with large bonuses for effort. The use of contractors is mentioned, but the specific platform and detailed compensation procedures for experts are not specified.",
|
| 178 |
+
"compliance_with_regulations": "No information is provided regarding IRB approval, GDPR compliance, or other ethical review."
|
| 179 |
+
},
|
| 180 |
+
"possible_risks": [
|
| 181 |
+
{
|
| 182 |
+
"category": "Over- or under-reliance",
|
| 183 |
+
"description": [
|
| 184 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 185 |
+
],
|
| 186 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"category": "Unrepresentative data",
|
| 190 |
+
"description": [
|
| 191 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 192 |
+
],
|
| 193 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 194 |
+
},
|
| 195 |
+
{
|
| 196 |
+
"category": "Data bias",
|
| 197 |
+
"description": [
|
| 198 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 199 |
+
],
|
| 200 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"category": "Lack of data transparency",
|
| 204 |
+
"description": [
|
| 205 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 206 |
+
],
|
| 207 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"category": "Improper usage",
|
| 211 |
+
"description": [
|
| 212 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 213 |
+
],
|
| 214 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 215 |
+
}
|
| 216 |
+
],
|
| 217 |
+
"flagged_fields": {
|
| 218 |
+
"methodology.metrics": "[Factuality Score: 0.09], low factual alignment with source material",
|
| 219 |
+
"methodology.calculation": "[Possible Hallucination], no supporting evidence found in source material",
|
| 220 |
+
"methodology.baseline_results": "[Possible Hallucination], no supporting evidence found in source material",
|
| 221 |
+
"methodology.validation": "[Possible Hallucination], no supporting evidence found in source material"
|
| 222 |
+
},
|
| 223 |
+
"missing_fields": [],
|
| 224 |
+
"card_info": {
|
| 225 |
+
"created_at": "2026-03-17T15:27:14.197081",
|
| 226 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 227 |
+
}
|
| 228 |
+
},
|
| 229 |
+
"MATH Level 5": {
|
| 230 |
+
"benchmark_details": {
|
| 231 |
+
"name": "MATH Level 5",
|
| 232 |
+
"overview": "MATH Level 5 is a benchmark that measures the mathematical problem-solving ability of machine learning models using challenging competition-level mathematics problems. It contains 12,500 problems, each with a full step-by-step solution, and is specifically focused on the hardest difficulty level (Level 5) within the dataset. Problems are presented in text, with diagrams for subjects like geometry specified using the Asymptote language.",
|
| 233 |
+
"data_type": "text",
|
| 234 |
+
"domains": [
|
| 235 |
+
"mathematics",
|
| 236 |
+
"explanation generation"
|
| 237 |
+
],
|
| 238 |
+
"languages": [
|
| 239 |
+
"English"
|
| 240 |
+
],
|
| 241 |
+
"similar_benchmarks": [
|
| 242 |
+
"DeepMind Mathematics Dataset",
|
| 243 |
+
"Metamath Theorem Proving"
|
| 244 |
+
],
|
| 245 |
+
"resources": [
|
| 246 |
+
"https://arxiv.org/abs/2103.03874",
|
| 247 |
+
"https://huggingface.co/datasets/DigitalLearningGmbH/MATH-lighteval"
|
| 248 |
+
]
|
| 249 |
+
},
|
| 250 |
+
"purpose_and_intended_users": {
|
| 251 |
+
"goal": "To measure the mathematical problem-solving ability of machine learning models, specifically evaluating their capacity to analyze problems, select appropriate heuristics, and chain them together to produce a final answer. The benchmark also aims to teach models to generate step-by-step derivations and explanations.",
|
| 252 |
+
"audience": [
|
| 253 |
+
"Machine learning researchers"
|
| 254 |
+
],
|
| 255 |
+
"tasks": [
|
| 256 |
+
"Mathematical problem solving",
|
| 257 |
+
"Step-by-step solution generation",
|
| 258 |
+
"Final answer generation"
|
| 259 |
+
],
|
| 260 |
+
"limitations": "Accuracy on the benchmark remains relatively low even with large Transformer models, and scaling model size alone appears impractical for achieving strong mathematical reasoning based on current trends, indicating it is a very challenging benchmark.",
|
| 261 |
+
"out_of_scope_uses": [
|
| 262 |
+
"Not specified"
|
| 263 |
+
]
|
| 264 |
+
},
|
| 265 |
+
"data": {
|
| 266 |
+
"source": "The data is sourced from high school mathematics competitions, including the AMC 10, AMC 12, and AIME.",
|
| 267 |
+
"size": "The full dataset contains 12,500 problems, with 7,500 for training and 5,000 for testing. The exact number of examples for the 'Level 5' subset is not specified.",
|
| 268 |
+
"format": "The data is stored in Parquet format. Each problem includes a full step-by-step solution in LaTeX and natural language, and the final answer is a unique normalized sequence.",
|
| 269 |
+
"annotation": "Problems are expert-generated, but the specific annotation process and quality control measures are not detailed."
|
| 270 |
+
},
|
| 271 |
+
"methodology": {
|
| 272 |
+
"methods": [
|
| 273 |
+
"Models are evaluated by generating a final answer for a given problem. The solution must contain the final answer enclosed in a `\\boxed{}` tag."
|
| 274 |
+
],
|
| 275 |
+
"metrics": [
|
| 276 |
+
"MATH Level 5"
|
| 277 |
+
],
|
| 278 |
+
"calculation": "The metric is an Exact Match score on MATH Level 5. The score is continuous, and higher values indicate better performance.",
|
| 279 |
+
"interpretation": "Higher scores indicate better performance. The score is continuous, and lower values are not better.",
|
| 280 |
+
"baseline_results": "Paper baselines: Not specified. Evaluation suite results: YiSM-blossom5.1-34B-SLERP achieved a score of 0.2153.",
|
| 281 |
+
"validation": "Not specified"
|
| 282 |
+
},
|
| 283 |
+
"ethical_and_legal_considerations": {
|
| 284 |
+
"privacy_and_anonymity": "Not specified",
|
| 285 |
+
"data_licensing": "MIT License",
|
| 286 |
+
"consent_procedures": "Not specified",
|
| 287 |
+
"compliance_with_regulations": "Not specified"
|
| 288 |
+
},
|
| 289 |
+
"possible_risks": [
|
| 290 |
+
{
|
| 291 |
+
"category": "Over- or under-reliance",
|
| 292 |
+
"description": [
|
| 293 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 294 |
+
],
|
| 295 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 296 |
+
},
|
| 297 |
+
{
|
| 298 |
+
"category": "Unrepresentative data",
|
| 299 |
+
"description": [
|
| 300 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 301 |
+
],
|
| 302 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 303 |
+
},
|
| 304 |
+
{
|
| 305 |
+
"category": "Data bias",
|
| 306 |
+
"description": [
|
| 307 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 308 |
+
],
|
| 309 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 310 |
+
},
|
| 311 |
+
{
|
| 312 |
+
"category": "Lack of data transparency",
|
| 313 |
+
"description": [
|
| 314 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation. "
|
| 315 |
+
],
|
| 316 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 317 |
+
},
|
| 318 |
+
{
|
| 319 |
+
"category": "Improper usage",
|
| 320 |
+
"description": [
|
| 321 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 322 |
+
],
|
| 323 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 324 |
+
}
|
| 325 |
+
],
|
| 326 |
+
"flagged_fields": {},
|
| 327 |
+
"missing_fields": [
|
| 328 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 329 |
+
"methodology.validation",
|
| 330 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 331 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 332 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 333 |
+
],
|
| 334 |
+
"card_info": {
|
| 335 |
+
"created_at": "2026-03-17T16:09:19.958535",
|
| 336 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 337 |
+
}
|
| 338 |
+
},
|
| 339 |
+
"MMLU-PRO": {
|
| 340 |
+
"benchmark_details": {
|
| 341 |
+
"name": "MMLU-Pro",
|
| 342 |
+
"overview": "MMLU-Pro is an enhanced version of the Massive Multitask Language Understanding benchmark designed to be more challenging and robust. It measures multi-task language understanding and reasoning capabilities by integrating more reasoning-focused questions, expanding answer choices from four to ten, and eliminating trivial or noisy questions found in its predecessor. It covers a broad range of subjects.",
|
| 343 |
+
"data_type": "tabular, text",
|
| 344 |
+
"domains": [
|
| 345 |
+
"STEM",
|
| 346 |
+
"humanities",
|
| 347 |
+
"social sciences",
|
| 348 |
+
"math",
|
| 349 |
+
"physics",
|
| 350 |
+
"chemistry",
|
| 351 |
+
"law",
|
| 352 |
+
"engineering",
|
| 353 |
+
"economics",
|
| 354 |
+
"health",
|
| 355 |
+
"psychology",
|
| 356 |
+
"business",
|
| 357 |
+
"biology",
|
| 358 |
+
"philosophy",
|
| 359 |
+
"computer science",
|
| 360 |
+
"history"
|
| 361 |
+
],
|
| 362 |
+
"languages": [
|
| 363 |
+
"English"
|
| 364 |
+
],
|
| 365 |
+
"similar_benchmarks": [
|
| 366 |
+
"MMLU"
|
| 367 |
+
],
|
| 368 |
+
"resources": [
|
| 369 |
+
"https://arxiv.org/abs/2406.01574",
|
| 370 |
+
"https://huggingface.co/datasets/TIGER-Lab/MMLU-Pro",
|
| 371 |
+
"https://huggingface.co/spaces/TIGER-Lab/MMLU-Pro",
|
| 372 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 373 |
+
]
|
| 374 |
+
},
|
| 375 |
+
"purpose_and_intended_users": {
|
| 376 |
+
"goal": "To provide a more challenging and discriminative benchmark for tracking progress in language model capabilities, testing deeper cognitive processes and reasoning as models plateau on existing benchmarks.",
|
| 377 |
+
"audience": [
|
| 378 |
+
"Researchers evaluating large language models"
|
| 379 |
+
],
|
| 380 |
+
"tasks": [
|
| 381 |
+
"Multiple-choice question answering across a broad range of subjects"
|
| 382 |
+
],
|
| 383 |
+
"limitations": "The dataset contains some mistakes and formatting inconsistencies, which the maintainers are correcting based on expert feedback.",
|
| 384 |
+
"out_of_scope_uses": [
|
| 385 |
+
"Not specified"
|
| 386 |
+
]
|
| 387 |
+
},
|
| 388 |
+
"data": {
|
| 389 |
+
"source": "The dataset is an enhanced version of MMLU, integrating more challenging questions from multiple sources. These include original MMLU questions (with trivial or ambiguous ones removed), hand-picked high-quality STEM problems from the internet, human-annotated questions requiring theorems from TheoremQA, and science questions from college exams via SciBench.",
|
| 390 |
+
"size": "The test split contains 12,032 examples, placing the dataset in the 10K to 100K size category. The total file size is 8,775,905 bytes.",
|
| 391 |
+
"format": "The data is stored in Parquet format and consists of multiple-choice questions, expanding the number of answer choices from four (as in MMLU) to ten.",
|
| 392 |
+
"annotation": "The annotation process involved expert review. Over ten experts scrutinized each question and its options to ensure challenge, comprehensiveness, accuracy, and fairness. Some answers were later corrected based on recommendations from specialists such as medical professionals."
|
| 393 |
+
},
|
| 394 |
+
"methodology": {
|
| 395 |
+
"methods": [
|
| 396 |
+
"Models are evaluated using multiple-choice question answering, typically with a 5-shot prompting setup, though some models use 0-shot.",
|
| 397 |
+
"Performance is tested using both direct answering and Chain-of-Thought (CoT) reasoning.",
|
| 398 |
+
"The benchmark tests performance under 24 different prompt styles."
|
| 399 |
+
],
|
| 400 |
+
"metrics": [
|
| 401 |
+
"Accuracy (reported as a percentage or score)"
|
| 402 |
+
],
|
| 403 |
+
"calculation": "The overall score is an average accuracy across subjects, but the specific calculation method is not detailed.",
|
| 404 |
+
"interpretation": "Higher scores indicate better performance. Performance on MMLU-Pro is significantly lower than on MMLU, indicating it is more challenging.",
|
| 405 |
+
"baseline_results": "PAPER baselines: GPT-4o achieves over 70% accuracy in Math and Physics subjects. Llama-3-70B-Instruct achieves an overall accuracy of 56.2%. Gemma-7B and Mistral-7B-v0.1 have lower performance (e.g., Mistral-7B-v0.1 scores just over 20% in Math and Physics). HF_README baselines: GPT-4o achieves an overall score of 0.7255 with CoT and 0.5346 with direct prompting. Other reported scores include Claude-3-Opus (0.6845), Claude-3-Sonnet (0.5511), Gemini 1.5 Flash (0.5912), and Llama-3-70B-Instruct (0.5620). EEE results: OLMo 2 32B Instruct March 2025 scored 0.4140.",
|
| 406 |
+
"validation": "The benchmark demonstrates greater stability under varying prompts, with sensitivity to prompt variations decreasing from 4-5% in MMLU to just 2% in MMLU-Pro."
|
| 407 |
+
},
|
| 408 |
+
"ethical_and_legal_considerations": {
|
| 409 |
+
"privacy_and_anonymity": "Not specified",
|
| 410 |
+
"data_licensing": "MIT License",
|
| 411 |
+
"consent_procedures": "Not specified",
|
| 412 |
+
"compliance_with_regulations": "Not specified"
|
| 413 |
+
},
|
| 414 |
+
"possible_risks": [
|
| 415 |
+
{
|
| 416 |
+
"category": "Over- or under-reliance",
|
| 417 |
+
"description": [
|
| 418 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 419 |
+
],
|
| 420 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"category": "Unrepresentative data",
|
| 424 |
+
"description": [
|
| 425 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 426 |
+
],
|
| 427 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 428 |
+
},
|
| 429 |
+
{
|
| 430 |
+
"category": "Uncertain data provenance",
|
| 431 |
+
"description": [
|
| 432 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 433 |
+
],
|
| 434 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"category": "Data bias",
|
| 438 |
+
"description": [
|
| 439 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 440 |
+
],
|
| 441 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"category": "Improper usage",
|
| 445 |
+
"description": [
|
| 446 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 447 |
+
],
|
| 448 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 449 |
+
}
|
| 450 |
+
],
|
| 451 |
+
"flagged_fields": {},
|
| 452 |
+
"missing_fields": [
|
| 453 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 454 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 455 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 456 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 457 |
+
],
|
| 458 |
+
"card_info": {
|
| 459 |
+
"created_at": "2026-03-17T16:20:31.763989",
|
| 460 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 461 |
+
}
|
| 462 |
+
},
|
| 463 |
+
"MUSR": {
|
| 464 |
+
"benchmark_details": {
|
| 465 |
+
"name": "MuSR",
|
| 466 |
+
"overview": "MuSR (Multistep Soft Reasoning) is a benchmark that measures the ability of language models to perform multistep soft reasoning based on natural language narratives. It combines sophisticated narratives with complex reasoning that requires commonsense knowledge and is not solvable by simple rule-based systems. The benchmark consists of three tasks: murder mysteries, object placements, and team allocations.",
|
| 467 |
+
"data_type": "text",
|
| 468 |
+
"domains": [
|
| 469 |
+
"reasoning",
|
| 470 |
+
"commonsense reasoning",
|
| 471 |
+
"planning"
|
| 472 |
+
],
|
| 473 |
+
"languages": [
|
| 474 |
+
"English"
|
| 475 |
+
],
|
| 476 |
+
"similar_benchmarks": [
|
| 477 |
+
"bAbI",
|
| 478 |
+
"BigTOM",
|
| 479 |
+
"ToMi",
|
| 480 |
+
"RuleTakers",
|
| 481 |
+
"ProntoQA",
|
| 482 |
+
"SocialIQA",
|
| 483 |
+
"StrategyQA"
|
| 484 |
+
],
|
| 485 |
+
"resources": [
|
| 486 |
+
"https://github.com/Zayne-Sprague/MuSR",
|
| 487 |
+
"https://arxiv.org/abs/2310.16049",
|
| 488 |
+
"https://huggingface.co/datasets/TAUR-Lab/MuSR"
|
| 489 |
+
]
|
| 490 |
+
},
|
| 491 |
+
"purpose_and_intended_users": {
|
| 492 |
+
"goal": "To evaluate and characterize the gaps in language models' abilities to perform robust, multistep reasoning in complex natural language settings, particularly testing the limits of techniques like chain-of-thought.",
|
| 493 |
+
"audience": [
|
| 494 |
+
"Researchers evaluating language models",
|
| 495 |
+
"Researchers evaluating neurosymbolic systems on reasoning capabilities"
|
| 496 |
+
],
|
| 497 |
+
"tasks": [
|
| 498 |
+
"Question answering",
|
| 499 |
+
"Solving murder mysteries",
|
| 500 |
+
"Solving object placement problems",
|
| 501 |
+
"Solving team allocation problems"
|
| 502 |
+
],
|
| 503 |
+
"limitations": "The benchmark instances are generated by GPT-4, which may lead to simple, poor-quality narratives with potential inconsistencies, though the paper argues they are valid test cases if the underlying information is faithfully preserved.",
|
| 504 |
+
"out_of_scope_uses": [
|
| 505 |
+
"Not specified"
|
| 506 |
+
]
|
| 507 |
+
},
|
| 508 |
+
"data": {
|
| 509 |
+
"source": "The data is synthetically generated using a neurosymbolic synthetic-to-natural generation algorithm that employs GPT-4. The process begins with gold facts, constructs a reasoning tree, and iteratively generates a narrative.",
|
| 510 |
+
"size": "756 instances across three domains: 250 for Murder Mystery, 256 for Object Placements, and 250 for Team Allocations. The dataset is categorized as containing fewer than 1,000 examples (n<1K).",
|
| 511 |
+
"format": "CSV, containing free-text narratives (ranging from hundreds to roughly 1000 words in length) followed by a multiple-choice question.",
|
| 512 |
+
"annotation": "Answers are derived from the underlying gold facts used in generation. For validation, human annotators (7 total) solved instances using a chain-of-thought+ prompt, with instances triply-annotated (34-40 per domain). Human accuracy was very high, with the lowest average annotator score at 90% and majority vote accuracy between 94.1% and 100%."
|
| 513 |
+
},
|
| 514 |
+
"methodology": {
|
| 515 |
+
"methods": [
|
| 516 |
+
"Models are evaluated in zero-shot and single-shot (1-shot) settings.",
|
| 517 |
+
"Prompting strategies include single-shot prompting, chain-of-thought (CoT), and an engineered variant called CoT+.",
|
| 518 |
+
"Neurosymbolic algorithms like Program-Aided Language Models (PAL) and SymbolicTOM are also evaluated on compatible domains."
|
| 519 |
+
],
|
| 520 |
+
"metrics": [
|
| 521 |
+
"MUSR (Accuracy)"
|
| 522 |
+
],
|
| 523 |
+
"calculation": "Performance is measured as accuracy (percentage correct) for each of the three domains (MM, OP, TA) separately. The paper does not report a single aggregated score.",
|
| 524 |
+
"interpretation": "Higher accuracy indicates better performance. Human performance sets a high ceiling (ranging from 94.1% to 100% by majority vote), while random baselines are at or near chance (ranging from 24.6% to 50%).",
|
| 525 |
+
"baseline_results": "Paper baselines: Random baseline (MM: 50%, OP: 24.6%, TA: 33.3%), GPT-4 (80.4%, 60.9%, 68.4%), GPT-3.5 (61.6%, 46.9%, 40.4%), Llama2 70b Chat (48.8%, 42.2%, 44.8%), Llama2 7b Chat (50.8%, 29.3%, 36.8%), Vicuna 7b v1.5 (48.4%, 29.7%, 26.4%), Vicuna 13b v1.5 (50.8%, 34.4%, 32%), Vicuna 33b v1.3 (49.6%, 31.2%, 30%), Human Eval (94.1%, 95%, 100%). PAL results for Team Allocation outperform end-to-end models but are below human performance. EEE results: YiSM-blossom5.1-34B-SLERP achieved an accuracy of 0.4413.",
|
| 526 |
+
"validation": "The dataset is validated by measuring human annotator performance to ensure the narratives support the intended reasoning. Rule-based baselines (e.g., picking the suspect with the longest chapter) are used as sanity checks and perform near random chance, confirming the tasks are not trivially solvable."
|
| 527 |
+
},
|
| 528 |
+
"ethical_and_legal_considerations": {
|
| 529 |
+
"privacy_and_anonymity": "Not specified",
|
| 530 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 531 |
+
"consent_procedures": "Annotation was performed by three hired undergraduate students. No details on compensation or the hiring platform are provided.",
|
| 532 |
+
"compliance_with_regulations": "The research received support from NSF, DARPA, and the Air Force Research Laboratory. No mention of IRB approval or other specific regulatory compliance is made."
|
| 533 |
+
},
|
| 534 |
+
"possible_risks": [
|
| 535 |
+
{
|
| 536 |
+
"category": "Over- or under-reliance",
|
| 537 |
+
"description": [
|
| 538 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 539 |
+
],
|
| 540 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 541 |
+
},
|
| 542 |
+
{
|
| 543 |
+
"category": "Unrepresentative data",
|
| 544 |
+
"description": [
|
| 545 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 546 |
+
],
|
| 547 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 548 |
+
},
|
| 549 |
+
{
|
| 550 |
+
"category": "Data contamination",
|
| 551 |
+
"description": [
|
| 552 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 553 |
+
],
|
| 554 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 555 |
+
},
|
| 556 |
+
{
|
| 557 |
+
"category": "Reproducibility",
|
| 558 |
+
"description": [
|
| 559 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 560 |
+
],
|
| 561 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 562 |
+
},
|
| 563 |
+
{
|
| 564 |
+
"category": "Improper usage",
|
| 565 |
+
"description": [
|
| 566 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 567 |
+
],
|
| 568 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 569 |
+
}
|
| 570 |
+
],
|
| 571 |
+
"flagged_fields": {
|
| 572 |
+
"methodology.calculation": "[Possible Hallucination], no supporting evidence found in source material",
|
| 573 |
+
"methodology.baseline_results": "[Possible Hallucination], no supporting evidence found in source material",
|
| 574 |
+
"methodology.validation": "[Factuality Score: 0.17], low factual alignment with source material"
|
| 575 |
+
},
|
| 576 |
+
"missing_fields": [
|
| 577 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 578 |
+
"ethical_and_legal_considerations.privacy_and_anonymity"
|
| 579 |
+
],
|
| 580 |
+
"card_info": {
|
| 581 |
+
"created_at": "2026-03-17T12:25:43.235734",
|
| 582 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 583 |
+
}
|
| 584 |
+
}
|
| 585 |
+
},
|
| 586 |
"models": [
|
| 587 |
{
|
| 588 |
"model_id": "0-hero/Matter-0.2-7B-DPO",
|
|
|
|
| 1423 |
"scores": {
|
| 1424 |
"IFEval": 0.1467,
|
| 1425 |
"BBH": 0.2704,
|
| 1426 |
+
"MATH Level 5": 0,
|
| 1427 |
"GPQA": 0.2525,
|
| 1428 |
"MUSR": 0.3605,
|
| 1429 |
"MMLU-PRO": 0.1123
|
|
|
|
| 1462 |
"scores": {
|
| 1463 |
"IFEval": 0.1467,
|
| 1464 |
"BBH": 0.2704,
|
| 1465 |
+
"MATH Level 5": 0,
|
| 1466 |
"GPQA": 0.2525,
|
| 1467 |
"MUSR": 0.3605,
|
| 1468 |
"MMLU-PRO": 0.1123
|
|
|
|
| 1722 |
"scores": {
|
| 1723 |
"IFEval": 0.1374,
|
| 1724 |
"BBH": 0.2834,
|
| 1725 |
+
"MATH Level 5": 0,
|
| 1726 |
"GPQA": 0.2458,
|
| 1727 |
"MUSR": 0.3552,
|
| 1728 |
"MMLU-PRO": 0.1117
|
|
|
|
| 2255 |
"scores": {
|
| 2256 |
"IFEval": 0.1751,
|
| 2257 |
"BBH": 0.293,
|
| 2258 |
+
"MATH Level 5": 0,
|
| 2259 |
"GPQA": 0.2374,
|
| 2260 |
"MUSR": 0.3499,
|
| 2261 |
"MMLU-PRO": 0.1112
|
|
|
|
| 2359 |
"scores": {
|
| 2360 |
"IFEval": 0.2049,
|
| 2361 |
"BBH": 0.2912,
|
| 2362 |
+
"MATH Level 5": 0,
|
| 2363 |
"GPQA": 0.2592,
|
| 2364 |
"MUSR": 0.3575,
|
| 2365 |
"MMLU-PRO": 0.1168
|
|
|
|
| 4582 |
"scores": {
|
| 4583 |
"IFEval": 0.2497,
|
| 4584 |
"BBH": 0.2817,
|
| 4585 |
+
"MATH Level 5": 0,
|
| 4586 |
"GPQA": 0.2441,
|
| 4587 |
"MUSR": 0.3578,
|
| 4588 |
"MMLU-PRO": 0.1085
|
|
|
|
| 4595 |
"scores": {
|
| 4596 |
"IFEval": 0.1507,
|
| 4597 |
"BBH": 0.293,
|
| 4598 |
+
"MATH Level 5": 0,
|
| 4599 |
"GPQA": 0.2534,
|
| 4600 |
"MUSR": 0.3565,
|
| 4601 |
"MMLU-PRO": 0.1125
|
|
|
|
| 5817 |
"scores": {
|
| 5818 |
"IFEval": 0.1778,
|
| 5819 |
"BBH": 0.287,
|
| 5820 |
+
"MATH Level 5": 0,
|
| 5821 |
"GPQA": 0.2475,
|
| 5822 |
"MUSR": 0.3447,
|
| 5823 |
"MMLU-PRO": 0.111
|
|
|
|
| 8430 |
"scores": {
|
| 8431 |
"IFEval": 0.1592,
|
| 8432 |
"BBH": 0.2906,
|
| 8433 |
+
"MATH Level 5": 0,
|
| 8434 |
"GPQA": 0.2492,
|
| 8435 |
"MUSR": 0.3286,
|
| 8436 |
"MMLU-PRO": 0.1111
|
|
|
|
| 9158 |
"scores": {
|
| 9159 |
"IFEval": 0.7628,
|
| 9160 |
"BBH": 0.5098,
|
| 9161 |
+
"MATH Level 5": 0,
|
| 9162 |
"GPQA": 0.2802,
|
| 9163 |
"MUSR": 0.4579,
|
| 9164 |
"MMLU-PRO": 0.4033
|
|
|
|
| 9314 |
"scores": {
|
| 9315 |
"IFEval": 0.288,
|
| 9316 |
"BBH": 0.5154,
|
| 9317 |
+
"MATH Level 5": 0,
|
| 9318 |
"GPQA": 0.3247,
|
| 9319 |
"MUSR": 0.408,
|
| 9320 |
"MMLU-PRO": 0.3817
|
|
|
|
| 9483 |
"scores": {
|
| 9484 |
"IFEval": 0.1869,
|
| 9485 |
"BBH": 0.2913,
|
| 9486 |
+
"MATH Level 5": 0,
|
| 9487 |
"GPQA": 0.2601,
|
| 9488 |
"MUSR": 0.3738,
|
| 9489 |
"MMLU-PRO": 0.1123
|
|
|
|
| 9522 |
"scores": {
|
| 9523 |
"IFEval": 0.1575,
|
| 9524 |
"BBH": 0.4196,
|
| 9525 |
+
"MATH Level 5": 0,
|
| 9526 |
"GPQA": 0.2936,
|
| 9527 |
"MUSR": 0.3116,
|
| 9528 |
"MMLU-PRO": 0.19
|
|
|
|
| 9808 |
"scores": {
|
| 9809 |
"IFEval": 0.1697,
|
| 9810 |
"BBH": 0.2877,
|
| 9811 |
+
"MATH Level 5": 0,
|
| 9812 |
"GPQA": 0.2492,
|
| 9813 |
"MUSR": 0.3751,
|
| 9814 |
"MMLU-PRO": 0.1101
|
|
|
|
| 9819 |
"name": "BgGPT-Gemma-2-27B-IT-v1.0",
|
| 9820 |
"developer": "INSAIT-Institute",
|
| 9821 |
"scores": {
|
| 9822 |
+
"IFEval": 0,
|
| 9823 |
"BBH": 0.2912,
|
| 9824 |
+
"MATH Level 5": 0,
|
| 9825 |
"GPQA": 0.2601,
|
| 9826 |
"MUSR": 0.3575,
|
| 9827 |
"MMLU-PRO": 0.1167
|
|
|
|
| 9938 |
"scores": {
|
| 9939 |
"IFEval": 0.1409,
|
| 9940 |
"BBH": 0.2791,
|
| 9941 |
+
"MATH Level 5": 0,
|
| 9942 |
"GPQA": 0.2441,
|
| 9943 |
"MUSR": 0.3738,
|
| 9944 |
"MMLU-PRO": 0.1109
|
|
|
|
| 13201 |
"scores": {
|
| 13202 |
"IFEval": 0.1351,
|
| 13203 |
"BBH": 0.2828,
|
| 13204 |
+
"MATH Level 5": 0,
|
| 13205 |
"GPQA": 0.2559,
|
| 13206 |
"MUSR": 0.3526,
|
| 13207 |
"MMLU-PRO": 0.1128
|
|
|
|
| 13214 |
"scores": {
|
| 13215 |
"IFEval": 0.1354,
|
| 13216 |
"BBH": 0.2811,
|
| 13217 |
+
"MATH Level 5": 0,
|
| 13218 |
"GPQA": 0.2643,
|
| 13219 |
"MUSR": 0.3579,
|
| 13220 |
"MMLU-PRO": 0.1105
|
|
|
|
| 13227 |
"scores": {
|
| 13228 |
"IFEval": 0.1354,
|
| 13229 |
"BBH": 0.2827,
|
| 13230 |
+
"MATH Level 5": 0,
|
| 13231 |
"GPQA": 0.2609,
|
| 13232 |
"MUSR": 0.3619,
|
| 13233 |
"MMLU-PRO": 0.1094
|
|
|
|
| 13292 |
"scores": {
|
| 13293 |
"IFEval": 0.1395,
|
| 13294 |
"BBH": 0.2779,
|
| 13295 |
+
"MATH Level 5": 0,
|
| 13296 |
"GPQA": 0.2483,
|
| 13297 |
"MUSR": 0.3447,
|
| 13298 |
"MMLU-PRO": 0.1115
|
|
|
|
| 14267 |
"scores": {
|
| 14268 |
"IFEval": 0.1153,
|
| 14269 |
"BBH": 0.2868,
|
| 14270 |
+
"MATH Level 5": 0,
|
| 14271 |
"GPQA": 0.2458,
|
| 14272 |
"MUSR": 0.3698,
|
| 14273 |
"MMLU-PRO": 0.1108
|
|
|
|
| 15994 |
"name": "naps-gemma-2-27b-v-0.1.0",
|
| 15995 |
"developer": "NAPS-ai",
|
| 15996 |
"scores": {
|
| 15997 |
+
"IFEval": 0,
|
| 15998 |
"BBH": 0.2912,
|
| 15999 |
+
"MATH Level 5": 0,
|
| 16000 |
"GPQA": 0.2601,
|
| 16001 |
"MUSR": 0.3575,
|
| 16002 |
"MMLU-PRO": 0.1168
|
|
|
|
| 16007 |
"name": "naps-gemma-2-27b-v0.1.0",
|
| 16008 |
"developer": "NAPS-ai",
|
| 16009 |
"scores": {
|
| 16010 |
+
"IFEval": 0,
|
| 16011 |
"BBH": 0.2912,
|
| 16012 |
+
"MATH Level 5": 0,
|
| 16013 |
"GPQA": 0.2601,
|
| 16014 |
"MUSR": 0.3575,
|
| 16015 |
"MMLU-PRO": 0.1168
|
|
|
|
| 16074 |
"scores": {
|
| 16075 |
"IFEval": 0.1845,
|
| 16076 |
"BBH": 0.3041,
|
| 16077 |
+
"MATH Level 5": 0,
|
| 16078 |
"GPQA": 0.2391,
|
| 16079 |
"MUSR": 0.3486,
|
| 16080 |
"MMLU-PRO": 0.1099
|
|
|
|
| 16100 |
"scores": {
|
| 16101 |
"IFEval": 0.1881,
|
| 16102 |
"BBH": 0.2178,
|
| 16103 |
+
"MATH Level 5": 0,
|
| 16104 |
"GPQA": 0.2064,
|
| 16105 |
"MUSR": 0.3538,
|
| 16106 |
"MMLU-PRO": 0.1163
|
|
|
|
| 16919 |
"scores": {
|
| 16920 |
"IFEval": 0.1808,
|
| 16921 |
"BBH": 0.2815,
|
| 16922 |
+
"MATH Level 5": 0,
|
| 16923 |
"GPQA": 0.2559,
|
| 16924 |
"MUSR": 0.375,
|
| 16925 |
"MMLU-PRO": 0.1143
|
|
|
|
| 16932 |
"scores": {
|
| 16933 |
"IFEval": 0.1749,
|
| 16934 |
"BBH": 0.2602,
|
| 16935 |
+
"MATH Level 5": 0,
|
| 16936 |
"GPQA": 0.2458,
|
| 16937 |
"MUSR": 0.338,
|
| 16938 |
"MMLU-PRO": 0.1125
|
|
|
|
| 17673 |
"scores": {
|
| 17674 |
"IFEval": 0.0257,
|
| 17675 |
"BBH": 0.292,
|
| 17676 |
+
"MATH Level 5": 0,
|
| 17677 |
"GPQA": 0.25,
|
| 17678 |
"MUSR": 0.3511,
|
| 17679 |
"MMLU-PRO": 0.1162
|
|
|
|
| 17712 |
"scores": {
|
| 17713 |
"IFEval": 0.203,
|
| 17714 |
"BBH": 0.2936,
|
| 17715 |
+
"MATH Level 5": 0,
|
| 17716 |
"GPQA": 0.2576,
|
| 17717 |
"MUSR": 0.3619,
|
| 17718 |
"MMLU-PRO": 0.1111
|
|
|
|
| 17777 |
"scores": {
|
| 17778 |
"IFEval": 0.2254,
|
| 17779 |
"BBH": 0.275,
|
| 17780 |
+
"MATH Level 5": 0,
|
| 17781 |
"GPQA": 0.2576,
|
| 17782 |
"MUSR": 0.3762,
|
| 17783 |
"MMLU-PRO": 0.1123
|
|
|
|
| 17803 |
"scores": {
|
| 17804 |
"IFEval": 0.0233,
|
| 17805 |
"BBH": 0.3092,
|
| 17806 |
+
"MATH Level 5": 0,
|
| 17807 |
"GPQA": 0.2601,
|
| 17808 |
"MUSR": 0.3314,
|
| 17809 |
"MMLU-PRO": 0.1138
|
|
|
|
| 18713 |
"scores": {
|
| 18714 |
"IFEval": 0.1757,
|
| 18715 |
"BBH": 0.274,
|
| 18716 |
+
"MATH Level 5": 0,
|
| 18717 |
"GPQA": 0.25,
|
| 18718 |
"MUSR": 0.3753,
|
| 18719 |
"MMLU-PRO": 0.112
|
|
|
|
| 18724 |
"name": "INTELLECT-1-Instruct",
|
| 18725 |
"developer": "PrimeIntellect",
|
| 18726 |
"scores": {
|
| 18727 |
+
"IFEval": 0,
|
| 18728 |
"BBH": 0.287,
|
| 18729 |
"MATH Level 5": 0.0227,
|
| 18730 |
"GPQA": 0.2483,
|
|
|
|
| 18739 |
"scores": {
|
| 18740 |
"IFEval": 0.2282,
|
| 18741 |
"BBH": 0.2877,
|
| 18742 |
+
"MATH Level 5": 0,
|
| 18743 |
"GPQA": 0.2601,
|
| 18744 |
"MUSR": 0.3484,
|
| 18745 |
"MMLU-PRO": 0.1123
|
|
|
|
| 20039 |
"scores": {
|
| 20040 |
"IFEval": 0.3071,
|
| 20041 |
"BBH": 0.3341,
|
| 20042 |
+
"MATH Level 5": 0,
|
| 20043 |
"GPQA": 0.2576,
|
| 20044 |
"MUSR": 0.3329,
|
| 20045 |
"MMLU-PRO": 0.1697
|
|
|
|
| 20403 |
"scores": {
|
| 20404 |
"IFEval": 0.1897,
|
| 20405 |
"BBH": 0.2876,
|
| 20406 |
+
"MATH Level 5": 0,
|
| 20407 |
"GPQA": 0.2492,
|
| 20408 |
"MUSR": 0.3948,
|
| 20409 |
"MMLU-PRO": 0.1078
|
|
|
|
| 20559 |
"scores": {
|
| 20560 |
"IFEval": 0.0932,
|
| 20561 |
"BBH": 0.2977,
|
| 20562 |
+
"MATH Level 5": 0,
|
| 20563 |
"GPQA": 0.2475,
|
| 20564 |
"MUSR": 0.3941,
|
| 20565 |
"MMLU-PRO": 0.1157
|
|
|
|
| 20572 |
"scores": {
|
| 20573 |
"IFEval": 0.0858,
|
| 20574 |
"BBH": 0.2929,
|
| 20575 |
+
"MATH Level 5": 0,
|
| 20576 |
"GPQA": 0.2483,
|
| 20577 |
"MUSR": 0.3981,
|
| 20578 |
"MMLU-PRO": 0.1285
|
|
|
|
| 21326 |
"scores": {
|
| 21327 |
"IFEval": 0.1545,
|
| 21328 |
"BBH": 0.2945,
|
| 21329 |
+
"MATH Level 5": 0,
|
| 21330 |
"GPQA": 0.2391,
|
| 21331 |
"MUSR": 0.3711,
|
| 21332 |
"MMLU-PRO": 0.116
|
|
|
|
| 21378 |
"scores": {
|
| 21379 |
"IFEval": 0.1809,
|
| 21380 |
"BBH": 0.2881,
|
| 21381 |
+
"MATH Level 5": 0,
|
| 21382 |
"GPQA": 0.2433,
|
| 21383 |
"MUSR": 0.3872,
|
| 21384 |
"MMLU-PRO": 0.109
|
|
|
|
| 22795 |
"scores": {
|
| 22796 |
"IFEval": 0.208,
|
| 22797 |
"BBH": 0.292,
|
| 22798 |
+
"MATH Level 5": 0,
|
| 22799 |
"GPQA": 0.2601,
|
| 22800 |
"MUSR": 0.3499,
|
| 22801 |
"MMLU-PRO": 0.1167
|
|
|
|
| 22808 |
"scores": {
|
| 22809 |
"IFEval": 0.1407,
|
| 22810 |
"BBH": 0.2769,
|
| 22811 |
+
"MATH Level 5": 0,
|
| 22812 |
"GPQA": 0.2634,
|
| 22813 |
"MUSR": 0.3218,
|
| 22814 |
"MMLU-PRO": 0.1112
|
|
|
|
| 22834 |
"scores": {
|
| 22835 |
"IFEval": 0.0656,
|
| 22836 |
"BBH": 0.3568,
|
| 22837 |
+
"MATH Level 5": 0,
|
| 22838 |
"GPQA": 0.2676,
|
| 22839 |
"MUSR": 0.3805,
|
| 22840 |
"MMLU-PRO": 0.1672
|
|
|
|
| 22886 |
"scores": {
|
| 22887 |
"IFEval": 0.1828,
|
| 22888 |
"BBH": 0.2828,
|
| 22889 |
+
"MATH Level 5": 0,
|
| 22890 |
"GPQA": 0.229,
|
| 22891 |
"MUSR": 0.31,
|
| 22892 |
"MMLU-PRO": 0.1144
|
|
|
|
| 22899 |
"scores": {
|
| 22900 |
"IFEval": 0.1815,
|
| 22901 |
"BBH": 0.2297,
|
| 22902 |
+
"MATH Level 5": 0,
|
| 22903 |
"GPQA": 0.2315,
|
| 22904 |
"MUSR": 0.3445,
|
| 22905 |
"MMLU-PRO": 0.116
|
|
|
|
| 23640 |
"scores": {
|
| 23641 |
"IFEval": 0.1426,
|
| 23642 |
"BBH": 0.5528,
|
| 23643 |
+
"MATH Level 5": 0,
|
| 23644 |
"GPQA": 0.3163,
|
| 23645 |
"MUSR": 0.4386,
|
| 23646 |
"MMLU-PRO": 0.4145
|
|
|
|
| 23651 |
"name": "glm-4-9b-chat",
|
| 23652 |
"developer": "THUDM",
|
| 23653 |
"scores": {
|
| 23654 |
+
"IFEval": 0,
|
| 23655 |
"BBH": 0.4736,
|
| 23656 |
+
"MATH Level 5": 0,
|
| 23657 |
"GPQA": 0.3138,
|
| 23658 |
"MUSR": 0.3994,
|
| 23659 |
"MMLU-PRO": 0.3167
|
|
|
|
| 23664 |
"name": "glm-4-9b-chat-1m",
|
| 23665 |
"developer": "THUDM",
|
| 23666 |
"scores": {
|
| 23667 |
+
"IFEval": 0,
|
| 23668 |
"BBH": 0.418,
|
| 23669 |
+
"MATH Level 5": 0,
|
| 23670 |
"GPQA": 0.3037,
|
| 23671 |
"MUSR": 0.3795,
|
| 23672 |
"MMLU-PRO": 0.3163
|
|
|
|
| 24407 |
"scores": {
|
| 24408 |
"IFEval": 0.1751,
|
| 24409 |
"BBH": 0.2643,
|
| 24410 |
+
"MATH Level 5": 0,
|
| 24411 |
"GPQA": 0.2106,
|
| 24412 |
"MUSR": 0.3128,
|
| 24413 |
"MMLU-PRO": 0.1173
|
|
|
|
| 24615 |
"scores": {
|
| 24616 |
"IFEval": 0.1879,
|
| 24617 |
"BBH": 0.3017,
|
| 24618 |
+
"MATH Level 5": 0,
|
| 24619 |
"GPQA": 0.224,
|
| 24620 |
"MUSR": 0.3684,
|
| 24621 |
"MMLU-PRO": 0.1164
|
|
|
|
| 24732 |
"scores": {
|
| 24733 |
"IFEval": 0.1879,
|
| 24734 |
"BBH": 0.4462,
|
| 24735 |
+
"MATH Level 5": 0,
|
| 24736 |
"GPQA": 0.281,
|
| 24737 |
"MUSR": 0.3627,
|
| 24738 |
"MMLU-PRO": 0.2318
|
|
|
|
| 25876 |
"scores": {
|
| 25877 |
"IFEval": 0.185,
|
| 25878 |
"BBH": 0.2913,
|
| 25879 |
+
"MATH Level 5": 0,
|
| 25880 |
"GPQA": 0.2592,
|
| 25881 |
"MUSR": 0.3497,
|
| 25882 |
"MMLU-PRO": 0.1166
|
|
|
|
| 26019 |
"scores": {
|
| 26020 |
"IFEval": 0.1273,
|
| 26021 |
"BBH": 0.2944,
|
| 26022 |
+
"MATH Level 5": 0,
|
| 26023 |
"GPQA": 0.2408,
|
| 26024 |
"MUSR": 0.3368,
|
| 26025 |
"MMLU-PRO": 0.1144
|
|
|
|
| 26422 |
"scores": {
|
| 26423 |
"IFEval": 0.1856,
|
| 26424 |
"BBH": 0.291,
|
| 26425 |
+
"MATH Level 5": 0,
|
| 26426 |
"GPQA": 0.2643,
|
| 26427 |
"MUSR": 0.3364,
|
| 26428 |
"MMLU-PRO": 0.1091
|
|
|
|
| 26487 |
"scores": {
|
| 26488 |
"IFEval": 0.207,
|
| 26489 |
"BBH": 0.3011,
|
| 26490 |
+
"MATH Level 5": 0,
|
| 26491 |
"GPQA": 0.2634,
|
| 26492 |
"MUSR": 0.3219,
|
| 26493 |
"MMLU-PRO": 0.111
|
|
|
|
| 26500 |
"scores": {
|
| 26501 |
"IFEval": 0.207,
|
| 26502 |
"BBH": 0.3011,
|
| 26503 |
+
"MATH Level 5": 0,
|
| 26504 |
"GPQA": 0.2634,
|
| 26505 |
"MUSR": 0.3219,
|
| 26506 |
"MMLU-PRO": 0.111
|
|
|
|
| 26565 |
"scores": {
|
| 26566 |
"IFEval": 0.167,
|
| 26567 |
"BBH": 0.2938,
|
| 26568 |
+
"MATH Level 5": 0,
|
| 26569 |
"GPQA": 0.2517,
|
| 26570 |
"MUSR": 0.3541,
|
| 26571 |
"MMLU-PRO": 0.1087
|
|
|
|
| 26630 |
"scores": {
|
| 26631 |
"IFEval": 0.1446,
|
| 26632 |
"BBH": 0.2817,
|
| 26633 |
+
"MATH Level 5": 0,
|
| 26634 |
"GPQA": 0.2433,
|
| 26635 |
"MUSR": 0.3697,
|
| 26636 |
"MMLU-PRO": 0.1095
|
|
|
|
| 27176 |
"scores": {
|
| 27177 |
"IFEval": 0.1746,
|
| 27178 |
"BBH": 0.3126,
|
| 27179 |
+
"MATH Level 5": 0,
|
| 27180 |
"GPQA": 0.245,
|
| 27181 |
"MUSR": 0.4096,
|
| 27182 |
"MMLU-PRO": 0.1087
|
|
|
|
| 27319 |
"scores": {
|
| 27320 |
"IFEval": 0.1748,
|
| 27321 |
"BBH": 0.2883,
|
| 27322 |
+
"MATH Level 5": 0,
|
| 27323 |
"GPQA": 0.2592,
|
| 27324 |
"MUSR": 0.3803,
|
| 27325 |
"MMLU-PRO": 0.1129
|
|
|
|
| 27553 |
"scores": {
|
| 27554 |
"IFEval": 0.167,
|
| 27555 |
"BBH": 0.295,
|
| 27556 |
+
"MATH Level 5": 0,
|
| 27557 |
"GPQA": 0.2567,
|
| 27558 |
"MUSR": 0.3764,
|
| 27559 |
"MMLU-PRO": 0.1082
|
|
|
|
| 27904 |
"scores": {
|
| 27905 |
"IFEval": 0.1815,
|
| 27906 |
"BBH": 0.3242,
|
| 27907 |
+
"MATH Level 5": 0,
|
| 27908 |
"GPQA": 0.2945,
|
| 27909 |
"MUSR": 0.3596,
|
| 27910 |
"MMLU-PRO": 0.331
|
|
|
|
| 27956 |
"scores": {
|
| 27957 |
"IFEval": 0.1943,
|
| 27958 |
"BBH": 0.6234,
|
| 27959 |
+
"MATH Level 5": 0,
|
| 27960 |
"GPQA": 0.3322,
|
| 27961 |
"MUSR": 0.4267,
|
| 27962 |
"MMLU-PRO": 0.4688
|
|
|
|
| 28177 |
"scores": {
|
| 28178 |
"IFEval": 0.1773,
|
| 28179 |
"BBH": 0.2892,
|
| 28180 |
+
"MATH Level 5": 0,
|
| 28181 |
"GPQA": 0.2592,
|
| 28182 |
"MUSR": 0.343,
|
| 28183 |
"MMLU-PRO": 0.1169
|
|
|
|
| 28268 |
"scores": {
|
| 28269 |
"IFEval": 0.1706,
|
| 28270 |
"BBH": 0.3607,
|
| 28271 |
+
"MATH Level 5": 0,
|
| 28272 |
"GPQA": 0.2911,
|
| 28273 |
"MUSR": 0.3911,
|
| 28274 |
"MMLU-PRO": 0.1723
|
|
|
|
| 28281 |
"scores": {
|
| 28282 |
"IFEval": 0.1645,
|
| 28283 |
"BBH": 0.3597,
|
| 28284 |
+
"MATH Level 5": 0,
|
| 28285 |
"GPQA": 0.2852,
|
| 28286 |
"MUSR": 0.4082,
|
| 28287 |
"MMLU-PRO": 0.1647
|
|
|
|
| 28346 |
"scores": {
|
| 28347 |
"IFEval": 0.1884,
|
| 28348 |
"BBH": 0.6129,
|
| 28349 |
+
"MATH Level 5": 0,
|
| 28350 |
"GPQA": 0.3196,
|
| 28351 |
"MUSR": 0.4451,
|
| 28352 |
"MMLU-PRO": 0.4589
|
|
|
|
| 28359 |
"scores": {
|
| 28360 |
"IFEval": 0.1758,
|
| 28361 |
"BBH": 0.2757,
|
| 28362 |
+
"MATH Level 5": 0,
|
| 28363 |
"GPQA": 0.2357,
|
| 28364 |
"MUSR": 0.3209,
|
| 28365 |
"MMLU-PRO": 0.1114
|
|
|
|
| 28372 |
"scores": {
|
| 28373 |
"IFEval": 0.1913,
|
| 28374 |
"BBH": 0.2942,
|
| 28375 |
+
"MATH Level 5": 0,
|
| 28376 |
"GPQA": 0.2601,
|
| 28377 |
"MUSR": 0.362,
|
| 28378 |
"MMLU-PRO": 0.1168
|
|
|
|
| 28632 |
"scores": {
|
| 28633 |
"IFEval": 0.1879,
|
| 28634 |
"BBH": 0.2969,
|
| 28635 |
+
"MATH Level 5": 0,
|
| 28636 |
"GPQA": 0.2626,
|
| 28637 |
"MUSR": 0.3633,
|
| 28638 |
"MMLU-PRO": 0.1168
|
|
|
|
| 28658 |
"scores": {
|
| 28659 |
"IFEval": 0.1754,
|
| 28660 |
"BBH": 0.2874,
|
| 28661 |
+
"MATH Level 5": 0,
|
| 28662 |
"GPQA": 0.2492,
|
| 28663 |
"MUSR": 0.3524,
|
| 28664 |
"MMLU-PRO": 0.1128
|
|
|
|
| 28697 |
"scores": {
|
| 28698 |
"IFEval": 0.1639,
|
| 28699 |
"BBH": 0.2827,
|
| 28700 |
+
"MATH Level 5": 0,
|
| 28701 |
"GPQA": 0.2584,
|
| 28702 |
"MUSR": 0.3857,
|
| 28703 |
"MMLU-PRO": 0.1095
|
|
|
|
| 28710 |
"scores": {
|
| 28711 |
"IFEval": 0.2009,
|
| 28712 |
"BBH": 0.3215,
|
| 28713 |
+
"MATH Level 5": 0,
|
| 28714 |
"GPQA": 0.2743,
|
| 28715 |
"MUSR": 0.3843,
|
| 28716 |
"MMLU-PRO": 0.108
|
|
|
|
| 28736 |
"scores": {
|
| 28737 |
"IFEval": 0.1697,
|
| 28738 |
"BBH": 0.4063,
|
| 28739 |
+
"MATH Level 5": 0,
|
| 28740 |
"GPQA": 0.2827,
|
| 28741 |
"MUSR": 0.3501,
|
| 28742 |
"MMLU-PRO": 0.1981
|
|
|
|
| 28801 |
"scores": {
|
| 28802 |
"IFEval": 0.1921,
|
| 28803 |
"BBH": 0.3252,
|
| 28804 |
+
"MATH Level 5": 0,
|
| 28805 |
"GPQA": 0.2374,
|
| 28806 |
"MUSR": 0.375,
|
| 28807 |
"MMLU-PRO": 0.1088
|
|
|
|
| 28814 |
"scores": {
|
| 28815 |
"IFEval": 0.1742,
|
| 28816 |
"BBH": 0.3794,
|
| 28817 |
+
"MATH Level 5": 0,
|
| 28818 |
"GPQA": 0.3062,
|
| 28819 |
"MUSR": 0.394,
|
| 28820 |
"MMLU-PRO": 0.198
|
|
|
|
| 29527 |
"name": "GRAG-NEMO-12B-ORPO-HESSIAN-AI",
|
| 29528 |
"developer": "avemio",
|
| 29529 |
"scores": {
|
| 29530 |
+
"IFEval": 0,
|
| 29531 |
"BBH": 0.2607,
|
| 29532 |
+
"MATH Level 5": 0,
|
| 29533 |
"GPQA": 0.2592,
|
| 29534 |
"MUSR": 0.3447,
|
| 29535 |
"MMLU-PRO": 0.1061
|
|
|
|
| 30218 |
"scores": {
|
| 30219 |
"IFEval": 0.1813,
|
| 30220 |
"BBH": 0.336,
|
| 30221 |
+
"MATH Level 5": 0,
|
| 30222 |
"GPQA": 0.25,
|
| 30223 |
"MUSR": 0.3497,
|
| 30224 |
"MMLU-PRO": 0.1445
|
|
|
|
| 30660 |
"scores": {
|
| 30661 |
"IFEval": 0.1579,
|
| 30662 |
"BBH": 0.2962,
|
| 30663 |
+
"MATH Level 5": 0,
|
| 30664 |
"GPQA": 0.2517,
|
| 30665 |
"MUSR": 0.3846,
|
| 30666 |
"MMLU-PRO": 0.1146
|
|
|
|
| 31440 |
"scores": {
|
| 31441 |
"IFEval": 0.1829,
|
| 31442 |
"BBH": 0.2874,
|
| 31443 |
+
"MATH Level 5": 0,
|
| 31444 |
"GPQA": 0.2592,
|
| 31445 |
"MUSR": 0.3674,
|
| 31446 |
"MMLU-PRO": 0.11
|
|
|
|
| 31817 |
"scores": {
|
| 31818 |
"IFEval": 0.1123,
|
| 31819 |
"BBH": 0.2875,
|
| 31820 |
+
"MATH Level 5": 0,
|
| 31821 |
"GPQA": 0.2466,
|
| 31822 |
"MUSR": 0.3938,
|
| 31823 |
"MMLU-PRO": 0.1135
|
|
|
|
| 32350 |
"scores": {
|
| 32351 |
"IFEval": 0.1706,
|
| 32352 |
"BBH": 0.2947,
|
| 32353 |
+
"MATH Level 5": 0,
|
| 32354 |
"GPQA": 0.2601,
|
| 32355 |
"MUSR": 0.3686,
|
| 32356 |
"MMLU-PRO": 0.1167
|
|
|
|
| 32363 |
"scores": {
|
| 32364 |
"IFEval": 0.1916,
|
| 32365 |
"BBH": 0.2977,
|
| 32366 |
+
"MATH Level 5": 0,
|
| 32367 |
"GPQA": 0.2685,
|
| 32368 |
"MUSR": 0.3872,
|
| 32369 |
"MMLU-PRO": 0.1132
|
|
|
|
| 33390 |
"scores": {
|
| 33391 |
"IFEval": 0.1715,
|
| 33392 |
"BBH": 0.5463,
|
| 33393 |
+
"MATH Level 5": 0,
|
| 33394 |
"GPQA": 0.3406,
|
| 33395 |
"MUSR": 0.3555,
|
| 33396 |
"MMLU-PRO": 0.3947
|
|
|
|
| 33689 |
"scores": {
|
| 33690 |
"IFEval": 0.2019,
|
| 33691 |
"BBH": 0.2868,
|
| 33692 |
+
"MATH Level 5": 0,
|
| 33693 |
"GPQA": 0.2601,
|
| 33694 |
"MUSR": 0.3566,
|
| 33695 |
"MMLU-PRO": 0.1065
|
|
|
|
| 33702 |
"scores": {
|
| 33703 |
"IFEval": 0.1979,
|
| 33704 |
"BBH": 0.2698,
|
| 33705 |
+
"MATH Level 5": 0,
|
| 33706 |
"GPQA": 0.2466,
|
| 33707 |
"MUSR": 0.3593,
|
| 33708 |
"MMLU-PRO": 0.1041
|
|
|
|
| 33780 |
"scores": {
|
| 33781 |
"IFEval": 0.1752,
|
| 33782 |
"BBH": 0.2906,
|
| 33783 |
+
"MATH Level 5": 0,
|
| 33784 |
"GPQA": 0.2399,
|
| 33785 |
"MUSR": 0.3512,
|
| 33786 |
"MMLU-PRO": 0.1126
|
|
|
|
| 34404 |
"scores": {
|
| 34405 |
"IFEval": 0.125,
|
| 34406 |
"BBH": 0.2867,
|
| 34407 |
+
"MATH Level 5": 0,
|
| 34408 |
"GPQA": 0.2483,
|
| 34409 |
"MUSR": 0.3487,
|
| 34410 |
"MMLU-PRO": 0.1098
|
|
|
|
| 34417 |
"scores": {
|
| 34418 |
"IFEval": 0.1411,
|
| 34419 |
"BBH": 0.2924,
|
| 34420 |
+
"MATH Level 5": 0,
|
| 34421 |
"GPQA": 0.2525,
|
| 34422 |
"MUSR": 0.3541,
|
| 34423 |
"MMLU-PRO": 0.1101
|
|
|
|
| 34469 |
"scores": {
|
| 34470 |
"IFEval": 0.1373,
|
| 34471 |
"BBH": 0.2949,
|
| 34472 |
+
"MATH Level 5": 0,
|
| 34473 |
"GPQA": 0.2508,
|
| 34474 |
"MUSR": 0.3698,
|
| 34475 |
"MMLU-PRO": 0.1118
|
|
|
|
| 35366 |
"scores": {
|
| 35367 |
"IFEval": 0.1718,
|
| 35368 |
"BBH": 0.2766,
|
| 35369 |
+
"MATH Level 5": 0,
|
| 35370 |
"GPQA": 0.2424,
|
| 35371 |
"MUSR": 0.3857,
|
| 35372 |
"MMLU-PRO": 0.1123
|
|
|
|
| 35379 |
"scores": {
|
| 35380 |
"IFEval": 0.196,
|
| 35381 |
"BBH": 0.3047,
|
| 35382 |
+
"MATH Level 5": 0,
|
| 35383 |
"GPQA": 0.2643,
|
| 35384 |
"MUSR": 0.3795,
|
| 35385 |
"MMLU-PRO": 0.112
|
|
|
|
| 35392 |
"scores": {
|
| 35393 |
"IFEval": 0.2358,
|
| 35394 |
"BBH": 0.2959,
|
| 35395 |
+
"MATH Level 5": 0,
|
| 35396 |
"GPQA": 0.2416,
|
| 35397 |
"MUSR": 0.3689,
|
| 35398 |
"MMLU-PRO": 0.1089
|
|
|
|
| 35457 |
"scores": {
|
| 35458 |
"IFEval": 0.1585,
|
| 35459 |
"BBH": 0.2876,
|
| 35460 |
+
"MATH Level 5": 0,
|
| 35461 |
"GPQA": 0.25,
|
| 35462 |
"MUSR": 0.3517,
|
| 35463 |
"MMLU-PRO": 0.1098
|
|
|
|
| 36445 |
"scores": {
|
| 36446 |
"IFEval": 0.2049,
|
| 36447 |
"BBH": 0.2912,
|
| 36448 |
+
"MATH Level 5": 0,
|
| 36449 |
"GPQA": 0.2601,
|
| 36450 |
"MUSR": 0.3575,
|
| 36451 |
"MMLU-PRO": 0.1167
|
|
|
|
| 37966 |
"scores": {
|
| 37967 |
"IFEval": 0.1028,
|
| 37968 |
"BBH": 0.2941,
|
| 37969 |
+
"MATH Level 5": 0,
|
| 37970 |
"GPQA": 0.2567,
|
| 37971 |
"MUSR": 0.3528,
|
| 37972 |
"MMLU-PRO": 0.1141
|
|
|
|
| 38161 |
"scores": {
|
| 38162 |
"IFEval": 0.1572,
|
| 38163 |
"BBH": 0.2863,
|
| 38164 |
+
"MATH Level 5": 0,
|
| 38165 |
"GPQA": 0.2592,
|
| 38166 |
"MUSR": 0.3607,
|
| 38167 |
"MMLU-PRO": 0.1169
|
|
|
|
| 40865 |
"scores": {
|
| 40866 |
"IFEval": 0.1416,
|
| 40867 |
"BBH": 0.2989,
|
| 40868 |
+
"MATH Level 5": 0,
|
| 40869 |
"GPQA": 0.2525,
|
| 40870 |
"MUSR": 0.3475,
|
| 40871 |
"MMLU-PRO": 0.1094
|
|
|
|
| 41437 |
"scores": {
|
| 41438 |
"IFEval": 0.2145,
|
| 41439 |
"BBH": 0.4283,
|
| 41440 |
+
"MATH Level 5": 0,
|
| 41441 |
"GPQA": 0.2961,
|
| 41442 |
"MUSR": 0.4979,
|
| 41443 |
"MMLU-PRO": 0.2414
|
|
|
|
| 41879 |
"scores": {
|
| 41880 |
"IFEval": 0.1778,
|
| 41881 |
"BBH": 0.3056,
|
| 41882 |
+
"MATH Level 5": 0,
|
| 41883 |
"GPQA": 0.2517,
|
| 41884 |
"MUSR": 0.3883,
|
| 41885 |
"MMLU-PRO": 0.1126
|
|
|
|
| 42269 |
"scores": {
|
| 42270 |
"IFEval": 0.1564,
|
| 42271 |
"BBH": 0.2894,
|
| 42272 |
+
"MATH Level 5": 0,
|
| 42273 |
"GPQA": 0.2626,
|
| 42274 |
"MUSR": 0.3789,
|
| 42275 |
"MMLU-PRO": 0.1169
|
|
|
|
| 42802 |
"scores": {
|
| 42803 |
"IFEval": 0.0705,
|
| 42804 |
"BBH": 0.3449,
|
| 42805 |
+
"MATH Level 5": 0,
|
| 42806 |
"GPQA": 0.2668,
|
| 42807 |
"MUSR": 0.3631,
|
| 42808 |
"MMLU-PRO": 0.1679
|
|
|
|
| 43179 |
"scores": {
|
| 43180 |
"IFEval": 0.2018,
|
| 43181 |
"BBH": 0.3282,
|
| 43182 |
+
"MATH Level 5": 0,
|
| 43183 |
"GPQA": 0.2643,
|
| 43184 |
"MUSR": 0.4123,
|
| 43185 |
"MMLU-PRO": 0.1472
|
|
|
|
| 43556 |
"scores": {
|
| 43557 |
"IFEval": 0.166,
|
| 43558 |
"BBH": 0.3068,
|
| 43559 |
+
"MATH Level 5": 0,
|
| 43560 |
"GPQA": 0.2542,
|
| 43561 |
"MUSR": 0.3538,
|
| 43562 |
"MMLU-PRO": 0.108
|
|
|
|
| 43582 |
"scores": {
|
| 43583 |
"IFEval": 0.1504,
|
| 43584 |
"BBH": 0.295,
|
| 43585 |
+
"MATH Level 5": 0,
|
| 43586 |
"GPQA": 0.2609,
|
| 43587 |
"MUSR": 0.4031,
|
| 43588 |
"MMLU-PRO": 0.1126
|
|
|
|
| 43595 |
"scores": {
|
| 43596 |
"IFEval": 0.1597,
|
| 43597 |
"BBH": 0.31,
|
| 43598 |
+
"MATH Level 5": 0,
|
| 43599 |
"GPQA": 0.2567,
|
| 43600 |
"MUSR": 0.4017,
|
| 43601 |
"MMLU-PRO": 0.1157
|
|
|
|
| 44492 |
"scores": {
|
| 44493 |
"IFEval": 0.1479,
|
| 44494 |
"BBH": 0.3014,
|
| 44495 |
+
"MATH Level 5": 0,
|
| 44496 |
"GPQA": 0.2542,
|
| 44497 |
"MUSR": 0.4287,
|
| 44498 |
"MMLU-PRO": 0.1119
|
|
|
|
| 45454 |
"scores": {
|
| 45455 |
"IFEval": 0.2273,
|
| 45456 |
"BBH": 0.2865,
|
| 45457 |
+
"MATH Level 5": 0,
|
| 45458 |
"GPQA": 0.2492,
|
| 45459 |
"MUSR": 0.3445,
|
| 45460 |
"MMLU-PRO": 0.1168
|
|
|
|
| 46338 |
"scores": {
|
| 46339 |
"IFEval": 0.2049,
|
| 46340 |
"BBH": 0.2912,
|
| 46341 |
+
"MATH Level 5": 0,
|
| 46342 |
"GPQA": 0.2601,
|
| 46343 |
"MUSR": 0.3575,
|
| 46344 |
"MMLU-PRO": 0.1167
|
|
|
|
| 47027 |
"scores": {
|
| 47028 |
"IFEval": 0.1564,
|
| 47029 |
"BBH": 0.292,
|
| 47030 |
+
"MATH Level 5": 0,
|
| 47031 |
"GPQA": 0.2601,
|
| 47032 |
"MUSR": 0.3792,
|
| 47033 |
"MMLU-PRO": 0.11
|
|
|
|
| 47716 |
"scores": {
|
| 47717 |
"IFEval": 0.1413,
|
| 47718 |
"BBH": 0.2717,
|
| 47719 |
+
"MATH Level 5": 0,
|
| 47720 |
"GPQA": 0.2341,
|
| 47721 |
"MUSR": 0.3351,
|
| 47722 |
"MMLU-PRO": 0.1179
|
|
|
|
| 47742 |
"scores": {
|
| 47743 |
"IFEval": 0.1494,
|
| 47744 |
"BBH": 0.2423,
|
| 47745 |
+
"MATH Level 5": 0,
|
| 47746 |
"GPQA": 0.2458,
|
| 47747 |
"MUSR": 0.358,
|
| 47748 |
"MMLU-PRO": 0.1139
|
|
|
|
| 48093 |
"scores": {
|
| 48094 |
"IFEval": 0.1763,
|
| 48095 |
"BBH": 0.3011,
|
| 48096 |
+
"MATH Level 5": 0,
|
| 48097 |
"GPQA": 0.2399,
|
| 48098 |
"MUSR": 0.342,
|
| 48099 |
"MMLU-PRO": 0.1066
|
|
|
|
| 48249 |
"scores": {
|
| 48250 |
"IFEval": 0.2049,
|
| 48251 |
"BBH": 0.2912,
|
| 48252 |
+
"MATH Level 5": 0,
|
| 48253 |
"GPQA": 0.2601,
|
| 48254 |
"MUSR": 0.3575,
|
| 48255 |
"MMLU-PRO": 0.1167
|
|
|
|
| 49263 |
"scores": {
|
| 49264 |
"IFEval": 0.1492,
|
| 49265 |
"BBH": 0.313,
|
| 49266 |
+
"MATH Level 5": 0,
|
| 49267 |
"GPQA": 0.2601,
|
| 49268 |
"MUSR": 0.3911,
|
| 49269 |
"MMLU-PRO": 0.1147
|
|
|
|
| 51005 |
"scores": {
|
| 51006 |
"IFEval": 0.1397,
|
| 51007 |
"BBH": 0.2824,
|
| 51008 |
+
"MATH Level 5": 0,
|
| 51009 |
"GPQA": 0.276,
|
| 51010 |
"MUSR": 0.3724,
|
| 51011 |
"MMLU-PRO": 0.1123
|
|
|
|
| 51850 |
"scores": {
|
| 51851 |
"IFEval": 0.3681,
|
| 51852 |
"BBH": 0.4726,
|
| 51853 |
+
"MATH Level 5": 0,
|
| 51854 |
"GPQA": 0.2743,
|
| 51855 |
"MUSR": 0.3524,
|
| 51856 |
"MMLU-PRO": 0.2247
|
|
|
|
| 52591 |
"scores": {
|
| 52592 |
"IFEval": 0.1872,
|
| 52593 |
"BBH": 0.302,
|
| 52594 |
+
"MATH Level 5": 0,
|
| 52595 |
"GPQA": 0.2768,
|
| 52596 |
"MUSR": 0.3682,
|
| 52597 |
"MMLU-PRO": 0.1095
|
|
|
|
| 54385 |
"scores": {
|
| 54386 |
"IFEval": 0.2318,
|
| 54387 |
"BBH": 0.2823,
|
| 54388 |
+
"MATH Level 5": 0,
|
| 54389 |
"GPQA": 0.2534,
|
| 54390 |
"MUSR": 0.3485,
|
| 54391 |
"MMLU-PRO": 0.1094
|
|
|
|
| 54632 |
"scores": {
|
| 54633 |
"IFEval": 0.1943,
|
| 54634 |
"BBH": 0.2951,
|
| 54635 |
+
"MATH Level 5": 0,
|
| 54636 |
"GPQA": 0.2576,
|
| 54637 |
"MUSR": 0.3796,
|
| 54638 |
"MMLU-PRO": 0.1166
|
|
|
|
| 54697 |
"scores": {
|
| 54698 |
"IFEval": 0.0787,
|
| 54699 |
"BBH": 0.2919,
|
| 54700 |
+
"MATH Level 5": 0,
|
| 54701 |
"GPQA": 0.2643,
|
| 54702 |
"MUSR": 0.4138,
|
| 54703 |
"MMLU-PRO": 0.1172
|
|
|
|
| 54762 |
"scores": {
|
| 54763 |
"IFEval": 0.1197,
|
| 54764 |
"BBH": 0.3002,
|
| 54765 |
+
"MATH Level 5": 0,
|
| 54766 |
"GPQA": 0.2525,
|
| 54767 |
"MUSR": 0.3581,
|
| 54768 |
"MMLU-PRO": 0.1129
|
|
|
|
| 54866 |
"scores": {
|
| 54867 |
"IFEval": 0.1869,
|
| 54868 |
"BBH": 0.6048,
|
| 54869 |
+
"MATH Level 5": 0,
|
| 54870 |
"GPQA": 0.2701,
|
| 54871 |
"MUSR": 0.3843,
|
| 54872 |
"MMLU-PRO": 0.4382
|
|
|
|
| 58831 |
"scores": {
|
| 58832 |
"IFEval": 0.1555,
|
| 58833 |
"BBH": 0.283,
|
| 58834 |
+
"MATH Level 5": 0,
|
| 58835 |
"GPQA": 0.2416,
|
| 58836 |
"MUSR": 0.367,
|
| 58837 |
"MMLU-PRO": 0.109
|
|
|
|
| 58844 |
"scores": {
|
| 58845 |
"IFEval": 0.1555,
|
| 58846 |
"BBH": 0.283,
|
| 58847 |
+
"MATH Level 5": 0,
|
| 58848 |
"GPQA": 0.2416,
|
| 58849 |
"MUSR": 0.367,
|
| 58850 |
"MMLU-PRO": 0.109
|
|
|
|
| 58994 |
}
|
| 58995 |
}
|
| 58996 |
]
|
| 58997 |
+
}
|
data/survey/eval-schema-fields.json
ADDED
|
@@ -0,0 +1,563 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"id": "eee_eval:source_metadata.evaluator_relationship",
|
| 4 |
+
"source": "eee_eval",
|
| 5 |
+
"section": "source_metadata",
|
| 6 |
+
"field": "evaluator_relationship",
|
| 7 |
+
"schemaPath": "source_metadata.evaluator_relationship",
|
| 8 |
+
"fullPath": "eee_eval.source_metadata.evaluator_relationship",
|
| 9 |
+
"type": "string",
|
| 10 |
+
"description": "Relationship between the evaluator and the model developer (e.g., first-party, third-party, independent).",
|
| 11 |
+
"required": "required"
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"id": "eee_eval:source_metadata.source_organization_name",
|
| 15 |
+
"source": "eee_eval",
|
| 16 |
+
"section": "source_metadata",
|
| 17 |
+
"field": "source_organization_name",
|
| 18 |
+
"schemaPath": "source_metadata.source_organization_name",
|
| 19 |
+
"fullPath": "eee_eval.source_metadata.source_organization_name",
|
| 20 |
+
"type": "string",
|
| 21 |
+
"description": "Name of the organization that produced or published the evaluation results.",
|
| 22 |
+
"required": "required"
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"id": "eee_eval:source_metadata.source_url",
|
| 26 |
+
"source": "eee_eval",
|
| 27 |
+
"section": "source_metadata",
|
| 28 |
+
"field": "source_url",
|
| 29 |
+
"schemaPath": "source_metadata.source_url",
|
| 30 |
+
"fullPath": "eee_eval.source_metadata.source_url",
|
| 31 |
+
"type": "string",
|
| 32 |
+
"description": "URL pointing to the original source of the evaluation results.",
|
| 33 |
+
"required": "optional"
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"id": "eee_eval:source_metadata.publication_date",
|
| 37 |
+
"source": "eee_eval",
|
| 38 |
+
"section": "source_metadata",
|
| 39 |
+
"field": "publication_date",
|
| 40 |
+
"schemaPath": "source_metadata.publication_date",
|
| 41 |
+
"fullPath": "eee_eval.source_metadata.publication_date",
|
| 42 |
+
"type": "string",
|
| 43 |
+
"description": "Date when the evaluation results were published or made publicly available.",
|
| 44 |
+
"required": "optional"
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"id": "eee_eval:retrieved_timestamp",
|
| 48 |
+
"source": "eee_eval",
|
| 49 |
+
"section": "root",
|
| 50 |
+
"field": "retrieved_timestamp",
|
| 51 |
+
"schemaPath": "retrieved_timestamp",
|
| 52 |
+
"fullPath": "eee_eval.retrieved_timestamp",
|
| 53 |
+
"type": "string",
|
| 54 |
+
"description": "ISO 8601 timestamp indicating when the evaluation data was retrieved or ingested.",
|
| 55 |
+
"required": "required"
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"id": "eee_eval:eval_library.name",
|
| 59 |
+
"source": "eee_eval",
|
| 60 |
+
"section": "eval_library",
|
| 61 |
+
"field": "name",
|
| 62 |
+
"schemaPath": "eval_library.name",
|
| 63 |
+
"fullPath": "eee_eval.eval_library.name",
|
| 64 |
+
"type": "string",
|
| 65 |
+
"description": "Name of the evaluation library or harness used to run the evaluation (e.g., lm-evaluation-harness, HELM).",
|
| 66 |
+
"required": "required"
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"id": "eee_eval:eval_library.version",
|
| 70 |
+
"source": "eee_eval",
|
| 71 |
+
"section": "eval_library",
|
| 72 |
+
"field": "version",
|
| 73 |
+
"schemaPath": "eval_library.version",
|
| 74 |
+
"fullPath": "eee_eval.eval_library.version",
|
| 75 |
+
"type": "string",
|
| 76 |
+
"description": "Version string of the evaluation library used, enabling reproducibility checks.",
|
| 77 |
+
"required": "required"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"id": "eee_eval:eval_library.url",
|
| 81 |
+
"source": "eee_eval",
|
| 82 |
+
"section": "eval_library",
|
| 83 |
+
"field": "url",
|
| 84 |
+
"schemaPath": "eval_library.url",
|
| 85 |
+
"fullPath": "eee_eval.eval_library.url",
|
| 86 |
+
"type": "string",
|
| 87 |
+
"description": "Repository or documentation URL for the evaluation library.",
|
| 88 |
+
"required": "optional"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"id": "eee_eval:model_info.model_id",
|
| 92 |
+
"source": "eee_eval",
|
| 93 |
+
"section": "model_info",
|
| 94 |
+
"field": "model_id",
|
| 95 |
+
"schemaPath": "model_info.model_id",
|
| 96 |
+
"fullPath": "eee_eval.model_info.model_id",
|
| 97 |
+
"type": "string",
|
| 98 |
+
"description": "Unique identifier for the model being evaluated (e.g., HuggingFace model ID).",
|
| 99 |
+
"required": "required"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"id": "eee_eval:model_info.model_revision",
|
| 103 |
+
"source": "eee_eval",
|
| 104 |
+
"section": "model_info",
|
| 105 |
+
"field": "model_revision",
|
| 106 |
+
"schemaPath": "model_info.model_revision",
|
| 107 |
+
"fullPath": "eee_eval.model_info.model_revision",
|
| 108 |
+
"type": "string",
|
| 109 |
+
"description": "Git revision or checkpoint hash of the model weights used during evaluation.",
|
| 110 |
+
"required": "optional"
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"id": "eee_eval:model_info.model_type",
|
| 114 |
+
"source": "eee_eval",
|
| 115 |
+
"section": "model_info",
|
| 116 |
+
"field": "model_type",
|
| 117 |
+
"schemaPath": "model_info.model_type",
|
| 118 |
+
"fullPath": "eee_eval.model_info.model_type",
|
| 119 |
+
"type": "string",
|
| 120 |
+
"description": "Type or architecture category of the model (e.g., decoder-only, encoder-decoder).",
|
| 121 |
+
"required": "optional"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"id": "eee_eval:evaluation_results.generation_config",
|
| 125 |
+
"source": "eee_eval",
|
| 126 |
+
"section": "evaluation_results",
|
| 127 |
+
"field": "generation_config",
|
| 128 |
+
"schemaPath": "evaluation_results.generation_config",
|
| 129 |
+
"fullPath": "eee_eval.evaluation_results.generation_config",
|
| 130 |
+
"type": "object",
|
| 131 |
+
"description": "Generation configuration used during evaluation, including temperature, top-p, max tokens, and other sampling parameters.",
|
| 132 |
+
"required": "required"
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"id": "eee_eval:evaluation_results.scores",
|
| 136 |
+
"source": "eee_eval",
|
| 137 |
+
"section": "evaluation_results",
|
| 138 |
+
"field": "scores",
|
| 139 |
+
"schemaPath": "evaluation_results.scores",
|
| 140 |
+
"fullPath": "eee_eval.evaluation_results.scores",
|
| 141 |
+
"type": "object",
|
| 142 |
+
"description": "Aggregate scores across benchmarks, keyed by benchmark name.",
|
| 143 |
+
"required": "required"
|
| 144 |
+
},
|
| 145 |
+
{
|
| 146 |
+
"id": "eee_eval:evaluation_results.num_few_shot",
|
| 147 |
+
"source": "eee_eval",
|
| 148 |
+
"section": "evaluation_results",
|
| 149 |
+
"field": "num_few_shot",
|
| 150 |
+
"schemaPath": "evaluation_results.num_few_shot",
|
| 151 |
+
"fullPath": "eee_eval.evaluation_results.num_few_shot",
|
| 152 |
+
"type": "integer",
|
| 153 |
+
"description": "Number of few-shot examples provided in the prompt during evaluation.",
|
| 154 |
+
"required": "optional"
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"id": "eee_eval:detailed_evaluation_results.file_path",
|
| 158 |
+
"source": "eee_eval",
|
| 159 |
+
"section": "detailed_evaluation_results",
|
| 160 |
+
"field": "file_path",
|
| 161 |
+
"schemaPath": "detailed_evaluation_results.file_path",
|
| 162 |
+
"fullPath": "eee_eval.detailed_evaluation_results.file_path",
|
| 163 |
+
"type": "string",
|
| 164 |
+
"description": "Path or URL to files containing per-sample evaluation results for detailed analysis.",
|
| 165 |
+
"required": "optional"
|
| 166 |
+
},
|
| 167 |
+
{
|
| 168 |
+
"id": "eee_eval:detailed_evaluation_results.format",
|
| 169 |
+
"source": "eee_eval",
|
| 170 |
+
"section": "detailed_evaluation_results",
|
| 171 |
+
"field": "format",
|
| 172 |
+
"schemaPath": "detailed_evaluation_results.format",
|
| 173 |
+
"fullPath": "eee_eval.detailed_evaluation_results.format",
|
| 174 |
+
"type": "string",
|
| 175 |
+
"description": "File format of the detailed evaluation results (e.g., jsonl, parquet, csv).",
|
| 176 |
+
"required": "optional"
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"id": "eee_eval:hardware_info.gpu_type",
|
| 180 |
+
"source": "eee_eval",
|
| 181 |
+
"section": "hardware_info",
|
| 182 |
+
"field": "gpu_type",
|
| 183 |
+
"schemaPath": "hardware_info.gpu_type",
|
| 184 |
+
"fullPath": "eee_eval.hardware_info.gpu_type",
|
| 185 |
+
"type": "string",
|
| 186 |
+
"description": "Type and model of GPU hardware used during evaluation.",
|
| 187 |
+
"required": "optional"
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"id": "eee_eval:hardware_info.num_gpus",
|
| 191 |
+
"source": "eee_eval",
|
| 192 |
+
"section": "hardware_info",
|
| 193 |
+
"field": "num_gpus",
|
| 194 |
+
"schemaPath": "hardware_info.num_gpus",
|
| 195 |
+
"fullPath": "eee_eval.hardware_info.num_gpus",
|
| 196 |
+
"type": "integer",
|
| 197 |
+
"description": "Number of GPUs used during evaluation.",
|
| 198 |
+
"required": "optional"
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"id": "autobenchmarkcard:benchmark_details.overview",
|
| 202 |
+
"source": "autobenchmarkcard",
|
| 203 |
+
"section": "benchmark_details",
|
| 204 |
+
"field": "overview",
|
| 205 |
+
"schemaPath": "benchmark_details.overview",
|
| 206 |
+
"fullPath": "autobenchmarkcard.benchmark_details.overview",
|
| 207 |
+
"type": "string",
|
| 208 |
+
"description": "High-level summary of the benchmark, its purpose, and the capabilities it is designed to measure.",
|
| 209 |
+
"required": "required"
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"id": "autobenchmarkcard:benchmark_details.name",
|
| 213 |
+
"source": "autobenchmarkcard",
|
| 214 |
+
"section": "benchmark_details",
|
| 215 |
+
"field": "name",
|
| 216 |
+
"schemaPath": "benchmark_details.name",
|
| 217 |
+
"fullPath": "autobenchmarkcard.benchmark_details.name",
|
| 218 |
+
"type": "string",
|
| 219 |
+
"description": "Official name of the benchmark.",
|
| 220 |
+
"required": "required"
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"id": "autobenchmarkcard:benchmark_details.version",
|
| 224 |
+
"source": "autobenchmarkcard",
|
| 225 |
+
"section": "benchmark_details",
|
| 226 |
+
"field": "version",
|
| 227 |
+
"schemaPath": "benchmark_details.version",
|
| 228 |
+
"fullPath": "autobenchmarkcard.benchmark_details.version",
|
| 229 |
+
"type": "string",
|
| 230 |
+
"description": "Version of the benchmark dataset or task specification.",
|
| 231 |
+
"required": "required"
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"id": "autobenchmarkcard:benchmark_details.release_date",
|
| 235 |
+
"source": "autobenchmarkcard",
|
| 236 |
+
"section": "benchmark_details",
|
| 237 |
+
"field": "release_date",
|
| 238 |
+
"schemaPath": "benchmark_details.release_date",
|
| 239 |
+
"fullPath": "autobenchmarkcard.benchmark_details.release_date",
|
| 240 |
+
"type": "string",
|
| 241 |
+
"description": "Date the benchmark was publicly released.",
|
| 242 |
+
"required": "optional"
|
| 243 |
+
},
|
| 244 |
+
{
|
| 245 |
+
"id": "autobenchmarkcard:benchmark_details.citation",
|
| 246 |
+
"source": "autobenchmarkcard",
|
| 247 |
+
"section": "benchmark_details",
|
| 248 |
+
"field": "citation",
|
| 249 |
+
"schemaPath": "benchmark_details.citation",
|
| 250 |
+
"fullPath": "autobenchmarkcard.benchmark_details.citation",
|
| 251 |
+
"type": "string",
|
| 252 |
+
"description": "BibTeX or APA citation for the benchmark paper or dataset.",
|
| 253 |
+
"required": "optional"
|
| 254 |
+
},
|
| 255 |
+
{
|
| 256 |
+
"id": "autobenchmarkcard:purpose_and_intended_users.intended_use",
|
| 257 |
+
"source": "autobenchmarkcard",
|
| 258 |
+
"section": "purpose_and_intended_users",
|
| 259 |
+
"field": "intended_use",
|
| 260 |
+
"schemaPath": "purpose_and_intended_users.intended_use",
|
| 261 |
+
"fullPath": "autobenchmarkcard.purpose_and_intended_users.intended_use",
|
| 262 |
+
"type": "string",
|
| 263 |
+
"description": "Description of the intended use cases and audiences for this benchmark.",
|
| 264 |
+
"required": "required"
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"id": "autobenchmarkcard:purpose_and_intended_users.limitations",
|
| 268 |
+
"source": "autobenchmarkcard",
|
| 269 |
+
"section": "purpose_and_intended_users",
|
| 270 |
+
"field": "limitations",
|
| 271 |
+
"schemaPath": "purpose_and_intended_users.limitations",
|
| 272 |
+
"fullPath": "autobenchmarkcard.purpose_and_intended_users.limitations",
|
| 273 |
+
"type": "string",
|
| 274 |
+
"description": "Known limitations of the benchmark, including scope restrictions, population coverage gaps, or validity concerns.",
|
| 275 |
+
"required": "required"
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"id": "autobenchmarkcard:purpose_and_intended_users.out_of_scope",
|
| 279 |
+
"source": "autobenchmarkcard",
|
| 280 |
+
"section": "purpose_and_intended_users",
|
| 281 |
+
"field": "out_of_scope",
|
| 282 |
+
"schemaPath": "purpose_and_intended_users.out_of_scope",
|
| 283 |
+
"fullPath": "autobenchmarkcard.purpose_and_intended_users.out_of_scope",
|
| 284 |
+
"type": "string",
|
| 285 |
+
"description": "Explicit description of use cases or capabilities the benchmark is not designed to evaluate.",
|
| 286 |
+
"required": "optional"
|
| 287 |
+
},
|
| 288 |
+
{
|
| 289 |
+
"id": "autobenchmarkcard:methodology.metrics",
|
| 290 |
+
"source": "autobenchmarkcard",
|
| 291 |
+
"section": "methodology",
|
| 292 |
+
"field": "metrics",
|
| 293 |
+
"schemaPath": "methodology.metrics",
|
| 294 |
+
"fullPath": "autobenchmarkcard.methodology.metrics",
|
| 295 |
+
"type": "array",
|
| 296 |
+
"description": "List of evaluation metrics used (e.g., accuracy, F1, BLEU), including their definitions and how they are computed.",
|
| 297 |
+
"required": "required"
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"id": "autobenchmarkcard:methodology.validation",
|
| 301 |
+
"source": "autobenchmarkcard",
|
| 302 |
+
"section": "methodology",
|
| 303 |
+
"field": "validation",
|
| 304 |
+
"schemaPath": "methodology.validation",
|
| 305 |
+
"fullPath": "autobenchmarkcard.methodology.validation",
|
| 306 |
+
"type": "string",
|
| 307 |
+
"description": "Description of validation procedures used to ensure benchmark quality, including human review, pilot studies, or inter-annotator agreement.",
|
| 308 |
+
"required": "required"
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"id": "autobenchmarkcard:methodology.interpretation",
|
| 312 |
+
"source": "autobenchmarkcard",
|
| 313 |
+
"section": "methodology",
|
| 314 |
+
"field": "interpretation",
|
| 315 |
+
"schemaPath": "methodology.interpretation",
|
| 316 |
+
"fullPath": "autobenchmarkcard.methodology.interpretation",
|
| 317 |
+
"type": "string",
|
| 318 |
+
"description": "Guidance on how to interpret benchmark scores, including what constitutes a meaningful difference and known confounds.",
|
| 319 |
+
"required": "required"
|
| 320 |
+
},
|
| 321 |
+
{
|
| 322 |
+
"id": "autobenchmarkcard:methodology.data_collection",
|
| 323 |
+
"source": "autobenchmarkcard",
|
| 324 |
+
"section": "methodology",
|
| 325 |
+
"field": "data_collection",
|
| 326 |
+
"schemaPath": "methodology.data_collection",
|
| 327 |
+
"fullPath": "autobenchmarkcard.methodology.data_collection",
|
| 328 |
+
"type": "string",
|
| 329 |
+
"description": "Description of how benchmark data was collected, curated, or generated.",
|
| 330 |
+
"required": "optional"
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"id": "autobenchmarkcard:methodology.prompt_format",
|
| 334 |
+
"source": "autobenchmarkcard",
|
| 335 |
+
"section": "methodology",
|
| 336 |
+
"field": "prompt_format",
|
| 337 |
+
"schemaPath": "methodology.prompt_format",
|
| 338 |
+
"fullPath": "autobenchmarkcard.methodology.prompt_format",
|
| 339 |
+
"type": "string",
|
| 340 |
+
"description": "Specification of the prompt template or format used when querying models.",
|
| 341 |
+
"required": "optional"
|
| 342 |
+
},
|
| 343 |
+
{
|
| 344 |
+
"id": "autobenchmarkcard:ethical_and_legal_considerations.compliance_with_regulations",
|
| 345 |
+
"source": "autobenchmarkcard",
|
| 346 |
+
"section": "ethical_and_legal_considerations",
|
| 347 |
+
"field": "compliance_with_regulations",
|
| 348 |
+
"schemaPath": "ethical_and_legal_considerations.compliance_with_regulations",
|
| 349 |
+
"fullPath": "autobenchmarkcard.ethical_and_legal_considerations.compliance_with_regulations",
|
| 350 |
+
"type": "string",
|
| 351 |
+
"description": "Statement on compliance with relevant regulations or legal frameworks (e.g., GDPR, EU AI Act, NIST RMF).",
|
| 352 |
+
"required": "required"
|
| 353 |
+
},
|
| 354 |
+
{
|
| 355 |
+
"id": "autobenchmarkcard:ethical_and_legal_considerations.data_privacy",
|
| 356 |
+
"source": "autobenchmarkcard",
|
| 357 |
+
"section": "ethical_and_legal_considerations",
|
| 358 |
+
"field": "data_privacy",
|
| 359 |
+
"schemaPath": "ethical_and_legal_considerations.data_privacy",
|
| 360 |
+
"fullPath": "autobenchmarkcard.ethical_and_legal_considerations.data_privacy",
|
| 361 |
+
"type": "string",
|
| 362 |
+
"description": "Description of how personal data or sensitive information is handled in the benchmark.",
|
| 363 |
+
"required": "optional"
|
| 364 |
+
},
|
| 365 |
+
{
|
| 366 |
+
"id": "autobenchmarkcard:ethical_and_legal_considerations.consent",
|
| 367 |
+
"source": "autobenchmarkcard",
|
| 368 |
+
"section": "ethical_and_legal_considerations",
|
| 369 |
+
"field": "consent",
|
| 370 |
+
"schemaPath": "ethical_and_legal_considerations.consent",
|
| 371 |
+
"fullPath": "autobenchmarkcard.ethical_and_legal_considerations.consent",
|
| 372 |
+
"type": "string",
|
| 373 |
+
"description": "Information about consent obtained from data subjects or annotators.",
|
| 374 |
+
"required": "optional"
|
| 375 |
+
},
|
| 376 |
+
{
|
| 377 |
+
"id": "autobenchmarkcard:possible_risks.category",
|
| 378 |
+
"source": "autobenchmarkcard",
|
| 379 |
+
"section": "possible_risks",
|
| 380 |
+
"field": "category",
|
| 381 |
+
"schemaPath": "possible_risks.category",
|
| 382 |
+
"fullPath": "autobenchmarkcard.possible_risks.category",
|
| 383 |
+
"type": "array",
|
| 384 |
+
"description": "Categorized list of potential risks associated with misuse or misinterpretation of benchmark results (e.g., gaming, overfitting, contamination).",
|
| 385 |
+
"required": "required"
|
| 386 |
+
},
|
| 387 |
+
{
|
| 388 |
+
"id": "autobenchmarkcard:possible_risks.mitigation",
|
| 389 |
+
"source": "autobenchmarkcard",
|
| 390 |
+
"section": "possible_risks",
|
| 391 |
+
"field": "mitigation",
|
| 392 |
+
"schemaPath": "possible_risks.mitigation",
|
| 393 |
+
"fullPath": "autobenchmarkcard.possible_risks.mitigation",
|
| 394 |
+
"type": "string",
|
| 395 |
+
"description": "Recommended mitigations or safeguards to reduce identified risks.",
|
| 396 |
+
"required": "optional"
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"id": "autobenchmarkcard:dataset_details.size",
|
| 400 |
+
"source": "autobenchmarkcard",
|
| 401 |
+
"section": "dataset_details",
|
| 402 |
+
"field": "size",
|
| 403 |
+
"schemaPath": "dataset_details.size",
|
| 404 |
+
"fullPath": "autobenchmarkcard.dataset_details.size",
|
| 405 |
+
"type": "integer",
|
| 406 |
+
"description": "Total number of examples or items in the benchmark dataset.",
|
| 407 |
+
"required": "optional"
|
| 408 |
+
},
|
| 409 |
+
{
|
| 410 |
+
"id": "autobenchmarkcard:dataset_details.languages",
|
| 411 |
+
"source": "autobenchmarkcard",
|
| 412 |
+
"section": "dataset_details",
|
| 413 |
+
"field": "languages",
|
| 414 |
+
"schemaPath": "dataset_details.languages",
|
| 415 |
+
"fullPath": "autobenchmarkcard.dataset_details.languages",
|
| 416 |
+
"type": "array",
|
| 417 |
+
"description": "Languages represented in the benchmark dataset (ISO 639-1 codes).",
|
| 418 |
+
"required": "optional"
|
| 419 |
+
},
|
| 420 |
+
{
|
| 421 |
+
"id": "autobenchmarkcard:dataset_details.domains",
|
| 422 |
+
"source": "autobenchmarkcard",
|
| 423 |
+
"section": "dataset_details",
|
| 424 |
+
"field": "domains",
|
| 425 |
+
"schemaPath": "dataset_details.domains",
|
| 426 |
+
"fullPath": "autobenchmarkcard.dataset_details.domains",
|
| 427 |
+
"type": "array",
|
| 428 |
+
"description": "Subject domains covered by the benchmark (e.g., medicine, law, mathematics, code).",
|
| 429 |
+
"required": "optional"
|
| 430 |
+
},
|
| 431 |
+
{
|
| 432 |
+
"id": "autobenchmarkcard:dataset_details.license",
|
| 433 |
+
"source": "autobenchmarkcard",
|
| 434 |
+
"section": "dataset_details",
|
| 435 |
+
"field": "license",
|
| 436 |
+
"schemaPath": "dataset_details.license",
|
| 437 |
+
"fullPath": "autobenchmarkcard.dataset_details.license",
|
| 438 |
+
"type": "string",
|
| 439 |
+
"description": "License under which the benchmark dataset is distributed.",
|
| 440 |
+
"required": "optional"
|
| 441 |
+
},
|
| 442 |
+
{
|
| 443 |
+
"id": "autobenchmarkcard:leaderboard_info.url",
|
| 444 |
+
"source": "autobenchmarkcard",
|
| 445 |
+
"section": "leaderboard_info",
|
| 446 |
+
"field": "url",
|
| 447 |
+
"schemaPath": "leaderboard_info.url",
|
| 448 |
+
"fullPath": "autobenchmarkcard.leaderboard_info.url",
|
| 449 |
+
"type": "string",
|
| 450 |
+
"description": "URL of the official leaderboard or results page for this benchmark.",
|
| 451 |
+
"required": "optional"
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"id": "autobenchmarkcard:leaderboard_info.submission_requirements",
|
| 455 |
+
"source": "autobenchmarkcard",
|
| 456 |
+
"section": "leaderboard_info",
|
| 457 |
+
"field": "submission_requirements",
|
| 458 |
+
"schemaPath": "leaderboard_info.submission_requirements",
|
| 459 |
+
"fullPath": "autobenchmarkcard.leaderboard_info.submission_requirements",
|
| 460 |
+
"type": "string",
|
| 461 |
+
"description": "Requirements for submitting model results to the benchmark leaderboard.",
|
| 462 |
+
"required": "optional"
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
"id": "eee_instance_level_eval:instance_id",
|
| 466 |
+
"source": "eee_instance_level_eval",
|
| 467 |
+
"section": "root",
|
| 468 |
+
"field": "instance_id",
|
| 469 |
+
"schemaPath": "instance_id",
|
| 470 |
+
"fullPath": "eee_instance_level_eval.instance_id",
|
| 471 |
+
"type": "string",
|
| 472 |
+
"description": "Unique identifier for a single evaluation instance or example.",
|
| 473 |
+
"required": "required"
|
| 474 |
+
},
|
| 475 |
+
{
|
| 476 |
+
"id": "eee_instance_level_eval:model_output",
|
| 477 |
+
"source": "eee_instance_level_eval",
|
| 478 |
+
"section": "root",
|
| 479 |
+
"field": "model_output",
|
| 480 |
+
"schemaPath": "model_output",
|
| 481 |
+
"fullPath": "eee_instance_level_eval.model_output",
|
| 482 |
+
"type": "string",
|
| 483 |
+
"description": "Raw text output generated by the model for this instance.",
|
| 484 |
+
"required": "required"
|
| 485 |
+
},
|
| 486 |
+
{
|
| 487 |
+
"id": "eee_instance_level_eval:ground_truth",
|
| 488 |
+
"source": "eee_instance_level_eval",
|
| 489 |
+
"section": "root",
|
| 490 |
+
"field": "ground_truth",
|
| 491 |
+
"schemaPath": "ground_truth",
|
| 492 |
+
"fullPath": "eee_instance_level_eval.ground_truth",
|
| 493 |
+
"type": "string",
|
| 494 |
+
"description": "Reference answer or ground truth label for this instance.",
|
| 495 |
+
"required": "optional"
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"id": "eee_instance_level_eval:score",
|
| 499 |
+
"source": "eee_instance_level_eval",
|
| 500 |
+
"section": "root",
|
| 501 |
+
"field": "score",
|
| 502 |
+
"schemaPath": "score",
|
| 503 |
+
"fullPath": "eee_instance_level_eval.score",
|
| 504 |
+
"type": "number",
|
| 505 |
+
"description": "Numeric score assigned to this instance by the evaluation metric.",
|
| 506 |
+
"required": "required"
|
| 507 |
+
},
|
| 508 |
+
{
|
| 509 |
+
"id": "eee_instance_level_eval:prompt",
|
| 510 |
+
"source": "eee_instance_level_eval",
|
| 511 |
+
"section": "root",
|
| 512 |
+
"field": "prompt",
|
| 513 |
+
"schemaPath": "prompt",
|
| 514 |
+
"fullPath": "eee_instance_level_eval.prompt",
|
| 515 |
+
"type": "string",
|
| 516 |
+
"description": "Full prompt text as presented to the model for this instance.",
|
| 517 |
+
"required": "optional"
|
| 518 |
+
},
|
| 519 |
+
{
|
| 520 |
+
"id": "eee_instance_level_eval:task_name",
|
| 521 |
+
"source": "eee_instance_level_eval",
|
| 522 |
+
"section": "root",
|
| 523 |
+
"field": "task_name",
|
| 524 |
+
"schemaPath": "task_name",
|
| 525 |
+
"fullPath": "eee_instance_level_eval.task_name",
|
| 526 |
+
"type": "string",
|
| 527 |
+
"description": "Name of the task or benchmark this instance belongs to.",
|
| 528 |
+
"required": "required"
|
| 529 |
+
},
|
| 530 |
+
{
|
| 531 |
+
"id": "eee_instance_level_eval:metadata.difficulty",
|
| 532 |
+
"source": "eee_instance_level_eval",
|
| 533 |
+
"section": "metadata",
|
| 534 |
+
"field": "difficulty",
|
| 535 |
+
"schemaPath": "metadata.difficulty",
|
| 536 |
+
"fullPath": "eee_instance_level_eval.metadata.difficulty",
|
| 537 |
+
"type": "string",
|
| 538 |
+
"description": "Difficulty level or category of this instance (e.g., easy, medium, hard).",
|
| 539 |
+
"required": "optional"
|
| 540 |
+
},
|
| 541 |
+
{
|
| 542 |
+
"id": "eee_instance_level_eval:metadata.subject",
|
| 543 |
+
"source": "eee_instance_level_eval",
|
| 544 |
+
"section": "metadata",
|
| 545 |
+
"field": "subject",
|
| 546 |
+
"schemaPath": "metadata.subject",
|
| 547 |
+
"fullPath": "eee_instance_level_eval.metadata.subject",
|
| 548 |
+
"type": "string",
|
| 549 |
+
"description": "Subject or topic area of this instance.",
|
| 550 |
+
"required": "optional"
|
| 551 |
+
},
|
| 552 |
+
{
|
| 553 |
+
"id": "eee_instance_level_eval:metadata.source_dataset",
|
| 554 |
+
"source": "eee_instance_level_eval",
|
| 555 |
+
"section": "metadata",
|
| 556 |
+
"field": "source_dataset",
|
| 557 |
+
"schemaPath": "metadata.source_dataset",
|
| 558 |
+
"fullPath": "eee_instance_level_eval.metadata.source_dataset",
|
| 559 |
+
"type": "string",
|
| 560 |
+
"description": "Original dataset this instance was sourced from.",
|
| 561 |
+
"required": "optional"
|
| 562 |
+
}
|
| 563 |
+
]
|
lib/benchmark-metadata-utils.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* Shared benchmark name normalization utilities.
|
| 3 |
+
* This file has NO "server-only" restriction so it can be imported from client components.
|
| 4 |
+
*/
|
| 5 |
+
|
| 6 |
+
/**
|
| 7 |
+
* Normalize a benchmark name to a stable lookup key.
|
| 8 |
+
* Strips composite prefixes like "hfopenllm_v2/", lowercases, collapses whitespace.
|
| 9 |
+
*/
|
| 10 |
+
export function normalizeBenchmarkKey(name: string): string {
|
| 11 |
+
return name
|
| 12 |
+
.replace(/^[a-z0-9_]+ ?\//i, "") // strip "hfopenllm_v2/" etc.
|
| 13 |
+
.toLowerCase()
|
| 14 |
+
.replace(/[_]+/g, " ")
|
| 15 |
+
.replace(/\s+/g, " ")
|
| 16 |
+
.trim()
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Build multiple candidate lookup keys for a benchmark name.
|
| 21 |
+
*/
|
| 22 |
+
export function candidateBenchmarkKeys(name: string): string[] {
|
| 23 |
+
const base = normalizeBenchmarkKey(name)
|
| 24 |
+
return Array.from(
|
| 25 |
+
new Set([
|
| 26 |
+
base,
|
| 27 |
+
base.replace(/-/g, " "),
|
| 28 |
+
base.replace(/ /g, "-"),
|
| 29 |
+
base.replace(/[^a-z0-9]/g, ""),
|
| 30 |
+
])
|
| 31 |
+
)
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
/**
|
| 35 |
+
* Given a record of BenchmarkCards and a benchmark name, find the matching card.
|
| 36 |
+
*/
|
| 37 |
+
export function lookupBenchmarkCard<T>(
|
| 38 |
+
cards: Record<string, T>,
|
| 39 |
+
benchmarkName: string
|
| 40 |
+
): T | undefined {
|
| 41 |
+
for (const key of candidateBenchmarkKeys(benchmarkName)) {
|
| 42 |
+
if (cards[key]) return cards[key]
|
| 43 |
+
}
|
| 44 |
+
// Fuzzy: check if any card key starts with or contains the name
|
| 45 |
+
const base = normalizeBenchmarkKey(benchmarkName)
|
| 46 |
+
for (const [cardKey, card] of Object.entries(cards)) {
|
| 47 |
+
if (cardKey.includes(base) || base.includes(cardKey)) return card
|
| 48 |
+
}
|
| 49 |
+
return undefined
|
| 50 |
+
}
|
lib/benchmark-metadata.ts
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import "server-only"
|
| 2 |
+
|
| 3 |
+
import { promises as fs, type Dirent } from "fs"
|
| 4 |
+
import path from "path"
|
| 5 |
+
|
| 6 |
+
import type { BenchmarkCard } from "@/lib/benchmark-schema"
|
| 7 |
+
import { normalizeBenchmarkKey, candidateBenchmarkKeys as candidateKeys } from "@/lib/benchmark-metadata-utils"
|
| 8 |
+
|
| 9 |
+
export { normalizeBenchmarkKey }
|
| 10 |
+
|
| 11 |
+
interface IndexedBenchmarkDetailFile {
|
| 12 |
+
benchmark_cards?: Record<string, BenchmarkCard>
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
function getBenchmarkDataDirectory() {
|
| 16 |
+
return path.join(process.cwd(), "data", "benchmarks")
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
async function readEmbeddedBenchmarkCards(): Promise<Map<string, BenchmarkCard>> {
|
| 20 |
+
const dir = getBenchmarkDataDirectory()
|
| 21 |
+
const map = new Map<string, BenchmarkCard>()
|
| 22 |
+
|
| 23 |
+
let entries: Dirent[]
|
| 24 |
+
try {
|
| 25 |
+
entries = await fs.readdir(dir, { withFileTypes: true })
|
| 26 |
+
} catch {
|
| 27 |
+
return map
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
const jsonFiles = entries.filter((entry) => entry.isFile() && entry.name.endsWith(".json"))
|
| 31 |
+
|
| 32 |
+
await Promise.all(
|
| 33 |
+
jsonFiles.map(async (entry) => {
|
| 34 |
+
try {
|
| 35 |
+
const raw = await fs.readFile(path.join(dir, entry.name), "utf8")
|
| 36 |
+
const parsed = JSON.parse(raw) as IndexedBenchmarkDetailFile
|
| 37 |
+
const embeddedCards = parsed.benchmark_cards
|
| 38 |
+
|
| 39 |
+
if (!embeddedCards || typeof embeddedCards !== "object") {
|
| 40 |
+
return
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
for (const [metricName, card] of Object.entries(embeddedCards)) {
|
| 44 |
+
if (!card?.benchmark_details?.name) {
|
| 45 |
+
continue
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
for (const key of candidateKeys(metricName)) {
|
| 49 |
+
if (!map.has(key)) map.set(key, card)
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
for (const key of candidateKeys(card.benchmark_details.name)) {
|
| 53 |
+
if (!map.has(key)) map.set(key, card)
|
| 54 |
+
}
|
| 55 |
+
}
|
| 56 |
+
} catch (err) {
|
| 57 |
+
console.warn(`benchmark-metadata: failed to load embedded cards from ${entry.name}:`, err)
|
| 58 |
+
}
|
| 59 |
+
})
|
| 60 |
+
)
|
| 61 |
+
|
| 62 |
+
return map
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
let cachedMapPromise: Promise<Map<string, BenchmarkCard>> | null = null
|
| 66 |
+
|
| 67 |
+
function getMap(): Promise<Map<string, BenchmarkCard>> {
|
| 68 |
+
if (process.env.NODE_ENV === "production") {
|
| 69 |
+
if (!cachedMapPromise) cachedMapPromise = readEmbeddedBenchmarkCards()
|
| 70 |
+
return cachedMapPromise
|
| 71 |
+
}
|
| 72 |
+
return readEmbeddedBenchmarkCards()
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
/** Look up a BenchmarkCard by any commonly-used benchmark name. Returns null if not found. */
|
| 76 |
+
export async function getBenchmarkCard(benchmarkName: string): Promise<BenchmarkCard | null> {
|
| 77 |
+
const map = await getMap()
|
| 78 |
+
for (const key of candidateKeys(benchmarkName)) {
|
| 79 |
+
const card = map.get(key)
|
| 80 |
+
if (card) return card
|
| 81 |
+
}
|
| 82 |
+
return null
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
/** Returns all loaded BenchmarkCards keyed by their normalised canonical name. */
|
| 86 |
+
export async function getAllBenchmarkCards(): Promise<Record<string, BenchmarkCard>> {
|
| 87 |
+
const map = await getMap()
|
| 88 |
+
// Deduplicate: only emit one entry per card (by canonical name)
|
| 89 |
+
const seen = new Set<BenchmarkCard>()
|
| 90 |
+
const result: Record<string, BenchmarkCard> = {}
|
| 91 |
+
for (const [key, card] of map) {
|
| 92 |
+
if (!seen.has(card)) {
|
| 93 |
+
seen.add(card)
|
| 94 |
+
result[normalizeBenchmarkKey(card.benchmark_details.name)] = card
|
| 95 |
+
}
|
| 96 |
+
}
|
| 97 |
+
return result
|
| 98 |
+
}
|
lib/benchmark-schema.ts
CHANGED
|
@@ -167,12 +167,36 @@ export const EVALUATION_CATEGORIES = [
|
|
| 167 |
|
| 168 |
export type CategoryType = typeof EVALUATION_CATEGORIES[number]
|
| 169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
/**
|
| 171 |
* Helper to determine category from benchmark name
|
| 172 |
*/
|
| 173 |
export function inferCategoryFromBenchmark(benchmarkName: string): CategoryType {
|
| 174 |
const name = benchmarkName.toLowerCase()
|
| 175 |
-
|
| 176 |
// Category mappings
|
| 177 |
if (name.includes('advglue') || name.includes('jailbreak') || name.includes('attack') || name.includes('adversarial') || name.includes('red-team')) {
|
| 178 |
return 'Adversarial'
|
|
@@ -180,7 +204,9 @@ export function inferCategoryFromBenchmark(benchmarkName: string): CategoryType
|
|
| 180 |
if (name.includes('fairness') || name.includes('bias') || name.includes('stereo') || name.includes('bbq') || name.includes('celeb') || name.includes('winobias')) {
|
| 181 |
return 'Fairness'
|
| 182 |
}
|
| 183 |
-
|
|
|
|
|
|
|
| 184 |
return 'Safety'
|
| 185 |
}
|
| 186 |
if (name.includes('leakage') || name.includes('contamination')) {
|
|
@@ -207,10 +233,10 @@ export function inferCategoryFromBenchmark(benchmarkName: string): CategoryType
|
|
| 207 |
if (name.includes('retrain') || name.includes('forgetting')) {
|
| 208 |
return 'Retrainability'
|
| 209 |
}
|
| 210 |
-
if (name.includes('meta') || name.includes('few-shot') || name.includes('
|
| 211 |
return 'Meta-Learning'
|
| 212 |
}
|
| 213 |
-
if (name.includes('mt-bench') || name.includes('quality') || name.includes('
|
| 214 |
return 'Core Quality Dimensions'
|
| 215 |
}
|
| 216 |
|
|
@@ -314,3 +340,67 @@ export interface EvaluationCardData {
|
|
| 314 |
inference_engine?: string
|
| 315 |
inference_platform?: string
|
| 316 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 167 |
|
| 168 |
export type CategoryType = typeof EVALUATION_CATEGORIES[number]
|
| 169 |
|
| 170 |
+
/**
|
| 171 |
+
* Returns Tailwind badge classes for a given category
|
| 172 |
+
*/
|
| 173 |
+
export function getCategoryColor(category: CategoryType): string {
|
| 174 |
+
switch (category) {
|
| 175 |
+
case 'Safety':
|
| 176 |
+
return 'bg-rose-100 text-rose-800 border-rose-200 dark:bg-rose-950/40 dark:text-rose-200'
|
| 177 |
+
case 'Fairness':
|
| 178 |
+
return 'bg-amber-100 text-amber-800 border-amber-200 dark:bg-amber-950/40 dark:text-amber-200'
|
| 179 |
+
case 'Adversarial':
|
| 180 |
+
return 'bg-orange-100 text-orange-800 border-orange-200 dark:bg-orange-950/40 dark:text-orange-200'
|
| 181 |
+
case 'Privacy':
|
| 182 |
+
return 'bg-violet-100 text-violet-800 border-violet-200 dark:bg-violet-950/40 dark:text-violet-200'
|
| 183 |
+
case 'Robustness':
|
| 184 |
+
return 'bg-emerald-100 text-emerald-800 border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-200'
|
| 185 |
+
case 'Leakage/Contamination':
|
| 186 |
+
return 'bg-red-100 text-red-800 border-red-200 dark:bg-red-950/40 dark:text-red-200'
|
| 187 |
+
case 'Core Performance':
|
| 188 |
+
return 'bg-sky-100 text-sky-800 border-sky-200 dark:bg-sky-950/40 dark:text-sky-200'
|
| 189 |
+
default:
|
| 190 |
+
return 'bg-muted text-muted-foreground border-border'
|
| 191 |
+
}
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
/**
|
| 195 |
* Helper to determine category from benchmark name
|
| 196 |
*/
|
| 197 |
export function inferCategoryFromBenchmark(benchmarkName: string): CategoryType {
|
| 198 |
const name = benchmarkName.toLowerCase()
|
| 199 |
+
|
| 200 |
// Category mappings
|
| 201 |
if (name.includes('advglue') || name.includes('jailbreak') || name.includes('attack') || name.includes('adversarial') || name.includes('red-team')) {
|
| 202 |
return 'Adversarial'
|
|
|
|
| 204 |
if (name.includes('fairness') || name.includes('bias') || name.includes('stereo') || name.includes('bbq') || name.includes('celeb') || name.includes('winobias')) {
|
| 205 |
return 'Fairness'
|
| 206 |
}
|
| 207 |
+
// CivilComments is a toxicity/bias classification benchmark → Safety
|
| 208 |
+
if (name.includes('safety') || name.includes('harmful') || name.includes('toxic') || name.includes('truthful') || name.includes('unsafe')
|
| 209 |
+
|| name === 'civilcomments' || name.includes('civil_comments') || name.includes('civil comments')) {
|
| 210 |
return 'Safety'
|
| 211 |
}
|
| 212 |
if (name.includes('leakage') || name.includes('contamination')) {
|
|
|
|
| 233 |
if (name.includes('retrain') || name.includes('forgetting')) {
|
| 234 |
return 'Retrainability'
|
| 235 |
}
|
| 236 |
+
if (name.includes('meta-learning') || name.includes('meta learning') || name.includes('metalearning') || name.includes('few-shot') || name.includes('in-context')) {
|
| 237 |
return 'Meta-Learning'
|
| 238 |
}
|
| 239 |
+
if (name.includes('mt-bench') || name.includes('quality') || name.includes('humaneval') || name.includes('hallucination') || name.includes('factuality') || name.includes('factscore')) {
|
| 240 |
return 'Core Quality Dimensions'
|
| 241 |
}
|
| 242 |
|
|
|
|
| 340 |
inference_engine?: string
|
| 341 |
inference_platform?: string
|
| 342 |
}
|
| 343 |
+
|
| 344 |
+
// ── Benchmark Card types (from metadata/benchmark_card_*.json) ────────────────
|
| 345 |
+
|
| 346 |
+
export interface BenchmarkCardDetails {
|
| 347 |
+
name: string
|
| 348 |
+
overview: string
|
| 349 |
+
data_type: string
|
| 350 |
+
domains: string[]
|
| 351 |
+
languages: string[]
|
| 352 |
+
similar_benchmarks: string[] | string
|
| 353 |
+
resources: string[]
|
| 354 |
+
}
|
| 355 |
+
|
| 356 |
+
export interface BenchmarkCardPurpose {
|
| 357 |
+
goal: string
|
| 358 |
+
audience: string[] | string
|
| 359 |
+
tasks: string[]
|
| 360 |
+
limitations: string
|
| 361 |
+
out_of_scope_uses: string[] | string
|
| 362 |
+
}
|
| 363 |
+
|
| 364 |
+
export interface BenchmarkCardData {
|
| 365 |
+
source: string
|
| 366 |
+
size: string
|
| 367 |
+
format: string
|
| 368 |
+
annotation: string
|
| 369 |
+
}
|
| 370 |
+
|
| 371 |
+
export interface BenchmarkCardMethodology {
|
| 372 |
+
methods: string[]
|
| 373 |
+
metrics: string[]
|
| 374 |
+
calculation: string
|
| 375 |
+
interpretation: string
|
| 376 |
+
baseline_results: string
|
| 377 |
+
validation: string
|
| 378 |
+
}
|
| 379 |
+
|
| 380 |
+
export interface BenchmarkCardEthical {
|
| 381 |
+
privacy_and_anonymity: string
|
| 382 |
+
data_licensing: string
|
| 383 |
+
consent_procedures: string
|
| 384 |
+
compliance_with_regulations: string
|
| 385 |
+
}
|
| 386 |
+
|
| 387 |
+
export interface BenchmarkCardRisk {
|
| 388 |
+
category: string
|
| 389 |
+
description: string[]
|
| 390 |
+
url: string
|
| 391 |
+
}
|
| 392 |
+
|
| 393 |
+
export interface BenchmarkCard {
|
| 394 |
+
benchmark_details: BenchmarkCardDetails
|
| 395 |
+
purpose_and_intended_users: BenchmarkCardPurpose
|
| 396 |
+
data: BenchmarkCardData
|
| 397 |
+
methodology: BenchmarkCardMethodology
|
| 398 |
+
ethical_and_legal_considerations: BenchmarkCardEthical
|
| 399 |
+
possible_risks: BenchmarkCardRisk[]
|
| 400 |
+
flagged_fields: Record<string, string>
|
| 401 |
+
missing_fields: string[]
|
| 402 |
+
card_info: {
|
| 403 |
+
created_at: string
|
| 404 |
+
llm: string
|
| 405 |
+
}
|
| 406 |
+
}
|
lib/dashboard-data-client.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
import type { BenchmarkEvaluationCardData } from "@/components/benchmark-evaluation-card"
|
| 2 |
import type {
|
|
|
|
| 3 |
BenchmarkEvalListItem,
|
| 4 |
BenchmarkEvalSummary,
|
| 5 |
ModelEvaluationSummary,
|
|
@@ -83,3 +84,7 @@ export function fetchDeveloperSummary(developerId: string) {
|
|
| 83 |
`/api/developer-summary?id=${encodeURIComponent(developerId)}`
|
| 84 |
)
|
| 85 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import type { BenchmarkEvaluationCardData } from "@/components/benchmark-evaluation-card"
|
| 2 |
import type {
|
| 3 |
+
BenchmarkCard,
|
| 4 |
BenchmarkEvalListItem,
|
| 5 |
BenchmarkEvalSummary,
|
| 6 |
ModelEvaluationSummary,
|
|
|
|
| 84 |
`/api/developer-summary?id=${encodeURIComponent(developerId)}`
|
| 85 |
)
|
| 86 |
}
|
| 87 |
+
|
| 88 |
+
export function fetchBenchmarkMetadata() {
|
| 89 |
+
return fetchJson<Record<string, BenchmarkCard>>("/api/benchmark-metadata")
|
| 90 |
+
}
|
lib/eval-processing.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
*/
|
| 4 |
|
| 5 |
import type {
|
|
|
|
| 6 |
BenchmarkEvaluation,
|
| 7 |
EvaluationCardData,
|
| 8 |
CategoryType,
|
|
@@ -16,6 +17,8 @@ import type {
|
|
| 16 |
import type { ModelEvaluationSummary } from './benchmark-schema'
|
| 17 |
import type { ModelSummaryCore } from './benchmark-schema'
|
| 18 |
import { inferCategoryFromBenchmark, EVALUATION_CATEGORIES } from './benchmark-schema'
|
|
|
|
|
|
|
| 19 |
import { getCanonicalModelIdentity, getModelFamilyRouteId } from './model-family'
|
| 20 |
|
| 21 |
export type { ModelEvaluationSummary }
|
|
@@ -111,6 +114,18 @@ export interface ModelResultForBenchmark {
|
|
| 111 |
source_metadata: SourceMetadata
|
| 112 |
source_data: BenchmarkEvaluation['source_data']
|
| 113 |
result: EvaluationResult
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
}
|
| 115 |
|
| 116 |
export interface BenchmarkEvalSummary {
|
|
@@ -135,6 +150,16 @@ export interface BenchmarkEvalSummary {
|
|
| 135 |
avg_score: number
|
| 136 |
/** avg_score normalised to 0-1 using metric_config.min/max_score */
|
| 137 |
avg_score_norm: number
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 138 |
}
|
| 139 |
|
| 140 |
export type BenchmarkEvalListItem = Omit<BenchmarkEvalSummary, "model_results">
|
|
|
|
| 3 |
*/
|
| 4 |
|
| 5 |
import type {
|
| 6 |
+
BenchmarkCard,
|
| 7 |
BenchmarkEvaluation,
|
| 8 |
EvaluationCardData,
|
| 9 |
CategoryType,
|
|
|
|
| 17 |
import type { ModelEvaluationSummary } from './benchmark-schema'
|
| 18 |
import type { ModelSummaryCore } from './benchmark-schema'
|
| 19 |
import { inferCategoryFromBenchmark, EVALUATION_CATEGORIES } from './benchmark-schema'
|
| 20 |
+
|
| 21 |
+
export type { BenchmarkCard }
|
| 22 |
import { getCanonicalModelIdentity, getModelFamilyRouteId } from './model-family'
|
| 23 |
|
| 24 |
export type { ModelEvaluationSummary }
|
|
|
|
| 114 |
source_metadata: SourceMetadata
|
| 115 |
source_data: BenchmarkEvaluation['source_data']
|
| 116 |
result: EvaluationResult
|
| 117 |
+
aggregate_components?: Array<{
|
| 118 |
+
evaluation_id: string
|
| 119 |
+
composite_benchmark_key: string
|
| 120 |
+
composite_benchmark_name: string
|
| 121 |
+
score: number
|
| 122 |
+
normalized_score: number
|
| 123 |
+
evaluation_timestamp: string
|
| 124 |
+
source_name?: string
|
| 125 |
+
source_type: SourceMetadata["source_type"]
|
| 126 |
+
source_organization_name: string
|
| 127 |
+
evaluator_relationship: SourceMetadata["evaluator_relationship"]
|
| 128 |
+
}>
|
| 129 |
}
|
| 130 |
|
| 131 |
export interface BenchmarkEvalSummary {
|
|
|
|
| 150 |
avg_score: number
|
| 151 |
/** avg_score normalised to 0-1 using metric_config.min/max_score */
|
| 152 |
avg_score_norm: number
|
| 153 |
+
/** Rich benchmark card from the metadata/ folder, when available */
|
| 154 |
+
benchmark_card?: BenchmarkCard
|
| 155 |
+
is_aggregated?: boolean
|
| 156 |
+
aggregate_sources?: Array<{
|
| 157 |
+
evaluation_id: string
|
| 158 |
+
composite_benchmark_key: string
|
| 159 |
+
composite_benchmark_name: string
|
| 160 |
+
models_count: number
|
| 161 |
+
avg_score_norm: number
|
| 162 |
+
}>
|
| 163 |
}
|
| 164 |
|
| 165 |
export type BenchmarkEvalListItem = Omit<BenchmarkEvalSummary, "model_results">
|
lib/model-data.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { promises as fs } from "fs"
|
|
| 4 |
import path from "path"
|
| 5 |
|
| 6 |
import type {
|
|
|
|
| 7 |
BenchmarkEvaluation,
|
| 8 |
EvalLibrary,
|
| 9 |
EvaluationResult,
|
|
@@ -15,8 +16,11 @@ import type {
|
|
| 15 |
SourceMetadata,
|
| 16 |
} from "@/lib/benchmark-schema"
|
| 17 |
import { inferCategoryFromBenchmark } from "@/lib/benchmark-schema"
|
|
|
|
| 18 |
import {
|
| 19 |
type BenchmarkEvalListItem,
|
|
|
|
|
|
|
| 20 |
createEvaluationCard,
|
| 21 |
createModelFamilySummary,
|
| 22 |
groupEvaluationsByBenchmark,
|
|
@@ -25,6 +29,7 @@ import {
|
|
| 25 |
toBenchmarkEvalListItem,
|
| 26 |
} from "@/lib/eval-processing"
|
| 27 |
import { getCanonicalModelIdentity, getModelFamilyRouteId, normalizeModelInfo } from "@/lib/model-family"
|
|
|
|
| 28 |
|
| 29 |
interface RawModelFile {
|
| 30 |
model_info: ModelInfo
|
|
@@ -48,6 +53,86 @@ interface RawEvaluationResult
|
|
| 48 |
evaluation_timestamp?: string
|
| 49 |
}
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
interface IndexedModelSummary {
|
| 52 |
id: string
|
| 53 |
name: string
|
|
@@ -62,6 +147,7 @@ interface IndexedBenchmarkEntry {
|
|
| 62 |
}
|
| 63 |
|
| 64 |
interface IndexedBenchmarkDetail {
|
|
|
|
| 65 |
models: Array<{
|
| 66 |
model_id: string
|
| 67 |
name: string
|
|
@@ -254,6 +340,223 @@ function slugifyEvalId(value: string) {
|
|
| 254 |
return value.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "")
|
| 255 |
}
|
| 256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 257 |
function inferMetricConfig(scores: number[], benchmark: string, metric: string): MetricConfig {
|
| 258 |
const finiteScores = scores.filter((score) => Number.isFinite(score))
|
| 259 |
const maxScore = finiteScores.length > 0 ? Math.max(...finiteScores) : 1
|
|
@@ -343,6 +646,7 @@ async function buildEvalListDataFromBenchmarkIndexes(): Promise<{
|
|
| 343 |
worst_model: null,
|
| 344 |
avg_score: avgScore,
|
| 345 |
avg_score_norm: range > 0 ? (avgScore - minScore) / range : 0,
|
|
|
|
| 346 |
})
|
| 347 |
}
|
| 348 |
}
|
|
@@ -420,7 +724,7 @@ async function loadEvaluationsForModelId(modelId: string) {
|
|
| 420 |
continue
|
| 421 |
}
|
| 422 |
|
| 423 |
-
return raw.evaluations.map((evaluation) =>
|
| 424 |
normalizeEvaluation(raw.model_info, evaluation)
|
| 425 |
)
|
| 426 |
}
|
|
@@ -591,7 +895,7 @@ async function readAllEvaluationsFromDataDirectory(): Promise<BenchmarkEvaluatio
|
|
| 591 |
return []
|
| 592 |
}
|
| 593 |
|
| 594 |
-
return raw.evaluations.map((evaluation) =>
|
| 595 |
normalizeEvaluation(raw.model_info, evaluation)
|
| 596 |
)
|
| 597 |
} catch (error) {
|
|
@@ -630,6 +934,7 @@ export async function getModelCards() {
|
|
| 630 |
|
| 631 |
export async function getEvalListData() {
|
| 632 |
const indexed = await buildEvalListDataFromBenchmarkIndexes()
|
|
|
|
| 633 |
if (indexed) {
|
| 634 |
return indexed
|
| 635 |
}
|
|
@@ -638,10 +943,16 @@ export async function getEvalListData() {
|
|
| 638 |
const summaries = Object.values(groupEvaluationsByBenchmark(evaluations))
|
| 639 |
const totalModels = Object.keys(groupEvaluationsByModelFamily(evaluations)).length
|
| 640 |
|
| 641 |
-
|
| 642 |
-
|
| 643 |
-
|
| 644 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 645 |
}
|
| 646 |
|
| 647 |
export async function getEvalList() {
|
|
@@ -758,10 +1069,10 @@ export async function getDeveloperSummaryById(routeId: string) {
|
|
| 758 |
benchmark_scores: Object.fromEntries(
|
| 759 |
items.flatMap((evaluation) =>
|
| 760 |
evaluation.evaluation_results
|
| 761 |
-
.
|
| 762 |
const score = result.score_details?.score
|
| 763 |
if (!Number.isFinite(score)) {
|
| 764 |
-
return
|
| 765 |
}
|
| 766 |
|
| 767 |
const benchmarkName =
|
|
@@ -769,9 +1080,8 @@ export async function getDeveloperSummaryById(routeId: string) {
|
|
| 769 |
? result.source_data.dataset_name
|
| 770 |
: evaluation.benchmark ?? result.evaluation_name
|
| 771 |
|
| 772 |
-
return [[`${benchmarkName}/${result.evaluation_name}`, score]
|
| 773 |
})
|
| 774 |
-
.filter((entry): entry is readonly [string, number][] => entry !== null)
|
| 775 |
),
|
| 776 |
),
|
| 777 |
}))
|
|
@@ -839,6 +1149,23 @@ export async function getModelSummaryById(modelId: string) {
|
|
| 839 |
export async function getEvalSummaryById(evalId: string) {
|
| 840 |
const evaluations = await loadAllEvaluationsFromDataDirectory()
|
| 841 |
const grouped = groupEvaluationsByBenchmark(evaluations)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 842 |
|
| 843 |
-
return
|
| 844 |
}
|
|
|
|
| 4 |
import path from "path"
|
| 5 |
|
| 6 |
import type {
|
| 7 |
+
BenchmarkCard,
|
| 8 |
BenchmarkEvaluation,
|
| 9 |
EvalLibrary,
|
| 10 |
EvaluationResult,
|
|
|
|
| 16 |
SourceMetadata,
|
| 17 |
} from "@/lib/benchmark-schema"
|
| 18 |
import { inferCategoryFromBenchmark } from "@/lib/benchmark-schema"
|
| 19 |
+
import { lookupBenchmarkCard } from "@/lib/benchmark-metadata-utils"
|
| 20 |
import {
|
| 21 |
type BenchmarkEvalListItem,
|
| 22 |
+
type BenchmarkEvalSummary,
|
| 23 |
+
type ModelResultForBenchmark,
|
| 24 |
createEvaluationCard,
|
| 25 |
createModelFamilySummary,
|
| 26 |
groupEvaluationsByBenchmark,
|
|
|
|
| 29 |
toBenchmarkEvalListItem,
|
| 30 |
} from "@/lib/eval-processing"
|
| 31 |
import { getCanonicalModelIdentity, getModelFamilyRouteId, normalizeModelInfo } from "@/lib/model-family"
|
| 32 |
+
import { getBenchmarkCard, normalizeBenchmarkKey } from "@/lib/benchmark-metadata"
|
| 33 |
|
| 34 |
interface RawModelFile {
|
| 35 |
model_info: ModelInfo
|
|
|
|
| 53 |
evaluation_timestamp?: string
|
| 54 |
}
|
| 55 |
|
| 56 |
+
function getSourceDataSignature(sourceData?: string[] | SourceData) {
|
| 57 |
+
if (!sourceData) {
|
| 58 |
+
return ""
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
if (Array.isArray(sourceData)) {
|
| 62 |
+
return sourceData.join("|")
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
return [
|
| 66 |
+
sourceData.dataset_name,
|
| 67 |
+
sourceData.source_type,
|
| 68 |
+
sourceData.hf_repo,
|
| 69 |
+
sourceData.external_link,
|
| 70 |
+
]
|
| 71 |
+
.filter(Boolean)
|
| 72 |
+
.join("|")
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
function getRawEvaluationResultKey(result: RawEvaluationResult) {
|
| 76 |
+
return [result.evaluation_name.trim().toLowerCase(), getSourceDataSignature(result.source_data)].join("::")
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
function mergeRawEvaluationResults(results: RawEvaluationResult[]) {
|
| 80 |
+
const merged = new Map<string, RawEvaluationResult>()
|
| 81 |
+
|
| 82 |
+
for (const result of results) {
|
| 83 |
+
merged.set(getRawEvaluationResultKey(result), result)
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
return Array.from(merged.values())
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
function getRawEvaluationKey(evaluation: RawEvaluation) {
|
| 90 |
+
return [
|
| 91 |
+
evaluation.evaluation_id,
|
| 92 |
+
evaluation.retrieved_timestamp,
|
| 93 |
+
evaluation.benchmark,
|
| 94 |
+
evaluation.source_metadata.source_name,
|
| 95 |
+
evaluation.source_metadata.source_type,
|
| 96 |
+
evaluation.source_metadata.source_organization_name,
|
| 97 |
+
evaluation.source_metadata.evaluator_relationship,
|
| 98 |
+
]
|
| 99 |
+
.filter(Boolean)
|
| 100 |
+
.join("::")
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
function dedupeRawEvaluations(evaluations: RawEvaluation[]) {
|
| 104 |
+
const merged = new Map<string, RawEvaluation>()
|
| 105 |
+
|
| 106 |
+
for (const evaluation of evaluations) {
|
| 107 |
+
const key = getRawEvaluationKey(evaluation)
|
| 108 |
+
const existing = merged.get(key)
|
| 109 |
+
|
| 110 |
+
if (!existing) {
|
| 111 |
+
merged.set(key, {
|
| 112 |
+
...evaluation,
|
| 113 |
+
evaluation_results: mergeRawEvaluationResults(evaluation.evaluation_results),
|
| 114 |
+
})
|
| 115 |
+
continue
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
merged.set(key, {
|
| 119 |
+
...existing,
|
| 120 |
+
...evaluation,
|
| 121 |
+
source_data: evaluation.source_data ?? existing.source_data,
|
| 122 |
+
eval_library: evaluation.eval_library ?? existing.eval_library,
|
| 123 |
+
detailed_evaluation_results:
|
| 124 |
+
evaluation.detailed_evaluation_results ?? existing.detailed_evaluation_results,
|
| 125 |
+
generation_config: evaluation.generation_config ?? existing.generation_config,
|
| 126 |
+
evaluation_results: mergeRawEvaluationResults([
|
| 127 |
+
...existing.evaluation_results,
|
| 128 |
+
...evaluation.evaluation_results,
|
| 129 |
+
]),
|
| 130 |
+
})
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
return Array.from(merged.values())
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
interface IndexedModelSummary {
|
| 137 |
id: string
|
| 138 |
name: string
|
|
|
|
| 147 |
}
|
| 148 |
|
| 149 |
interface IndexedBenchmarkDetail {
|
| 150 |
+
benchmark_cards?: Record<string, BenchmarkCard>
|
| 151 |
models: Array<{
|
| 152 |
model_id: string
|
| 153 |
name: string
|
|
|
|
| 340 |
return value.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "")
|
| 341 |
}
|
| 342 |
|
| 343 |
+
function getAggregateEvalId(value: string) {
|
| 344 |
+
return `aggregate__${slugifyEvalId(value)}`
|
| 345 |
+
}
|
| 346 |
+
|
| 347 |
+
function normalizeEvalTimestamp(value: string) {
|
| 348 |
+
const numericTimestamp = Number(value)
|
| 349 |
+
return !Number.isNaN(numericTimestamp) && !value.includes("-")
|
| 350 |
+
? numericTimestamp * 1000
|
| 351 |
+
: new Date(value).getTime()
|
| 352 |
+
}
|
| 353 |
+
|
| 354 |
+
function normalizeSummaryScore(summary: BenchmarkEvalSummary, score: number) {
|
| 355 |
+
const maxScore = summary.metric_config.max_score ?? 1
|
| 356 |
+
const minScore = summary.metric_config.min_score ?? 0
|
| 357 |
+
const range = maxScore - minScore
|
| 358 |
+
return range > 0 ? (score - minScore) / range : score
|
| 359 |
+
}
|
| 360 |
+
|
| 361 |
+
async function attachBenchmarkCardToSummary(summary: BenchmarkEvalSummary): Promise<BenchmarkEvalSummary> {
|
| 362 |
+
if (summary.benchmark_card) {
|
| 363 |
+
return summary
|
| 364 |
+
}
|
| 365 |
+
|
| 366 |
+
const cardCandidates = [
|
| 367 |
+
summary.evaluation_name,
|
| 368 |
+
summary.composite_benchmark_name,
|
| 369 |
+
summary.composite_benchmark_key,
|
| 370 |
+
]
|
| 371 |
+
|
| 372 |
+
for (const candidate of cardCandidates) {
|
| 373 |
+
const card = await getBenchmarkCard(candidate)
|
| 374 |
+
if (card) {
|
| 375 |
+
return { ...summary, benchmark_card: card }
|
| 376 |
+
}
|
| 377 |
+
}
|
| 378 |
+
|
| 379 |
+
return summary
|
| 380 |
+
}
|
| 381 |
+
|
| 382 |
+
function aggregateBenchmarkSummaries(
|
| 383 |
+
summaries: BenchmarkEvalSummary[],
|
| 384 |
+
aggregationKey: string
|
| 385 |
+
): BenchmarkEvalSummary | null {
|
| 386 |
+
if (summaries.length === 0) {
|
| 387 |
+
return null
|
| 388 |
+
}
|
| 389 |
+
|
| 390 |
+
const first = summaries[0]
|
| 391 |
+
const card = first.benchmark_card
|
| 392 |
+
const aggregateSources = Array.from(
|
| 393 |
+
new Map(
|
| 394 |
+
summaries.map((summary) => [
|
| 395 |
+
summary.evaluation_id,
|
| 396 |
+
{
|
| 397 |
+
evaluation_id: summary.evaluation_id,
|
| 398 |
+
composite_benchmark_key: summary.composite_benchmark_key,
|
| 399 |
+
composite_benchmark_name: summary.composite_benchmark_name,
|
| 400 |
+
models_count: summary.models_count,
|
| 401 |
+
avg_score_norm: summary.avg_score_norm,
|
| 402 |
+
},
|
| 403 |
+
])
|
| 404 |
+
).values()
|
| 405 |
+
).sort((a, b) => a.composite_benchmark_name.localeCompare(b.composite_benchmark_name))
|
| 406 |
+
|
| 407 |
+
const modelBuckets = new Map<
|
| 408 |
+
string,
|
| 409 |
+
{
|
| 410 |
+
model_info: ModelResultForBenchmark["model_info"]
|
| 411 |
+
components: Array<{
|
| 412 |
+
summary: BenchmarkEvalSummary
|
| 413 |
+
modelResult: ModelResultForBenchmark
|
| 414 |
+
}>
|
| 415 |
+
}
|
| 416 |
+
>()
|
| 417 |
+
|
| 418 |
+
for (const summary of summaries) {
|
| 419 |
+
for (const modelResult of summary.model_results) {
|
| 420 |
+
const existing = modelBuckets.get(modelResult.model_info.id) ?? {
|
| 421 |
+
model_info: modelResult.model_info,
|
| 422 |
+
components: [],
|
| 423 |
+
}
|
| 424 |
+
existing.components.push({ summary, modelResult })
|
| 425 |
+
modelBuckets.set(modelResult.model_info.id, existing)
|
| 426 |
+
}
|
| 427 |
+
}
|
| 428 |
+
|
| 429 |
+
const aggregateMetricConfig = {
|
| 430 |
+
...first.metric_config,
|
| 431 |
+
evaluation_description:
|
| 432 |
+
aggregateSources.length > 1
|
| 433 |
+
? `Average normalized score across ${aggregateSources
|
| 434 |
+
.map((source) => source.composite_benchmark_name)
|
| 435 |
+
.join(", ")}`
|
| 436 |
+
: first.metric_config.evaluation_description,
|
| 437 |
+
min_score: 0,
|
| 438 |
+
max_score: 1,
|
| 439 |
+
unit: "normalized average",
|
| 440 |
+
} as const
|
| 441 |
+
|
| 442 |
+
const aggregatedModelResults: ModelResultForBenchmark[] = Array.from(modelBuckets.values()).map(
|
| 443 |
+
({ model_info, components }) => {
|
| 444 |
+
const normalizedScores = components.map(({ summary, modelResult }) =>
|
| 445 |
+
normalizeSummaryScore(summary, modelResult.score)
|
| 446 |
+
)
|
| 447 |
+
const avgNormalizedScore =
|
| 448 |
+
normalizedScores.reduce((sum, score) => sum + score, 0) / normalizedScores.length
|
| 449 |
+
|
| 450 |
+
const latestComponent = [...components].sort(
|
| 451 |
+
(a, b) =>
|
| 452 |
+
normalizeEvalTimestamp(b.modelResult.evaluation_timestamp) -
|
| 453 |
+
normalizeEvalTimestamp(a.modelResult.evaluation_timestamp)
|
| 454 |
+
)[0]
|
| 455 |
+
|
| 456 |
+
const aggregateComponents = components
|
| 457 |
+
.map(({ summary, modelResult }) => ({
|
| 458 |
+
evaluation_id: summary.evaluation_id,
|
| 459 |
+
composite_benchmark_key: summary.composite_benchmark_key,
|
| 460 |
+
composite_benchmark_name: summary.composite_benchmark_name,
|
| 461 |
+
score: modelResult.score,
|
| 462 |
+
normalized_score: normalizeSummaryScore(summary, modelResult.score),
|
| 463 |
+
evaluation_timestamp: modelResult.evaluation_timestamp,
|
| 464 |
+
source_name: modelResult.source_metadata.source_name,
|
| 465 |
+
source_type: modelResult.source_metadata.source_type,
|
| 466 |
+
source_organization_name: modelResult.source_metadata.source_organization_name,
|
| 467 |
+
evaluator_relationship: modelResult.source_metadata.evaluator_relationship,
|
| 468 |
+
}))
|
| 469 |
+
.sort((a, b) => a.composite_benchmark_name.localeCompare(b.composite_benchmark_name))
|
| 470 |
+
|
| 471 |
+
return {
|
| 472 |
+
model_info,
|
| 473 |
+
score: avgNormalizedScore,
|
| 474 |
+
score_details: {
|
| 475 |
+
score: avgNormalizedScore,
|
| 476 |
+
sample_size: components.reduce(
|
| 477 |
+
(sum, { modelResult }) => sum + (modelResult.score_details.sample_size ?? 0),
|
| 478 |
+
0
|
| 479 |
+
) || undefined,
|
| 480 |
+
},
|
| 481 |
+
evaluation_timestamp: latestComponent.modelResult.evaluation_timestamp,
|
| 482 |
+
source_metadata: latestComponent.modelResult.source_metadata,
|
| 483 |
+
source_data: latestComponent.modelResult.source_data,
|
| 484 |
+
result: {
|
| 485 |
+
...latestComponent.modelResult.result,
|
| 486 |
+
evaluation_name: card?.benchmark_details?.name ?? first.evaluation_name,
|
| 487 |
+
metric_config: aggregateMetricConfig,
|
| 488 |
+
score_details: {
|
| 489 |
+
score: avgNormalizedScore,
|
| 490 |
+
},
|
| 491 |
+
},
|
| 492 |
+
aggregate_components: aggregateComponents,
|
| 493 |
+
}
|
| 494 |
+
}
|
| 495 |
+
)
|
| 496 |
+
|
| 497 |
+
const lowerIsBetter = first.metric_config.lower_is_better
|
| 498 |
+
aggregatedModelResults.sort((a, b) => (lowerIsBetter ? a.score - b.score : b.score - a.score))
|
| 499 |
+
|
| 500 |
+
const avgScore =
|
| 501 |
+
aggregatedModelResults.reduce((sum, modelResult) => sum + modelResult.score, 0) /
|
| 502 |
+
aggregatedModelResults.length
|
| 503 |
+
|
| 504 |
+
const evaluatorNames = Array.from(
|
| 505 |
+
new Set(summaries.flatMap((summary) => summary.evaluator_names))
|
| 506 |
+
).sort((a, b) => a.localeCompare(b))
|
| 507 |
+
|
| 508 |
+
const sourceTypes = Array.from(
|
| 509 |
+
new Set(summaries.flatMap((summary) => summary.source_types))
|
| 510 |
+
).sort((a, b) => a.localeCompare(b))
|
| 511 |
+
|
| 512 |
+
const totalUnderlyingResults = summaries.reduce((sum, summary) => sum + summary.model_results.length, 0)
|
| 513 |
+
const totalThirdPartyResults = summaries.reduce(
|
| 514 |
+
(sum, summary) => sum + summary.model_results.filter((result) => result.source_metadata.evaluator_relationship === "third_party").length,
|
| 515 |
+
0
|
| 516 |
+
)
|
| 517 |
+
|
| 518 |
+
return {
|
| 519 |
+
evaluation_name: card?.benchmark_details?.name ?? first.evaluation_name,
|
| 520 |
+
evaluation_id: getAggregateEvalId(aggregationKey),
|
| 521 |
+
composite_benchmark_key:
|
| 522 |
+
aggregateSources.length === 1 ? aggregateSources[0].composite_benchmark_key : "multiple",
|
| 523 |
+
composite_benchmark_name:
|
| 524 |
+
aggregateSources.length === 1
|
| 525 |
+
? aggregateSources[0].composite_benchmark_name
|
| 526 |
+
: `${aggregateSources.length} composite benchmarks`,
|
| 527 |
+
category: first.category,
|
| 528 |
+
metric_config: aggregateMetricConfig,
|
| 529 |
+
factsheet: first.factsheet,
|
| 530 |
+
model_results: aggregatedModelResults,
|
| 531 |
+
models_count: aggregatedModelResults.length,
|
| 532 |
+
evaluator_names: evaluatorNames,
|
| 533 |
+
source_types: sourceTypes,
|
| 534 |
+
latest_source_name:
|
| 535 |
+
aggregateSources.length === 1 ? aggregateSources[0].composite_benchmark_name : "Multiple sources",
|
| 536 |
+
third_party_ratio: totalUnderlyingResults > 0 ? totalThirdPartyResults / totalUnderlyingResults : 0,
|
| 537 |
+
missing_generation_config_count: summaries.reduce(
|
| 538 |
+
(sum, summary) => sum + summary.missing_generation_config_count,
|
| 539 |
+
0
|
| 540 |
+
),
|
| 541 |
+
best_model:
|
| 542 |
+
aggregatedModelResults.length > 0
|
| 543 |
+
? { name: aggregatedModelResults[0].model_info.name, score: aggregatedModelResults[0].score }
|
| 544 |
+
: null,
|
| 545 |
+
worst_model:
|
| 546 |
+
aggregatedModelResults.length > 0
|
| 547 |
+
? {
|
| 548 |
+
name: aggregatedModelResults[aggregatedModelResults.length - 1].model_info.name,
|
| 549 |
+
score: aggregatedModelResults[aggregatedModelResults.length - 1].score,
|
| 550 |
+
}
|
| 551 |
+
: null,
|
| 552 |
+
avg_score: avgScore,
|
| 553 |
+
avg_score_norm: avgScore,
|
| 554 |
+
benchmark_card: card,
|
| 555 |
+
is_aggregated: true,
|
| 556 |
+
aggregate_sources: aggregateSources,
|
| 557 |
+
}
|
| 558 |
+
}
|
| 559 |
+
|
| 560 |
function inferMetricConfig(scores: number[], benchmark: string, metric: string): MetricConfig {
|
| 561 |
const finiteScores = scores.filter((score) => Number.isFinite(score))
|
| 562 |
const maxScore = finiteScores.length > 0 ? Math.max(...finiteScores) : 1
|
|
|
|
| 646 |
worst_model: null,
|
| 647 |
avg_score: avgScore,
|
| 648 |
avg_score_norm: range > 0 ? (avgScore - minScore) / range : 0,
|
| 649 |
+
benchmark_card: lookupBenchmarkCard(detail.benchmark_cards ?? {}, metric),
|
| 650 |
})
|
| 651 |
}
|
| 652 |
}
|
|
|
|
| 724 |
continue
|
| 725 |
}
|
| 726 |
|
| 727 |
+
return dedupeRawEvaluations(raw.evaluations).map((evaluation) =>
|
| 728 |
normalizeEvaluation(raw.model_info, evaluation)
|
| 729 |
)
|
| 730 |
}
|
|
|
|
| 895 |
return []
|
| 896 |
}
|
| 897 |
|
| 898 |
+
return dedupeRawEvaluations(raw.evaluations).map((evaluation) =>
|
| 899 |
normalizeEvaluation(raw.model_info, evaluation)
|
| 900 |
)
|
| 901 |
} catch (error) {
|
|
|
|
| 934 |
|
| 935 |
export async function getEvalListData() {
|
| 936 |
const indexed = await buildEvalListDataFromBenchmarkIndexes()
|
| 937 |
+
|
| 938 |
if (indexed) {
|
| 939 |
return indexed
|
| 940 |
}
|
|
|
|
| 943 |
const summaries = Object.values(groupEvaluationsByBenchmark(evaluations))
|
| 944 |
const totalModels = Object.keys(groupEvaluationsByModelFamily(evaluations)).length
|
| 945 |
|
| 946 |
+
// Attach benchmark_card to each summary
|
| 947 |
+
const evalsWithCards = await Promise.all(
|
| 948 |
+
summaries.map(async (summary) => {
|
| 949 |
+
const card = await getBenchmarkCard(summary.composite_benchmark_key)
|
| 950 |
+
const listItem = toBenchmarkEvalListItem(summary)
|
| 951 |
+
return card ? { ...listItem, benchmark_card: card } : listItem
|
| 952 |
+
})
|
| 953 |
+
)
|
| 954 |
+
|
| 955 |
+
return { evals: evalsWithCards, totalModels }
|
| 956 |
}
|
| 957 |
|
| 958 |
export async function getEvalList() {
|
|
|
|
| 1069 |
benchmark_scores: Object.fromEntries(
|
| 1070 |
items.flatMap((evaluation) =>
|
| 1071 |
evaluation.evaluation_results
|
| 1072 |
+
.flatMap((result) => {
|
| 1073 |
const score = result.score_details?.score
|
| 1074 |
if (!Number.isFinite(score)) {
|
| 1075 |
+
return []
|
| 1076 |
}
|
| 1077 |
|
| 1078 |
const benchmarkName =
|
|
|
|
| 1080 |
? result.source_data.dataset_name
|
| 1081 |
: evaluation.benchmark ?? result.evaluation_name
|
| 1082 |
|
| 1083 |
+
return [[`${benchmarkName}/${result.evaluation_name}`, score] as const]
|
| 1084 |
})
|
|
|
|
| 1085 |
),
|
| 1086 |
),
|
| 1087 |
}))
|
|
|
|
| 1149 |
export async function getEvalSummaryById(evalId: string) {
|
| 1150 |
const evaluations = await loadAllEvaluationsFromDataDirectory()
|
| 1151 |
const grouped = groupEvaluationsByBenchmark(evaluations)
|
| 1152 |
+
const summariesWithCards = await Promise.all(
|
| 1153 |
+
Object.values(grouped).map((summary) => attachBenchmarkCardToSummary(summary))
|
| 1154 |
+
)
|
| 1155 |
+
|
| 1156 |
+
if (evalId.startsWith("aggregate__")) {
|
| 1157 |
+
const aggregateKey = evalId.replace(/^aggregate__/, "")
|
| 1158 |
+
const aggregateMembers = summariesWithCards.filter((summary) => {
|
| 1159 |
+
const cardName = summary.benchmark_card?.benchmark_details?.name
|
| 1160 |
+
return cardName ? slugifyEvalId(normalizeBenchmarkKey(cardName)) === aggregateKey : false
|
| 1161 |
+
})
|
| 1162 |
+
|
| 1163 |
+
return aggregateBenchmarkSummaries(aggregateMembers, aggregateKey)
|
| 1164 |
+
}
|
| 1165 |
+
|
| 1166 |
+
const summary = summariesWithCards.find((item) => item.evaluation_id === evalId) ?? null
|
| 1167 |
+
|
| 1168 |
+
if (!summary) return null
|
| 1169 |
|
| 1170 |
+
return summary
|
| 1171 |
}
|
metadata/benchmark_card_BoolQ.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "BoolQ",
|
| 5 |
+
"overview": "BoolQ is a benchmark that measures a model's ability to answer naturally occurring yes/no questions, framed as a reading comprehension task. The questions are generated in unprompted and unconstrained settings, often querying complex, non-factoid information and requiring difficult entailment-like inference. The dataset consists of a single task: answering yes/no questions given a supporting passage.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"natural language understanding",
|
| 9 |
+
"reading comprehension",
|
| 10 |
+
"natural language inference"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"MultiNLI",
|
| 17 |
+
"SNLI",
|
| 18 |
+
"QNLI",
|
| 19 |
+
"SQuAD 2.0",
|
| 20 |
+
"Natural Questions (NQ)",
|
| 21 |
+
"QQP",
|
| 22 |
+
"MS MARCO",
|
| 23 |
+
"RACE",
|
| 24 |
+
"bAbI stories"
|
| 25 |
+
],
|
| 26 |
+
"resources": [
|
| 27 |
+
"https://arxiv.org/abs/1905.10044",
|
| 28 |
+
"https://huggingface.co/datasets/google/boolq",
|
| 29 |
+
"https://goo.gl/boolq",
|
| 30 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 31 |
+
]
|
| 32 |
+
},
|
| 33 |
+
"purpose_and_intended_users": {
|
| 34 |
+
"goal": "To test models on their ability to answer naturally occurring yes/no questions, which are challenging and require complex inferential abilities beyond surface-level reasoning.",
|
| 35 |
+
"audience": [
|
| 36 |
+
"Researchers in natural language understanding and reading comprehension"
|
| 37 |
+
],
|
| 38 |
+
"tasks": [
|
| 39 |
+
"Yes/no question answering",
|
| 40 |
+
"Text-pair classification"
|
| 41 |
+
],
|
| 42 |
+
"limitations": "Annotation involved some errors and ambiguous cases. The use of singly-annotated examples is a trade-off for dataset size. Potential concerns about annotation artifacts are acknowledged.",
|
| 43 |
+
"out_of_scope_uses": "The paper does not explicitly state what the benchmark is not designed for."
|
| 44 |
+
},
|
| 45 |
+
"data": {
|
| 46 |
+
"source": "The data consists of naturally occurring yes/no questions authored by people who were not prompted to write specific question types and did not know the answers. The passages are excerpts from sources like Wikipedia.",
|
| 47 |
+
"size": "15,942 examples total, with 9,427 in the train split and 3,270 in the validation split. The dataset size category is between 10,000 and 100,000 examples.",
|
| 48 |
+
"format": "parquet",
|
| 49 |
+
"annotation": "Questions were answered by human annotators. A quality check on a subset showed the main annotation process achieved 90% accuracy against a gold-standard set labeled by three authors. The training, development, and test sets use singly-annotated examples."
|
| 50 |
+
},
|
| 51 |
+
"methodology": {
|
| 52 |
+
"methods": [
|
| 53 |
+
"Models are evaluated by fine-tuning on the BoolQ training set, potentially after transfer learning from other datasets or unsupervised pre-training. Zero-shot or direct use of pre-trained models without fine-tuning did not outperform the majority baseline.",
|
| 54 |
+
"The task requires providing a yes/no (boolean) answer to a question based on a given passage."
|
| 55 |
+
],
|
| 56 |
+
"metrics": [
|
| 57 |
+
"Accuracy"
|
| 58 |
+
],
|
| 59 |
+
"calculation": "The overall score is the accuracy percentage on the test set.",
|
| 60 |
+
"interpretation": "Higher accuracy indicates better performance. Human accuracy is 90%, and the majority baseline is approximately 62%.",
|
| 61 |
+
"baseline_results": "Paper baselines: Majority baseline: 62.17% dev, 62.31% test; Recurrent model baseline: 69.6%; Best model (BERT large pre-trained on MultiNLI then fine-tuned on BoolQ): 80.4% accuracy; Human accuracy: 90%. EEE results: Anthropic-LM v4-s3 52B: 81.5%.",
|
| 62 |
+
"validation": "Quality assurance involved author-led gold-standard annotation on a subset, showing 90% agreement. The development set was used for model selection, such as choosing the best model from five seeds based on its performance."
|
| 63 |
+
},
|
| 64 |
+
"ethical_and_legal_considerations": {
|
| 65 |
+
"privacy_and_anonymity": "Not specified",
|
| 66 |
+
"data_licensing": "cc-by-sa-3.0",
|
| 67 |
+
"consent_procedures": "Not specified",
|
| 68 |
+
"compliance_with_regulations": "Not specified"
|
| 69 |
+
},
|
| 70 |
+
"possible_risks": [
|
| 71 |
+
{
|
| 72 |
+
"category": "Over- or under-reliance",
|
| 73 |
+
"description": [
|
| 74 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 75 |
+
],
|
| 76 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"category": "Unrepresentative data",
|
| 80 |
+
"description": [
|
| 81 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 82 |
+
],
|
| 83 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"category": "Uncertain data provenance",
|
| 87 |
+
"description": [
|
| 88 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 89 |
+
],
|
| 90 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"category": "Data bias",
|
| 94 |
+
"description": [
|
| 95 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 96 |
+
],
|
| 97 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"category": "Lack of data transparency",
|
| 101 |
+
"description": [
|
| 102 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 103 |
+
],
|
| 104 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 105 |
+
}
|
| 106 |
+
],
|
| 107 |
+
"flagged_fields": {},
|
| 108 |
+
"missing_fields": [
|
| 109 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 110 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 111 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 112 |
+
],
|
| 113 |
+
"card_info": {
|
| 114 |
+
"created_at": "2026-03-17T15:08:51.830946",
|
| 115 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 116 |
+
}
|
| 117 |
+
}
|
| 118 |
+
}
|
metadata/benchmark_card_CNN_DailyMail.json
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "CNN/DailyMail",
|
| 5 |
+
"overview": "CNN/DailyMail is a benchmark for evaluating abstractive and extractive summarization models using news articles. It contains over 300,000 unique articles written by journalists from CNN and the Daily Mail. The dataset was originally created for machine reading and question answering, but later versions were restructured specifically for summarization tasks.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"summarization",
|
| 9 |
+
"journalism",
|
| 10 |
+
"news media"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": "No facts provided about similar benchmarks.",
|
| 16 |
+
"resources": [
|
| 17 |
+
"https://huggingface.co/datasets/abisee/cnn_dailymail",
|
| 18 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 19 |
+
]
|
| 20 |
+
},
|
| 21 |
+
"purpose_and_intended_users": {
|
| 22 |
+
"goal": "To help develop models that can summarize long paragraphs of text into one or two sentences, aiding in the efficient presentation of information from large quantities of text.",
|
| 23 |
+
"audience": [
|
| 24 |
+
"NLP researchers",
|
| 25 |
+
"Summarization model developers"
|
| 26 |
+
],
|
| 27 |
+
"tasks": [
|
| 28 |
+
"Summarization"
|
| 29 |
+
],
|
| 30 |
+
"limitations": "News articles often place important information in the first third, which may affect summarization. A manual study found 25% of samples in an earlier version were difficult for humans due to ambiguity and coreference errors. Also, machine-generated summaries may differ in truth values from the original articles.",
|
| 31 |
+
"out_of_scope_uses": "No facts provided about out-of-scope uses."
|
| 32 |
+
},
|
| 33 |
+
"data": {
|
| 34 |
+
"source": "The dataset consists of news articles and highlight sentences written by journalists at CNN and the Daily Mail. The CNN articles were collected from April 2007 to April 2015, and the Daily Mail articles from June 2010 to April 2015, sourced from archives on the Wayback Machine.",
|
| 35 |
+
"size": "Over 300,000 unique articles, with 287,113 training examples, 13,368 validation examples, and 11,490 test examples.",
|
| 36 |
+
"format": "parquet",
|
| 37 |
+
"annotation": "The dataset does not contain additional annotations. The highlights are the original summaries written by the article authors and are used as the target for summarization."
|
| 38 |
+
},
|
| 39 |
+
"methodology": {
|
| 40 |
+
"methods": [
|
| 41 |
+
"Models generate a summary for a given news article, which is then compared to the author-written highlights."
|
| 42 |
+
],
|
| 43 |
+
"metrics": [
|
| 44 |
+
"ROUGE-2"
|
| 45 |
+
],
|
| 46 |
+
"calculation": "The ROUGE-2 score measures the overlap of bigrams between the generated summary and the reference highlights.",
|
| 47 |
+
"interpretation": "Higher scores indicate better performance, as they reflect greater overlap with the reference summaries.",
|
| 48 |
+
"baseline_results": "Paper baseline (Zhong et al., 2020): ROUGE-1 score of 44.41 for an extractive summarization model. Evaluation suite result (Anthropic-LM v4-s3 52B): ROUGE-2 score of 0.154.",
|
| 49 |
+
"validation": "No facts provided about validation procedures."
|
| 50 |
+
},
|
| 51 |
+
"ethical_and_legal_considerations": {
|
| 52 |
+
"privacy_and_anonymity": "The dataset (version 3.0.0) is not anonymized, meaning individuals' names are present in the text.",
|
| 53 |
+
"data_licensing": "Apache License 2.0",
|
| 54 |
+
"consent_procedures": "Not specified",
|
| 55 |
+
"compliance_with_regulations": "Not specified"
|
| 56 |
+
},
|
| 57 |
+
"possible_risks": [
|
| 58 |
+
{
|
| 59 |
+
"category": "Over- or under-reliance",
|
| 60 |
+
"description": [
|
| 61 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 62 |
+
],
|
| 63 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"category": "Unrepresentative data",
|
| 67 |
+
"description": [
|
| 68 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 69 |
+
],
|
| 70 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"category": "Data bias",
|
| 74 |
+
"description": [
|
| 75 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Data contamination",
|
| 81 |
+
"description": [
|
| 82 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Lack of data transparency",
|
| 88 |
+
"description": [
|
| 89 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 92 |
+
}
|
| 93 |
+
],
|
| 94 |
+
"flagged_fields": {},
|
| 95 |
+
"missing_fields": [
|
| 96 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 97 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 98 |
+
],
|
| 99 |
+
"card_info": {
|
| 100 |
+
"created_at": "2026-03-17T15:15:47.316103",
|
| 101 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
+
}
|
metadata/benchmark_card_CivilComments.json
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "CivilComments",
|
| 5 |
+
"overview": "CivilComments is a benchmark designed to measure unintended identity-based bias in toxicity classification models. It uses a large, real-world dataset of online comments from the Civil Comments platform, extended with crowd-sourced annotations for toxicity and demographic identity references. This provides a nuanced evaluation of bias beyond synthetic datasets.",
|
| 6 |
+
"data_type": "tabular, text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"machine learning fairness",
|
| 9 |
+
"bias measurement",
|
| 10 |
+
"toxic comment classification",
|
| 11 |
+
"text classification"
|
| 12 |
+
],
|
| 13 |
+
"languages": [
|
| 14 |
+
"English"
|
| 15 |
+
],
|
| 16 |
+
"similar_benchmarks": "The paper does not name other specific benchmark datasets, only referencing prior work using synthetic test sets.",
|
| 17 |
+
"resources": [
|
| 18 |
+
"https://arxiv.org/abs/1903.04561",
|
| 19 |
+
"https://huggingface.co/datasets/google/civil_comments",
|
| 20 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 21 |
+
]
|
| 22 |
+
},
|
| 23 |
+
"purpose_and_intended_users": {
|
| 24 |
+
"goal": "To evaluate unintended identity-based bias in toxicity classification models using real data and nuanced metrics.",
|
| 25 |
+
"audience": [
|
| 26 |
+
"Machine learning researchers and practitioners working on fairness, bias measurement, and mitigation, particularly in toxic comment classification."
|
| 27 |
+
],
|
| 28 |
+
"tasks": [
|
| 29 |
+
"Binary toxicity classification (toxic vs. non-toxic)",
|
| 30 |
+
"Analysis of performance across identity subgroups"
|
| 31 |
+
],
|
| 32 |
+
"limitations": "The labeled set of identities is not comprehensive and does not provide universal coverage, representing a balance between coverage, annotator accuracy, and example count. The real-world data is potentially noisier than synthetic alternatives.",
|
| 33 |
+
"out_of_scope_uses": [
|
| 34 |
+
"Developing effective strategies for choosing optimal thresholds to minimize bias"
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
"data": {
|
| 38 |
+
"source": "The data consists of online comments sourced from the Civil Comments platform, a commenting plugin for independent English-language news sites. The comments were publicly posted between 2015 and 2017.",
|
| 39 |
+
"size": "The dataset contains approximately 1.8 million comments for training, with separate validation and test sets of approximately 97,320 examples each. All comments were labeled for toxicity, and a subset of 450,000 comments was additionally labeled for identity references.",
|
| 40 |
+
"format": "parquet",
|
| 41 |
+
"annotation": "Labeling was performed by crowd raters. Toxicity labels were applied using guidelines consistent with the Perspective API. For the identity-labeled subset, raters were shown comments and selected referenced identities (e.g., genders, races, ethnicities) from a provided list. Some comments for identity labeling were pre-selected by models to increase the frequency of identity content."
|
| 42 |
+
},
|
| 43 |
+
"methodology": {
|
| 44 |
+
"methods": [
|
| 45 |
+
"Models are evaluated by applying a suite of bias metrics to their predictions on the test set. The original paper demonstrates this using publicly accessible toxicity classifiers on the dataset."
|
| 46 |
+
],
|
| 47 |
+
"metrics": [
|
| 48 |
+
"Subgroup AUC",
|
| 49 |
+
"BPSN AUC",
|
| 50 |
+
"BNSP AUC",
|
| 51 |
+
"Negative Average Equality Gap (AEG)",
|
| 52 |
+
"Positive Average Equality Gap (AEG)"
|
| 53 |
+
],
|
| 54 |
+
"calculation": "The evaluation calculates five metrics for each identity subgroup to provide a multi-faceted view of bias. There is no single aggregated overall score.",
|
| 55 |
+
"interpretation": "For the AUC metrics (Subgroup, BPSN, BNSP), higher values indicate better separability (fewer mis-orderings). For the Average Equality Gaps (Negative and Positive), lower values indicate better separability (more similar score distributions).",
|
| 56 |
+
"baseline_results": "Paper baselines: Results for TOXICITY@1 and TOXICITY@6 from the Perspective API are reported, showing their Subgroup AUC, BPSN AUC, BNSP AUC, Negative AEG, and Positive AEG on a synthetic dataset for the lowest performing 20 subgroups. They are also compared on short comments within the human-labeled dataset for specific identities. EEE results: Anthropic-LM v4-s3 52B scored 0.6100 on the CivilComments metric.",
|
| 57 |
+
"validation": "The evaluation assumes the human-provided labels are reliable. The identity labeling set was designed to balance coverage, crowd rater accuracy, and ensure sufficient examples per identity for meaningful results."
|
| 58 |
+
},
|
| 59 |
+
"ethical_and_legal_considerations": {
|
| 60 |
+
"privacy_and_anonymity": "The paper does not discuss how personally identifiable information (PII) in the online comments was handled or if data was anonymized.",
|
| 61 |
+
"data_licensing": "Creative Commons Zero v1.0 Universal",
|
| 62 |
+
"consent_procedures": "The paper does not describe compensation for crowdworkers or the specific platform used for annotation.",
|
| 63 |
+
"compliance_with_regulations": "The paper does not mention IRB approval, GDPR compliance, or any other ethical review process."
|
| 64 |
+
},
|
| 65 |
+
"possible_risks": [
|
| 66 |
+
{
|
| 67 |
+
"category": "Unrepresentative data",
|
| 68 |
+
"description": [
|
| 69 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 70 |
+
],
|
| 71 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"category": "Uncertain data provenance",
|
| 75 |
+
"description": [
|
| 76 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 77 |
+
],
|
| 78 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"category": "Data bias",
|
| 82 |
+
"description": [
|
| 83 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 84 |
+
],
|
| 85 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"category": "Lack of data transparency",
|
| 89 |
+
"description": [
|
| 90 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 91 |
+
],
|
| 92 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 93 |
+
},
|
| 94 |
+
{
|
| 95 |
+
"category": "Output bias",
|
| 96 |
+
"description": [
|
| 97 |
+
"Generated content might unfairly represent certain groups or individuals."
|
| 98 |
+
],
|
| 99 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/output-bias.html"
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"flagged_fields": {},
|
| 103 |
+
"missing_fields": [],
|
| 104 |
+
"card_info": {
|
| 105 |
+
"created_at": "2026-03-17T12:38:43.250822",
|
| 106 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 107 |
+
}
|
| 108 |
+
}
|
| 109 |
+
}
|
metadata/benchmark_card_GPQA.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "GPQA",
|
| 5 |
+
"overview": "GPQA (Graduate-Level Google-Proof Q&A Benchmark) is a text-based benchmark that measures the ability to answer extremely difficult, expert-level multiple-choice questions. It contains 448 questions designed to be 'Google-proof,' meaning they are hard to solve even with unrestricted web access. Its distinctiveness lies in its high difficulty for both highly skilled non-experts and state-of-the-art AI, making it suitable for scalable oversight experiments.",
|
| 6 |
+
"data_type": "tabular, text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"biology",
|
| 9 |
+
"physics",
|
| 10 |
+
"chemistry",
|
| 11 |
+
"open domain qa",
|
| 12 |
+
"open book qa",
|
| 13 |
+
"multiple choice qa"
|
| 14 |
+
],
|
| 15 |
+
"languages": [
|
| 16 |
+
"English"
|
| 17 |
+
],
|
| 18 |
+
"similar_benchmarks": [
|
| 19 |
+
"DROP",
|
| 20 |
+
"Massive Multitask Language Understanding (MMLU)"
|
| 21 |
+
],
|
| 22 |
+
"resources": [
|
| 23 |
+
"https://arxiv.org/abs/2311.12022",
|
| 24 |
+
"https://huggingface.co/datasets/Idavidrein/gpqa",
|
| 25 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 26 |
+
]
|
| 27 |
+
},
|
| 28 |
+
"purpose_and_intended_users": {
|
| 29 |
+
"goal": "To create a testbed for scalable oversight, enabling the study of methods for humans to reliably supervise and extract truthful information from AI systems on questions that are very difficult for non-experts to answer or verify. It can also be used for general large language model capabilities benchmarking.",
|
| 30 |
+
"audience": [
|
| 31 |
+
"Researchers studying scalable oversight and AI alignment",
|
| 32 |
+
"Researchers interested in supervising AI systems that may surpass human capabilities in specialized domains"
|
| 33 |
+
],
|
| 34 |
+
"tasks": [
|
| 35 |
+
"Multiple-choice question answering",
|
| 36 |
+
"Question answering",
|
| 37 |
+
"Text generation"
|
| 38 |
+
],
|
| 39 |
+
"limitations": "The dataset is small, with 448 examples in the main set. There is a need for scalable oversight methods to overcome existing cognitive or ethical biases supervisors might have.",
|
| 40 |
+
"out_of_scope_uses": [
|
| 41 |
+
"Tasks where non-experts can easily find the answer using web search, as the questions are intended to be 'Google-proof'"
|
| 42 |
+
]
|
| 43 |
+
},
|
| 44 |
+
"data": {
|
| 45 |
+
"source": "The questions were written and validated by domain experts with or pursuing PhDs in biology, physics, and chemistry, using an annotation pipeline where experts wrote questions and explanations and received detailed feedback from other experts.",
|
| 46 |
+
"size": "The main set contains 448 multiple-choice questions, with an extended set of 546 questions also mentioned. The dataset falls within the 1K<n<10K size category. The paper does not specify train, development, or test splits.",
|
| 47 |
+
"format": "The data is provided in CSV format and consists of multiple-choice questions, each with four answer choices, explanations, and references.",
|
| 48 |
+
"annotation": "Domain experts wrote the questions and explanations. Other expert validators provided feedback and 4-point difficulty ratings. Quality was assessed by comparing a sample to author-created 'gold-standard' labels, achieving 90% accuracy. Validation also involved experts from outside a question's domain attempting them with web access, which confirmed the questions' difficulty through low accuracy scores."
|
| 49 |
+
},
|
| 50 |
+
"methodology": {
|
| 51 |
+
"methods": [
|
| 52 |
+
"Models are evaluated in both closed-book (no runtime access to external information) and open-book (with access to an internet search tool) settings.",
|
| 53 |
+
"Prompting methods include zero-shot, few-shot, zero-shot chain-of-thought, and few-shot chain-of-thought."
|
| 54 |
+
],
|
| 55 |
+
"metrics": [
|
| 56 |
+
"Accuracy (percentage of correct answers)"
|
| 57 |
+
],
|
| 58 |
+
"calculation": "The overall score is the accuracy across the question set. Results are reported separately for the main set, extended set, and a 'Diamond Set'.",
|
| 59 |
+
"interpretation": "Higher accuracy indicates better performance. Expert human performance is benchmarked at 65% overall accuracy (or 74% when discounting clear mistakes). Non-expert human performance is 34%.",
|
| 60 |
+
"baseline_results": "PAPER baselines: On the main set, GPT-4 with few-shot chain-of-thought achieved 39.7% accuracy; GPT-4 with search achieved 41.0%; GPT-3.5-turbo-16k (zero-shot) achieved 29.8%; Llama-2-70B-chat (few-shot chain-of-thought) achieved 29.1%. Human expert accuracy was 65%, and non-expert accuracy was 34%. EEE results: YiSM-blossom5.1-34B-SLERP achieved 0.3557; OLMo 2 32B Instruct March 2025 achieved 0.2870.",
|
| 61 |
+
"validation": "Quality assurance involved expert validation and feedback. Gold-standard labels were created for a sample of 110 questions, achieving 90% annotator agreement. Expert validators also rated question difficulty."
|
| 62 |
+
},
|
| 63 |
+
"ethical_and_legal_considerations": {
|
| 64 |
+
"privacy_and_anonymity": "The dataset includes a canary string to aid in filtering it from training data, and distribution requires users to agree not to reveal examples in plain text or images online to prevent data leakage. No specific anonymization of the question content is described.",
|
| 65 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 66 |
+
"consent_procedures": "Non-expert validators were compensated with large bonuses for effort. The use of contractors is mentioned, but the specific platform and detailed compensation procedures for experts are not specified.",
|
| 67 |
+
"compliance_with_regulations": "No information is provided regarding IRB approval, GDPR compliance, or other ethical review."
|
| 68 |
+
},
|
| 69 |
+
"possible_risks": [
|
| 70 |
+
{
|
| 71 |
+
"category": "Over- or under-reliance",
|
| 72 |
+
"description": [
|
| 73 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 74 |
+
],
|
| 75 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"category": "Unrepresentative data",
|
| 79 |
+
"description": [
|
| 80 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 81 |
+
],
|
| 82 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"category": "Data bias",
|
| 86 |
+
"description": [
|
| 87 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 88 |
+
],
|
| 89 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"category": "Lack of data transparency",
|
| 93 |
+
"description": [
|
| 94 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 95 |
+
],
|
| 96 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"category": "Improper usage",
|
| 100 |
+
"description": [
|
| 101 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 102 |
+
],
|
| 103 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 104 |
+
}
|
| 105 |
+
],
|
| 106 |
+
"flagged_fields": {
|
| 107 |
+
"methodology.metrics": "[Factuality Score: 0.09], low factual alignment with source material",
|
| 108 |
+
"methodology.calculation": "[Possible Hallucination], no supporting evidence found in source material",
|
| 109 |
+
"methodology.baseline_results": "[Possible Hallucination], no supporting evidence found in source material",
|
| 110 |
+
"methodology.validation": "[Possible Hallucination], no supporting evidence found in source material"
|
| 111 |
+
},
|
| 112 |
+
"missing_fields": [],
|
| 113 |
+
"card_info": {
|
| 114 |
+
"created_at": "2026-03-17T15:27:14.197081",
|
| 115 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 116 |
+
}
|
| 117 |
+
}
|
| 118 |
+
}
|
metadata/benchmark_card_GSM8K.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "GSM8K",
|
| 5 |
+
"overview": "GSM8K is a benchmark that measures the ability of language models to perform multi-step mathematical reasoning. It consists of 8.5K high-quality, linguistically diverse grade school math word problems. The problems are distinctive because they require 2 to 8 steps to solve using basic arithmetic, and even the largest transformer models struggle to achieve high test performance on them. Solutions are provided in natural language with step-by-step reasoning.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"grade school mathematics",
|
| 9 |
+
"math word problems"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"Not specified"
|
| 16 |
+
],
|
| 17 |
+
"resources": [
|
| 18 |
+
"https://arxiv.org/abs/2110.14168",
|
| 19 |
+
"https://huggingface.co/datasets/openai/gsm8k",
|
| 20 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 21 |
+
]
|
| 22 |
+
},
|
| 23 |
+
"purpose_and_intended_users": {
|
| 24 |
+
"goal": "To diagnose the failures of current language models in robust multi-step mathematical reasoning and to support research, particularly in methods like training verifiers to judge solution correctness. It also aims to shed light on the properties of large language models' reasoning processes.",
|
| 25 |
+
"audience": [
|
| 26 |
+
"Researchers working on language model capabilities and mathematical reasoning"
|
| 27 |
+
],
|
| 28 |
+
"tasks": [
|
| 29 |
+
"Solving grade school math word problems",
|
| 30 |
+
"Text generation for question answering"
|
| 31 |
+
],
|
| 32 |
+
"limitations": "Even the largest models struggle with high test performance on this dataset, and autoregressive models have no mechanism to correct their own errors during solution generation.",
|
| 33 |
+
"out_of_scope_uses": [
|
| 34 |
+
"Not specified"
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
"data": {
|
| 38 |
+
"source": "The dataset was created by hiring freelance contractors via Upwork and then scaled using the NLP data labeling platform Surge AI. Problems and solutions were written by these contractors.",
|
| 39 |
+
"size": "8.5K (8,500) problems, with a size category of 10K<n<100K. The training set contains 7,473 examples and the test set contains 1,319 examples.",
|
| 40 |
+
"format": "parquet. The data is structured with a 'Problem:' field followed by a 'Solution:' field, where the solution includes step-by-step reasoning with intermediate calculations in special tags (e.g., `<<4*2=8>>`) and ends with a 'Final Answer:'.",
|
| 41 |
+
"annotation": "Contractors wrote the problems and solutions. For verification, different workers re-solved all problems to check agreement with the original solutions; problematic problems were either repaired or discarded. The annotators were from Surge AI."
|
| 42 |
+
},
|
| 43 |
+
"methodology": {
|
| 44 |
+
"methods": [
|
| 45 |
+
"Models are evaluated by generating step-by-step solutions to math word problems. The dataset provides two answer formats: a standard step-by-step solution and a solution structured with Socratic sub-questions.",
|
| 46 |
+
"The paper proposes a verification method where a separate verifier model is trained to judge the correctness of generated solutions. At test time, multiple candidate solutions are generated, and the one ranked highest by the verifier is selected."
|
| 47 |
+
],
|
| 48 |
+
"metrics": [
|
| 49 |
+
"GSM8K"
|
| 50 |
+
],
|
| 51 |
+
"calculation": "The GSM8K metric is a continuous score where higher values are better. It is described as 'EM on GSM8K', indicating it measures exact match accuracy.",
|
| 52 |
+
"interpretation": "Higher scores indicate better performance. The score is not bounded, but typical model performance ranges from low to high, with the highest reported score being 75.2.",
|
| 53 |
+
"baseline_results": "Paper baselines: The paper notes that even the largest transformer models fail to achieve high test performance, but does not report specific scores. EEE results: Llama 3.1 8B Instruct scored 75.2, and Yi 34B scored 0.648 on GSM8K.",
|
| 54 |
+
"validation": "The paper provides empirical evidence that the verification method scales more effectively with data than a finetuning baseline and remains effective even with a verifier much smaller than the generator."
|
| 55 |
+
},
|
| 56 |
+
"ethical_and_legal_considerations": {
|
| 57 |
+
"privacy_and_anonymity": "Not specified",
|
| 58 |
+
"data_licensing": "MIT License",
|
| 59 |
+
"consent_procedures": "Not specified",
|
| 60 |
+
"compliance_with_regulations": "Not specified"
|
| 61 |
+
},
|
| 62 |
+
"possible_risks": [
|
| 63 |
+
{
|
| 64 |
+
"category": "Over- or under-reliance",
|
| 65 |
+
"description": [
|
| 66 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 67 |
+
],
|
| 68 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"category": "Data bias",
|
| 72 |
+
"description": [
|
| 73 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 74 |
+
],
|
| 75 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"category": "Reproducibility",
|
| 79 |
+
"description": [
|
| 80 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 81 |
+
],
|
| 82 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"category": "Incomplete advice",
|
| 86 |
+
"description": [
|
| 87 |
+
"When a model provides advice without having enough information, resulting in possible harm if the advice is followed."
|
| 88 |
+
],
|
| 89 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/incomplete-advice.html"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"category": "Improper usage",
|
| 93 |
+
"description": [
|
| 94 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 95 |
+
],
|
| 96 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 97 |
+
}
|
| 98 |
+
],
|
| 99 |
+
"flagged_fields": {},
|
| 100 |
+
"missing_fields": [
|
| 101 |
+
"benchmark_details.similar_benchmarks",
|
| 102 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 103 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 104 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 105 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 106 |
+
],
|
| 107 |
+
"card_info": {
|
| 108 |
+
"created_at": "2026-03-17T15:37:16.459776",
|
| 109 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
}
|
metadata/benchmark_card_HellaSwag.json
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "HellaSwag",
|
| 5 |
+
"overview": "HellaSwag is a benchmark designed to measure commonsense natural language inference by testing a model's ability to select the most plausible follow-up event from four multiple-choice options. It is adversarially constructed to be challenging for state-of-the-art models, using a method called Adversarial Filtering to create difficult wrong answers that are obvious to humans but often misclassified by models.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"commonsense reasoning",
|
| 9 |
+
"natural language inference"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"SWAG",
|
| 16 |
+
"SNLI"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"https://rowanzellers.com/hellaswag",
|
| 20 |
+
"https://arxiv.org/abs/1905.07830",
|
| 21 |
+
"https://huggingface.co/datasets/Rowan/hellaswag",
|
| 22 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"purpose_and_intended_users": {
|
| 26 |
+
"goal": "To create a challenge dataset that reveals the difficulty of commonsense inference for state-of-the-art models, demonstrating their lack of robustness and reliance on dataset biases rather than genuine reasoning. It aims to evaluate a model's ability to select the most plausible continuation of a given event description.",
|
| 27 |
+
"audience": [
|
| 28 |
+
"NLP researchers"
|
| 29 |
+
],
|
| 30 |
+
"tasks": [
|
| 31 |
+
"Four-way multiple-choice selection for event continuation",
|
| 32 |
+
"Commonsense inference"
|
| 33 |
+
],
|
| 34 |
+
"limitations": "The adversarial filtering process used to create the dataset, while effective at making it difficult for models, may also select examples where the ground truth answer is not the one preferred by human annotators, necessitating manual filtering to retain the best examples.",
|
| 35 |
+
"out_of_scope_uses": [
|
| 36 |
+
"Not specified"
|
| 37 |
+
]
|
| 38 |
+
},
|
| 39 |
+
"data": {
|
| 40 |
+
"source": "Contexts are sourced from WikiHow instructional articles and ActivityNet video descriptions. Incorrect answer choices are generated by machines and then adversarially filtered.",
|
| 41 |
+
"size": "The dataset contains 70,000 examples in total, with 5,001 in-domain validation examples and 5,000 zero-shot validation examples. The training set comprises 39,905 examples.",
|
| 42 |
+
"format": "Parquet",
|
| 43 |
+
"annotation": "Human crowd workers on Amazon Mechanical Turk validated the endings. They were presented with a context and six endings (one true, five machine-generated) and rated their plausibility. The process involved iterative filtering and replacement of unrealistic endings. Worker quality was ensured via an autograded test and fair pay. A gold standard check by three authors on a random sample showed 90% agreement with crowd annotations."
|
| 44 |
+
},
|
| 45 |
+
"methodology": {
|
| 46 |
+
"methods": [
|
| 47 |
+
"Models are evaluated via fine-tuning on the dataset.",
|
| 48 |
+
"The benchmark also includes zero-shot evaluation on held-out categories."
|
| 49 |
+
],
|
| 50 |
+
"metrics": [
|
| 51 |
+
"HellaSwag accuracy"
|
| 52 |
+
],
|
| 53 |
+
"calculation": "The overall score is the accuracy percentage on the full validation or test sets. Performance is also broken down by subsets, such as in-domain versus zero-shot and by data source.",
|
| 54 |
+
"interpretation": "Higher scores indicate better performance. Human performance is over 95%, which is considered strong. Model performance below 50% is reported, indicating a struggle, with a gap of over 45% from human performance on in-domain data.",
|
| 55 |
+
"baseline_results": "Paper baselines: BERT-Large achieves 47.3% accuracy overall. ESIM + ELMo gets 33.3% accuracy. A BERT-Base model with a frozen encoder and an added LSTM performs 4.3% worse than fine-tuned BERT-Base. Evaluation suite results: Anthropic-LM v4-s3 52B achieves 0.807 (80.7%) accuracy.",
|
| 56 |
+
"validation": "Human validation involved giving five crowd workers the same multiple-choice task and combining their answers via majority vote to establish a human performance baseline. The adversarial filtering process used iterative human ratings to ensure wrong answers were implausible."
|
| 57 |
+
},
|
| 58 |
+
"ethical_and_legal_considerations": {
|
| 59 |
+
"privacy_and_anonymity": "Not specified",
|
| 60 |
+
"data_licensing": "Not specified",
|
| 61 |
+
"consent_procedures": "Crowdworkers on Amazon Mechanical Turk participated voluntarily and were compensated, with pay described as fair. A qualification task was used to filter workers, and those who consistently preferred generated endings over real ones were disqualified.",
|
| 62 |
+
"compliance_with_regulations": "Not specified"
|
| 63 |
+
},
|
| 64 |
+
"possible_risks": [
|
| 65 |
+
{
|
| 66 |
+
"category": "Over- or under-reliance",
|
| 67 |
+
"description": [
|
| 68 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 69 |
+
],
|
| 70 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"category": "Unrepresentative data",
|
| 74 |
+
"description": [
|
| 75 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Data bias",
|
| 81 |
+
"description": [
|
| 82 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Lack of data transparency",
|
| 88 |
+
"description": [
|
| 89 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"category": "Improper usage",
|
| 95 |
+
"description": [
|
| 96 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 97 |
+
],
|
| 98 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 99 |
+
}
|
| 100 |
+
],
|
| 101 |
+
"flagged_fields": {
|
| 102 |
+
"baseline_results": "[Possible Hallucination], no supporting evidence found in source material"
|
| 103 |
+
},
|
| 104 |
+
"missing_fields": [
|
| 105 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 106 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 107 |
+
"ethical_and_legal_considerations.data_licensing",
|
| 108 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 109 |
+
],
|
| 110 |
+
"card_info": {
|
| 111 |
+
"created_at": "2026-03-17T15:47:07.561060",
|
| 112 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 113 |
+
}
|
| 114 |
+
}
|
| 115 |
+
}
|
metadata/benchmark_card_IFEval.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "Instruction-Following Eval (IFEval)",
|
| 5 |
+
"overview": "IFEval is a benchmark that measures the ability of large language models to follow natural language instructions. It focuses specifically on 'verifiable instructions'\u2014instructions that can be objectively checked, such as word count requirements or keyword mentions. It is distinctive for providing a straightforward, reproducible, and automatic evaluation that avoids the subjectivity of human judgment and the bias of model-based assessment.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"instruction following"
|
| 9 |
+
],
|
| 10 |
+
"languages": [
|
| 11 |
+
"English"
|
| 12 |
+
],
|
| 13 |
+
"similar_benchmarks": [
|
| 14 |
+
"Not specified"
|
| 15 |
+
],
|
| 16 |
+
"resources": [
|
| 17 |
+
"https://github.com/google-research/google-research/tree/master/instruction_following_eval",
|
| 18 |
+
"https://arxiv.org/abs/2311.07911",
|
| 19 |
+
"https://huggingface.co/datasets/google/IFEval",
|
| 20 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 21 |
+
]
|
| 22 |
+
},
|
| 23 |
+
"purpose_and_intended_users": {
|
| 24 |
+
"goal": "To provide a standardized, objective, and reproducible method for evaluating the instruction-following capability of large language models.",
|
| 25 |
+
"audience": [
|
| 26 |
+
"Researchers evaluating large language models"
|
| 27 |
+
],
|
| 28 |
+
"tasks": [
|
| 29 |
+
"Text generation",
|
| 30 |
+
"Following verifiable instructions (e.g., word counts, formatting rules, keyword mentions)"
|
| 31 |
+
],
|
| 32 |
+
"limitations": "The benchmark is limited to verifiable instructions and does not support multi-modal use cases, such as generating images. The current implementation is acknowledged to have room for improvement.",
|
| 33 |
+
"out_of_scope_uses": [
|
| 34 |
+
"Evaluating subjective or ambiguous instructions (e.g., 'write with a funny tone')"
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
"data": {
|
| 38 |
+
"source": "The data consists of constructed prompts, as described in the research paper. The specific source material for the prompt content is not specified.",
|
| 39 |
+
"size": "Approximately 500 prompts, with a train split containing 541 prompts. No information is provided about development or test splits.",
|
| 40 |
+
"format": "JSON",
|
| 41 |
+
"annotation": "The prompts contain verifiable instructions, meaning compliance can be checked automatically via predefined rules (e.g., word counting). No human annotation process is described."
|
| 42 |
+
},
|
| 43 |
+
"methodology": {
|
| 44 |
+
"methods": [
|
| 45 |
+
"Automatic and objective verification of whether the model's output follows the verifiable instructions in the prompt.",
|
| 46 |
+
"Zero-shot evaluation setup."
|
| 47 |
+
],
|
| 48 |
+
"metrics": [
|
| 49 |
+
"IFEval"
|
| 50 |
+
],
|
| 51 |
+
"calculation": "Not specified",
|
| 52 |
+
"interpretation": "Higher scores indicate better performance.",
|
| 53 |
+
"baseline_results": "Paper baseline: Results for two widely available LLMs are reported, but specific model names and scores are not provided. EEE results: OLMo 2 32B Instruct March 2025 scored 0.7800; YiSM-blossom5.1-34B-SLERP scored 0.5033. Mean score across 2 models is 0.6417.",
|
| 54 |
+
"validation": "Quality assurance relies on the objective verifiability of the instructions. No additional validation procedures are described."
|
| 55 |
+
},
|
| 56 |
+
"ethical_and_legal_considerations": {
|
| 57 |
+
"privacy_and_anonymity": "Not specified",
|
| 58 |
+
"data_licensing": "Apache License 2.0",
|
| 59 |
+
"consent_procedures": "Not specified",
|
| 60 |
+
"compliance_with_regulations": "Not specified"
|
| 61 |
+
},
|
| 62 |
+
"possible_risks": [
|
| 63 |
+
{
|
| 64 |
+
"category": "Over- or under-reliance",
|
| 65 |
+
"description": [
|
| 66 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 67 |
+
],
|
| 68 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"category": "Unrepresentative data",
|
| 72 |
+
"description": [
|
| 73 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 74 |
+
],
|
| 75 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"category": "Lack of data transparency",
|
| 79 |
+
"description": [
|
| 80 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 81 |
+
],
|
| 82 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"category": "Reproducibility",
|
| 86 |
+
"description": [
|
| 87 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 88 |
+
],
|
| 89 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"category": "Improper usage",
|
| 93 |
+
"description": [
|
| 94 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 95 |
+
],
|
| 96 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 97 |
+
}
|
| 98 |
+
],
|
| 99 |
+
"flagged_fields": {},
|
| 100 |
+
"missing_fields": [
|
| 101 |
+
"benchmark_details.similar_benchmarks",
|
| 102 |
+
"methodology.calculation",
|
| 103 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 104 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 105 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 106 |
+
],
|
| 107 |
+
"card_info": {
|
| 108 |
+
"created_at": "2026-03-17T15:55:54.431294",
|
| 109 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
}
|
metadata/benchmark_card_LegalBench.json
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "LEGALBENCH",
|
| 5 |
+
"overview": "LEGALBENCH is a benchmark designed to measure the legal reasoning capabilities of large language models. It comprises 162 tasks collaboratively constructed and hand-crafted by legal professionals, covering six distinct types of legal reasoning.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"legal",
|
| 9 |
+
"law",
|
| 10 |
+
"finance"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"GLUE",
|
| 17 |
+
"HELM",
|
| 18 |
+
"BigBench",
|
| 19 |
+
"RAFT"
|
| 20 |
+
],
|
| 21 |
+
"resources": [
|
| 22 |
+
"https://arxiv.org/abs/2308.11462",
|
| 23 |
+
"https://huggingface.co/datasets/nguha/legalbench",
|
| 24 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 25 |
+
]
|
| 26 |
+
},
|
| 27 |
+
"purpose_and_intended_users": {
|
| 28 |
+
"goal": "To enable greater study of what types of legal reasoning large language models (LLMs) can perform.",
|
| 29 |
+
"audience": [
|
| 30 |
+
"Practitioners (to integrate LLMs into workflows)",
|
| 31 |
+
"Legal academics",
|
| 32 |
+
"Computer scientists"
|
| 33 |
+
],
|
| 34 |
+
"tasks": [
|
| 35 |
+
"Text classification",
|
| 36 |
+
"Question answering",
|
| 37 |
+
"Text generation",
|
| 38 |
+
"Rule-application tasks"
|
| 39 |
+
],
|
| 40 |
+
"limitations": "The tasks do not generalize to all legal reasoning tasks or all types of legal documents, offering only a preliminary understanding of LLM performance.",
|
| 41 |
+
"out_of_scope_uses": [
|
| 42 |
+
"Predicting the legality of real-world events",
|
| 43 |
+
"Predicting the outcome of lawsuits",
|
| 44 |
+
"Providing legal advice"
|
| 45 |
+
]
|
| 46 |
+
},
|
| 47 |
+
"data": {
|
| 48 |
+
"source": "Data is drawn from three categories: existing publicly available datasets and corpora (some reformatted), datasets previously created by legal professionals but not released, and tasks developed specifically for LegalBench. The tasks originate from 36 distinct corpora.",
|
| 49 |
+
"size": "The benchmark comprises 162 tasks. The distribution of tasks by sample count is: 28 tasks have 50-100 samples, 97 have 100-500 samples, 29 have 500-2000 samples, and 8 have 2000+ samples. The overall dataset falls into the size category of 10,000 to 100,000 examples.",
|
| 50 |
+
"format": "Examples are presented in a structured format with fields such as 'Task name', 'Question', 'Options', and 'Answer'.",
|
| 51 |
+
"annotation": "Annotation procedures are task-dependent. For certain tasks, each data point was manually validated by a law-trained expert. Detailed annotation methodology for each task is documented in a separate section of the paper."
|
| 52 |
+
},
|
| 53 |
+
"methodology": {
|
| 54 |
+
"methods": [
|
| 55 |
+
"Models are evaluated in a few-shot setting. Train splits consist of a small random sample of between 2 to 8 instances to capture a true few-shot learning scenario.",
|
| 56 |
+
"For rule-application tasks, a law-trained expert manually validates each model generation."
|
| 57 |
+
],
|
| 58 |
+
"metrics": [
|
| 59 |
+
"LegalBench",
|
| 60 |
+
"Correctness",
|
| 61 |
+
"Analysis"
|
| 62 |
+
],
|
| 63 |
+
"calculation": "The primary benchmark metric is Exact Match (EM) on LegalBench. For rule-application tasks, two separate metrics are computed: 'correctness' (the proportion of generations without errors) and 'analysis'.",
|
| 64 |
+
"interpretation": "Higher scores on the LegalBench metric indicate better performance. The metric is continuous and lower scores are not better.",
|
| 65 |
+
"baseline_results": "The original paper evaluated 20 LLMs from 11 different families but did not provide specific scores. In a separate evaluation suite, the Yi 34B model achieved a score of 0.618.",
|
| 66 |
+
"validation": "For rule-application tasks, a law-trained expert manually validated each model generation. For datasets reused or adapted from other sources, the original data sheets document any redactions or missing data."
|
| 67 |
+
},
|
| 68 |
+
"ethical_and_legal_considerations": {
|
| 69 |
+
"privacy_and_anonymity": "For tasks that reuse or adapt existing datasets, the benchmark refers to the original data sheets for details on any data redactions or missing information.",
|
| 70 |
+
"data_licensing": "other",
|
| 71 |
+
"consent_procedures": "Not specified.",
|
| 72 |
+
"compliance_with_regulations": "The benchmark includes a section for each task intended to provide information relevant to ethical review processes, but specific details are not provided in the available facts."
|
| 73 |
+
},
|
| 74 |
+
"possible_risks": [
|
| 75 |
+
{
|
| 76 |
+
"category": "Over- or under-reliance",
|
| 77 |
+
"description": [
|
| 78 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 79 |
+
],
|
| 80 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"category": "Unrepresentative data",
|
| 84 |
+
"description": [
|
| 85 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 86 |
+
],
|
| 87 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 88 |
+
},
|
| 89 |
+
{
|
| 90 |
+
"category": "Data bias",
|
| 91 |
+
"description": [
|
| 92 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 93 |
+
],
|
| 94 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"category": "Lack of data transparency",
|
| 98 |
+
"description": [
|
| 99 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 100 |
+
],
|
| 101 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"category": "Improper usage",
|
| 105 |
+
"description": [
|
| 106 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 107 |
+
],
|
| 108 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 109 |
+
}
|
| 110 |
+
],
|
| 111 |
+
"flagged_fields": {},
|
| 112 |
+
"missing_fields": [
|
| 113 |
+
"ethical_and_legal_considerations.consent_procedures"
|
| 114 |
+
],
|
| 115 |
+
"card_info": {
|
| 116 |
+
"created_at": "2026-03-17T12:59:10.203815",
|
| 117 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 118 |
+
}
|
| 119 |
+
}
|
| 120 |
+
}
|
metadata/benchmark_card_MATH_Level_5.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "MATH Level 5",
|
| 5 |
+
"overview": "MATH Level 5 is a benchmark that measures the mathematical problem-solving ability of machine learning models using challenging competition-level mathematics problems. It contains 12,500 problems, each with a full step-by-step solution, and is specifically focused on the hardest difficulty level (Level 5) within the dataset. Problems are presented in text, with diagrams for subjects like geometry specified using the Asymptote language.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"mathematics",
|
| 9 |
+
"explanation generation"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"DeepMind Mathematics Dataset",
|
| 16 |
+
"Metamath Theorem Proving"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"https://arxiv.org/abs/2103.03874",
|
| 20 |
+
"https://huggingface.co/datasets/DigitalLearningGmbH/MATH-lighteval"
|
| 21 |
+
]
|
| 22 |
+
},
|
| 23 |
+
"purpose_and_intended_users": {
|
| 24 |
+
"goal": "To measure the mathematical problem-solving ability of machine learning models, specifically evaluating their capacity to analyze problems, select appropriate heuristics, and chain them together to produce a final answer. The benchmark also aims to teach models to generate step-by-step derivations and explanations.",
|
| 25 |
+
"audience": [
|
| 26 |
+
"Machine learning researchers"
|
| 27 |
+
],
|
| 28 |
+
"tasks": [
|
| 29 |
+
"Mathematical problem solving",
|
| 30 |
+
"Step-by-step solution generation",
|
| 31 |
+
"Final answer generation"
|
| 32 |
+
],
|
| 33 |
+
"limitations": "Accuracy on the benchmark remains relatively low even with large Transformer models, and scaling model size alone appears impractical for achieving strong mathematical reasoning based on current trends, indicating it is a very challenging benchmark.",
|
| 34 |
+
"out_of_scope_uses": [
|
| 35 |
+
"Not specified"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
"data": {
|
| 39 |
+
"source": "The data is sourced from high school mathematics competitions, including the AMC 10, AMC 12, and AIME.",
|
| 40 |
+
"size": "The full dataset contains 12,500 problems, with 7,500 for training and 5,000 for testing. The exact number of examples for the 'Level 5' subset is not specified.",
|
| 41 |
+
"format": "The data is stored in Parquet format. Each problem includes a full step-by-step solution in LaTeX and natural language, and the final answer is a unique normalized sequence.",
|
| 42 |
+
"annotation": "Problems are expert-generated, but the specific annotation process and quality control measures are not detailed."
|
| 43 |
+
},
|
| 44 |
+
"methodology": {
|
| 45 |
+
"methods": [
|
| 46 |
+
"Models are evaluated by generating a final answer for a given problem. The solution must contain the final answer enclosed in a `\\boxed{}` tag."
|
| 47 |
+
],
|
| 48 |
+
"metrics": [
|
| 49 |
+
"MATH Level 5"
|
| 50 |
+
],
|
| 51 |
+
"calculation": "The metric is an Exact Match score on MATH Level 5. The score is continuous, and higher values indicate better performance.",
|
| 52 |
+
"interpretation": "Higher scores indicate better performance. The score is continuous, and lower values are not better.",
|
| 53 |
+
"baseline_results": "Paper baselines: Not specified. Evaluation suite results: YiSM-blossom5.1-34B-SLERP achieved a score of 0.2153.",
|
| 54 |
+
"validation": "Not specified"
|
| 55 |
+
},
|
| 56 |
+
"ethical_and_legal_considerations": {
|
| 57 |
+
"privacy_and_anonymity": "Not specified",
|
| 58 |
+
"data_licensing": "MIT License",
|
| 59 |
+
"consent_procedures": "Not specified",
|
| 60 |
+
"compliance_with_regulations": "Not specified"
|
| 61 |
+
},
|
| 62 |
+
"possible_risks": [
|
| 63 |
+
{
|
| 64 |
+
"category": "Over- or under-reliance",
|
| 65 |
+
"description": [
|
| 66 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 67 |
+
],
|
| 68 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"category": "Unrepresentative data",
|
| 72 |
+
"description": [
|
| 73 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 74 |
+
],
|
| 75 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"category": "Data bias",
|
| 79 |
+
"description": [
|
| 80 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 81 |
+
],
|
| 82 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"category": "Lack of data transparency",
|
| 86 |
+
"description": [
|
| 87 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 88 |
+
],
|
| 89 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"category": "Improper usage",
|
| 93 |
+
"description": [
|
| 94 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 95 |
+
],
|
| 96 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 97 |
+
}
|
| 98 |
+
],
|
| 99 |
+
"flagged_fields": {},
|
| 100 |
+
"missing_fields": [
|
| 101 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 102 |
+
"methodology.validation",
|
| 103 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 104 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 105 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 106 |
+
],
|
| 107 |
+
"card_info": {
|
| 108 |
+
"created_at": "2026-03-17T16:09:19.958535",
|
| 109 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
}
|
metadata/benchmark_card_MMLU-Pro.json
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "MMLU-Pro",
|
| 5 |
+
"overview": "MMLU-Pro is an enhanced version of the Massive Multitask Language Understanding benchmark designed to be more challenging and robust. It measures multi-task language understanding and reasoning capabilities by integrating more reasoning-focused questions, expanding answer choices from four to ten, and eliminating trivial or noisy questions found in its predecessor. It covers a broad range of subjects.",
|
| 6 |
+
"data_type": "tabular, text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"STEM",
|
| 9 |
+
"humanities",
|
| 10 |
+
"social sciences",
|
| 11 |
+
"math",
|
| 12 |
+
"physics",
|
| 13 |
+
"chemistry",
|
| 14 |
+
"law",
|
| 15 |
+
"engineering",
|
| 16 |
+
"economics",
|
| 17 |
+
"health",
|
| 18 |
+
"psychology",
|
| 19 |
+
"business",
|
| 20 |
+
"biology",
|
| 21 |
+
"philosophy",
|
| 22 |
+
"computer science",
|
| 23 |
+
"history"
|
| 24 |
+
],
|
| 25 |
+
"languages": [
|
| 26 |
+
"English"
|
| 27 |
+
],
|
| 28 |
+
"similar_benchmarks": [
|
| 29 |
+
"MMLU"
|
| 30 |
+
],
|
| 31 |
+
"resources": [
|
| 32 |
+
"https://arxiv.org/abs/2406.01574",
|
| 33 |
+
"https://huggingface.co/datasets/TIGER-Lab/MMLU-Pro",
|
| 34 |
+
"https://huggingface.co/spaces/TIGER-Lab/MMLU-Pro",
|
| 35 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
"purpose_and_intended_users": {
|
| 39 |
+
"goal": "To provide a more challenging and discriminative benchmark for tracking progress in language model capabilities, testing deeper cognitive processes and reasoning as models plateau on existing benchmarks.",
|
| 40 |
+
"audience": [
|
| 41 |
+
"Researchers evaluating large language models"
|
| 42 |
+
],
|
| 43 |
+
"tasks": [
|
| 44 |
+
"Multiple-choice question answering across a broad range of subjects"
|
| 45 |
+
],
|
| 46 |
+
"limitations": "The dataset contains some mistakes and formatting inconsistencies, which the maintainers are correcting based on expert feedback.",
|
| 47 |
+
"out_of_scope_uses": [
|
| 48 |
+
"Not specified"
|
| 49 |
+
]
|
| 50 |
+
},
|
| 51 |
+
"data": {
|
| 52 |
+
"source": "The dataset is an enhanced version of MMLU, integrating more challenging questions from multiple sources. These include original MMLU questions (with trivial or ambiguous ones removed), hand-picked high-quality STEM problems from the internet, human-annotated questions requiring theorems from TheoremQA, and science questions from college exams via SciBench.",
|
| 53 |
+
"size": "The test split contains 12,032 examples, placing the dataset in the 10K to 100K size category. The total file size is 8,775,905 bytes.",
|
| 54 |
+
"format": "The data is stored in Parquet format and consists of multiple-choice questions, expanding the number of answer choices from four (as in MMLU) to ten.",
|
| 55 |
+
"annotation": "The annotation process involved expert review. Over ten experts scrutinized each question and its options to ensure challenge, comprehensiveness, accuracy, and fairness. Some answers were later corrected based on recommendations from specialists such as medical professionals."
|
| 56 |
+
},
|
| 57 |
+
"methodology": {
|
| 58 |
+
"methods": [
|
| 59 |
+
"Models are evaluated using multiple-choice question answering, typically with a 5-shot prompting setup, though some models use 0-shot.",
|
| 60 |
+
"Performance is tested using both direct answering and Chain-of-Thought (CoT) reasoning.",
|
| 61 |
+
"The benchmark tests performance under 24 different prompt styles."
|
| 62 |
+
],
|
| 63 |
+
"metrics": [
|
| 64 |
+
"Accuracy (reported as a percentage or score)"
|
| 65 |
+
],
|
| 66 |
+
"calculation": "The overall score is an average accuracy across subjects, but the specific calculation method is not detailed.",
|
| 67 |
+
"interpretation": "Higher scores indicate better performance. Performance on MMLU-Pro is significantly lower than on MMLU, indicating it is more challenging.",
|
| 68 |
+
"baseline_results": "PAPER baselines: GPT-4o achieves over 70% accuracy in Math and Physics subjects. Llama-3-70B-Instruct achieves an overall accuracy of 56.2%. Gemma-7B and Mistral-7B-v0.1 have lower performance (e.g., Mistral-7B-v0.1 scores just over 20% in Math and Physics). HF_README baselines: GPT-4o achieves an overall score of 0.7255 with CoT and 0.5346 with direct prompting. Other reported scores include Claude-3-Opus (0.6845), Claude-3-Sonnet (0.5511), Gemini 1.5 Flash (0.5912), and Llama-3-70B-Instruct (0.5620). EEE results: OLMo 2 32B Instruct March 2025 scored 0.4140.",
|
| 69 |
+
"validation": "The benchmark demonstrates greater stability under varying prompts, with sensitivity to prompt variations decreasing from 4-5% in MMLU to just 2% in MMLU-Pro."
|
| 70 |
+
},
|
| 71 |
+
"ethical_and_legal_considerations": {
|
| 72 |
+
"privacy_and_anonymity": "Not specified",
|
| 73 |
+
"data_licensing": "MIT License",
|
| 74 |
+
"consent_procedures": "Not specified",
|
| 75 |
+
"compliance_with_regulations": "Not specified"
|
| 76 |
+
},
|
| 77 |
+
"possible_risks": [
|
| 78 |
+
{
|
| 79 |
+
"category": "Over- or under-reliance",
|
| 80 |
+
"description": [
|
| 81 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 82 |
+
],
|
| 83 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"category": "Unrepresentative data",
|
| 87 |
+
"description": [
|
| 88 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 89 |
+
],
|
| 90 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"category": "Uncertain data provenance",
|
| 94 |
+
"description": [
|
| 95 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 96 |
+
],
|
| 97 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"category": "Data bias",
|
| 101 |
+
"description": [
|
| 102 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 103 |
+
],
|
| 104 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"category": "Improper usage",
|
| 108 |
+
"description": [
|
| 109 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 110 |
+
],
|
| 111 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 112 |
+
}
|
| 113 |
+
],
|
| 114 |
+
"flagged_fields": {},
|
| 115 |
+
"missing_fields": [
|
| 116 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 117 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 118 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 119 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 120 |
+
],
|
| 121 |
+
"card_info": {
|
| 122 |
+
"created_at": "2026-03-17T16:20:31.763989",
|
| 123 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 124 |
+
}
|
| 125 |
+
}
|
| 126 |
+
}
|
metadata/benchmark_card_MMLU.json
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "Measuring Massive Multitask Language Understanding (MMLU)",
|
| 5 |
+
"overview": "MMLU is a multiple-choice question-answering benchmark that measures a text model's multitask accuracy across 57 distinct tasks. It is designed to test a wide range of knowledge and problem-solving abilities, covering diverse academic and professional subjects from elementary to advanced levels.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"STEM",
|
| 9 |
+
"humanities",
|
| 10 |
+
"social sciences"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"GLUE",
|
| 17 |
+
"SuperGLUE"
|
| 18 |
+
],
|
| 19 |
+
"resources": [
|
| 20 |
+
"https://arxiv.org/abs/2009.03300",
|
| 21 |
+
"https://huggingface.co/datasets/cais/mmlu",
|
| 22 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json",
|
| 23 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 24 |
+
]
|
| 25 |
+
},
|
| 26 |
+
"purpose_and_intended_users": {
|
| 27 |
+
"goal": "To bridge the gap between the wide-ranging knowledge models acquire during pretraining and existing evaluation measures by assessing models across a diverse set of academic and professional subjects.",
|
| 28 |
+
"audience": [
|
| 29 |
+
"Researchers analyzing model capabilities and identifying shortcomings"
|
| 30 |
+
],
|
| 31 |
+
"tasks": [
|
| 32 |
+
"Multiple-choice question answering"
|
| 33 |
+
],
|
| 34 |
+
"limitations": "Models exhibit lopsided performance, frequently do not know when they are wrong, and have near-random accuracy on some socially important subjects like morality and law.",
|
| 35 |
+
"out_of_scope_uses": [
|
| 36 |
+
"Not specified"
|
| 37 |
+
]
|
| 38 |
+
},
|
| 39 |
+
"data": {
|
| 40 |
+
"source": "The dataset is an original source with expert-generated questions.",
|
| 41 |
+
"size": "The dataset contains over 100,000 examples, with a test split of 14,042 examples, a validation split of 1,531 examples, a dev split of 285 examples, and an auxiliary training split of 99,842 examples.",
|
| 42 |
+
"format": "parquet",
|
| 43 |
+
"annotation": "The dataset has no additional annotations; each question provides the correct answer as a class label (A, B, C, or D)."
|
| 44 |
+
},
|
| 45 |
+
"methodology": {
|
| 46 |
+
"methods": [
|
| 47 |
+
"Models are evaluated exclusively in zero-shot and few-shot settings to measure knowledge acquired during pretraining."
|
| 48 |
+
],
|
| 49 |
+
"metrics": [
|
| 50 |
+
"MMLU (accuracy)"
|
| 51 |
+
],
|
| 52 |
+
"calculation": "The overall score is an average accuracy across the 57 tasks.",
|
| 53 |
+
"interpretation": "Higher scores indicate better performance. Near random-chance accuracy indicates weak performance. The very largest GPT-3 model improved over random chance by almost 20 percentage points on average, but models still need substantial improvements to reach expert-level accuracy.",
|
| 54 |
+
"baseline_results": "Paper baselines: Most recent models have near random-chance accuracy. The very largest GPT-3 model improved over random chance by almost 20 percentage points on average. EEE results: Yi 34B scored 0.6500, Anthropic-LM v4-s3 52B scored 0.4810. The mean score across 2 evaluated models is 0.5655.",
|
| 55 |
+
"validation": "Not specified"
|
| 56 |
+
},
|
| 57 |
+
"ethical_and_legal_considerations": {
|
| 58 |
+
"privacy_and_anonymity": "Not specified",
|
| 59 |
+
"data_licensing": "MIT License",
|
| 60 |
+
"consent_procedures": "Not specified",
|
| 61 |
+
"compliance_with_regulations": "Not specified"
|
| 62 |
+
},
|
| 63 |
+
"possible_risks": [
|
| 64 |
+
{
|
| 65 |
+
"category": "Over- or under-reliance",
|
| 66 |
+
"description": [
|
| 67 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 68 |
+
],
|
| 69 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"category": "Unrepresentative data",
|
| 73 |
+
"description": [
|
| 74 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 75 |
+
],
|
| 76 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"category": "Data bias",
|
| 80 |
+
"description": [
|
| 81 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 82 |
+
],
|
| 83 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"category": "Lack of data transparency",
|
| 87 |
+
"description": [
|
| 88 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 89 |
+
],
|
| 90 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"category": "Improper usage",
|
| 94 |
+
"description": [
|
| 95 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 96 |
+
],
|
| 97 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 98 |
+
}
|
| 99 |
+
],
|
| 100 |
+
"flagged_fields": {},
|
| 101 |
+
"missing_fields": [
|
| 102 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 103 |
+
"methodology.validation",
|
| 104 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 105 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 106 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 107 |
+
],
|
| 108 |
+
"card_info": {
|
| 109 |
+
"created_at": "2026-03-17T13:14:49.605975",
|
| 110 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 111 |
+
}
|
| 112 |
+
}
|
| 113 |
+
}
|
metadata/benchmark_card_MUSR.json
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "MuSR",
|
| 5 |
+
"overview": "MuSR (Multistep Soft Reasoning) is a benchmark that measures the ability of language models to perform multistep soft reasoning based on natural language narratives. It combines sophisticated narratives with complex reasoning that requires commonsense knowledge and is not solvable by simple rule-based systems. The benchmark consists of three tasks: murder mysteries, object placements, and team allocations.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"reasoning",
|
| 9 |
+
"commonsense reasoning",
|
| 10 |
+
"planning"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"bAbI",
|
| 17 |
+
"BigTOM",
|
| 18 |
+
"ToMi",
|
| 19 |
+
"RuleTakers",
|
| 20 |
+
"ProntoQA",
|
| 21 |
+
"SocialIQA",
|
| 22 |
+
"StrategyQA"
|
| 23 |
+
],
|
| 24 |
+
"resources": [
|
| 25 |
+
"https://github.com/Zayne-Sprague/MuSR",
|
| 26 |
+
"https://arxiv.org/abs/2310.16049",
|
| 27 |
+
"https://huggingface.co/datasets/TAUR-Lab/MuSR"
|
| 28 |
+
]
|
| 29 |
+
},
|
| 30 |
+
"purpose_and_intended_users": {
|
| 31 |
+
"goal": "To evaluate and characterize the gaps in language models' abilities to perform robust, multistep reasoning in complex natural language settings, particularly testing the limits of techniques like chain-of-thought.",
|
| 32 |
+
"audience": [
|
| 33 |
+
"Researchers evaluating language models",
|
| 34 |
+
"Researchers evaluating neurosymbolic systems on reasoning capabilities"
|
| 35 |
+
],
|
| 36 |
+
"tasks": [
|
| 37 |
+
"Question answering",
|
| 38 |
+
"Solving murder mysteries",
|
| 39 |
+
"Solving object placement problems",
|
| 40 |
+
"Solving team allocation problems"
|
| 41 |
+
],
|
| 42 |
+
"limitations": "The benchmark instances are generated by GPT-4, which may lead to simple, poor-quality narratives with potential inconsistencies, though the paper argues they are valid test cases if the underlying information is faithfully preserved.",
|
| 43 |
+
"out_of_scope_uses": [
|
| 44 |
+
"Not specified"
|
| 45 |
+
]
|
| 46 |
+
},
|
| 47 |
+
"data": {
|
| 48 |
+
"source": "The data is synthetically generated using a neurosymbolic synthetic-to-natural generation algorithm that employs GPT-4. The process begins with gold facts, constructs a reasoning tree, and iteratively generates a narrative.",
|
| 49 |
+
"size": "756 instances across three domains: 250 for Murder Mystery, 256 for Object Placements, and 250 for Team Allocations. The dataset is categorized as containing fewer than 1,000 examples (n<1K).",
|
| 50 |
+
"format": "CSV, containing free-text narratives (ranging from hundreds to roughly 1000 words in length) followed by a multiple-choice question.",
|
| 51 |
+
"annotation": "Answers are derived from the underlying gold facts used in generation. For validation, human annotators (7 total) solved instances using a chain-of-thought+ prompt, with instances triply-annotated (34-40 per domain). Human accuracy was very high, with the lowest average annotator score at 90% and majority vote accuracy between 94.1% and 100%."
|
| 52 |
+
},
|
| 53 |
+
"methodology": {
|
| 54 |
+
"methods": [
|
| 55 |
+
"Models are evaluated in zero-shot and single-shot (1-shot) settings.",
|
| 56 |
+
"Prompting strategies include single-shot prompting, chain-of-thought (CoT), and an engineered variant called CoT+.",
|
| 57 |
+
"Neurosymbolic algorithms like Program-Aided Language Models (PAL) and SymbolicTOM are also evaluated on compatible domains."
|
| 58 |
+
],
|
| 59 |
+
"metrics": [
|
| 60 |
+
"MUSR (Accuracy)"
|
| 61 |
+
],
|
| 62 |
+
"calculation": "Performance is measured as accuracy (percentage correct) for each of the three domains (MM, OP, TA) separately. The paper does not report a single aggregated score.",
|
| 63 |
+
"interpretation": "Higher accuracy indicates better performance. Human performance sets a high ceiling (ranging from 94.1% to 100% by majority vote), while random baselines are at or near chance (ranging from 24.6% to 50%).",
|
| 64 |
+
"baseline_results": "Paper baselines: Random baseline (MM: 50%, OP: 24.6%, TA: 33.3%), GPT-4 (80.4%, 60.9%, 68.4%), GPT-3.5 (61.6%, 46.9%, 40.4%), Llama2 70b Chat (48.8%, 42.2%, 44.8%), Llama2 7b Chat (50.8%, 29.3%, 36.8%), Vicuna 7b v1.5 (48.4%, 29.7%, 26.4%), Vicuna 13b v1.5 (50.8%, 34.4%, 32%), Vicuna 33b v1.3 (49.6%, 31.2%, 30%), Human Eval (94.1%, 95%, 100%). PAL results for Team Allocation outperform end-to-end models but are below human performance. EEE results: YiSM-blossom5.1-34B-SLERP achieved an accuracy of 0.4413.",
|
| 65 |
+
"validation": "The dataset is validated by measuring human annotator performance to ensure the narratives support the intended reasoning. Rule-based baselines (e.g., picking the suspect with the longest chapter) are used as sanity checks and perform near random chance, confirming the tasks are not trivially solvable."
|
| 66 |
+
},
|
| 67 |
+
"ethical_and_legal_considerations": {
|
| 68 |
+
"privacy_and_anonymity": "Not specified",
|
| 69 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 70 |
+
"consent_procedures": "Annotation was performed by three hired undergraduate students. No details on compensation or the hiring platform are provided.",
|
| 71 |
+
"compliance_with_regulations": "The research received support from NSF, DARPA, and the Air Force Research Laboratory. No mention of IRB approval or other specific regulatory compliance is made."
|
| 72 |
+
},
|
| 73 |
+
"possible_risks": [
|
| 74 |
+
{
|
| 75 |
+
"category": "Over- or under-reliance",
|
| 76 |
+
"description": [
|
| 77 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 78 |
+
],
|
| 79 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 80 |
+
},
|
| 81 |
+
{
|
| 82 |
+
"category": "Unrepresentative data",
|
| 83 |
+
"description": [
|
| 84 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 85 |
+
],
|
| 86 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 87 |
+
},
|
| 88 |
+
{
|
| 89 |
+
"category": "Data contamination",
|
| 90 |
+
"description": [
|
| 91 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 92 |
+
],
|
| 93 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"category": "Reproducibility",
|
| 97 |
+
"description": [
|
| 98 |
+
"Replicating agent behavior or output can be impacted by changes or updates made to external services and tools. This impact is increased if the agent is built with generative AI."
|
| 99 |
+
],
|
| 100 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/reproducibility-agentic.html"
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"category": "Improper usage",
|
| 104 |
+
"description": [
|
| 105 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 106 |
+
],
|
| 107 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 108 |
+
}
|
| 109 |
+
],
|
| 110 |
+
"flagged_fields": {
|
| 111 |
+
"methodology.calculation": "[Possible Hallucination], no supporting evidence found in source material",
|
| 112 |
+
"methodology.baseline_results": "[Possible Hallucination], no supporting evidence found in source material",
|
| 113 |
+
"methodology.validation": "[Factuality Score: 0.17], low factual alignment with source material"
|
| 114 |
+
},
|
| 115 |
+
"missing_fields": [
|
| 116 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 117 |
+
"ethical_and_legal_considerations.privacy_and_anonymity"
|
| 118 |
+
],
|
| 119 |
+
"card_info": {
|
| 120 |
+
"created_at": "2026-03-17T12:25:43.235734",
|
| 121 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 122 |
+
}
|
| 123 |
+
}
|
| 124 |
+
}
|
metadata/benchmark_card_MedQA.json
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "MEDQA",
|
| 5 |
+
"overview": "MEDQA is a free-form multiple-choice open-domain question answering (OpenQA) benchmark designed to measure a model's ability to solve medical problems. It is distinctive as the first such dataset sourced from professional medical board exams, covering multiple languages and presenting a challenging real-world scenario.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"medical knowledge",
|
| 9 |
+
"professional medical exams"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"ARC",
|
| 16 |
+
"OpenBookQA"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"https://github.com/jind11/MedQA",
|
| 20 |
+
"https://arxiv.org/abs/2009.13081",
|
| 21 |
+
"https://huggingface.co/datasets/GBaker/MedQA-USMLE-4-options",
|
| 22 |
+
"https://storage.googleapis.com/crfm-helm-public/lite/benchmark_output/releases/v1.13.0/groups/core_scenarios.json"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"purpose_and_intended_users": {
|
| 26 |
+
"goal": "To present a challenging open-domain question answering dataset to promote the development of stronger models capable of handling sophisticated real-world medical scenarios, specifically evaluating performance on medical knowledge as tested in professional exams.",
|
| 27 |
+
"audience": [
|
| 28 |
+
"The natural language processing (NLP) community"
|
| 29 |
+
],
|
| 30 |
+
"tasks": [
|
| 31 |
+
"Free-form multiple-choice question answering",
|
| 32 |
+
"Open-domain question answering"
|
| 33 |
+
],
|
| 34 |
+
"limitations": "Even the best current methods achieve relatively low accuracy (36.7% to 70.1% across languages), indicating the benchmark's difficulty and the limitations of existing models.",
|
| 35 |
+
"out_of_scope_uses": [
|
| 36 |
+
"Not specified"
|
| 37 |
+
]
|
| 38 |
+
},
|
| 39 |
+
"data": {
|
| 40 |
+
"source": "The data is collected from professional medical board exams.",
|
| 41 |
+
"size": "The dataset contains 12,723 questions in English, 34,251 in simplified Chinese, and 14,123 in traditional Chinese. The total number of examples falls within the 10K to 100K range.",
|
| 42 |
+
"format": "JSON",
|
| 43 |
+
"annotation": "The answer labels are the correct answers from the professional exams. No additional annotation process is described."
|
| 44 |
+
},
|
| 45 |
+
"methodology": {
|
| 46 |
+
"methods": [
|
| 47 |
+
"The benchmark uses a sequential combination of a document retriever and a machine comprehension model. It includes both rule-based and neural methods.",
|
| 48 |
+
"The evaluation is a standard question-answering task, though the specific learning setting (e.g., zero-shot, few-shot, fine-tuning) is not explicitly defined."
|
| 49 |
+
],
|
| 50 |
+
"metrics": [
|
| 51 |
+
"Accuracy"
|
| 52 |
+
],
|
| 53 |
+
"calculation": "The overall score is the accuracy on the test set.",
|
| 54 |
+
"interpretation": "Higher accuracy indicates better performance. The best reported accuracies are 36.7% for English, 42.0% for traditional Chinese, and 70.1% for simplified Chinese questions.",
|
| 55 |
+
"baseline_results": "Original paper baselines: The best method reported achieves 36.7% accuracy on English, 42.0% on traditional Chinese, and 70.1% on simplified Chinese questions. Model names are not specified. EEE results: Yi 34B achieves a score of 0.656 (65.6%).",
|
| 56 |
+
"validation": "Not specified"
|
| 57 |
+
},
|
| 58 |
+
"ethical_and_legal_considerations": {
|
| 59 |
+
"privacy_and_anonymity": "Not specified",
|
| 60 |
+
"data_licensing": "Creative Commons Attribution 4.0",
|
| 61 |
+
"consent_procedures": "Not specified",
|
| 62 |
+
"compliance_with_regulations": "Not specified"
|
| 63 |
+
},
|
| 64 |
+
"possible_risks": [
|
| 65 |
+
{
|
| 66 |
+
"category": "Over- or under-reliance",
|
| 67 |
+
"description": [
|
| 68 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 69 |
+
],
|
| 70 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"category": "Unrepresentative data",
|
| 74 |
+
"description": [
|
| 75 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Uncertain data provenance",
|
| 81 |
+
"description": [
|
| 82 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Data bias",
|
| 88 |
+
"description": [
|
| 89 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"category": "Lack of data transparency",
|
| 95 |
+
"description": [
|
| 96 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 97 |
+
],
|
| 98 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 99 |
+
}
|
| 100 |
+
],
|
| 101 |
+
"flagged_fields": {},
|
| 102 |
+
"missing_fields": [
|
| 103 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 104 |
+
"methodology.validation",
|
| 105 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 106 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 107 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 108 |
+
],
|
| 109 |
+
"card_info": {
|
| 110 |
+
"created_at": "2026-03-17T13:23:29.822123",
|
| 111 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
}
|
metadata/benchmark_card_Omni-MATH.json
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "Omni-MATH",
|
| 5 |
+
"overview": "Omni-MATH is a benchmark designed to measure the mathematical reasoning capabilities of large language models at the Olympiad competition level. It comprises 4,428 challenging problems, categorized into over 33 sub-domains and more than 10 distinct difficulty levels. It was created because existing mathematical benchmarks are nearing saturation and are inadequate for assessing models on truly difficult tasks.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"math",
|
| 9 |
+
"olympiads"
|
| 10 |
+
],
|
| 11 |
+
"languages": [
|
| 12 |
+
"English"
|
| 13 |
+
],
|
| 14 |
+
"similar_benchmarks": [
|
| 15 |
+
"GSM8K",
|
| 16 |
+
"MATH"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"https://arxiv.org/abs/2410.07985",
|
| 20 |
+
"https://huggingface.co/datasets/KbsdJames/Omni-MATH",
|
| 21 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 22 |
+
]
|
| 23 |
+
},
|
| 24 |
+
"purpose_and_intended_users": {
|
| 25 |
+
"goal": "To provide a challenging benchmark for assessing and advancing the mathematical reasoning capabilities of large language models at the Olympiad and competition level, as existing benchmarks have become less challenging. It enables a nuanced analysis of performance across various mathematical disciplines and complexity levels.",
|
| 26 |
+
"audience": [
|
| 27 |
+
"Researchers evaluating large language models"
|
| 28 |
+
],
|
| 29 |
+
"tasks": [
|
| 30 |
+
"Solving Olympiad-level mathematical problems",
|
| 31 |
+
"Solving competition-level mathematical problems",
|
| 32 |
+
"Rule-based evaluation on a filtered subset of problems (Omni-MATH-Rule)"
|
| 33 |
+
],
|
| 34 |
+
"limitations": "Some problems are not suitable for reliable rule-based evaluation, leading to a filtered 'testable' set and an 'untestable' set.",
|
| 35 |
+
"out_of_scope_uses": [
|
| 36 |
+
"Not specified"
|
| 37 |
+
]
|
| 38 |
+
},
|
| 39 |
+
"data": {
|
| 40 |
+
"source": "The data is sourced from contest pages, the AoPS Wiki, and the AoPS Forum. Initial raw counts from these sources were filtered to create the final dataset.",
|
| 41 |
+
"size": "4,428 problems. A subset of 2,821 problems (Omni-MATH-Rule) is suitable for rule-based evaluation, and a separate subset of 100 samples was used for meta-evaluation.",
|
| 42 |
+
"format": "JSON",
|
| 43 |
+
"annotation": "Problems underwent rigorous human annotation by a team including PhD and Master's students. Each problem was reviewed by two annotators for cross-validation, achieving high agreement rates."
|
| 44 |
+
},
|
| 45 |
+
"methodology": {
|
| 46 |
+
"methods": [
|
| 47 |
+
"Models are evaluated by generating solutions to the mathematical problems.",
|
| 48 |
+
"Evaluation is conducted using both model-based judgment (e.g., GPT-4o or the open-source Omni-Judge) and rule-based evaluation for a specific subset of problems (Omni-MATH-Rule)."
|
| 49 |
+
],
|
| 50 |
+
"metrics": [
|
| 51 |
+
"Accuracy (Acc)"
|
| 52 |
+
],
|
| 53 |
+
"calculation": "The overall score is the accuracy percentage, calculated as the number of correct solutions divided by the total number of problems.",
|
| 54 |
+
"interpretation": "Higher accuracy indicates stronger performance. The benchmark is considered challenging, as even advanced models achieve only moderate accuracy.",
|
| 55 |
+
"baseline_results": "Paper baselines (accuracy on full Omni-MATH / Omni-MATH-Rule subset): o1-mini (60.54% / 62.2%), o1-preview (52.55% / 51.7%), qwen2.5-MATH-72b-Instruct (36.20% / 35.7%), qwen2.5-MATH-7b-Instruct (33.22% / 32.3%), GPT-4o (30.49% / 29.2%), NuminaMATH-72b-cot (28.45% / 27.1%), DeepseekMATH-7b-RL (16.12% / 14.9%). EEE results: OLMo 2 32B Instruct March 2025 scored 0.161 (16.1%).",
|
| 56 |
+
"validation": "For the Omni-MATH-Rule subset, two PhD students annotated problems to determine suitability for rule-based evaluation, achieving 98% cross-validation accuracy. A meta-evaluation compared model-generated judgments against human gold-standard annotations on a 100-sample subset to assess reliability."
|
| 57 |
+
},
|
| 58 |
+
"ethical_and_legal_considerations": {
|
| 59 |
+
"privacy_and_anonymity": "Not specified",
|
| 60 |
+
"data_licensing": "Apache License 2.0",
|
| 61 |
+
"consent_procedures": "Not specified",
|
| 62 |
+
"compliance_with_regulations": "Not specified"
|
| 63 |
+
},
|
| 64 |
+
"possible_risks": [
|
| 65 |
+
{
|
| 66 |
+
"category": "Over- or under-reliance",
|
| 67 |
+
"description": [
|
| 68 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 69 |
+
],
|
| 70 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"category": "Unrepresentative data",
|
| 74 |
+
"description": [
|
| 75 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 76 |
+
],
|
| 77 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"category": "Data bias",
|
| 81 |
+
"description": [
|
| 82 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 83 |
+
],
|
| 84 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"category": "Lack of data transparency",
|
| 88 |
+
"description": [
|
| 89 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 90 |
+
],
|
| 91 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"category": "Improper usage",
|
| 95 |
+
"description": [
|
| 96 |
+
"Improper usage occurs when a model is used for a purpose that it was not originally designed for."
|
| 97 |
+
],
|
| 98 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/improper-usage.html"
|
| 99 |
+
}
|
| 100 |
+
],
|
| 101 |
+
"flagged_fields": {},
|
| 102 |
+
"missing_fields": [
|
| 103 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 104 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 105 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 106 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 107 |
+
],
|
| 108 |
+
"card_info": {
|
| 109 |
+
"created_at": "2026-03-17T13:34:44.331592",
|
| 110 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 111 |
+
}
|
| 112 |
+
}
|
| 113 |
+
}
|
metadata/benchmark_card_QuAC.json
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "QuAC",
|
| 5 |
+
"overview": "QuAC (Question Answering in Context) is a benchmark that measures a model's ability to answer questions within an information-seeking dialogue. It contains 14,000 dialogues comprising 100,000 question-answer pairs. The dataset is distinctive because questions are often open-ended, context-dependent, unanswerable, or only meaningful within the dialog flow, presenting challenges not found in standard machine comprehension datasets.",
|
| 6 |
+
"data_type": "text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"question answering",
|
| 9 |
+
"dialogue modeling",
|
| 10 |
+
"text generation"
|
| 11 |
+
],
|
| 12 |
+
"languages": [
|
| 13 |
+
"English"
|
| 14 |
+
],
|
| 15 |
+
"similar_benchmarks": [
|
| 16 |
+
"SQuAD"
|
| 17 |
+
],
|
| 18 |
+
"resources": [
|
| 19 |
+
"http://quac.ai",
|
| 20 |
+
"https://arxiv.org/abs/1808.07036",
|
| 21 |
+
"https://huggingface.co/datasets/allenai/quac",
|
| 22 |
+
"https://storage.googleapis.com/crfm-helm-public/benchmark_output/releases/v0.4.0/groups/core_scenarios.json"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"purpose_and_intended_users": {
|
| 26 |
+
"goal": "To enable models to learn from and participate in information-seeking dialog, handling context-dependent, elliptical, and sometimes unanswerable questions.",
|
| 27 |
+
"audience": [
|
| 28 |
+
"Not specified"
|
| 29 |
+
],
|
| 30 |
+
"tasks": [
|
| 31 |
+
"Extractive question answering",
|
| 32 |
+
"Text generation",
|
| 33 |
+
"Fill mask"
|
| 34 |
+
],
|
| 35 |
+
"limitations": "Some questions have lower quality annotations; the dataset filters out the noisiest ~10% of annotations where human F1 is below 40. Questions can be open-ended, unanswerable, or only meaningful within the dialog context, posing inherent challenges.",
|
| 36 |
+
"out_of_scope_uses": [
|
| 37 |
+
"Not specified"
|
| 38 |
+
]
|
| 39 |
+
},
|
| 40 |
+
"data": {
|
| 41 |
+
"source": "The data is crowdsourced via an interactive dialog between two crowd workers: one acting as a student asking questions to learn about a hidden Wikipedia text, and the other acting as a teacher who answers using short excerpts from that text. The source data comes from Wikipedia.",
|
| 42 |
+
"size": "The dataset contains 98,407 question-answer pairs from 13,594 dialogs, based on 8,854 unique sections from 3,611 unique Wikipedia articles. The training set has 83,568 questions (11,567 dialogs), the validation set has 7,354 questions (1,000 dialogs), and the test set has 7,353 questions (1,002 dialogs). The dataset size is between 10,000 and 100,000 examples.",
|
| 43 |
+
"format": "Each dialog is a sequence of question-answer pairs centered around a Wikipedia section. The teacher's response includes a text span, a 'yes/no' indication, a 'no answer' indication, and an encouragement for follow-up questions.",
|
| 44 |
+
"annotation": "Questions are answered by a teacher selecting short excerpts (spans) from the Wikipedia text. The training set has one reference answer per question, while the validation and test sets each have five reference answers per question to improve evaluation reliability. For evaluation, questions with a human F1 score lower than 40 are not used, as manual inspection revealed lower quality below this threshold."
|
| 45 |
+
},
|
| 46 |
+
"methodology": {
|
| 47 |
+
"methods": [
|
| 48 |
+
"Models predict a text span to answer a question about a Wikipedia section, given a dialog history of previous questions and answers.",
|
| 49 |
+
"The evaluation uses a reading comprehension architecture extended to model dialog context."
|
| 50 |
+
],
|
| 51 |
+
"metrics": [
|
| 52 |
+
"Word-level F1"
|
| 53 |
+
],
|
| 54 |
+
"calculation": "Precision and recall are computed over overlapping words after removing stopwords. For 'no answer' questions, F1 is 1 if correctly predicted and 0 otherwise. The maximum F1 among all references is computed for each question.",
|
| 55 |
+
"interpretation": "Higher F1 scores indicate better performance. The best model underperforms humans by 20 F1, indicating significant room for improvement.",
|
| 56 |
+
"baseline_results": "Paper baselines: The best model underperforms humans by 20 F1, but specific model names and scores are not provided. EEE results: Anthropic-LM v4-s3 52B achieves an F1 score of 0.431.",
|
| 57 |
+
"validation": "Quality assurance includes using multiple references for development and test questions, filtering out questions with low human F1 scores, and manual inspection of low-quality annotations."
|
| 58 |
+
},
|
| 59 |
+
"ethical_and_legal_considerations": {
|
| 60 |
+
"privacy_and_anonymity": "Not specified",
|
| 61 |
+
"data_licensing": "MIT License",
|
| 62 |
+
"consent_procedures": "Dialogs were created by two crowd workers, but the specific compensation or platform details are not provided in the paper.",
|
| 63 |
+
"compliance_with_regulations": "Not specified"
|
| 64 |
+
},
|
| 65 |
+
"possible_risks": [
|
| 66 |
+
{
|
| 67 |
+
"category": "Over- or under-reliance",
|
| 68 |
+
"description": [
|
| 69 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 70 |
+
],
|
| 71 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"category": "Unrepresentative data",
|
| 75 |
+
"description": [
|
| 76 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 77 |
+
],
|
| 78 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"category": "Uncertain data provenance",
|
| 82 |
+
"description": [
|
| 83 |
+
"Data provenance refers to the traceability of data (including synthetic data), which includes its ownership, origin, transformations, and generation. Proving that the data is the same as the original source with correct usage terms is difficult without standardized methods for verifying data sources or generation."
|
| 84 |
+
],
|
| 85 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-provenance.html"
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"category": "Data bias",
|
| 89 |
+
"description": [
|
| 90 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 91 |
+
],
|
| 92 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 93 |
+
},
|
| 94 |
+
{
|
| 95 |
+
"category": "Lack of data transparency",
|
| 96 |
+
"description": [
|
| 97 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 98 |
+
],
|
| 99 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"flagged_fields": {},
|
| 103 |
+
"missing_fields": [
|
| 104 |
+
"purpose_and_intended_users.audience",
|
| 105 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 106 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 107 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 108 |
+
],
|
| 109 |
+
"card_info": {
|
| 110 |
+
"created_at": "2026-03-17T13:45:24.009083",
|
| 111 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
}
|
metadata/benchmark_card_WildBench.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"benchmark_card": {
|
| 3 |
+
"benchmark_details": {
|
| 4 |
+
"name": "WildBench",
|
| 5 |
+
"overview": "WildBench is a benchmark that measures the performance of large language models on challenging, open-ended tasks derived from real-world user queries. It consists of 1,024 tasks selected from human-chatbot conversation logs. Its distinctive features include using a natural distribution of real user queries and employing automated evaluation with two novel metrics, WB-Reward and WB-Score, which utilize task-specific checklists and structured explanations.",
|
| 6 |
+
"data_type": "tabular, text",
|
| 7 |
+
"domains": [
|
| 8 |
+
"Info Seeking",
|
| 9 |
+
"Math & Data",
|
| 10 |
+
"Reasoning & Planning",
|
| 11 |
+
"Creative Tasks"
|
| 12 |
+
],
|
| 13 |
+
"languages": [
|
| 14 |
+
"English"
|
| 15 |
+
],
|
| 16 |
+
"similar_benchmarks": [
|
| 17 |
+
"AlpacaEval",
|
| 18 |
+
"ArenaHard",
|
| 19 |
+
"MT-bench",
|
| 20 |
+
"Chatbot Arena"
|
| 21 |
+
],
|
| 22 |
+
"resources": [
|
| 23 |
+
"https://arxiv.org/abs/2406.04770",
|
| 24 |
+
"https://huggingface.co/datasets/allenai/WildBench",
|
| 25 |
+
"https://huggingface.co/spaces/allenai/WildBench",
|
| 26 |
+
"https://storage.googleapis.com/crfm-helm-public/capabilities/benchmark_output/releases/v1.15.0/groups/core_scenarios.json"
|
| 27 |
+
]
|
| 28 |
+
},
|
| 29 |
+
"purpose_and_intended_users": {
|
| 30 |
+
"goal": "To provide a realistic, automated, and cost-effective evaluation framework for large language models that reflects their capabilities on challenging, real-world user tasks. It aims to be contamination-resilient and dynamically updated.",
|
| 31 |
+
"audience": [
|
| 32 |
+
"Researchers and practitioners evaluating large language models"
|
| 33 |
+
],
|
| 34 |
+
"tasks": [
|
| 35 |
+
"Open-ended text generation in response to diverse user queries"
|
| 36 |
+
],
|
| 37 |
+
"limitations": "The benchmark acknowledges a common issue in LLM-as-a-judge evaluations: bias towards longer outputs. It introduces a length-penalty method to mitigate this.",
|
| 38 |
+
"out_of_scope_uses": [
|
| 39 |
+
"Not specified"
|
| 40 |
+
]
|
| 41 |
+
},
|
| 42 |
+
"data": {
|
| 43 |
+
"source": "The data is derived from real user-chatbot conversation logs collected by the AI2 WildChat project. Over one million logs were filtered to create the benchmark.",
|
| 44 |
+
"size": "The benchmark contains 1,024 tasks. A separate 'v2-hard' configuration contains 256 examples. The dataset falls into the size category of 1K to 10K examples.",
|
| 45 |
+
"format": "The data is stored in Parquet format.",
|
| 46 |
+
"annotation": "Human annotation was used for quality control. GPT-4-Turbo assisted by summarizing query intents to help human reviewers filter out nonsensical tasks. Human reviewers manually assessed tasks to ensure they were challenging, diverse, and that associated checklist questions were clear. The final set of tasks was retained after this process. Each example includes fine-grained annotations such as task types and checklists for evaluating response quality."
|
| 47 |
+
},
|
| 48 |
+
"methodology": {
|
| 49 |
+
"methods": [
|
| 50 |
+
"Models are evaluated automatically using LLM-as-a-judge, with GPT-4-turbo as the evaluator. The evaluation is not fine-tuning-based and appears to be zero-shot or prompted.",
|
| 51 |
+
"The evaluation uses length-penalized pairwise comparisons and individual scoring to prevent bias towards longer outputs."
|
| 52 |
+
],
|
| 53 |
+
"metrics": [
|
| 54 |
+
"WB-Reward (for pairwise comparisons)",
|
| 55 |
+
"WB-Score (for individual scoring)",
|
| 56 |
+
"WB-Elo (for leaderboard ranking, merging WB-Reward and WB-Score)"
|
| 57 |
+
],
|
| 58 |
+
"calculation": "WB-Reward compares a test model against three baseline models of varying performance, producing outcomes of 'much better', 'slightly better', 'tie', 'slightly worse', or 'much worse'. A length penalty converts 'slightly better/worse' to 'tie' if the winner's response is excessively longer. WB-Score evaluates individual model outputs. WB-Elo merges the pairwise comparisons from WB-Reward and WB-Score to perform Elo rating updates.",
|
| 59 |
+
"interpretation": "Higher scores on WB-Reward and WB-Score indicate better performance. Strong performance is validated by a high correlation with human-voted Elo ratings from Chatbot Arena, with WB-Reward achieving a Pearson correlation of 0.98 and WB-Score reaching 0.95.",
|
| 60 |
+
"baseline_results": "Paper baselines: The paper reports results for 40 LLMs but does not list specific scores. It notes that using Haiku as a baseline yields the best correlation with human ratings. EEE results: OLMo 2 32B Instruct March 2025 scored 0.7340 on WildBench.",
|
| 61 |
+
"validation": "The evaluation metrics are validated by their strong correlation with human-voted Elo ratings from Chatbot Arena on hard tasks. Checklist questions used in the evaluation were manually verified for clarity and relevance."
|
| 62 |
+
},
|
| 63 |
+
"ethical_and_legal_considerations": {
|
| 64 |
+
"privacy_and_anonymity": "Not specified",
|
| 65 |
+
"data_licensing": "The dataset is made available under a CC BY license, intended for research and educational use in accordance with AI2's Responsible Use Guidelines.",
|
| 66 |
+
"consent_procedures": "Not specified",
|
| 67 |
+
"compliance_with_regulations": "Not specified"
|
| 68 |
+
},
|
| 69 |
+
"possible_risks": [
|
| 70 |
+
{
|
| 71 |
+
"category": "Over- or under-reliance",
|
| 72 |
+
"description": [
|
| 73 |
+
"In AI-assisted decision-making tasks, reliance measures how much a person trusts (and potentially acts on) a model's output. Over-reliance occurs when a person puts too much trust in a model, accepting a model's output when the model's output is likely incorrect. Under-reliance is the opposite, where the person doesn't trust the model but should."
|
| 74 |
+
],
|
| 75 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/over-or-under-reliance.html"
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"category": "Unrepresentative data",
|
| 79 |
+
"description": [
|
| 80 |
+
"Unrepresentative data occurs when the training or fine-tuning data is not sufficiently representative of the underlying population or does not measure the phenomenon of interest. Synthetic data might not fully capture the complexity and nuances of real-world data. Causes include possible limitations in the seed data quality, biases in generation methods, or inadequate domain knowledge. Thus, AI models might struggle to generalize effectively to real-world scenarios."
|
| 81 |
+
],
|
| 82 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/unrepresentative-data.html"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"category": "Data bias",
|
| 86 |
+
"description": [
|
| 87 |
+
"Historical and societal biases might be present in data that are used to train and fine-tune models. Biases can also be inherited from seed data or exacerbated by synthetic data generation methods."
|
| 88 |
+
],
|
| 89 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-bias.html"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"category": "Data contamination",
|
| 93 |
+
"description": [
|
| 94 |
+
"Data contamination occurs when incorrect data is used for training. For example, data that is not aligned with model's purpose or data that is already set aside for other development tasks such as testing and evaluation."
|
| 95 |
+
],
|
| 96 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/data-contamination.html"
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"category": "Lack of data transparency",
|
| 100 |
+
"description": [
|
| 101 |
+
"Lack of data transparency might be due to insufficient documentation of training or tuning dataset details, including synthetic data generation.\u00a0"
|
| 102 |
+
],
|
| 103 |
+
"url": "https://www.ibm.com/docs/en/watsonx/saas?topic=SSYOK8/wsj/ai-risk-atlas/lack-of-data-transparency.html"
|
| 104 |
+
}
|
| 105 |
+
],
|
| 106 |
+
"flagged_fields": {},
|
| 107 |
+
"missing_fields": [
|
| 108 |
+
"purpose_and_intended_users.out_of_scope_uses",
|
| 109 |
+
"ethical_and_legal_considerations.privacy_and_anonymity",
|
| 110 |
+
"ethical_and_legal_considerations.consent_procedures",
|
| 111 |
+
"ethical_and_legal_considerations.compliance_with_regulations"
|
| 112 |
+
],
|
| 113 |
+
"card_info": {
|
| 114 |
+
"created_at": "2026-03-17T13:56:24.159440",
|
| 115 |
+
"llm": "deepseek-ai/DeepSeek-V3.2"
|
| 116 |
+
}
|
| 117 |
+
}
|
| 118 |
+
}
|