rewrite this content and keep HTML tags as is. This is content from rss feed and I don’t need their *Daily Debrief Newsletter*, their tags from bottom like this *Share this articleCategoriesTags*, Editorial Process section, phrases like *Featured image from Peakpx, chart from Tradingview.com*, SPECIAL OFFERS and similar sections – just remove such sections and save only article itself:
Thinking Machines Lab just released Inkling, their first model trained from scratch, weights are open, fine-tunable on Tinker. The lab pitches it as a base for customization.
What is Inkling?
Inkling is a Mixture-of-Experts transformer with 975B total parameters and 41B active. It supports a context window of up to 1M tokens. Pretraining covered 45 trillion tokens of text, images, audio, and video. Inputs accept text, images, and audio; output is UTF-8 text only.
The research team also previewed Inkling-Small, a 276B-parameter MoE with 12B active parameters. It matches or exceeds its larger sibling on many benchmarks, and its weights arrive once testing finishes. Because customization/finetuning is the key differentiator, the architecture matters here very much.
Inside The Architecture
The model architecture includes a 66-layer decoder-only transformer with a sparse MoE feed-forward backbone. Each MoE layer holds 256 routed experts plus 2 shared experts. Six routed experts activate per token, and both shared experts activate on every token. A sigmoid-based router handles selection, using an auxiliary-loss-free load-balancing bias. Routed and shared scores are normalized jointly, then used to weight combined outputs. The MoE design largely follows DeepSeek-V3.
Attention departs from convention. Sliding-window and global layers interleave at a 5:1 ratio with 8 KV heads. Position uses a relative positional embedding rather than RoPE, which the lab reports extrapolates better. Short convolutions are applied after key and value projections, and on residual branch outputs.
Multimodality is encoder-free. Audio enters as dMel spectrograms, and images become 40×40 pixel patches through a four-layer hMLP. A lightweight embedding layer projects both, then the decoder processes them jointly with text tokens.
Training used Muon for large matrix weights and Adam for other parameters, on NVIDIA GB300 NVL72 systems. Post-training bootstrapped from SFT on synthetic data, including data generated by Kimi K2.5. Most compute went to asynchronous RL, scaled past 30M rollouts, improving log-linearly throughout. That RL run also produced the model’s main control surface.
=0&&selT>0;
d.fillStyle=on?C.d:C.idle;
rr(d,cx,cy,CS,CS,2.5);d.fill();
if(on){d.strokeStyle=C.y;d.lineWidth=1;d.stroke();
d.shadowColor=C.o;d.shadowBlur=8;d.fill();d.shadowBlur=0;}
}
/* shared experts */
var SY=GY+ROWS*(CS+GAP)+18;
d.fillStyle=C.dim;d.font=”600 10px sans-serif”;
d.fillText(‘2 SHARED EXPERTS \u2014 ACTIVE ON EVERY TOKEN’,GX,SY-6);
for(var j=0;j<2;j++){
d.fillStyle=C.y;rr(d,GX+j*(CS*3+GAP),SY,CS*3,CS,2.5);
d.shadowColor=C.y;d.shadowBlur=9;d.fill();d.shadowBlur=0;
}
/* combine arrow + output */
d.strokeStyle=C.line;d.lineWidth=1;d.beginPath();
d.moveTo(GX+COLS*(CS+GAP)+8,150);d.lineTo(w-95,150);d.stroke();
d.fillStyle=”#1B1B1B”;rr(d,w-90,122,78,56,8);d.fill();
d.strokeStyle=C.y;d.lineWidth=1.2;d.stroke();
d.fillStyle=C.txt;d.font=”600 10px sans-serif”;d.textAlign=’center’;
d.fillText(‘Joint’,w-51,143);d.fillText(‘normalize’,w-51,156);
d.fillStyle=C.dim;d.font=”9px sans-serif”;d.fillText(‘+ weight’,w-51,169);
/* tokens */
for(var k=toks.length-1;k>=0;k–){
var t=toks[k];
if(run0)t.x+=t.v;
if(!t.hit&&t.x>=172){t.hit=true;sel=pickExperts();selT=1;}
var g=d.createRadialGradient(t.x,t.y,0,t.x,t.y,7);
g.addColorStop(0,C.y);g.addColorStop(1,’rgba(250,80,15,0)’);
d.fillStyle=g;d.beginPath();d.arc(t.x,t.y,7,0,6.284);d.fill();
d.fillStyle=C.y;d.beginPath();d.arc(t.x,t.y,2.6,0,6.284);d.fill();
if(t.x>175)toks.splice(k,1);
}
if(run0&&toks.length<3&&Math.random()<0.03)newTok();
if(selT>0)selT-=0.012; if(selT<0)selT=0;
d.fillStyle=C.dim;d.font=”9.5px sans-serif”;d.textAlign=’left’;
d.fillText(‘token stream \u2192’,12,182);
if(run0)t0++;
}
root.querySelector(‘#ix-b0’).addEventListener(‘click’,function(){
run0=!run0;this.textContent=run0?’Pause’:’Play’;});
root.querySelector(‘#ix-b0b’).addEventListener(‘click’,function(){newTok();});
/* ================= PANEL 1 : attention ================= */
var P1=ctx(‘ix-c1′),run1=true,layer=0,f1=0;
var SEQ=34;
function draw1(){
var d=P1.d,w=P1.w,h=P1.h;d.clearRect(0,0,w,h);
d.fillStyle=C.bg;d.fillRect(0,0,w,h);
var isGlobal=(layer%6)===5;
/* layer stack */
d.fillStyle=C.dim;d.font=”600 10px sans-serif”;d.textAlign=’left’;
d.fillText(’66 LAYERS’,20,24);
var bw=(w-140)/66;
for(var i=0;i<66;i++){
var g=(i%6)===5;
d.fillStyle=(i===layer)?(g?C.y:C.o):(g?’rgba(255,216,0,.28)’:’rgba(255,130,5,.16)’);
rr(d,20+i*bw,34,bw-1.4,16,2);d.fill();
}
d.fillStyle=C.txt;d.font=”600 12px sans-serif”;
d.fillText(‘Layer ‘+(layer+1)+’ \u2014 ‘+(isGlobal?’GLOBAL attention’:’SLIDING-WINDOW attention’),20,74);
d.fillStyle=C.dim;d.font=”10px sans-serif”;
d.fillText(isGlobal?’Attends across the full sequence, up to 1M tokens.’
:’Attends only inside a local window. Cheaper KV, lower memory.’,20,90);
/* sequence */
var y0=200,×0=40,sw=(w-80)/SEQ,q=(SEQ*0.72)|0;
for(var j=0;j=q-6);
d.fillStyle=(j===q)?C.y:(inWin?’rgba(250,80,15,.85)’:C.idle);
d.beginPath();d.arc(cx,y0,4.2,0,6.284);d.fill();
if(inWin&&j!==q){
var pr=(f1%90)/90;
d.strokeStyle=isGlobal?’rgba(255,216,0,’+(0.15+0.35*Math.abs(Math.sin(pr*3.14+j)))+’)’
:’rgba(255,130,5,’+(0.25+0.45*Math.abs(Math.sin(pr*3.14+j)))+’)’;
d.lineWidth=1.1;d.beginPath();
var qx=x0+q*sw+sw/2,mid=(cx+qx)/2,arc=Math.min(60,Math.abs(qx-cx)*0.55);
d.moveTo(cx,y0-5);d.quadraticCurveTo(mid,y0-5-arc,qx,y0-5);d.stroke();
}
}
d.fillStyle=C.dim;d.font=”9.5px sans-serif”;d.textAlign=’center’;
d.fillText(‘query token’,x0+q*sw+sw/2,y0+20);
d.textAlign=’left’;
d.fillText(‘sequence \u2192’,40,y0+40);
d.fillStyle=C.dim;d.font=”10px sans-serif”;
d.fillText(‘Pattern: 5 sliding-window layers, then 1 global layer. Repeated across the stack.’,20,h-16);
if(run1){f1++;if(f1%110===0)layer=(layer+1)%66;}
}
root.querySelector(‘#ix-b1’).addEventListener(‘click’,function(){
run1=!run1;this.textContent=run1?’Pause’:’Play’;});
root.querySelector(‘#ix-b1b’).addEventListener(‘click’,function(){layer=(layer+1)%66;});
/* ================= PANEL 2 : multimodal ================= */
var P2=ctx(‘ix-c2′),run2=true,f2=0,parts=[];
var LANES=[{n:’TEXT’,s:’UTF-8 tokens’,y:58,c:C.y},
{n:’IMAGE’,s:’40×40 px patches \u2192 4-layer hMLP’,y:140,c:C.o},
{n:’AUDIO’,s:’dMel spectrogram’,y:222,c:C.r}];
function draw2(){
var d=P2.d,w=P2.w,h=P2.h;d.clearRect(0,0,w,h);
d.fillStyle=C.bg;d.fillRect(0,0,w,h);
var EX=250,FX=w-300,DX=w-150;
LANES.forEach(function(L,li){
d.fillStyle=C.txt;d.font=”600 11px sans-serif”;d.textAlign=’left’;
d.fillText(L.n,18,L.y-16);
d.fillStyle=C.dim;d.font=”9.5px sans-serif”;d.fillText(L.s,18,L.y-3);
/* source glyph */
if(li===0){for(var i=0;i<5;i++){d.fillStyle=”rgba(255,216,0,.5)”;
rr(d,18+i*22,L.y+8,18,10,2);d.fill();}}
if(li===1){for(var a=0;a<4;a++)for(var b=0;b<2;b++){
d.fillStyle=”rgba(255,130,5,”+(0.25+0.15*((a+b)%3))+’)’;
rr(d,18+a*24,L.y+8+b*12,21,10,1.5);d.fill();}}
if(li===2){for(var s=0;s<26;s++){var hh=4+Math.abs(Math.sin(s*0.7+f2*0.05))*18;
d.fillStyle=”rgba(225,5,0,.6)”;d.fillRect(18+s*3.4,L.y+22-hh,2.2,hh);}}
/* embed box */
d.fillStyle=”#1B1B1B”;rr(d,EX-70,L.y-8,64,34,6);d.fill();
d.strokeStyle=L.c;d.lineWidth=1;d.stroke();
d.fillStyle=C.txt;d.font=”600 8.5px sans-serif”;d.textAlign=’center’;
d.fillText(‘lightweight’,EX-38,L.y+7);d.fillText(’embedding’,EX-38,L.y+18);
/* rail */
d.strokeStyle=C.line;d.lineWidth=1;d.beginPath();
d.moveTo(EX,L.y+9);d.lineTo(FX-40,L.y+9);
d.lineTo(FX-10,160);d.stroke();
});
/* shared space */
d.fillStyle=”#1B1B1B”;rr(d,FX-8,110,86,100,8);d.fill();
d.strokeStyle=grad(d,FX,FX+80);d.lineWidth=1.4;d.stroke();
d.fillStyle=C.txt;d.font=”600 10px sans-serif”;d.textAlign=’center’;
d.fillText(‘Shared’,FX+35,150);d.fillText(‘hidden’,FX+35,163);d.fillText(‘space’,FX+35,176);
d.fillStyle=C.dim;d.font=”8.5px sans-serif”;d.fillText(‘encoder-free’,FX+35,192);
/* decoder */
d.fillStyle=”#1B1B1B”;rr(d,DX,100,120,120,8);d.fill();
d.strokeStyle=C.y;d.lineWidth=1.4;d.stroke();
d.fillStyle=C.y;d.font=”700 12px sans-serif”;d.fillText(‘MoE DECODER’,DX+60,145);
d.fillStyle=C.dim;d.font=”9.5px sans-serif”;
d.fillText(’66 layers \u00b7 41B active’,DX+60,162);
d.fillText(‘\u2192 UTF-8 text out’,DX+60,180);
d.strokeStyle=C.line;d.beginPath();d.moveTo(FX+78,160);d.lineTo(DX,160);d.stroke();
/* flowing particles */
if(run2&&f2%6===0){var L=LANES[(Math.random()*3)|0];
parts.push({x:EX,y:L.y+9,ty:L.y+9,c:L.c,p:0});}
for(var k=parts.length-1;k>=0;k–){
var p=parts[k];if(run2)p.p+=0.012;
var px,py;
if(p.p<0.55){var t=p.p/0.55;px=EX+(FX-40-EX)*t;py=p.ty;}
else if(p.p<0.78){var t2=(p.p-0.55)/0.23;px=(FX-40)+30*t2;py=p.ty+(160-p.ty)*t2;}
else {var t3=(p.p-0.78)/0.22;px=(FX-10)+(DX+50-(FX-10))*t3;py=160;}
d.fillStyle=p.c;d.beginPath();d.arc(px,py,2.4,0,6.284);d.fill();
d.shadowColor=p.c;d.shadowBlur=6;d.fill();d.shadowBlur=0;
if(p.p>=1)parts.splice(k,1);
}
d.fillStyle=C.dim;d.font=”10px sans-serif”;d.textAlign=’left’;
d.fillText(‘All modalities are projected into one hidden space, then processed jointly by the decoder.’,18,h-14);
if(run2)f2++;
}
root.querySelector(‘#ix-b2’).addEventListener(‘click’,function(){
run2=!run2;this.textContent=run2?’Pause’:’Play’;});
/* ================= PANEL 3 : effort dial ================= */
var P3=ctx(‘ix-c3’),eff=0.99,f3=0;
var S3=root.querySelector(‘#ix-s3’),V3=root.querySelector(‘#ix-v3’),
T3=root.querySelector(‘#ix-t3’),Q3=root.querySelector(‘#ix-q3′);
function tokScale(e){return Math.pow((e-0.2)/0.79,1.9)*0.94+0.06;}
function scoreScale(e){return 1-Math.exp(-3.1*((e-0.2)/0.79));}
function upd3(){
eff=parseInt(S3.value,10)/100;V3.textContent=eff.toFixed(2);
T3.textContent=(tokScale(eff)*100).toFixed(0)+’%’;
Q3.textContent=(tokScale(eff)*100).toFixed(0)+’%’;
}
S3.addEventListener(‘input’,upd3);upd3();
function draw3(){
var d=P3.d,w=P3.w,h=P3.h;d.clearRect(0,0,w,h);
d.fillStyle=C.bg;d.fillRect(0,0,w,h);
var L=56,R=w-330,B=h-46,T=30;
/* axes */
d.strokeStyle=C.line;d.lineWidth=1;
d.beginPath();d.moveTo(L,T);d.lineTo(L,B);d.lineTo(R,B);d.stroke();
d.fillStyle=C.dim;d.font=”9.5px sans-serif”;d.textAlign=’center’;
d.fillText(‘mean generated tokens \u2192’,(L+R)/2,h-18);
d.save();d.translate(18,(T+B)/2);d.rotate(-1.5708);
d.fillText(‘benchmark score \u2192′,0,0);d.restore();
/* curve */
d.strokeStyle=grad(d,L,R);d.lineWidth=2.4;d.beginPath();
for(var e=0.2;e<=0.9901;e+=0.005){
var x=L+(R-L)*tokScale(e),y=B-(B-T)*scoreScale(e)*0.9;
if(e===0.2)d.moveTo(x,y);else d.lineTo(x,y);
}
d.stroke();
/* marker */
var mx=L+(R-L)*tokScale(eff),my=B-(B-T)*scoreScale(eff)*0.9;
d.strokeStyle=”rgba(255,216,0,.22)”;d.setLineDash([3,3]);d.lineWidth=1;
d.beginPath();d.moveTo(L,my);d.lineTo(mx,my);d.moveTo(mx,my);d.lineTo(mx,B);
d.stroke();d.setLineDash([]);
var pu=1+0.25*Math.abs(Math.sin(f3*0.06));
d.fillStyle=”rgba(255,175,0,.25)”;d.beginPath();d.arc(mx,my,9*pu,0,6.284);d.fill();
d.fillStyle=C.y;d.beginPath();d.arc(mx,my,4.6,0,6.284);d.fill();
d.fillStyle=C.txt;d.font=”700 10.5px sans-serif”;d.textAlign=’left’;
d.fillText(‘effort=”+eff.toFixed(2),mx+13,my-6);
/* endpoints */
d.fillStyle=C.dim;d.font=”9px sans-serif’;d.textAlign=’left’;
d.fillText(‘0.20′,L+2,B+14);d.textAlign=’right’;d.fillText(‘0.99′,R,B+14);
/* thinking stream */
var SX=R+40;
d.fillStyle=C.dim;d.font=”600 10px sans-serif”;d.textAlign=’left’;
d.fillText(‘CHAIN OF THOUGHT BUDGET’,SX,T+4);
var rows=6,per=13,filled=Math.round(rows*per*tokScale(eff));
for(var i=0;i







