dashboard / index.html
3v324v23's picture
score trend
cd80b88
Raw
History Blame Contribute Delete
6.64 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Thinker Subnet Dashboard</title>
<meta name="description" content="Live miner rankings and validator trends for the Thinker Bittensor subnet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./assets/styles.css" />
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js" defer></script>
<script src="./assets/app.js" defer></script>
</head>
<body>
<div class="grid-bg" aria-hidden="true"></div>
<header class="site-header">
<div class="wrap header-inner">
<a class="brand" href="./">
<span class="brand-mark"></span>
<span class="brand-name">THINKER</span>
<span class="brand-tag">subnet</span>
</a>
<nav class="nav">
<a href="#evaluation-progress">Progress</a>
<a href="#leaderboard">Rankings</a>
<a href="#trends">Trends</a>
<a href="https://wandb.ai" target="_blank" rel="noopener">W&amp;B ↗</a>
</nav>
<div class="updated" id="updated" title="Latest data refresh">syncing</div>
</div>
</header>
<main class="wrap">
<section class="hero">
<h1>Live rankings for<br /><span class="accent">reasoning adapters</span></h1>
<p class="lede">
Validator progress with miner rankings and efficiency signals from Weights &amp; Biases
</p>
<div class="stats" id="stats">
<div class="stat"><div class="stat-val" id="stat-miners">0</div><div class="stat-key">current miners</div></div>
<div class="stat"><div class="stat-val" id="stat-validators">0</div><div class="stat-key">validators</div></div>
<div class="stat"><div class="stat-val" id="stat-epoch">0</div><div class="stat-key">epoch</div></div>
<div class="stat"><div class="stat-val" id="stat-top">-</div><div class="stat-key">top full score</div></div>
</div>
</section>
<section id="evaluation-progress" class="panel">
<div class="panel-head">
<div>
<h2>Validator progress</h2>
<p class="panel-sub" id="progress-subtitle">Live stage health across validators</p>
</div>
<div class="progress-meta">
<span class="status-pill" id="progress-status">waiting</span>
<span class="mono" id="progress-updated">syncing</span>
</div>
</div>
<div id="progress-content" class="progress-content">
<div class="empty">Waiting for validator progress</div>
</div>
</section>
<section id="leaderboard" class="panel">
<div class="panel-head">
<div>
<h2>Current round</h2>
<p class="panel-sub" id="ranking-subtitle">Waiting for current-round participation</p>
</div>
<label class="select">
<span>Source</span>
<select id="validator-select"></select>
</label>
</div>
<div class="table-wrap">
<table class="board" id="board">
<thead>
<tr><th class="c-rank">#</th><th>Miner</th><th class="c-stage">Entered</th><th class="c-score c-qualification">Qualification</th><th class="c-score c-full-evaluation">Full evaluation</th></tr>
</thead>
<tbody id="board-body"></tbody>
</table>
<div class="empty" id="board-empty" hidden>Waiting for current-round miners</div>
</div>
<section class="previous-rankings" id="previous-rankings" hidden>
<div class="stale-head">
<div>
<h3>Previous round</h3>
<p>Stage scores are shown separately. Final score is the completed ranking reward.</p>
</div>
<span class="status-pill" id="previous-count">0 miners</span>
</div>
<div class="table-wrap">
<table class="board board-stale">
<thead>
<tr><th class="c-rank">#</th><th>Miner</th><th class="c-round-status">Status</th><th class="c-score c-qualification">Qualification</th><th class="c-score c-full-evaluation">Full evaluation</th><th class="c-score c-final-score">Final score</th></tr>
</thead>
<tbody id="previous-board-body"></tbody>
</table>
</div>
</section>
<section class="previous-rankings" id="older-rankings" hidden>
<div class="stale-head">
<div>
<h3>Older miners</h3>
<p>Not in the current or previous round. Scores retain their actual last-scored epoch.</p>
</div>
<span class="status-pill status-stale" id="older-count">0 stale</span>
</div>
<div class="table-wrap">
<table class="board board-stale">
<thead>
<tr><th class="c-rank">Epoch</th><th>Miner</th><th class="c-score c-qualification">Qualification</th><th class="c-score c-full-evaluation">Full evaluation</th><th class="c-score c-final-score">Final score</th></tr>
</thead>
<tbody id="older-board-body"></tbody>
</table>
</div>
</section>
</section>
<section id="trends" class="panel">
<div class="panel-head">
<div>
<h2>Efficiency trend</h2>
<p class="panel-sub"><span class="mono" id="trend-miner">Best accuracy each epoch</span> against the base model</p>
</div>
<span class="trend-epoch" id="trend-epoch" title="Latest completed evaluation">waiting</span>
</div>
<div class="charts">
<figure class="chart-card">
<figcaption>Top-miner accuracy <span class="hint">wrong -1 correct 1</span></figcaption>
<div class="chart-box"><canvas id="chart-score"></canvas><div class="awaiting" id="await-score" hidden>waiting for data</div></div>
</figure>
<figure class="chart-card">
<figcaption>Token use <span class="hint">lower better</span></figcaption>
<div class="chart-box"><canvas id="chart-len"></canvas><div class="awaiting" id="await-len" hidden>waiting for data</div></div>
</figure>
</div>
</section>
</main>
<footer class="site-footer">
<div class="wrap footer-inner">
<span>Thinker subnet data from Weights &amp; Biases</span>
<span class="mono" id="footer-meta">static build</span>
</div>
</footer>
</body>
</html>