Commit Β·
097252d
1
Parent(s): 107c8eb
Highlight size category leaders in gold in the leaderboard
Browse files- index.html +52 -17
index.html
CHANGED
|
@@ -10,6 +10,8 @@
|
|
| 10 |
<script src="https://cdn.jsdelivr.net/npm/chart.js@4"></script>
|
| 11 |
<style>
|
| 12 |
:root {
|
|
|
|
|
|
|
| 13 |
--bg: #0a0a0b;
|
| 14 |
--bg-alt: #111113;
|
| 15 |
--surface: #141416;
|
|
@@ -1167,6 +1169,8 @@
|
|
| 1167 |
|
| 1168 |
<style>
|
| 1169 |
/* index7.1 refinements */
|
|
|
|
|
|
|
| 1170 |
#highlight-leader-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
|
| 1171 |
#highlight-leader-grid .filter-leader-card {
|
| 1172 |
display: flex;
|
|
@@ -1191,8 +1195,8 @@
|
|
| 1191 |
}
|
| 1192 |
#highlight-leader-grid .filter-leader-card:focus-visible { outline: 2px solid var(--leader-org-color); outline-offset: 3px; }
|
| 1193 |
#highlight-leader-grid .filter-leader-kicker { color: #91919b; font-size: 10px; letter-spacing: .08em; }
|
| 1194 |
-
#highlight-leader-grid .filter-leader-name { min-height: 44px; margin-top: 14px; font-size: 18px; font-weight: 500; letter-spacing: -.3px; }
|
| 1195 |
-
#highlight-leader-grid .filter-leader-name:hover { color: var(--
|
| 1196 |
.highlight-leader-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: auto; padding-top: 14px; }
|
| 1197 |
.highlight-leader-score { text-align: right; }
|
| 1198 |
#highlight-leader-grid .filter-leader-score { margin-top: 0; font-size: 22px; }
|
|
@@ -1601,7 +1605,7 @@
|
|
| 1601 |
<!-- LEADERBOARD TABLE -->
|
| 1602 |
<section id="leaderboard" style="padding-top:40px;">
|
| 1603 |
<h2 class="section-title">Leaderboard</h2>
|
| 1604 |
-
<p class="section-sub">Zero-shot evaluation. Higher is better for all columns. Click any header to sort.</p>
|
| 1605 |
<div class="leaderboard-filter-row">
|
| 1606 |
<div class="filter-group">
|
| 1607 |
<span class="filter-label">Model size</span>
|
|
@@ -2123,6 +2127,7 @@
|
|
| 2123 |
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 2124 |
|
| 2125 |
const BENCHMARKS = ['arc', 'hellaswag', 'piqa', 'arcChall', 'arithmark3', 'arithmark2'];
|
|
|
|
| 2126 |
const METRICS = [
|
| 2127 |
{ key: 'intelligenceIndex', label: 'Int Index', fullLabel: 'Intelligence Index' },
|
| 2128 |
{ key: 'hellaswag', label: 'HellaSwag', fullLabel: 'HellaSwag' },
|
|
@@ -2254,17 +2259,45 @@
|
|
| 2254 |
return models.filter(m => !m.type);
|
| 2255 |
}
|
| 2256 |
|
| 2257 |
-
function getFilteredModels(models = MODELS) {
|
| 2258 |
let arr = getModelEntries(models);
|
| 2259 |
-
if (
|
| 2260 |
-
else if (
|
| 2261 |
-
else if (
|
| 2262 |
-
else if (
|
| 2263 |
-
else if (
|
| 2264 |
-
else if (
|
| 2265 |
return arr;
|
| 2266 |
}
|
| 2267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2268 |
function getLeaderboardModels(models = getFilteredModels()) {
|
| 2269 |
const normalizeSearchText = value => String(value || '')
|
| 2270 |
.normalize('NFKD')
|
|
@@ -2439,7 +2472,7 @@ function getFilteredModels(models = MODELS) {
|
|
| 2439 |
|
| 2440 |
function renderFilters() {
|
| 2441 |
const bar = document.getElementById('filter-bar');
|
| 2442 |
-
const filters =
|
| 2443 |
bar.innerHTML = filters.map(f => `
|
| 2444 |
<button class="filter-btn ${activeFilter === f ? 'active' : ''}" onclick="setFilter('${f}')">${f === 'all' ? 'All' : f}</button>
|
| 2445 |
`).join('');
|
|
@@ -2568,6 +2601,7 @@ function getFilteredModels(models = MODELS) {
|
|
| 2568 |
const allModels = getLeaderboardModels();
|
| 2569 |
const fitMap = getModelFitMap(allModels);
|
| 2570 |
const sorted = getSortedModels(allModels, fitMap);
|
|
|
|
| 2571 |
|
| 2572 |
if (!sorted.length) {
|
| 2573 |
tbody.innerHTML = '<tr><td colspan="13" class="td-model" style="padding:24px;color:var(--text-secondary);">No models match this search.</td></tr>';
|
|
@@ -2620,7 +2654,7 @@ function getFilteredModels(models = MODELS) {
|
|
| 2620 |
<tr>
|
| 2621 |
<td class="td-compare"><button class="compare-toggle ${inCompare ? 'active' : ''}" onclick="toggleCompare('${encodeURIComponent(m.name)}')" title="${inCompare ? 'Remove from comparison' : 'Add to comparison'}" aria-pressed="${inCompare}">${inCompare ? 'β' : '+'}</button></td>
|
| 2622 |
<td class="td-rank">${rank}</td>
|
| 2623 |
-
<td class="td-model"><a href="${m.links.card}" target="_blank">${m.name}</a>${cutoffTag}<span class="model-org"><a href="${org.url}" target="_blank">${org.name}</a> · ${m.paramsDisplay}</span></td>
|
| 2624 |
<td class="td-params">${m.paramsDisplay}</td>
|
| 2625 |
<td class="td-score">${intelligenceIndex !== null ? `<span class="${Math.abs(intelligenceIndex - best.intelligenceIndex) < 0.001 ? 'best' : ''}" style="${scoreColor(intelligenceIndex, Math.min(0, mins.intelligenceIndex), best.intelligenceIndex)}">${intelligenceIndex.toFixed(2)}</span>` : '<span class="td-score na">—</span>'}</td>
|
| 2626 |
<td class="td-score">${fmtCell(m.hellaswag, 'hellaswag')}</td>
|
|
@@ -3319,9 +3353,8 @@ function getFilteredModels(models = MODELS) {
|
|
| 3319 |
|
| 3320 |
<script>
|
| 3321 |
(function () {
|
| 3322 |
-
const sizeFilters =
|
| 3323 |
const sizeLabels = { all: 'All sizes', '<250M': 'Under 250M', '<150M': 'Under 150M', '<100M': 'Under 100M', '<50M': 'Under 50M', '<10M': 'Under 10M', '<3M': 'Under 3M' };
|
| 3324 |
-
const limits = { '<250M': 250000000, '<150M': 150000000, '<100M': 100000000, '<50M': 50000000, '<10M': 10000000, '<3M': 3000000 };
|
| 3325 |
|
| 3326 |
function escapeHtml(value) {
|
| 3327 |
return String(value).replace(/[&<>"']/g, function (char) {
|
|
@@ -3330,12 +3363,14 @@ function getFilteredModels(models = MODELS) {
|
|
| 3330 |
}
|
| 3331 |
|
| 3332 |
function modelsFor(filter) {
|
| 3333 |
-
return
|
| 3334 |
-
return filter === 'all' || (model.params && model.params < limits[filter]);
|
| 3335 |
-
});
|
| 3336 |
}
|
| 3337 |
|
| 3338 |
function winner(filter, metric) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3339 |
return modelsFor(filter)
|
| 3340 |
.map(function (model) { return { model: model, score: getMetricValue(model, metric) }; })
|
| 3341 |
.filter(function (entry) { return Number.isFinite(entry.score); })
|
|
|
|
| 10 |
<script src="https://cdn.jsdelivr.net/npm/chart.js@4"></script>
|
| 11 |
<style>
|
| 12 |
:root {
|
| 13 |
+
--leader-gold: #d7bd83;
|
| 14 |
+
--leader-gold-hover: #f0dca8;
|
| 15 |
--bg: #0a0a0b;
|
| 16 |
--bg-alt: #111113;
|
| 17 |
--surface: #141416;
|
|
|
|
| 1169 |
|
| 1170 |
<style>
|
| 1171 |
/* index7.1 refinements */
|
| 1172 |
+
#leaderboard-body .td-model > a.category-leader { color: var(--leader-gold); }
|
| 1173 |
+
#leaderboard-body .td-model > a.category-leader:hover { color: var(--leader-gold-hover); }
|
| 1174 |
#highlight-leader-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
|
| 1175 |
#highlight-leader-grid .filter-leader-card {
|
| 1176 |
display: flex;
|
|
|
|
| 1195 |
}
|
| 1196 |
#highlight-leader-grid .filter-leader-card:focus-visible { outline: 2px solid var(--leader-org-color); outline-offset: 3px; }
|
| 1197 |
#highlight-leader-grid .filter-leader-kicker { color: #91919b; font-size: 10px; letter-spacing: .08em; }
|
| 1198 |
+
#highlight-leader-grid .filter-leader-name { min-height: 44px; margin-top: 14px; color: var(--text); font-size: 18px; font-weight: 500; letter-spacing: -.3px; }
|
| 1199 |
+
#highlight-leader-grid .filter-leader-name:hover { color: var(--text); }
|
| 1200 |
.highlight-leader-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: auto; padding-top: 14px; }
|
| 1201 |
.highlight-leader-score { text-align: right; }
|
| 1202 |
#highlight-leader-grid .filter-leader-score { margin-top: 0; font-size: 22px; }
|
|
|
|
| 1605 |
<!-- LEADERBOARD TABLE -->
|
| 1606 |
<section id="leaderboard" style="padding-top:40px;">
|
| 1607 |
<h2 class="section-title">Leaderboard</h2>
|
| 1608 |
+
<p class="section-sub">Zero-shot evaluation. Higher is better for all columns. Gold names mark size category leaders. Click any header to sort.</p>
|
| 1609 |
<div class="leaderboard-filter-row">
|
| 1610 |
<div class="filter-group">
|
| 1611 |
<span class="filter-label">Model size</span>
|
|
|
|
| 2127 |
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 2128 |
|
| 2129 |
const BENCHMARKS = ['arc', 'hellaswag', 'piqa', 'arcChall', 'arithmark3', 'arithmark2'];
|
| 2130 |
+
const SIZE_FILTERS = ['all', '<250M', '<150M', '<100M', '<50M', '<10M', '<3M'];
|
| 2131 |
const METRICS = [
|
| 2132 |
{ key: 'intelligenceIndex', label: 'Int Index', fullLabel: 'Intelligence Index' },
|
| 2133 |
{ key: 'hellaswag', label: 'HellaSwag', fullLabel: 'HellaSwag' },
|
|
|
|
| 2259 |
return models.filter(m => !m.type);
|
| 2260 |
}
|
| 2261 |
|
| 2262 |
+
function getFilteredModels(models = MODELS, filter = activeFilter) {
|
| 2263 |
let arr = getModelEntries(models);
|
| 2264 |
+
if (filter === '<3M') arr = arr.filter(m => m.params && m.params < 3000000);
|
| 2265 |
+
else if (filter === '<10M') arr = arr.filter(m => m.params && m.params < 10000000);
|
| 2266 |
+
else if (filter === '<50M') arr = arr.filter(m => m.params && m.params < 50000000);
|
| 2267 |
+
else if (filter === '<100M') arr = arr.filter(m => m.params && m.params < 100000000);
|
| 2268 |
+
else if (filter === '<150M') arr = arr.filter(m => m.params && m.params < 150000000);
|
| 2269 |
+
else if (filter === '<250M') arr = arr.filter(m => m.params && m.params < 250000000);
|
| 2270 |
return arr;
|
| 2271 |
}
|
| 2272 |
|
| 2273 |
+
function getSizeLeader(filter) {
|
| 2274 |
+
let leader = null;
|
| 2275 |
+
let bestScore = -Infinity;
|
| 2276 |
+
for (const model of getFilteredModels(MODELS, filter)) {
|
| 2277 |
+
const score = getIntelligenceIndex(model);
|
| 2278 |
+
if (Number.isFinite(score) && score > bestScore) {
|
| 2279 |
+
leader = model;
|
| 2280 |
+
bestScore = score;
|
| 2281 |
+
}
|
| 2282 |
+
}
|
| 2283 |
+
return leader;
|
| 2284 |
+
}
|
| 2285 |
+
|
| 2286 |
+
function getCategoryLeaders() {
|
| 2287 |
+
const leaders = new Map();
|
| 2288 |
+
for (const filter of SIZE_FILTERS) {
|
| 2289 |
+
const leader = getSizeLeader(filter);
|
| 2290 |
+
if (!leader) continue;
|
| 2291 |
+
if (!leaders.has(leader.name)) leaders.set(leader.name, []);
|
| 2292 |
+
leaders.get(leader.name).push(filter === 'all' ? 'All sizes' : filter);
|
| 2293 |
+
}
|
| 2294 |
+
return leaders;
|
| 2295 |
+
}
|
| 2296 |
+
|
| 2297 |
+
function getCategoryLeaderTitle(categories) {
|
| 2298 |
+
return categories ? `Category leader: ${categories.join(', ')}`.replace(/</g, '<') : '';
|
| 2299 |
+
}
|
| 2300 |
+
|
| 2301 |
function getLeaderboardModels(models = getFilteredModels()) {
|
| 2302 |
const normalizeSearchText = value => String(value || '')
|
| 2303 |
.normalize('NFKD')
|
|
|
|
| 2472 |
|
| 2473 |
function renderFilters() {
|
| 2474 |
const bar = document.getElementById('filter-bar');
|
| 2475 |
+
const filters = SIZE_FILTERS;
|
| 2476 |
bar.innerHTML = filters.map(f => `
|
| 2477 |
<button class="filter-btn ${activeFilter === f ? 'active' : ''}" onclick="setFilter('${f}')">${f === 'all' ? 'All' : f}</button>
|
| 2478 |
`).join('');
|
|
|
|
| 2601 |
const allModels = getLeaderboardModels();
|
| 2602 |
const fitMap = getModelFitMap(allModels);
|
| 2603 |
const sorted = getSortedModels(allModels, fitMap);
|
| 2604 |
+
const categoryLeaders = getCategoryLeaders();
|
| 2605 |
|
| 2606 |
if (!sorted.length) {
|
| 2607 |
tbody.innerHTML = '<tr><td colspan="13" class="td-model" style="padding:24px;color:var(--text-secondary);">No models match this search.</td></tr>';
|
|
|
|
| 2654 |
<tr>
|
| 2655 |
<td class="td-compare"><button class="compare-toggle ${inCompare ? 'active' : ''}" onclick="toggleCompare('${encodeURIComponent(m.name)}')" title="${inCompare ? 'Remove from comparison' : 'Add to comparison'}" aria-pressed="${inCompare}">${inCompare ? 'β' : '+'}</button></td>
|
| 2656 |
<td class="td-rank">${rank}</td>
|
| 2657 |
+
<td class="td-model"><a class="${categoryLeaders.has(m.name) ? 'category-leader' : ''}" title="${getCategoryLeaderTitle(categoryLeaders.get(m.name))}" href="${m.links.card}" target="_blank">${m.name}</a>${cutoffTag}<span class="model-org"><a href="${org.url}" target="_blank">${org.name}</a> · ${m.paramsDisplay}</span></td>
|
| 2658 |
<td class="td-params">${m.paramsDisplay}</td>
|
| 2659 |
<td class="td-score">${intelligenceIndex !== null ? `<span class="${Math.abs(intelligenceIndex - best.intelligenceIndex) < 0.001 ? 'best' : ''}" style="${scoreColor(intelligenceIndex, Math.min(0, mins.intelligenceIndex), best.intelligenceIndex)}">${intelligenceIndex.toFixed(2)}</span>` : '<span class="td-score na">—</span>'}</td>
|
| 2660 |
<td class="td-score">${fmtCell(m.hellaswag, 'hellaswag')}</td>
|
|
|
|
| 3353 |
|
| 3354 |
<script>
|
| 3355 |
(function () {
|
| 3356 |
+
const sizeFilters = SIZE_FILTERS;
|
| 3357 |
const sizeLabels = { all: 'All sizes', '<250M': 'Under 250M', '<150M': 'Under 150M', '<100M': 'Under 100M', '<50M': 'Under 50M', '<10M': 'Under 10M', '<3M': 'Under 3M' };
|
|
|
|
| 3358 |
|
| 3359 |
function escapeHtml(value) {
|
| 3360 |
return String(value).replace(/[&<>"']/g, function (char) {
|
|
|
|
| 3363 |
}
|
| 3364 |
|
| 3365 |
function modelsFor(filter) {
|
| 3366 |
+
return getFilteredModels(MODELS, filter);
|
|
|
|
|
|
|
| 3367 |
}
|
| 3368 |
|
| 3369 |
function winner(filter, metric) {
|
| 3370 |
+
if (metric === 'intelligenceIndex') {
|
| 3371 |
+
const model = getSizeLeader(filter);
|
| 3372 |
+
return model ? { model, score: getIntelligenceIndex(model) } : null;
|
| 3373 |
+
}
|
| 3374 |
return modelsFor(filter)
|
| 3375 |
.map(function (model) { return { model: model, score: getMetricValue(model, metric) }; })
|
| 3376 |
.filter(function (entry) { return Number.isFinite(entry.score); })
|