Upload index.html
Browse files- index.html +34 -2
index.html
CHANGED
|
@@ -304,6 +304,8 @@ tbody tr { transition: background var(--transition); }
|
|
| 304 |
}
|
| 305 |
.org-tag .org-dot { width: 6px; height: 6px; border-radius: 50%; }
|
| 306 |
.cell-metric { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 75px; }
|
|
|
|
|
|
|
| 307 |
.metric-val { font-weight: 600; font-size: 0.84rem; }
|
| 308 |
.metric-na { color: var(--text-muted); font-style: italic; font-weight: 400; font-size: 0.78rem; }
|
| 309 |
.best { color: var(--green); font-weight: 700; }
|
|
@@ -698,6 +700,18 @@ footer a:hover { text-decoration: underline; }
|
|
| 698 |
</div>
|
| 699 |
</div>
|
| 700 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 701 |
<div class="section anim d3" id="table-section">
|
| 702 |
<div class="section-head">
|
| 703 |
<h2>Detailed Results</h2>
|
|
@@ -706,6 +720,7 @@ footer a:hover { text-decoration: underline; }
|
|
| 706 |
<div class="sort-control">
|
| 707 |
<span>Sort</span>
|
| 708 |
<select id="sort-select" aria-label="Sort leaderboard by">
|
|
|
|
| 709 |
<option value="score">Overall Score</option>
|
| 710 |
<option value="wiki">WikiText-2 PPL</option>
|
| 711 |
<option value="blimp">BLiMP</option>
|
|
@@ -726,6 +741,7 @@ footer a:hover { text-decoration: underline; }
|
|
| 726 |
<th>Model</th>
|
| 727 |
<th>Org</th>
|
| 728 |
<th>Params</th>
|
|
|
|
| 729 |
<th class="cell-metric">WikiText-2 ↓</th>
|
| 730 |
<th class="cell-metric">BLiMP ↑</th>
|
| 731 |
<th class="cell-metric">ARC-Easy ↑</th>
|
|
@@ -779,7 +795,7 @@ footer a:hover { text-decoration: underline; }
|
|
| 779 |
<div class="chart-grid">
|
| 780 |
<div class="chart-card full">
|
| 781 |
<h3>Parameters vs Leaderboard Score</h3>
|
| 782 |
-
<p class="chart-sub">
|
| 783 |
<canvas id="efficiencyChart" style="max-height:400px"></canvas>
|
| 784 |
<div class="eff-note">
|
| 785 |
<span><span class="line-sample" style="border-top:2px dashed rgba(255,200,0,0.4)"></span> Avg trend</span>
|
|
@@ -1330,6 +1346,14 @@ function getScore(m) {
|
|
| 1330 |
return (blimpScore + arcScore + wikiVal) / 3;
|
| 1331 |
}
|
| 1332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1333 |
function orgTint(orgKey, alpha) {
|
| 1334 |
const c = colorMap[orgKey];
|
| 1335 |
const r = parseInt(c.slice(1, 3), 16);
|
|
@@ -1374,7 +1398,7 @@ function renderStats() {
|
|
| 1374 |
/* ─── Filters ─── */
|
| 1375 |
|
| 1376 |
let activeFilter = 'all';
|
| 1377 |
-
let activeSort = '
|
| 1378 |
|
| 1379 |
const sortComparators = {
|
| 1380 |
score: (a, b) => getScore(b) - getScore(a),
|
|
@@ -1393,6 +1417,7 @@ const sortComparators = {
|
|
| 1393 |
if (b.arc == null) return -1;
|
| 1394 |
return b.arc - a.arc;
|
| 1395 |
},
|
|
|
|
| 1396 |
params: (a, b) => parseParams(a.params) - parseParams(b.params),
|
| 1397 |
date: (a, b) => {
|
| 1398 |
if (!a.releaseDate) return 1;
|
|
@@ -1500,9 +1525,11 @@ function renderTable() {
|
|
| 1500 |
const blimps = models.filter(m => m.blimp).map(m => m.blimp);
|
| 1501 |
const arcs = models.filter(m => m.arc).map(m => m.arc);
|
| 1502 |
const wikis = models.filter(m => m.wiki).map(m => m.wiki);
|
|
|
|
| 1503 |
const bMin = Math.min(...blimps), bMax = Math.max(...blimps);
|
| 1504 |
const aMin = Math.min(...arcs), aMax = Math.max(...arcs);
|
| 1505 |
const wMin = Math.min(...wikis), wMax = Math.max(...wikis);
|
|
|
|
| 1506 |
|
| 1507 |
tbody.innerHTML = filtered.map((m, idx) => {
|
| 1508 |
const oc = colorMap[m.org];
|
|
@@ -1519,6 +1546,11 @@ function renderTable() {
|
|
| 1519 |
</td>
|
| 1520 |
<td><span class="org-tag" style="background:${orgBg};color:${oc}"><span class="org-dot" style="background:${oc}"></span>${orgNameMap[m.org]}</span></td>
|
| 1521 |
<td>${m.params}</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1522 |
<td class="cell-metric ${m.wiki === null ? '' : ''}" style="${getColor(m.wiki, wMin, wMax, true, true)}">
|
| 1523 |
${m.wiki !== null
|
| 1524 |
? `<span class="metric-val${isBestWiki ? ' best' : ''}">${m.wiki}</span>`
|
|
|
|
| 304 |
}
|
| 305 |
.org-tag .org-dot { width: 6px; height: 6px; border-radius: 50%; }
|
| 306 |
.cell-metric { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 75px; }
|
| 307 |
+
.info-icon { cursor: help; opacity: 0.5; font-size: 0.85em; vertical-align: middle; }
|
| 308 |
+
.info-icon:hover { opacity: 1; }
|
| 309 |
.metric-val { font-weight: 600; font-size: 0.84rem; }
|
| 310 |
.metric-na { color: var(--text-muted); font-style: italic; font-weight: 400; font-size: 0.78rem; }
|
| 311 |
.best { color: var(--green); font-weight: 700; }
|
|
|
|
| 700 |
</div>
|
| 701 |
</div>
|
| 702 |
</div>
|
| 703 |
+
<div class="info-banner anim d2">
|
| 704 |
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
|
| 705 |
+
<div>
|
| 706 |
+
<strong>What is Efficiency ⚡?</strong>
|
| 707 |
+
Efficiency = <code>Overall Score ÷ log‍ 10(Params)</code>.
|
| 708 |
+
It measures how much benchmark performance a model delivers per parameter.
|
| 709 |
+
Small models that punch above their weight deserve just as much recognition as large ones —
|
| 710 |
+
this puts them on equal footing. <strong>We added this for fairness, not to boost any
|
| 711 |
+
specific ranking.</strong> Glint Research holds #1 in efficiency but is #5 in overall score.
|
| 712 |
+
Switch to <em>Overall Score</em> to rank by raw performance.
|
| 713 |
+
</div>
|
| 714 |
+
</div>
|
| 715 |
<div class="section anim d3" id="table-section">
|
| 716 |
<div class="section-head">
|
| 717 |
<h2>Detailed Results</h2>
|
|
|
|
| 720 |
<div class="sort-control">
|
| 721 |
<span>Sort</span>
|
| 722 |
<select id="sort-select" aria-label="Sort leaderboard by">
|
| 723 |
+
<option value="efficiency">Efficiency ⚡</option>
|
| 724 |
<option value="score">Overall Score</option>
|
| 725 |
<option value="wiki">WikiText-2 PPL</option>
|
| 726 |
<option value="blimp">BLiMP</option>
|
|
|
|
| 741 |
<th>Model</th>
|
| 742 |
<th>Org</th>
|
| 743 |
<th>Params</th>
|
| 744 |
+
<th class="cell-metric">Eff. ⚡</th>
|
| 745 |
<th class="cell-metric">WikiText-2 ↓</th>
|
| 746 |
<th class="cell-metric">BLiMP ↑</th>
|
| 747 |
<th class="cell-metric">ARC-Easy ↑</th>
|
|
|
|
| 795 |
<div class="chart-grid">
|
| 796 |
<div class="chart-card full">
|
| 797 |
<h3>Parameters vs Leaderboard Score</h3>
|
| 798 |
+
<p class="chart-sub">Scatter of each model's overall score vs its parameter count. The <strong>Efficiency ⚡</strong> column ranks models by <code>score ÷ log‍ 10(params)</code>, rewarding strong benchmark performance with fewer parameters. Points above the dashed threshold line are ≥1σ more efficient than the trend. Top 3 marked.</p>
|
| 799 |
<canvas id="efficiencyChart" style="max-height:400px"></canvas>
|
| 800 |
<div class="eff-note">
|
| 801 |
<span><span class="line-sample" style="border-top:2px dashed rgba(255,200,0,0.4)"></span> Avg trend</span>
|
|
|
|
| 1346 |
return (blimpScore + arcScore + wikiVal) / 3;
|
| 1347 |
}
|
| 1348 |
|
| 1349 |
+
function getEfficiencyScore(m) {
|
| 1350 |
+
const score = getScore(m);
|
| 1351 |
+
if (score < 0) return -1;
|
| 1352 |
+
const p = parseParams(m.params);
|
| 1353 |
+
if (isNaN(p) || p <= 0) return -1;
|
| 1354 |
+
return score / Math.log10(p + 1);
|
| 1355 |
+
}
|
| 1356 |
+
|
| 1357 |
function orgTint(orgKey, alpha) {
|
| 1358 |
const c = colorMap[orgKey];
|
| 1359 |
const r = parseInt(c.slice(1, 3), 16);
|
|
|
|
| 1398 |
/* ─── Filters ─── */
|
| 1399 |
|
| 1400 |
let activeFilter = 'all';
|
| 1401 |
+
let activeSort = 'efficiency';
|
| 1402 |
|
| 1403 |
const sortComparators = {
|
| 1404 |
score: (a, b) => getScore(b) - getScore(a),
|
|
|
|
| 1417 |
if (b.arc == null) return -1;
|
| 1418 |
return b.arc - a.arc;
|
| 1419 |
},
|
| 1420 |
+
efficiency: (a, b) => getEfficiencyScore(b) - getEfficiencyScore(a),
|
| 1421 |
params: (a, b) => parseParams(a.params) - parseParams(b.params),
|
| 1422 |
date: (a, b) => {
|
| 1423 |
if (!a.releaseDate) return 1;
|
|
|
|
| 1525 |
const blimps = models.filter(m => m.blimp).map(m => m.blimp);
|
| 1526 |
const arcs = models.filter(m => m.arc).map(m => m.arc);
|
| 1527 |
const wikis = models.filter(m => m.wiki).map(m => m.wiki);
|
| 1528 |
+
const effs = models.filter(m => getEfficiencyScore(m) >= 0).map(m => getEfficiencyScore(m));
|
| 1529 |
const bMin = Math.min(...blimps), bMax = Math.max(...blimps);
|
| 1530 |
const aMin = Math.min(...arcs), aMax = Math.max(...arcs);
|
| 1531 |
const wMin = Math.min(...wikis), wMax = Math.max(...wikis);
|
| 1532 |
+
const eMin = Math.min(...effs), eMax = Math.max(...effs);
|
| 1533 |
|
| 1534 |
tbody.innerHTML = filtered.map((m, idx) => {
|
| 1535 |
const oc = colorMap[m.org];
|
|
|
|
| 1546 |
</td>
|
| 1547 |
<td><span class="org-tag" style="background:${orgBg};color:${oc}"><span class="org-dot" style="background:${oc}"></span>${orgNameMap[m.org]}</span></td>
|
| 1548 |
<td>${m.params}</td>
|
| 1549 |
+
<td class="cell-metric" style="${getColor(getEfficiencyScore(m), eMin, eMax, false)}">
|
| 1550 |
+
${getEfficiencyScore(m) >= 0
|
| 1551 |
+
? `<span class="metric-val${getEfficiencyScore(m) >= eMax ? ' best' : ''}">${getEfficiencyScore(m).toFixed(2)}</span>`
|
| 1552 |
+
: '<span class="metric-na">TBD</span>'}
|
| 1553 |
+
</td>
|
| 1554 |
<td class="cell-metric ${m.wiki === null ? '' : ''}" style="${getColor(m.wiki, wMin, wMax, true, true)}">
|
| 1555 |
${m.wiki !== null
|
| 1556 |
? `<span class="metric-val${isBestWiki ? ' best' : ''}">${m.wiki}</span>`
|