File size: 6,638 Bytes
b413fd8
 
 
 
 
4d6c1e7
 
b413fd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
feef7c5
4d6c1e7
b413fd8
 
 
4d6c1e7
b413fd8
 
 
 
 
4d6c1e7
b413fd8
4d6c1e7
b413fd8
 
f25bd35
4d6c1e7
 
a5023b8
b413fd8
feef7c5
 
 
 
 
4d6c1e7
 
feef7c5
 
 
4d6c1e7
feef7c5
 
 
4d6c1e7
feef7c5
b413fd8
 
 
 
 
a5023b8
 
b413fd8
 
4d6c1e7
b413fd8
 
 
 
 
 
a5023b8
b413fd8
 
 
a5023b8
b413fd8
a5023b8
f25bd35
 
a5023b8
 
f25bd35
a5023b8
f25bd35
 
 
 
a5023b8
f25bd35
a5023b8
f25bd35
 
 
cd80b88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b413fd8
 
 
 
 
4d6c1e7
cd80b88
b413fd8
e748d32
b413fd8
 
 
cd80b88
4d6c1e7
b413fd8
 
4d6c1e7
 
b413fd8
 
 
 
 
 
 
4d6c1e7
b413fd8
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!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>