AndreP-git commited on
Commit
a90ebc8
·
1 Parent(s): 232a514

Update position

Browse files
Files changed (3) hide show
  1. README.md +1 -1
  2. app.js +3 -22
  3. index.html +52 -52
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: SweetSpotv2
3
  emoji: 👀
4
  colorFrom: green
5
  colorTo: yellow
 
1
  ---
2
+ title: SIMPLE Law
3
  emoji: 👀
4
  colorFrom: green
5
  colorTo: yellow
app.js CHANGED
@@ -1,5 +1,5 @@
1
  // =====================================================
2
- // SweetSpot analytical model
3
  // =====================================================
4
 
5
 
@@ -33,7 +33,7 @@ const RDYLGN_R =
33
  "#fee08b", "#fdae61", "#f46d43", "#d73027", "#a50026"
34
  ];
35
 
36
- // Validated models, from models.json
37
  const PRESET_MODELS =
38
  {
39
  "Llama 3.2 1B":
@@ -81,15 +81,6 @@ const PRESET_MODELS =
81
  nkv:8
82
  },
83
 
84
- "Gemma 2 27B":
85
- {
86
- params:2.72e+10,
87
- d:4608,
88
- L:46,
89
- nq:32,
90
- nkv:16
91
- },
92
-
93
  "Granite 3B":
94
  {
95
  params:3.48e+09,
@@ -160,15 +151,6 @@ const PRESET_MODELS =
160
  L:36,
161
  nq:64,
162
  nkv:64
163
- },
164
-
165
- "Mistral 24B":
166
- {
167
- params:2.36e+10,
168
- d:5120,
169
- L:40,
170
- nq:32,
171
- nkv:8
172
  }
173
  };
174
 
@@ -177,8 +159,7 @@ const PRESET_GROUPS =
177
  [
178
  {label:"XS · ~1B", max:2e9},
179
  {label:"S · ~2B–3B", max:5e9},
180
- {label:"M · ~6B–9B", max:12e9},
181
- {label:"L · ~24B–27B", max:Infinity}
182
  ];
183
 
184
  window.onload = function()
 
1
  // =====================================================
2
+ // SIMPLE Law analytical model
3
  // =====================================================
4
 
5
 
 
33
  "#fee08b", "#fdae61", "#f46d43", "#d73027", "#a50026"
34
  ];
35
 
36
+ // Validated models, from models.json (up to ~9B)
37
  const PRESET_MODELS =
38
  {
39
  "Llama 3.2 1B":
 
81
  nkv:8
82
  },
83
 
 
 
 
 
 
 
 
 
 
84
  "Granite 3B":
85
  {
86
  params:3.48e+09,
 
151
  L:36,
152
  nq:64,
153
  nkv:64
 
 
 
 
 
 
 
 
 
154
  }
155
  };
156
 
 
159
  [
160
  {label:"XS · ~1B", max:2e9},
161
  {label:"S · ~2B–3B", max:5e9},
162
+ {label:"M · ~6B–9B", max:Infinity}
 
163
  ];
164
 
165
  window.onload = function()
index.html CHANGED
@@ -4,7 +4,7 @@
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
- <title>SweetSpot v2 — Energy-per-Token demo</title>
8
 
9
  <script src="https://cdn.plot.ly/plotly-2.35.2.min.js"></script>
10
 
@@ -214,9 +214,9 @@
214
  /* Input-token slider */
215
  #ninWrapper {
216
  width: 100%;
217
- margin-top: 22px;
218
- padding-top: 18px;
219
- border-top: 1px solid var(--border);
220
  }
221
 
