AndreP-git commited on
Commit
e553288
·
1 Parent(s): a90ebc8
Files changed (2) hide show
  1. app.js +16 -2
  2. index.html +3 -3
app.js CHANGED
@@ -196,7 +196,7 @@ window.onload = function()
196
  min=group.max;
197
  }
198
 
199
- selector.value = "Falcon 7B";
200
 
201
  renderThetas();
202
 
@@ -218,6 +218,20 @@ function setStatus(kind,html)
218
 
219
  }
220
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
  function attentionLabel(nq,nkv)
222
  {
223
 
@@ -236,7 +250,7 @@ function updateSummary(d,L,nq,nkv)
236
  document.getElementById("archSummary").innerHTML =
237
  `
238
  <span class="chip">${attentionLabel(nq,nkv)}</span>
239
- <span class="chip">R = ${+(nkv/nq).toFixed(3)}</span>
240
  `;
241
 
242
  }
 
196
  min=group.max;
197
  }
198
 
199
+ selector.value = "Llama 3.1 8B";
200
 
201
  renderThetas();
202
 
 
218
 
219
  }
220
 
221
+ // n_kv / n_q reduced to lowest terms, e.g. 8/32 -> "1/4"
222
+ function ratioFraction(nkv,nq)
223
+ {
224
+
225
+ let gcd=(a,b)=>b ? gcd(b,a%b) : a;
226
+
227
+ let g=gcd(nkv,nq) || 1;
228
+
229
+ let num=nkv/g, den=nq/g;
230
+
231
+ return den===1 ? String(num) : `${num}/${den}`;
232
+
233
+ }
234
+
235
  function attentionLabel(nq,nkv)
236
  {
237
 
 
250
  document.getElementById("archSummary").innerHTML =
251
  `
252
  <span class="chip">${attentionLabel(nq,nkv)}</span>
253
+ <span class="chip">R = ${ratioFraction(nkv,nq)}</span>
254
  `;
255
 
256
  }
index.html CHANGED
@@ -596,17 +596,17 @@ the dashed line marks the selected τ<sub>in</sub>.
596
 
597
  <div class="field">
598
  <label for="L">Layers <i>L</i></label>
599
- <input id="L" type="number" min="1" value="36">
600
  </div>
601
 
602
  <div class="field">
603
  <label for="nq">Query heads <i>n</i><sub>q</sub></label>
604
- <input id="nq" type="number" min="1" value="64">
605
  </div>
606
 
607
  <div class="field">
608
  <label for="nkv">KV heads <i>n</i><sub>kv</sub></label>
609
- <input id="nkv" type="number" min="1" value="64">
610
  </div>
611
 
612
  </div>
 
596
 
597
  <div class="field">
598
  <label for="L">Layers <i>L</i></label>
599
+ <input id="L" type="number" min="1" value="32">
600
  </div>
601
 
602
  <div class="field">
603
  <label for="nq">Query heads <i>n</i><sub>q</sub></label>
604
+ <input id="nq" type="number" min="1" value="32">
605
  </div>
606
 
607
  <div class="field">
608
  <label for="nkv">KV heads <i>n</i><sub>kv</sub></label>
609
+ <input id="nkv" type="number" min="1" value="8">
610
  </div>
611
 
612
  </div>