Files
zen-blog/blog/decentralized-compute.txt

95 lines
46 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
1:"$Sreact.fragment"
2:I[106,["/_next/static/chunks/59d0ad1b64f8544e.js"],"RootProvider"]
3:I[53113,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"default"]
4:I[73211,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"default"]
5:I[10086,["/_next/static/chunks/59d0ad1b64f8544e.js","/_next/static/chunks/8de849ca74fc071f.js","/_next/static/chunks/e62b91212ee7f8ff.js","/_next/static/chunks/f19fe44237e54646.js","/_next/static/chunks/cb0a883bafeb6805.js"],""]
7:I[89923,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"OutletBoundary"]
8:"$Sreact.suspense"
a:I[89923,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"ViewportBoundary"]
c:I[89923,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"MetadataBoundary"]
e:I[6998,["/_next/static/chunks/4d80e004cf4896dd.js","/_next/static/chunks/350ee4303b732916.js"],"default"]
:HL["/_next/static/chunks/f2332aac77592f9d.css","style"]
0:{"P":null,"b":"i-dnJM_MIpJSOCQWNJVMq","c":["","blog","decentralized-compute"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","decentralized-compute","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/f2332aac77592f9d.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/59d0ad1b64f8544e.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","main",null,{"className":"flex min-h-screen flex-col items-center justify-center px-4 text-center","children":[["$","div",null,{"className":"mb-8 opacity-20","children":["$","svg",null,{"width":"120","height":"120","viewBox":"0 0 120 120","fill":"none","aria-hidden":"true","children":["$","circle",null,{"cx":"60","cy":"60","r":"50","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeDasharray":"280 40"}]}]}],["$","p",null,{"className":"text-xs font-mono uppercase tracking-[0.3em] text-fd-muted-foreground mb-4","children":"404"}],["$","h1",null,{"className":"text-3xl font-semibold mb-3","children":"Page not found"}],["$","p",null,{"className":"text-fd-muted-foreground max-w-sm mb-10","children":"This page doesn't exist, or it may have moved. Try the documentation or head home."}],["$","div",null,{"className":"flex flex-wrap gap-3 justify-center","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-2 rounded-lg bg-fd-primary text-fd-primary-foreground px-4 py-2 text-sm font-medium hover:opacity-90 transition","children":"Go home"}],["$","$L5",null,{"href":"/docs","className":"inline-flex items-center gap-2 rounded-lg border border-fd-border bg-fd-background px-4 py-2 text-sm font-medium hover:bg-fd-muted transition","children":"Documentation"}],["$","$L5",null,{"href":"/docs/models","className":"inline-flex items-center gap-2 rounded-lg border border-fd-border bg-fd-background px-4 py-2 text-sm font-medium hover:bg-fd-muted transition","children":"Browse models"}]]}],["$","p",null,{"className":"mt-16 text-xs font-mono text-fd-muted-foreground opacity-50","children":"zenlm.org"}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$L6",[["$","script","script-0",{"src":"/_next/static/chunks/8de849ca74fc071f.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/e62b91212ee7f8ff.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/f19fe44237e54646.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/cb0a883bafeb6805.js","async":true,"nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],null]}],false]],"m":"$undefined","G":["$e",[]],"S":true}
6:["$","main",null,{"className":"mx-auto w-full max-w-2xl px-4 py-16","children":[["$","$L5",null,{"href":"/blog","className":"inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground hover:text-fd-foreground mb-10 transition-colors","children":"← Back to Blog"}],["$","div",null,{"className":"mb-8","children":[["$","time",null,{"className":"text-xs font-mono text-fd-muted-foreground uppercase tracking-wider","children":"August 4, 2024"}],["$","h1",null,{"className":"text-3xl font-bold mt-2 mb-3","children":"Decentralized Compute for AI Training"}],["$","p",null,{"className":"text-fd-muted-foreground text-lg mb-4","children":"How we're building a decentralized compute network for training large AI models."}],["$","div",null,{"className":"flex items-center gap-3 pt-4 border-t border-fd-border","children":[["$","span",null,{"className":"text-sm text-fd-muted-foreground","children":["By ","Zach Kelling"]}],["$","div",null,{"className":"flex gap-1.5 ml-auto","children":[["$","span","Infrastructure",{"className":"text-[10px] font-mono uppercase tracking-wider bg-fd-muted text-fd-muted-foreground px-1.5 py-0.5 rounded","children":"Infrastructure"}],["$","span","Training",{"className":"text-[10px] font-mono uppercase tracking-wider bg-fd-muted text-fd-muted-foreground px-1.5 py-0.5 rounded","children":"Training"}],["$","span","Decentralization",{"className":"text-[10px] font-mono uppercase tracking-wider bg-fd-muted text-fd-muted-foreground px-1.5 py-0.5 rounded","children":"Decentralization"}]]}]]}]]}],["$","div",null,{"className":"prose dark:prose-invert max-w-none","children":[["$","p",null,{"children":"Training large AI models requires significant compute resources. These resources are concentrated in a few hyperscalers, creating bottlenecks and single points of control. Today we announce the Zoo Compute Network, a decentralized alternative."}],"\n",["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"the-compute-concentration-problem","children":[["$","a",null,{"data-card":"","href":"#the-compute-concentration-problem","className":"peer","children":"The Compute Concentration Problem"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}],"\n",["$","p",null,{"children":"Current AI training is dominated by:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Cloud providers"}]," : AWS, GCP, Azure control most AI-grade compute"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Hardware scarcity"}]," : H100s have year-long waitlists"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"High costs"}]," : Training GPT-4 class models costs $100M+"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Geographic concentration"}]," : Most clusters are in a few regions"]}],"\n"]}],"\n",["$","p",null,{"children":"This concentration creates risks:"}],"\n",["$","ol",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Access barriers"}]," : Only well-funded organizations can train frontier models"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Single points of failure"}]," : Outages affect entire research programs"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Regulatory exposure"}]," : One jurisdiction can impact global AI development"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Vendor lock-in"}]," : Switching costs are enormous"]}],"\n"]}],"\n",["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"the-zoo-compute-network","children":["$Lf","$L10"]}],"\n","$L11","\n","$L12","\n","$L13","\n","$L14","\n","$L15","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","$L16","\n","$L17","\n","$L18","\n","$L19","\n","$L1a","\n","$L1b","\n","$L1c","\n","$L1d","\n","$L1e","\n","$L1f","\n","$L20","\n","$L21","\n","$L22","\n","$L23","\n","$L24","\n","$L25","\n","$L26","\n","$L27","\n","$L28","\n","$L29","\n","$L2a","\n","$L2b","\n","$L2c","\n","$L2d","\n","$L2e","\n","$L2f","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","$L30","\n","$L31","\n","$L32","\n","$L33","\n","$L34","\n","$L35","\n","$L36","\n","$L37","\n","$L38","\n","$L39","\n","$L3a","\n","$L3b","\n","$L3c","\n","$L3d","\n","$L3e","\n","$L3f","\n","$L40","\n","$L41","\n","$L42","\n","$L43","\n","$L44","\n","$L45","\n","$L46","\n","$L47","\n","$L48","\n","$L49","\n","$L4a","\n","$L4b","\n","$L4c","\n","$L4d","\n","$L4e","\n","$L4f","\n","$L50","\n","$L51","\n","$L52","\n","$L53","\n","$L54"]}]]}]
55:I[51504,["/_next/static/chunks/59d0ad1b64f8544e.js","/_next/static/chunks/8de849ca74fc071f.js","/_next/static/chunks/e62b91212ee7f8ff.js","/_next/static/chunks/f19fe44237e54646.js","/_next/static/chunks/cb0a883bafeb6805.js"],"CodeBlock"]
56:I[51504,["/_next/static/chunks/59d0ad1b64f8544e.js","/_next/static/chunks/8de849ca74fc071f.js","/_next/static/chunks/e62b91212ee7f8ff.js","/_next/static/chunks/f19fe44237e54646.js","/_next/static/chunks/cb0a883bafeb6805.js"],"Pre"]
f:["$","a",null,{"data-card":"","href":"#the-zoo-compute-network","className":"peer","children":"The Zoo Compute Network"}]
10:["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]
11:["$","p",null,{"children":"The Zoo Compute Network aggregates distributed GPU resources into a unified training substrate. Anyone with suitable hardware can contribute. Anyone can access the aggregated compute."}]
12:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"architecture","children":[["$","a",null,{"data-card":"","href":"#architecture","className":"peer","children":"Architecture"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
13:["$","$L55",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>","children":["$","$L56",null,{"children":["$","code",null,{"children":[["$","span",null,{"className":"line","children":["$","span",null,{}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +------------------+ +------------------+ +------------------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | Compute Node 1 | | Compute Node 2 | | Compute Node N |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | (8x H100) | | (4x A100) | | (16x H100) |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +--------+---------+ +--------+---------+ +--------+---------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | | |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" v v v"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +-----------------------------------------------------------------------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | Coordination Layer |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Task scheduling |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Gradient aggregation |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Checkpoint management |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Payment settlement |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +-----------------------------------------------------------------------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" v"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +-----------------------------------------------------------------------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | Client Interface |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Job submission |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Progress monitoring |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | - Result retrieval |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +-----------------------------------------------------------------------+"}]}],"\n","$L57"]}]}]}]
14:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"node-requirements","children":[["$","a",null,{"data-card":"","href":"#node-requirements","className":"peer","children":"Node Requirements"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
15:["$","p",null,{"children":"Compute nodes must meet minimum specifications:"}]
16:["$","div",null,{"className":"relative overflow-auto prose-no-margin my-6","children":["$","table",null,{"children":[["$","thead",null,{"children":["$","tr",null,{"children":[["$","th",null,{"children":"Tier"}],["$","th",null,{"children":"GPU"}],["$","th",null,{"children":"Memory"}],["$","th",null,{"children":"Network"}],["$","th",null,{"children":"Uptime SLA"}]]}]}],["$","tbody",null,{"children":[["$","tr",null,{"children":[["$","td",null,{"children":"Bronze"}],["$","td",null,{"children":"4x A100 40GB"}],["$","td",null,{"children":"256GB"}],["$","td",null,{"children":"100 Gbps"}],["$","td",null,{"children":"95%"}]]}],["$","tr",null,{"children":[["$","td",null,{"children":"Silver"}],["$","td",null,{"children":"8x A100 80GB"}],["$","td",null,{"children":"512GB"}],["$","td",null,{"children":"200 Gbps"}],["$","td",null,{"children":"99%"}]]}],["$","tr",null,{"children":[["$","td",null,{"children":"Gold"}],["$","td",null,{"children":"8x H100 80GB"}],["$","td",null,{"children":"1TB"}],["$","td",null,{"children":"400 Gbps"}],["$","td",null,{"children":"99.5%"}]]}]]}]]}]}]
17:["$","p",null,{"children":"Nodes are verified through proof-of-work benchmarks before joining the network."}]
18:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"coordination-protocol","children":[["$","a",null,{"data-card":"","href":"#coordination-protocol","className":"peer","children":"Coordination Protocol"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
19:["$","p",null,{"children":"The coordination layer handles distributed training logistics:"}]
1a:["$","p",null,{"children":["$","strong",null,{"children":"Task Scheduling"}]}]
1b:["$","p",null,{"children":"Jobs are divided into tasks and assigned to available nodes:"}]
1c:["$","$L55",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>","children":["$","$L56",null,{"children":["$","code",null,{"children":[["$","span",null,{"className":"line","children":["$","span",null,{}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" # Job submission"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" job = ComputeJob("}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" model_config=model_config,"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" data_config=data_config,"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" training_config=training_config,"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" budget_max=10000, # ZEN tokens"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" )"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" job_id = await network.submit(job)"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}]]}]}]}]
1d:["$","p",null,{"children":"The scheduler optimizes for:"}]
1e:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Data locality (minimize transfers)"}],"\n",["$","li",null,{"children":"Network topology (co-locate communicating nodes)"}],"\n",["$","li",null,{"children":"Cost efficiency (use cheapest suitable nodes)"}],"\n",["$","li",null,{"children":"Reliability (distribute across failure domains)"}],"\n"]}]
1f:["$","p",null,{"children":["$","strong",null,{"children":"Gradient Aggregation"}]}]
20:["$","p",null,{"children":"Distributed training requires gradient synchronization. The network supports:"}]
21:["$","ul",null,{"children":["\n",["$","li",null,{"children":"All-reduce for data-parallel training"}],"\n",["$","li",null,{"children":"Point-to-point for pipeline/tensor parallelism"}],"\n",["$","li",null,{"children":"Asynchronous updates for fault tolerance"}],"\n"]}]
22:["$","p",null,{"children":"Aggregation happens through a tree topology that minimizes bandwidth usage."}]
23:["$","p",null,{"children":["$","strong",null,{"children":"Checkpoint Management"}]}]
24:["$","p",null,{"children":"Training state is continuously checkpointed:"}]
25:["$","$L55",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>","children":["$","$L56",null,{"children":["$","code",null,{"children":[["$","span",null,{"className":"line","children":["$","span",null,{}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" # Automatic checkpointing"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" checkpoint_config = CheckpointConfig("}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" interval=1000, # steps"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" storage=\"ipfs\","}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" redundancy=3,"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" )"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}]]}]}]}]
26:["$","p",null,{"children":"Checkpoints are content-addressed and distributed. Training can resume from any node."}]
27:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"economics","children":[["$","a",null,{"data-card":"","href":"#economics","className":"peer","children":"Economics"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
28:["$","p",null,{"children":["$","strong",null,{"children":"For Compute Providers"}]}]
29:["$","p",null,{"children":"Providers stake ZEN tokens as collateral and earn rewards for:"}]
2a:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Uptime (base reward)"}],"\n",["$","li",null,{"children":"Computation completed (work reward)"}],"\n",["$","li",null,{"children":"Network contribution (bandwidth bonus)"}],"\n"]}]
2b:["$","p",null,{"children":"Slashing occurs for:"}]
2c:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Downtime during committed periods"}],"\n",["$","li",null,{"children":"Incorrect computation (detected via verification)"}],"\n",["$","li",null,{"children":"Bandwidth violations"}],"\n"]}]
2d:["$","p",null,{"children":"Expected returns: 15-25% APY on staked tokens plus hardware depreciation coverage."}]
2e:["$","p",null,{"children":["$","strong",null,{"children":"For Users"}]}]
2f:["$","p",null,{"children":"Users pay per compute-hour in ZEN tokens:"}]
30:["$","div",null,{"className":"relative overflow-auto prose-no-margin my-6","children":["$","table",null,{"children":[["$","thead",null,{"children":["$","tr",null,{"children":[["$","th",null,{"children":"Tier"}],["$","th",null,{"children":"Price (ZEN/GPU-hour)"}],["$","th",null,{"children":"Approx USD"}]]}]}],["$","tbody",null,{"children":[["$","tr",null,{"children":[["$","td",null,{"children":"Bronze"}],["$","td",null,{"children":"2.5"}],["$","td",null,{"children":"$$5"}]]}],["$","tr",null,{"children":[["$","td",null,{"children":"Silver"}],["$","td",null,{"children":"4.0"}],["$","td",null,{"children":"$$8"}]]}],["$","tr",null,{"children":[["$","td",null,{"children":"Gold"}],["$","td",null,{"children":"8.0"}],["$","td",null,{"children":"$$16"}]]}]]}]]}]}]
31:["$","p",null,{"children":"Prices are market-determined through ongoing auctions. Users can specify maximum price and wait for availability."}]
32:["$","p",null,{"children":["$","strong",null,{"children":"Network Fee"}]}]
33:["$","p",null,{"children":"5% of payments go to the network treasury, funding:"}]
34:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Protocol development"}],"\n",["$","li",null,{"children":"Security audits"}],"\n",["$","li",null,{"children":"Community grants"}],"\n"]}]
35:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"verification","children":[["$","a",null,{"data-card":"","href":"#verification","className":"peer","children":"Verification"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
36:["$","p",null,{"children":"How do we know compute was done correctly?"}]
37:["$","p",null,{"children":["$","strong",null,{"children":"Sampling-Based Verification"}]}]
38:["$","p",null,{"children":"Random subsets of computation are re-run by verifiers. Discrepancies trigger investigation:"}]
39:["$","$L55",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>","children":["$","$L56",null,{"children":["$","code",null,{"children":[["$","span",null,{"className":"line","children":["$","span",null,{}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" P(detection) = 1 - (1 - sample_rate)^n"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}]]}]}]}]
3a:["$","p",null,{"children":"With 1% sampling and 100 steps, detection probability is 63%. With 5% sampling, it’s 99.4%."}]
3b:["$","p",null,{"children":["$","strong",null,{"children":"Gradient Consistency"}]}]
3c:["$","p",null,{"children":"Aggregated gradients are checked for statistical anomalies. Fabricated gradients have detectable patterns."}]
3d:["$","p",null,{"children":["$","strong",null,{"children":"Trusted Execution (Optional)"}]}]
3e:["$","p",null,{"children":"For high-value jobs, nodes can run in TEE enclaves (SGX, TDX). Provides cryptographic attestation of correct execution."}]
3f:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"real-world-performance","children":[["$","a",null,{"data-card":"","href":"#real-world-performance","className":"peer","children":"Real-World Performance"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
40:["$","p",null,{"children":"We’ve run several training jobs on the network:"}]
41:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"zen-2-7b-training","children":[["$","a",null,{"data-card":"","href":"#zen-2-7b-training","className":"peer","children":"Zen-2-7B Training"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
42:["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Duration"}]," : 3 weeks"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Nodes used"}]," : 24 (rotating pool of 40)"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Total compute"}]," : 8,400 GPU-hours"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Cost"}]," : 21,000 ZEN (~$42,000)"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Efficiency"}]," : 89% of centralized equivalent"]}],"\n"]}]
43:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"embedding-model-training","children":[["$","a",null,{"data-card":"","href":"#embedding-model-training","className":"peer","children":"Embedding Model Training"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
44:["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Duration"}]," : 5 days"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Nodes used"}]," : 8"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Total compute"}]," : 960 GPU-hours"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Cost"}]," : 2,400 ZEN (~$4,800)"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Efficiency"}]," : 94% of centralized equivalent"]}],"\n"]}]
45:["$","p",null,{"children":"Efficiency losses come from coordination overhead and network heterogeneity. Ongoing optimizations are closing the gap."}]
46:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"joining-the-network","children":[["$","a",null,{"data-card":"","href":"#joining-the-network","className":"peer","children":"Joining the Network"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
47:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"as-a-compute-provider","children":[["$","a",null,{"data-card":"","href":"#as-a-compute-provider","className":"peer","children":"As a Compute Provider"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
48:["$","ol",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Hardware check"}]," : Verify your setup meets tier requirements"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Software install"}]," : Run the Zoo Compute daemon"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Stake"}]," : Lock ZEN tokens as collateral"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Benchmark"}]," : Complete verification benchmarks"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Operate"}]," : Maintain uptime and connectivity"]}],"\n"]}]
49:["$","p",null,{"children":"Documentation: docs.zoo.ngo/compute/providers"}]
4a:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"as-a-user","children":[["$","a",null,{"data-card":"","href":"#as-a-user","className":"peer","children":"As a User"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
4b:["$","ol",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Install client"}]," : ",["$","code",null,{"children":"pip install zoo-compute"}]]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Fund account"}]," : Acquire ZEN tokens"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Submit jobs"}]," : Use API or CLI"]}],"\n"]}]
58:T5c0,<svg viewBox="0 0 24 24"><path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" fill="currentColor" /></svg>4c:["$","$L55",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"$58","children":["$","$L56",null,{"children":["$","code",null,{"children":[["$","span",null,{"className":"line"}],"\n",["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" from"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" zoo_compute "}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"import"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" Client"}]]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" "}]}],"\n",["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" client "}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" Client("}],["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":"api_key"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"...\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":")"}]]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" "}]}],"\n",["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" job "}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" client.train("}]]}],"\n",["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":" config"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"./training_config.yaml\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n","$L59","\n","$L5a","\n","$L5b","\n","$L5c","\n","$L5d"]}]}]}]
4d:["$","p",null,{"children":"Documentation: docs.zoo.ngo/compute/users"}]
4e:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"roadmap","children":[["$","a",null,{"data-card":"","href":"#roadmap","className":"peer","children":"Roadmap"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
4f:["$","p",null,{"children":[["$","strong",null,{"children":"Q3 2024"}]," : Public beta with 100+ nodes ",["$","strong",null,{"children":"Q4 2024"}]," : Production launch, verification improvements ",["$","strong",null,{"children":"Q1 2025"}]," : Cross-chain bridging for payments ",["$","strong",null,{"children":"Q2 2025"}]," : TEE support for all tiers"]}]
50:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"conclusion","children":[["$","a",null,{"data-card":"","href":"#conclusion","className":"peer","children":"Conclusion"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100","aria-hidden":true,"children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}]]}]
51:["$","p",null,{"children":"Decentralized compute is essential for decentralized AI. The Zoo Compute Network provides a permissionless, efficient, and verifiable substrate for training large models. As the network grows, it becomes more resilient and more accessible."}]
52:["$","p",null,{"children":"Compute should be a utility, not a moat."}]
53:["$","hr",null,{}]
54:["$","p",null,{"children":["$","em",null,{"children":"Zach Kelling is a co-founder of Zoo Labs Foundation."}]}]
57:["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}]
59:["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":" max_budget"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"5000"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}]
5a:["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" )"}]}]
5b:["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" "}]}]
5c:["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" await"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" job.wait()"}]]}]
5d:["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" "}]}]
b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#0A0A0A"}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#fff"}]]
9:null
d:[["$","title","0",{"children":"Decentralized Compute for AI Training — Zen LM Blog | Zen LM"}],["$","meta","1",{"name":"description","content":"How we're building a decentralized compute network for training large AI models."}],["$","meta","2",{"property":"og:title","content":"Zen LM - Open Foundation Models"}],["$","meta","3",{"property":"og:description","content":"Zen AI model family by Hanzo AI. 14 frontier models from 4B to 1T+ parameters for code, reasoning, vision, and multimodal tasks."}],["$","meta","4",{"property":"og:url","content":"https://zenlm.org"}],["$","meta","5",{"property":"og:site_name","content":"Zen LM"}],["$","meta","6",{"property":"og:type","content":"website"}],["$","meta","7",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","8",{"name":"twitter:site","content":"@zenlmorg"}],["$","meta","9",{"name":"twitter:creator","content":"@zenlmorg"}],["$","meta","10",{"name":"twitter:title","content":"Zen LM - Open Foundation Models"}],["$","meta","11",{"name":"twitter:description","content":"Zen AI model family by Hanzo AI. 14 frontier models from 4B to 1T+ parameters for code, reasoning, vision, and multimodal tasks."}]]