1:"$Sreact.fragment"
2:I[6529,["619","static/chunks/619-ba102abea3e3d0e4.js","177","static/chunks/app/layout-13fa3fd02f6eb5db.js"],"default"]
3:I[9766,[],""]
4:I[8924,[],""]
5:I[2619,["619","static/chunks/619-ba102abea3e3d0e4.js","953","static/chunks/app/blog/%5Bslug%5D/page-f25a122e9ccf798d.js"],""]
d:I[7150,[],""]
:HL["/_next/static/css/1d1f6bc532e5f43f.css","style"]
:HL["/_next/static/css/eb87e4f7aea490c6.css","style"]
0:{"P":null,"b":"DQJo8iKQxHubJM4JvsRbH","p":"","c":["","blog","7680-dim-embeddings",""],"i":false,"f":[[["",{"children":["blog",{"children":[["slug","7680-dim-embeddings","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1d1f6bc532e5f43f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","type":"image/svg+xml","href":"/favicon.svg"}],["$","link",null,{"rel":"alternate icon","href":"/favicon.png"}]]}],["$","body",null,{"children":[["$","$L2",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","footer",null,{"children":["$","div",null,{"className":"container","children":[["$","div",null,{"className":"footer-content","children":[["$","div",null,{"className":"footer-section","children":[["$","h4",null,{"children":"Zen LM"}],["$","p",null,{"children":"95 open Zen models across Zen3, Zen4, and Zen5. Chat, code, vision, audio, image, embeddings, rerankers, and safety. OpenAI- and Anthropic-compatible API."}]]}],["$","div",null,{"className":"footer-section","children":[["$","h4",null,{"children":"Zen 5"}],["$","ul",null,{"children":[["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Nano (0.8B - 9B)"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Flash"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Mini"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 (default)"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Coder"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Pro"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen5","children":"Zen5 Max"}]}]]}]]}],["$","div",null,{"className":"footer-section","children":[["$","h4",null,{"children":"Zen 4"}],["$","ul",null,{"children":[["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen4","children":"Zen4 / Zen4.1"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen4","children":"Zen4 Ultra / Max / Pro"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen4","children":"Zen4 Mini / Thinking"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen4","children":"Zen4 Coder / Pro / Flash"}]}]]}]]}],["$","div",null,{"className":"footer-section","children":[["$","h4",null,{"children":"Zen 3 Multimodal"}],["$","ul",null,{"children":[["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen3","children":"Zen3 Omni / VL / Web"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen3","children":"Zen3 Nano / Guard"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen3","children":"Zen3 Embedding / Reranker"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/models#zen3","children":"Zen3 Image / ASR / TTS"}]}]]}]]}],["$","div",null,{"className":"footer-section","children":[["$","h4",null,{"children":"Resources"}],["$","ul",null,{"children":[["$","li",null,{"children":["$","$L5",null,{"href":"/datasets","children":"Training Data"}]}],["$","li",null,{"children":["$","a",null,{"href":"https://huggingface.co/zenlm","target":"_blank","rel":"noopener noreferrer","children":"HuggingFace"}]}],["$","li",null,{"children":["$","a",null,{"href":"https://github.com/zenlm","target":"_blank","rel":"noopener noreferrer","children":"GitHub"}]}],["$","li",null,{"children":["$","$L5",null,{"href":"/research","children":"Research Papers"}]}],["$","li",null,{"children":["$","a",null,{"href":"https://api.hanzo.ai","target":"_blank","rel":"noopener noreferrer","children":"Zen API"}]}]]}]]}]]}],"$L6"]}]}],"$L7","$L8"]}]]}]]}],{"children":["blog","$L9",{"children":[["slug","7680-dim-embeddings","d"],"$La",{"children":["__PAGE__","$Lb",{},null,false]},null,false]},null,false]},null,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"s":false,"S":true}
e:I[7405,["619","static/chunks/619-ba102abea3e3d0e4.js","177","static/chunks/app/layout-13fa3fd02f6eb5db.js"],"default"]
10:I[4431,[],"OutletBoundary"]
12:I[5278,[],"AsyncMetadataOutlet"]
14:I[4431,[],"ViewportBoundary"]
16:I[4431,[],"MetadataBoundary"]
17:"$Sreact.suspense"
6:["$","div",null,{"className":"footer-bottom","children":["$","p",null,{"children":["© ",2026," Zen Authors. Open foundation models. Served on the Zen API."]}]}]
7:["$","$Le",null,{}]
8:["$","script",null,{"src":"/assets/js/main.js","async":true}]
9:["$","$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"}]]}]
a:["$","$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"}]]}]
b:["$","$1","c",{"children":["$Lf",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/eb87e4f7aea490c6.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L10",null,{"children":["$L11",["$","$L12",null,{"promise":"$@13"}]]}]]}]
c:["$","$1","h",{"children":[null,[["$","$L14",null,{"children":"$L15"}],null],["$","$L16",null,{"children":["$","div",null,{"hidden":true,"children":["$","$17",null,{"fallback":null,"children":"$L18"}]}]}]]}]
19:T1fc4,<p>Embedding dimensions have standardized around powers of two: 768, 1536, occasionally 4096. We asked a simple question: what happens if we go bigger? The answer surprised us.</p>
<h2 id="background-why-dimensions-matter">Background: Why Dimensions Matter</h2>
<p>Text embeddings map variable-length sequences to fixed-dimensional vectors. These vectors enable semantic similarity search, clustering, and retrieval. The dimension count determines the vector space's capacity.</p>
<p>Lower dimensions mean:</p>
<ul>
<li>Smaller storage requirements</li>
<li>Faster similarity computations</li>
<li>Potential information loss</li>
</ul>
<p>Higher dimensions mean:</p>
<ul>
<li>More expressive capacity</li>
<li>Larger memory footprint</li>
<li>Computational overhead</li>
</ul>
<p>The conventional wisdom holds that returns diminish quickly past 1024-2048 dimensions. Our experiments challenge this.</p>
<h2 id="experimental-setup">Experimental Setup</h2>
<p>We trained a series of embedding models with identical architectures except for output dimension:</p>






























<table><thead><tr><th>Model</th><th>Dimensions</th><th>Parameters</th></tr></thead><tbody><tr><td>Zen-Embed-S</td><td>768</td><td>110M</td></tr><tr><td>Zen-Embed-M</td><td>1536</td><td>125M</td></tr><tr><td>Zen-Embed-L</td><td>3072</td><td>155M</td></tr><tr><td>Zen-Embed-XL</td><td>7680</td><td>230M</td></tr></tbody></table>
<p>Training data: 1.2B text pairs with contrastive learning objective.</p>
<h2 id="results">Results</h2>
<h3 id="retrieval-benchmarks">Retrieval Benchmarks</h3>
<p>BEIR (Benchmarking IR) results across 15 datasets:</p>



































<table><thead><tr><th>Model</th><th>NDCG@10</th><th>Recall@100</th><th>MRR</th></tr></thead><tbody><tr><td>Zen-Embed-S</td><td>48.2</td><td>71.3</td><td>45.1</td></tr><tr><td>Zen-Embed-M</td><td>51.7</td><td>75.8</td><td>48.9</td></tr><tr><td>Zen-Embed-L</td><td>54.1</td><td>79.2</td><td>52.3</td></tr><tr><td>Zen-Embed-XL</td><td>57.3</td><td>83.6</td><td>55.8</td></tr></tbody></table>
<p>The improvements continue well past conventional dimension counts.</p>
<h3 id="scaling-analysis">Scaling Analysis</h3>
<p>Plotting performance against log(dimensions) reveals near-linear scaling:</p>
<p><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>NDCG@10</mtext><mo>≈</mo><mn>0.12</mn><mo>⋅</mo><msub><mrow><mi>log</mi><mo>⁡</mo></mrow><mn>2</mn></msub><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo><mo>+</mo><mn>37.4</mn></mrow><annotation encoding="application/x-tex">\text{NDCG@10} \approx 0.12 \cdot \log_2(d) + 37.4</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord text"><span class="mord">NDCG@10</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0.12</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop"><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.207em;"><span style="top:-2.4559em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2441em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">d</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">37.4</span></span></span></span></p>
<p>This suggests embedding capacity remains a bottleneck even at high dimensions.</p>
<h3 id="per-domain-breakdown">Per-Domain Breakdown</h3>
<p>The benefits are not uniform across domains:</p>



































<table><thead><tr><th>Domain</th><th>768d</th><th>7680d</th><th>Improvement</th></tr></thead><tbody><tr><td>Scientific</td><td>42.1</td><td>54.7</td><td>+30%</td></tr><tr><td>Legal</td><td>38.9</td><td>51.2</td><td>+32%</td></tr><tr><td>Conversational</td><td>52.3</td><td>55.1</td><td>+5%</td></tr><tr><td>News</td><td>49.8</td><td>53.4</td><td>+7%</td></tr></tbody></table>
<p>Technical and specialized domains benefit most. Everyday conversational content sees smaller gains.</p>
<h3 id="interpretability">Interpretability</h3>
<p>Higher dimensions don't just improve metrics; they enable finer distinctions. Analysis of the 7680d space shows:</p>
<ul>
<li><strong>Cleaner clusters</strong>: Topic boundaries are sharper</li>
<li><strong>Preserved nuance</strong>: Similar but distinct concepts remain separable</li>
<li><strong>Hierarchical structure</strong>: Taxonomic relationships emerge naturally</li>
</ul>
<h2 id="the-efficiency-question">The Efficiency Question</h2>
<p>7680 dimensions cost more to store and search. Is it worth it?</p>
<h3 id="storage">Storage</h3>




















<table><thead><tr><th>Dimensions</th><th>Bytes per Vector</th><th>1M Vectors</th></tr></thead><tbody><tr><td>768</td><td>3,072</td><td>2.9 GB</td></tr><tr><td>7680</td><td>30,720</td><td>29.3 GB</td></tr></tbody></table>
<p>10x storage for higher dimensions. Significant but manageable with modern hardware.</p>
<h3 id="search-latency">Search Latency</h3>
<p>Exact search scales linearly with dimensions. But approximate methods (HNSW, IVF) show sublinear scaling:</p>























<table><thead><tr><th>Dimensions</th><th>Exact (ms)</th><th>HNSW (ms)</th><th>IVF-PQ (ms)</th></tr></thead><tbody><tr><td>768</td><td>12.3</td><td>0.8</td><td>0.3</td></tr><tr><td>7680</td><td>118.7</td><td>2.1</td><td>0.7</td></tr></tbody></table>
<p>With appropriate indexing, 7680d search remains practical.</p>
<h3 id="compression">Compression</h3>
<p>Quantization recovers much of the efficiency loss:</p>
<ul>
<li><strong>INT8</strong>: 4x compression, &#x3C;1% quality loss</li>
<li><strong>Binary</strong>: 32x compression, 5% quality loss</li>
<li><strong>Product Quantization</strong>: 16x compression, 2% quality loss</li>
</ul>
<h2 id="practical-recommendations">Practical Recommendations</h2>
<p>Based on our experiments:</p>
<ol>
<li><strong>If retrieval quality matters most</strong>: Use 7680d with HNSW indexing</li>
<li><strong>If storage is constrained</strong>: Use 7680d with INT8 quantization (still beats 768d float32)</li>
<li><strong>For conversational applications</strong>: 1536d is sufficient</li>
<li><strong>For technical/specialized domains</strong>: Higher dimensions provide outsized benefits</li>
</ol>
<h2 id="release">Release</h2>
<p>We're releasing the Zen-Embed family:</p>
<ul>
<li><strong>Zen-Embed-S</strong> (768d): Free, MIT license</li>
<li><strong>Zen-Embed-M</strong> (1536d): Free, MIT license</li>
<li><strong>Zen-Embed-L</strong> (3072d): Free, MIT license</li>
<li><strong>Zen-Embed-XL</strong> (7680d): Free, MIT license</li>
</ul>
<p>All models available on Hugging Face: huggingface.co/zoo-labs</p>
<h2 id="what-this-means">What This Means</h2>
<p>The embedding dimension race isn't over. There's room to improve retrieval quality by increasing capacity. As hardware improves and indexing methods advance, higher-dimensional embeddings become increasingly practical.</p>
<p>More dimensions, better retrieval. Sometimes the simple approach works.</p>
<hr>
<p><em>Zach Kelling is a co-founder of Zoo Labs Foundation.</em></p>f:["$","main",null,{"children":["$","article",null,{"className":"blog-article","children":[["$","$L5",null,{"className":"blog-back","href":"/blog","children":"← Blog"}],["$","div",null,{"className":"blog-post-meta","children":["December 4, 2022"," ","·"," ",3," min read"]}],["$","h1",null,{"className":"blog-post-title","children":"7680-Dimensional Embeddings: More Dimensions, Better Retrieval"}],["$","p",null,{"className":"blog-post-lede","children":"Why we trained embedding models with 7680 dimensions and what we learned about the relationship between dimensionality and retrieval quality."}],["$","div",null,{"className":"blog-prose","dangerouslySetInnerHTML":{"__html":"$19"}}]]}]}]
15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
11:null
13:{"metadata":[["$","title","0",{"children":"7680-Dimensional Embeddings: More Dimensions, Better Retrieval — Zen Blog"}],["$","meta","1",{"name":"description","content":"Why we trained embedding models with 7680 dimensions and what we learned about the relationship between dimensionality and retrieval quality."}],["$","meta","2",{"name":"keywords","content":"AI, LLM, Agentic AI, Code Generation, Zen Coder, Multimodal, Open Source, Machine Learning"}]],"error":null,"digest":"$undefined"}
18:"$13:metadata"
