mirror of
https://github.com/zenlm/zen-blog.git
synced 2026-11-03 14:11:45 +00:00
56 lines
27 KiB
Plaintext
56 lines
27 KiB
Plaintext
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","federated-learning"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","federated-learning","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":"May 8, 2022"}],["$","h1",null,{"className":"text-3xl font-bold mt-2 mb-3","children":"Federated Learning for Open AI"}],["$","p",null,{"className":"text-fd-muted-foreground text-lg mb-4","children":"How federated learning enables collaborative model training while preserving data privacy."}],["$","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","Research",{"className":"text-[10px] font-mono uppercase tracking-wider bg-fd-muted text-fd-muted-foreground px-1.5 py-0.5 rounded","children":"Research"}],["$","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","Privacy",{"className":"text-[10px] font-mono uppercase tracking-wider bg-fd-muted text-fd-muted-foreground px-1.5 py-0.5 rounded","children":"Privacy"}]]}]]}]]}],["$","div",null,{"className":"prose dark:prose-invert max-w-none","children":[["$","p",null,{"children":"Training large language models requires vast amounts of data. That data often contains sensitive information. Federated learning offers a path to train on distributed, private data without centralizing it."}],"\n",["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"the-centralization-problem","children":[["$","a",null,{"data-card":"","href":"#the-centralization-problem","className":"peer","children":"The Centralization 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":"Traditional ML training follows a simple pattern: collect data, aggregate it centrally, train models. This creates problems:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Privacy risk"}]," : Sensitive data leaves user control"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Legal barriers"}]," : Regulations prevent data movement across jurisdictions"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Trust requirements"}]," : Data holders must trust the training party"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Single points of failure"}]," : Central aggregation creates vulnerabilities"]}],"\n"]}],"\n",["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"federated-learning-basics","children":[["$","a",null,{"data-card":"","href":"#federated-learning-basics","className":"peer","children":"Federated Learning Basics"}],["$","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"}],"$Lf","$undefined"]}]]}],"\n","$L10","\n","$L11","\n","$L12","\n","$L13","\n","$L14","\n","$L15","\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","$L30","\n","$L31","\n","$L32","\n","$L33"]}]]}]
|
||
34: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"]
|
||
35: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:["$","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"}]
|
||
10:["$","p",null,{"children":"Federated learning inverts the pattern. Instead of bringing data to the model, we bring the model to the data."}]
|
||
11:["$","$L34",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":["$","$L35",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":" | Central |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | Server |"}]}],"\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":" +--------------+--------------+"}]}],"\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":" | Client 1 | | Client 2 | | Client N |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" | (Data A) | | (Data B) | | (Data N) |"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" +-----------+ +-----------+ +-----------+"}]}],"\n",["$","span",null,{"className":"line","children":["$","span",null,{"children":" "}]}]]}]}]}]
|
||
12:["$","ol",null,{"children":["\n",["$","li",null,{"children":"Central server distributes model weights"}],"\n",["$","li",null,{"children":"Clients train locally on their data"}],"\n",["$","li",null,{"children":"Clients send gradient updates (not data) back"}],"\n",["$","li",null,{"children":"Server aggregates updates into improved model"}],"\n",["$","li",null,{"children":"Repeat"}],"\n"]}]
|
||
13:["$","p",null,{"children":"Data never leaves client devices. Only model updates travel."}]
|
||
14:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"challenges-at-scale","children":[["$","a",null,{"data-card":"","href":"#challenges-at-scale","className":"peer","children":"Challenges at Scale"}],["$","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":"Federated learning for LLMs faces unique challenges:"}]
|
||
16:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"communication-costs","children":[["$","a",null,{"data-card":"","href":"#communication-costs","className":"peer","children":"Communication Costs"}],["$","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"]}]]}]
|
||
17:["$","p",null,{"children":"Model gradients are large. With billions of parameters, naive federation is impractical. We address this through:"}]
|
||
18:["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Gradient compression"}]," : Sparsification and quantization reduce bandwidth by 100-1000x"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Asynchronous updates"}]," : Clients contribute when convenient, not in synchronized rounds"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Hierarchical aggregation"}]," : Regional aggregators reduce central server load"]}],"\n"]}]
|
||
19:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"heterogeneous-compute","children":[["$","a",null,{"data-card":"","href":"#heterogeneous-compute","className":"peer","children":"Heterogeneous Compute"}],["$","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"]}]]}]
|
||
1a:["$","p",null,{"children":"Participants have varied hardware. A phone differs from a workstation differs from a server. Our approach:"}]
|
||
1b:["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Adaptive batch sizes"}]," : Smaller devices process smaller batches"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Model sharding"}]," : Large models split across capable participants"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Contribution weighting"}]," : Update importance scales with compute contributed"]}],"\n"]}]
|
||
1c:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"data-heterogeneity","children":[["$","a",null,{"data-card":"","href":"#data-heterogeneity","className":"peer","children":"Data Heterogeneity"}],["$","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"]}]]}]
|
||
1d:["$","p",null,{"children":"Different participants have different data distributions. This creates convergence challenges. Solutions:"}]
|
||
1e:["$","ul",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Personalization layers"}]," : Some parameters remain local"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Clustered federation"}]," : Similar participants form training groups"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Importance sampling"}]," : Under-represented distributions get higher weight"]}],"\n"]}]
|
||
1f:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"privacy-enhancements","children":[["$","a",null,{"data-card":"","href":"#privacy-enhancements","className":"peer","children":"Privacy Enhancements"}],["$","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"]}]]}]
|
||
20:["$","p",null,{"children":"Basic federation protects raw data but gradients can leak information. We add:"}]
|
||
21:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"differential-privacy","children":[["$","a",null,{"data-card":"","href":"#differential-privacy","className":"peer","children":"Differential Privacy"}],["$","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"]}]]}]
|
||
22:["$","p",null,{"children":"Noise added to gradients provides mathematical privacy guarantees. Each participant’s contribution becomes statistically indistinguishable."}]
|
||
23:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"secure-aggregation","children":[["$","a",null,{"data-card":"","href":"#secure-aggregation","className":"peer","children":"Secure Aggregation"}],["$","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"]}]]}]
|
||
24:["$","p",null,{"children":"Cryptographic protocols ensure the server only sees aggregated updates, not individual contributions. Even a compromised server learns nothing about specific participants."}]
|
||
25:["$","h3",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"trusted-execution","children":[["$","a",null,{"data-card":"","href":"#trusted-execution","className":"peer","children":"Trusted Execution"}],["$","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"]}]]}]
|
||
26:["$","p",null,{"children":"Hardware enclaves (SGX, TrustZone) provide additional isolation. Computation occurs in protected memory regions."}]
|
||
27:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"zen-federation-protocol","children":[["$","a",null,{"data-card":"","href":"#zen-federation-protocol","className":"peer","children":"Zen Federation 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"]}]]}]
|
||
28:["$","p",null,{"children":"We’ve developed a federation protocol specifically for language model training:"}]
|
||
29:["$","ol",null,{"children":["\n",["$","li",null,{"children":[["$","strong",null,{"children":"Enrollment"}]," : Participants register compute capacity and data characteristics"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Matching"}]," : Coordinator assigns participants to training cohorts"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Distribution"}]," : Model shards route to appropriate participants"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Training"}]," : Local training with privacy-preserving gradient computation"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Aggregation"}]," : Secure combination of participant updates"]}],"\n",["$","li",null,{"children":[["$","strong",null,{"children":"Verification"}]," : Cryptographic proofs of correct computation"]}],"\n"]}]
|
||
2a:["$","p",null,{"children":"Early benchmarks show we achieve 85% of centralized training efficiency while maintaining strong privacy guarantees."}]
|
||
2b:["$","h2",null,{"className":"flex scroll-m-28 flex-row items-center gap-2","id":"join-the-network","children":[["$","a",null,{"data-card":"","href":"#join-the-network","className":"peer","children":"Join 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"]}]]}]
|
||
2c:["$","p",null,{"children":"We’re opening the Zen federation network to participants. Contribute compute, contribute data (privately), contribute to open AI."}]
|
||
2d:["$","p",null,{"children":"Requirements:"}]
|
||
2e:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Minimum 16GB RAM"}],"\n",["$","li",null,{"children":"Stable internet connection"}],"\n",["$","li",null,{"children":"Willingness to run our client software"}],"\n"]}]
|
||
2f:["$","p",null,{"children":"In return, participants receive:"}]
|
||
30:["$","ul",null,{"children":["\n",["$","li",null,{"children":"Governance tokens proportional to contribution"}],"\n",["$","li",null,{"children":"Early access to trained models"}],"\n",["$","li",null,{"children":"Recognition in model cards"}],"\n"]}]
|
||
31:["$","p",null,{"children":"Details at zen.ai/federate."}]
|
||
32:["$","hr",null,{}]
|
||
33:["$","p",null,{"children":["$","em",null,{"children":"Zach Kelling is a co-founder of Zoo Labs Foundation."}]}]
|
||
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":"Federated Learning for Open AI — Zen LM Blog | Zen LM"}],["$","meta","1",{"name":"description","content":"How federated learning enables collaborative model training while preserving data privacy."}],["$","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."}]]
|