|
30 | 30 | --maxw: 1040px; |
31 | 31 | } |
32 | 32 | * { box-sizing: border-box; } |
33 | | - html { scroll-behavior: smooth; } |
| 33 | + html { scroll-behavior: smooth; overflow-x: hidden; } |
34 | 34 | html, body { margin: 0; padding: 0; } |
35 | 35 | body { |
36 | 36 | background: |
|
88 | 88 | @media (max-width: 620px) { .stats { grid-template-columns: 1fr; } } |
89 | 89 |
|
90 | 90 | /* ---------- sections ---------- */ |
91 | | - section.block { padding: 70px 0 8px; } |
| 91 | + section.block { position: relative; isolation: isolate; padding: 70px 0 46px; } |
| 92 | + /* full-bleed, subtly different background tint per section */ |
| 93 | + section.block::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); } |
| 94 | + #vision::before { background: #fff1f7; } |
| 95 | + #design::before { background: linear-gradient(180deg, #f7f0ff, #f9f1ff); } |
| 96 | + #experiments::before { background: #fff2f4; } |
| 97 | + #getstarted::before { background: linear-gradient(180deg, #fff7fb, #ffeef6); } |
92 | 98 | .sec-head { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; } |
93 | 99 | .sec-chip { font-weight: 800; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: linear-gradient(120deg, var(--accent), var(--accent-2)); padding: 6px 12px; border-radius: 999px; } |
94 | 100 | h2.sec-title { font-family: var(--serif); font-size: clamp(1.9rem, 3.8vw, 2.7rem); font-weight: 600; letter-spacing: -.02em; margin: 14px 0 12px; } |
|
150 | 156 | .exp p { margin: 0; color: var(--muted); font-size: .9rem; } |
151 | 157 | .exp .big { font-weight: 900; color: var(--accent-deep); } |
152 | 158 |
|
| 159 | + /* results table */ |
| 160 | + .table-wrap { margin-top: 28px; overflow-x: auto; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow-soft); background: var(--card); } |
| 161 | + table.results { width: 100%; border-collapse: collapse; font-size: .96rem; min-width: 640px; } |
| 162 | + table.results th, table.results td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--border-soft); white-space: nowrap; } |
| 163 | + table.results thead th { background: var(--bg-soft); color: var(--accent-deep); font-weight: 800; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; } |
| 164 | + table.results tbody tr:last-child td { border-bottom: none; } |
| 165 | + table.results tbody tr:hover { background: #fff5f9; } |
| 166 | + table.results .model { font-weight: 700; color: var(--fg); } |
| 167 | + table.results .sub { color: var(--muted); font-weight: 500; font-size: .86rem; } |
| 168 | + table.results .spd { font-weight: 900; font-size: 1.05rem; background: linear-gradient(120deg, var(--accent-deep), var(--accent-2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } |
| 169 | + .table-note { color: var(--muted); font-size: .85rem; margin: 10px 2px 0; } |
| 170 | + |
153 | 171 | /* install */ |
154 | 172 | .panel { margin-top: 28px; background: linear-gradient(180deg, #fff, #fff6fa); border: 1px solid var(--border); border-radius: 18px; padding: 24px; box-shadow: var(--shadow-soft); } |
155 | 173 | .panel h3 { margin: 0 0 12px; font-size: 1.05rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; } |
@@ -310,11 +328,25 @@ <h3>MiniMax-M2.7 · up to <span class="big">1.37×</span></h3> |
310 | 328 | </div> |
311 | 329 | </article> |
312 | 330 | </div> |
| 331 | + <div class="table-wrap reveal"> |
| 332 | + <table class="results"> |
| 333 | + <thead> |
| 334 | + <tr><th>Model</th><th>Benchmark</th><th>Hardware</th><th>Throughput vs. full attn</th><th>Accuracy</th></tr> |
| 335 | + </thead> |
| 336 | + <tbody> |
| 337 | + <tr><td class="model">Qwen3-1.7B <span class="sub">agent-discovered</span></td><td>AIME24</td><td>H200</td><td><span class="spd">↑ 3.46×</span></td><td>matched (38.96 vs 38.54)</td></tr> |
| 338 | + <tr><td class="model">GLM-4.7-Flash <span class="sub">MLA</span></td><td>AIME26 · 32K</td><td>B200</td><td><span class="spd">↑ 4.7×</span></td><td>matched (mean@16 ≈ 0.75)</td></tr> |
| 339 | + <tr><td class="model">Qwen3-30B-A3B <span class="sub">MoE, FP8</span></td><td>AIME24 · 32K</td><td>B200</td><td><span class="spd">↑ 1.63×</span></td><td>matched (0.802 vs 0.80)</td></tr> |
| 340 | + <tr><td class="model">MiniMax-M2.7 <span class="sub">229B, TP=4</span></td><td>AIME26 · 32K</td><td>4× B200</td><td><span class="spd">↑ 1.37×</span></td><td>≥ full (0.84 vs 0.83)</td></tr> |
| 341 | + </tbody> |
| 342 | + </table> |
| 343 | + </div> |
| 344 | + <p class="table-note reveal">Best operating point per model; “throughput vs. full attn” is end-to-end decode throughput at matched-or-better accuracy. Block top-<em>k</em> also reaches up to <strong>3.60×</strong> server throughput and <strong>11.7–12.8×</strong> lower P95 latency at high request rates.</p> |
313 | 345 | <p class="lead reveal" style="margin-top:30px">Because every algorithm is benchmarked end-to-end in a real serving stack, these are <strong>measured</strong> throughput gains, not paper estimates. Beyond raw numbers, Vortex doubles as a research instrument: agents produce <strong>structurally diverse</strong> algorithms, and controlled ablations using the same abstraction localize <em>where the routing signal lives</em> — a small set of query–key channel groups turns out to carry most of the routing information across model sizes.</p> |
314 | 346 | </section> |
315 | 347 |
|
316 | 348 | <!-- ================= GET STARTED ================= --> |
317 | | - <section class="block"> |
| 349 | + <section class="block" id="getstarted"> |
318 | 350 | <div class="sec-head reveal"><span class="sec-chip">Get started</span></div> |
319 | 351 | <h2 class="sec-title reveal">Install in a minute</h2> |
320 | 352 | <div class="panel reveal"> |
|
0 commit comments