222
  .sliderHeader {
@@ -451,7 +451,7 @@
451
  <body>
452
 
453
  <header class="hero">
454
- <div class="eyebrow">SweetSpot v2</div>
455
  <h1>Energy-per-Token demo</h1>
456
  <p class="lede">
457
  An architecture-aware analytical model of the energy spent on each
@@ -513,8 +513,54 @@
513
 
514
  </div>
515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  <section class="card" id="controls">
517
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
518
  <div class="cardHeader">
519
  <h3>Model</h3>
520
  <span id="status" class="status"></span>
@@ -567,54 +613,8 @@
567
 
568
  <div id="archSummary"></div>
569
 
570
- <div id="ninWrapper">
571
-
572
- <div class="sliderHeader">
573
- <label for="ninSlider">Input tokens τ<sub>in</sub></label>
574
- <span id="ninValue" class="badge">64</span>
575
- </div>
576
-
577
- <input
578
- id="ninSlider"
579
- type="range"
580
- min="4"
581
- max="16"
582
- step="0.01"
583
- value="6"
584
- oninput="updateNin(this.value)"
585
- >
586
-
587
- <div id="ninLabels">
588
- <span>16</span>
589
- <span>65536</span>
590
- </div>
591
-
592
- <!-- Actual token count used by app.js -->
593
- <input id="nin" type="hidden" value="64">
594
-
595
- </div>
596
-
597
  </section>
598
 
599
- <div id="plots">
600
-
601
- <div id="plotPanel">
602
- <h4>Component breakdown at the selected τ<sub>in</sub></h4>
603
- <div id="plot"></div>
604
- </div>
605
-
606
- <div id="contourPanel">
607
- <h4>E<sub>tok</sub> over input and output tokens</h4>
608
- <div id="contour"></div>
609
- </div>
610
-
611
- </div>
612
-
613
- <p>
614
- The contour map shows the total energy per token for the current architecture;
615
- the dashed line marks the selected τ<sub>in</sub>.
616
- </p>
617
-
618
  <script>
619
  const MIN_TOKENS = 16;
620
  const MAX_TOKENS = 65536;
@@ -662,7 +662,7 @@ and inference frameworks.
662
  For the complete methodology, experimental validation, and citation
663
  information, please see the paper:
664
  <a href="YOUR_PAPER_URL" target="_blank">
665
- SweetSpot v2: An Architecture-Aware Analytical Model for Predicting Energy
666
  Efficiency of LLM Inference
667
  </a>.
668
  </p>
 
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <title>SIMPLE Law — Energy-per-Token demo</title>
8
 
9
  <script src="https://cdn.plot.ly/plotly-2.35.2.min.js"></script>
10
 
 
214
  /* Input-token slider */
215
  #ninWrapper {
216
  width: 100%;
217
+ margin-bottom: 22px;
218
+ padding-bottom: 18px;
219
+ border-bottom: 1px solid var(--border);
220
  }
221
 
222
  .sliderHeader {
 
451
  <body>
452
 
453
  <header class="hero">
454
+ <div class="eyebrow">SIMPLE Law</div>
455
  <h1>Energy-per-Token demo</h1>
456
  <p class="lede">
457
  An architecture-aware analytical model of the energy spent on each
 
513
 
514
  </div>
515
 
516
+ <div id="plots">
517
+
518
+ <div id="plotPanel">
519
+ <h4>Component breakdown at the selected τ<sub>in</sub></h4>
520
+ <div id="plot"></div>
521
+ </div>
522
+
523
+ <div id="contourPanel">
524
+ <h4>E<sub>tok</sub> over input and output tokens</h4>
525
+ <div id="contour"></div>
526
+ </div>
527
+
528
+ </div>
529
+
530
+ <p>
531
+ The contour map shows the total energy per token for the current architecture;
532
+ the dashed line marks the selected τ<sub>in</sub>.
533
+ </p>
534
+
535
  <section class="card" id="controls">
536
 
537
+ <div id="ninWrapper">
538
+
539
+ <div class="sliderHeader">
540
+ <label for="ninSlider">Input tokens τ<sub>in</sub></label>
541
+ <span id="ninValue" class="badge">64</span>
542
+ </div>
543
+
544
+ <input
545
+ id="ninSlider"
546
+ type="range"
547
+ min="4"
548
+ max="16"
549
+ step="0.01"
550
+ value="6"
551
+ oninput="updateNin(this.value)"
552
+ >
553
+
554
+ <div id="ninLabels">
555
+ <span>16</span>
556
+ <span>65536</span>
557
+ </div>
558
+
559
+ <!-- Actual token count used by app.js -->
560
+ <input id="nin" type="hidden" value="64">
561
+
562
+ </div>
563
+
564
  <div class="cardHeader">
565
  <h3>Model</h3>
566
  <span id="status" class="status"></span>
 
613
 
614
  <div id="archSummary"></div>
615
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  </section>
617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  <script>
619
  const MIN_TOKENS = 16;
620
  const MAX_TOKENS = 65536;
 
662
  For the complete methodology, experimental validation, and citation
663
  information, please see the paper:
664
  <a href="YOUR_PAPER_URL" target="_blank">
665
+ SIMPLE Law: An Architecture-Aware Analytical Model for Predicting Energy
666
  Efficiency of LLM Inference
667
  </a>.
668
  </p>