Glyph-dither hero (Intuition-style) + full 67-model roster; data + reproducibility callouts
Browse files- .gitattributes +1 -0
- bloom.png +3 -0
- index.html +94 -18
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
bloom.png filter=lfs diff=lfs merge=lfs -text
|
bloom.png
ADDED
|
Git LFS Details
|
index.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="utf-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 6 |
-
<script>/*
|
| 7 |
<title>When Does Combining Language Models Help? — the co-failure ceiling</title>
|
| 8 |
<meta name="description" content="Interactive companion to the paper “When Does Combining Language Models Help?” (Orchestration Is Allocation). The deployment-relevant object in multi-model LLM orchestration is β = P(all models wrong); a one-sample certificate bounds every router, vote, and cascade.">
|
| 9 |
<meta property="og:title" content="When Does Combining Language Models Help?">
|
|
@@ -322,6 +322,20 @@ footer a:hover{border-bottom-color:var(--text)}
|
|
| 322 |
input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px}
|
| 323 |
input[type=range]::-moz-range-thumb{width:22px;height:22px}
|
| 324 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
|
| 326 |
</style>
|
| 327 |
</head>
|
|
@@ -337,23 +351,19 @@ footer a:hover{border-bottom-color:var(--text)}
|
|
| 337 |
</span>
|
| 338 |
</nav>
|
| 339 |
|
| 340 |
-
<header class="
|
| 341 |
-
<
|
| 342 |
-
<
|
| 343 |
-
<
|
| 344 |
-
|
| 345 |
-
<div class="
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
<span class="
|
| 349 |
-
|
| 350 |
-
<div class="hero-aside">
|
| 351 |
-
<span class="hero-aside-k num">format flip</span>
|
| 352 |
-
<span class="hero-aside-v num"><span class="gb">β</span> 0 <span class="hero-aside-arr" aria-hidden="true">→</span> <span class="beta">0.127</span></span>
|
| 353 |
-
<span class="hero-aside-l">strip the options off the same GPQA questions and a tail opens where there was none — <a href="#flip">the flip ↓</a></span>
|
| 354 |
</div>
|
|
|
|
| 355 |
</div>
|
| 356 |
-
<div class="herospec num">67 frontier models · 21 providers · 4 structurally disjoint domains · temperature 0</div>
|
| 357 |
</header>
|
| 358 |
|
| 359 |
<section id="thesis" class="wrap">
|
|
@@ -487,14 +497,14 @@ footer a:hover{border-bottom-color:var(--text)}
|
|
| 487 |
</div>
|
| 488 |
<div class="poolstat"><span class="beta num">67</span> models · <span class="beta num">21</span> providers · priced live · temperature 0 · one 67×67 co-failure matrix</div>
|
| 489 |
<div id="poolGrid" class="poolgrid"></div>
|
| 490 |
-
<div class="cap" style="max-width:64ch">Tier: <span class="tierdot f"></span> frontier · <span class="tierdot m"></span> mid · <span class="tierdot c"></span> cheap / open-weight. Every instrument above draws on this pool
|
| 491 |
</section>
|
| 492 |
|
| 493 |
<footer class="wrap" id="paper">
|
| 494 |
<div class="foot-grid">
|
| 495 |
<div style="max-width:42ch">
|
| 496 |
<div class="foot-title">Orchestration Is Allocation</div>
|
| 497 |
-
<p style="color:var(--dim);font-size:13.5px">Josef Chen · KAIKAKU. Every figure here recomputes from committed outcome matrices over 67 frontier models
|
| 498 |
<p style="margin-top:16px"><span class="foot-pending">Read the paper (arXiv)</span> <span class="mono-note" style="display:inline"> — link goes live when the arXiv id is assigned</span></p>
|
| 499 |
</div>
|
| 500 |
<div class="mono-note">
|
|
@@ -785,6 +795,72 @@ const ROSTER=[{n:"GPT-5.5",p:"OpenAI",t:"f"},{n:"Claude Opus 4.8",p:"Anthropic",
|
|
| 785 |
}).join('');
|
| 786 |
})();
|
| 787 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 788 |
(function panHints(){
|
| 789 |
const frames=[...document.querySelectorAll('.panx')];
|
| 790 |
const sync=el=>el.classList.toggle('can-pan',el.scrollWidth-el.clientWidth>1);
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="utf-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 6 |
+
<script>/* dark-first: the glyph-dither hero is black; the theme toggle stays authoritative once clicked */</script>
|
| 7 |
<title>When Does Combining Language Models Help? — the co-failure ceiling</title>
|
| 8 |
<meta name="description" content="Interactive companion to the paper “When Does Combining Language Models Help?” (Orchestration Is Allocation). The deployment-relevant object in multi-model LLM orchestration is β = P(all models wrong); a one-sample certificate bounds every router, vote, and cascade.">
|
| 9 |
<meta property="og:title" content="When Does Combining Language Models Help?">
|
|
|
|
| 322 |
input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px}
|
| 323 |
input[type=range]::-moz-range-thumb{width:22px;height:22px}
|
| 324 |
}
|
| 325 |
+
/* ---- glyph-dither hero (Intuition-style pixel bloom) ---- */
|
| 326 |
+
.hero-dither{position:relative;width:100%;height:clamp(560px,84vh,880px);background:#070809;overflow:hidden;border-bottom:.5px solid var(--hair);cursor:crosshair}
|
| 327 |
+
#glyphCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}
|
| 328 |
+
.hero-grad{position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 100% at 58% 48%,transparent 38%,rgba(7,8,9,.55) 100%)}
|
| 329 |
+
.hd-chrome{position:absolute;inset:0;z-index:2;pointer-events:none}
|
| 330 |
+
.hd-mark{position:absolute;top:clamp(26px,5vh,58px);left:clamp(20px,4vw,64px);margin:0;font-family:var(--serif);font-weight:340;font-size:clamp(2.8rem,9vw,6.6rem);line-height:.86;letter-spacing:-.03em;color:#F5F3F4;text-shadow:0 4px 60px rgba(0,0,0,.45)}
|
| 331 |
+
.hd-tag{position:absolute;top:clamp(30px,5.4vh,66px);right:clamp(20px,4vw,64px);font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;line-height:1.75;color:#CDD0D6;text-align:right;text-shadow:0 2px 20px rgba(0,0,0,.6)}
|
| 332 |
+
.hd-date{position:absolute;left:clamp(8px,2.4vw,30px);top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:#7E848D}
|
| 333 |
+
.hd-foot{position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(24px,5vh,50px);display:flex;align-items:flex-end;gap:18px}
|
| 334 |
+
.hd-foot .hd-beta{font-family:var(--mono);font-weight:300;font-size:clamp(30px,4.4vw,46px);letter-spacing:-.02em;line-height:.82;color:var(--accent)}
|
| 335 |
+
.hd-foot .gb{color:var(--accent);font-family:var(--serif);font-style:italic}
|
| 336 |
+
.hd-foot-l{font-family:var(--mono);font-size:10px;letter-spacing:.07em;line-height:1.65;color:#9298A1;padding-bottom:3px}
|
| 337 |
+
.hd-hint{position:absolute;right:clamp(20px,4vw,64px);bottom:clamp(24px,5vh,50px);font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#6A707A;text-transform:uppercase}
|
| 338 |
+
@media(max-width:640px){.hd-date{display:none}.hd-tag{font-size:9.5px}.hd-hint{display:none}.hd-mark{font-size:clamp(2.6rem,13vw,4rem)}}
|
| 339 |
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
|
| 340 |
</style>
|
| 341 |
</head>
|
|
|
|
| 351 |
</span>
|
| 352 |
</nav>
|
| 353 |
|
| 354 |
+
<header class="hero-dither" id="top">
|
| 355 |
+
<canvas id="glyphCanvas" aria-hidden="true"></canvas>
|
| 356 |
+
<div class="hero-grad" aria-hidden="true"></div>
|
| 357 |
+
<div class="hd-chrome">
|
| 358 |
+
<h1 class="hd-mark">CO · FAILURE</h1>
|
| 359 |
+
<div class="hd-tag">WHEN EVERY MODEL IS<br>WRONG AT ONCE, NO<br>ENSEMBLE CAN WIN</div>
|
| 360 |
+
<div class="hd-date">2026 · 06 · 15 · OPENROUTER FRONTIER</div>
|
| 361 |
+
<div class="hd-foot">
|
| 362 |
+
<span class="hd-beta num" id="heroBeta" data-ticker="0.052">0.052</span>
|
| 363 |
+
<span class="hd-foot-l"><span class="gb">β</span> = P(ALL MODELS WRONG) · MATH-500<br>17 OF 330 QUERIES · 67 MODELS, 21 PROVIDERS</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 364 |
</div>
|
| 365 |
+
<div class="hd-hint">move the cursor — the bloom scatters</div>
|
| 366 |
</div>
|
|
|
|
| 367 |
</header>
|
| 368 |
|
| 369 |
<section id="thesis" class="wrap">
|
|
|
|
| 497 |
</div>
|
| 498 |
<div class="poolstat"><span class="beta num">67</span> models · <span class="beta num">21</span> providers · priced live · temperature 0 · one 67×67 co-failure matrix</div>
|
| 499 |
<div id="poolGrid" class="poolgrid"></div>
|
| 500 |
+
<div class="cap" style="max-width:64ch">Tier: <span class="tierdot f"></span> frontier · <span class="tierdot m"></span> mid · <span class="tierdot c"></span> cheap / open-weight. Every instrument above draws on this pool, and all of it is released to replicate: the full roster with live prices, the 67×67 outcome matrices, the grading, and the analysis code. Every number on this page regenerates offline.</div>
|
| 501 |
</section>
|
| 502 |
|
| 503 |
<footer class="wrap" id="paper">
|
| 504 |
<div class="foot-grid">
|
| 505 |
<div style="max-width:42ch">
|
| 506 |
<div class="foot-title">Orchestration Is Allocation</div>
|
| 507 |
+
<p style="color:var(--dim);font-size:13.5px">Josef Chen · KAIKAKU. Every figure here recomputes from committed outcome matrices over 67 frontier models. The full reproducibility bundle is uploaded: the outcome matrices, graders, and analysis code that regenerate every number in the paper offline. Grading scope is stated honestly: the open-ended panel is five LLM judges, not human adjudication.</p>
|
| 508 |
<p style="margin-top:16px"><span class="foot-pending">Read the paper (arXiv)</span> <span class="mono-note" style="display:inline"> — link goes live when the arXiv id is assigned</span></p>
|
| 509 |
</div>
|
| 510 |
<div class="mono-note">
|
|
|
|
| 795 |
}).join('');
|
| 796 |
})();
|
| 797 |
|
| 798 |
+
/* ---------- glyph-dither hero: bloom.png sampled to a pixel grid, scattered by a fluid cursor trail ---------- */
|
| 799 |
+
(function glyphDither(){
|
| 800 |
+
const cv=document.getElementById('glyphCanvas'); if(!cv||!cv.getContext) return;
|
| 801 |
+
const ctx=cv.getContext('2d',{alpha:false});
|
| 802 |
+
const reduce=matchMedia('(prefers-reduced-motion:reduce)').matches;
|
| 803 |
+
const img=new Image();
|
| 804 |
+
let cells=[],cell=10,cols=0,rows=0,W=0,H=0,dpr=1,ready=false;
|
| 805 |
+
function layout(){
|
| 806 |
+
const rect=cv.getBoundingClientRect(); W=Math.max(1,rect.width); H=Math.max(1,rect.height);
|
| 807 |
+
dpr=Math.min(2,window.devicePixelRatio||1);
|
| 808 |
+
cv.width=Math.round(W*dpr); cv.height=Math.round(H*dpr); ctx.setTransform(dpr,0,0,dpr,0,0);
|
| 809 |
+
cell=Math.max(7,Math.round(W/128)); // grid density (≈ glyph scale)
|
| 810 |
+
cols=Math.ceil(W/cell); rows=Math.ceil(H/cell); sample();
|
| 811 |
+
}
|
| 812 |
+
function sample(){
|
| 813 |
+
if(!img.complete||!img.naturalWidth) return;
|
| 814 |
+
const off=document.createElement('canvas'); off.width=cols; off.height=rows;
|
| 815 |
+
const o=off.getContext('2d');
|
| 816 |
+
const ir=img.naturalWidth/img.naturalHeight, cr=cols/rows; let sw,sh,sx,sy; // cover-fit
|
| 817 |
+
if(ir>cr){ sh=img.naturalHeight; sw=sh*cr; sx=(img.naturalWidth-sw)/2; sy=0; }
|
| 818 |
+
else { sw=img.naturalWidth; sh=sw/cr; sx=0; sy=(img.naturalHeight-sh)/2; }
|
| 819 |
+
o.drawImage(img,sx,sy,sw,sh,0,0,cols,rows);
|
| 820 |
+
const d=o.getImageData(0,0,cols,rows).data; cells.length=0;
|
| 821 |
+
for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){
|
| 822 |
+
const k=(j*cols+i)*4, R=d[k],G=d[k+1],B=d[k+2];
|
| 823 |
+
const l=(0.299*R+0.587*G+0.114*B)/255;
|
| 824 |
+
if(l<0.05) continue; // skip near-black: cleaner dither + faster
|
| 825 |
+
cells.push({bx:i*cell+cell*0.5, by:j*cell+cell*0.5, r:R,g:G,b:B,l, ox:0,oy:0});
|
| 826 |
+
}
|
| 827 |
+
ready=true;
|
| 828 |
+
}
|
| 829 |
+
let mx=-1e4,my=-1e4;
|
| 830 |
+
const pt=e=>{const rect=cv.getBoundingClientRect(); mx=e.clientX-rect.left; my=e.clientY-rect.top;};
|
| 831 |
+
const out=()=>{mx=-1e4;my=-1e4;};
|
| 832 |
+
const hdr=cv.closest('.hero-dither')||cv;
|
| 833 |
+
hdr.addEventListener('pointermove',pt,{passive:true}); hdr.addEventListener('pointerleave',out);
|
| 834 |
+
const RAD=130, STR=30;
|
| 835 |
+
function frame(t){
|
| 836 |
+
if(ready){
|
| 837 |
+
ctx.fillStyle='#070809'; ctx.fillRect(0,0,W,H);
|
| 838 |
+
for(let n=0;n<cells.length;n++){ const c=cells[n]; let jit=0;
|
| 839 |
+
if(!reduce){
|
| 840 |
+
const dx=c.bx-mx, dy=c.by-my, dist=Math.sqrt(dx*dx+dy*dy); let tx=0,ty=0;
|
| 841 |
+
if(dist<RAD){ const f=1-dist/RAD; jit=f;
|
| 842 |
+
const ang=Math.atan2(dy,dx)+Math.sin(c.bx*0.045+c.by*0.03+t*0.0021)*1.5; // noise-displaced direction
|
| 843 |
+
const push=f*f*STR; tx=Math.cos(ang)*push; ty=Math.sin(ang)*push-push*0.25;
|
| 844 |
+
}
|
| 845 |
+
c.ox+=(tx-c.ox)*0.16; c.oy+=(ty-c.oy)*0.16; // ease in/out = trail + dissipation
|
| 846 |
+
}
|
| 847 |
+
const px=c.bx+c.ox, py=c.by+c.oy, s=cell*(0.42+0.74*c.l), h=s*0.5;
|
| 848 |
+
if(jit>0.22){ // chromatic split while scattered
|
| 849 |
+
const o2=jit*3.2; ctx.globalAlpha=0.5;
|
| 850 |
+
ctx.fillStyle='rgb('+c.r+',46,52)'; ctx.fillRect(px-o2-h,py-h,s,s);
|
| 851 |
+
ctx.fillStyle='rgb(54,'+c.g+',190)'; ctx.fillRect(px+o2-h,py-h,s,s);
|
| 852 |
+
ctx.globalAlpha=1;
|
| 853 |
+
}
|
| 854 |
+
ctx.fillStyle='rgb('+c.r+','+c.g+','+c.b+')'; ctx.fillRect(px-h,py-h,s,s);
|
| 855 |
+
}
|
| 856 |
+
}
|
| 857 |
+
requestAnimationFrame(frame);
|
| 858 |
+
}
|
| 859 |
+
img.onload=()=>{ layout(); requestAnimationFrame(frame); };
|
| 860 |
+
img.src='bloom.png';
|
| 861 |
+
let rt; addEventListener('resize',()=>{clearTimeout(rt);rt=setTimeout(layout,160);},{passive:true});
|
| 862 |
+
})();
|
| 863 |
+
|
| 864 |
(function panHints(){
|
| 865 |
const frames=[...document.querySelectorAll('.panx')];
|
| 866 |
const sync=el=>el.classList.toggle('can-pan',el.scrollWidth-el.clientWidth>1);
|