<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2" -->

---
title: Honey, I shrunk the embeddings: Matryoshka vs. PCA
description: A benchmark comparison of Matryoshka Representation Learning (MRL) truncation versus PCA for reducing embedding dimensions across eight BEIR retrieval...
canonical: https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Honey, I shrunk the embeddings: Matryoshka vs. PCA | daily.dev
og:description: A benchmark comparison of Matryoshka Representation Learning (MRL) truncation versus PCA for reducing embedding dimensions across eight BEIR retrieval...
og:url: https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2
og:image: https://api.daily.dev/og/posts/TjrxhQ3S2.png
og:image:alt: Honey, I shrunk the embeddings: Matryoshka vs. PCA
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Honey, I shrunk the embeddings: Matryoshka vs. PCA

**[Hacker News](https://daily.dev/sources/hn)** · 12 min read · 0 upvotes · 0 comments

## Summary

A benchmark comparison of Matryoshka Representation Learning (MRL) truncation versus PCA for reducing embedding dimensions across eight BEIR retrieval datasets. Testing three models (text-embedding-3-small, qwen3-embedding-8b, text-embedding-ada-002), PCA matched or outperformed MRL truncation at most compression levels — retaining 65% of quality at 32 dims versus truncation's 46% on text-embedding-3-small. PCA also proved robust to small fitting samples and out-of-domain fits, and works on any model regardless of MRL training. Combining binary quantization with PCA at 512 dims can reduce vector size to ~1% of float32 baseline while retaining 82% retrieval quality.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dylancastillo.co/posts/matryoshka-vs-pca>

## Questions this post answers

### Does PCA outperform Matryoshka truncation for reducing embedding dimensions in retrieval tasks?

PCA matches or outperforms MRL truncation at most compression levels across BEIR benchmarks. On text-embedding-3-small, PCA retains 65% of retrieval quality at 32 dimensions versus truncation's 46%. On qwen3-embedding-8b the gap is smaller (71% vs 68% at 32 dims). PCA also works on non-MRL models like text-embedding-ada-002, suggesting its advantage is not dependent on MRL training.

_Teams choosing between PCA and MRL for vector search cost reduction track findings like these on daily.dev._

### How much fitting data does PCA need to work well for embedding compression?

Very little. Fitting PCA on as few as 1,000 documents from a 57K-document corpus (FiQA) produces nearly identical retrieval quality to fitting on the full corpus, at every tested dimension level. An out-of-domain fit on 100K MS MARCO passages also holds up well at moderate compression (512–128 dims), though it falls behind at very aggressive compression on qwen3-embedding-8b (56% vs 71% retained at 32 dims).

_Developers building RAG pipelines on a budget find practical tradeoffs like this on daily.dev._

### How much retrieval quality is retained when combining binary quantization with PCA for text-embedding-3-small?

Combining binary quantization with PCA at 512 dimensions retains approximately 82% of the original NDCG@10 retrieval quality while reducing raw vector size to about 1% of the float32 baseline. Binary quantization alone at full 1,536 dimensions retains 95% quality at 3.1% of the original size, while int8 quantization retains 100% quality at 25% of the size.

_Engineers optimizing vector storage costs for production search systems find benchmark data like this on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 19 comments across hackernews (as of 2026-08-10).

**TL;DR:** Commenters are largely receptive to the benchmarking work and unsurprised that PCA holds up well against MRL truncation, with several noting they've seen similar results independently; the main critical thread questions why PCA outperforms MRL when the original MRL paper's SVD baseline did not, and one commenter takes issue with the article's framing of search as a new problem.

**Sentiment:** 65% positive · 25% mixed · 10% skeptical

**The case for**

- PCA comes with strong theoretical guarantees and proved surprisingly competitive against a purpose-trained technique.
- PCA is model-agnostic and adds no inference latency overhead since it's applied post-embedding.
- The benchmark is seen as a useful, practical contribution that fills a gap in publicly available comparisons.
- Combining binary quantization with PCA offers dramatic vector-size reductions while retaining substantial retrieval quality.

**The pushback**

- The article's framing implies search/embeddings are a new problem, ignoring a long pre-LLM history.
- It's unclear why PCA outperforms MRL truncation here when the original MRL paper's SVD baseline did not — the discrepancy isn't investigated.
- Results may not be uniform across all embedding models; API-based models tested may not represent the full landscape.
- PCA's O(n³) complexity makes it infeasible for very large datasets, which is where MRL's training-time approach retains appeal.

**By community**

- hackernews (positive): Generally enthusiastic about the practical benchmarking, with one substantive methodological question about the discrepancy with the original MRL paper's SVD baseline and a minor complaint about the article's historical framing.

**Hottest debate:** Whether PCA's outperformance of MRL truncation is a genuine finding or an artifact of differing evaluation methodology compared to the original MRL paper.

**Open questions**

- Why does PCA outperform MRL truncation in this benchmark when the original MRL paper's SVD baseline showed degradation at low dimensions?
- Would random-rotation quantization (as in TurboQuant) be complementary to PCA for text embeddings, given that text embeddings may not have structure aligned with basis vectors?
- How do results generalize across a broader set of non-API embedding models?

**Highlights**

> Nice!  Thank you for doing this.  I am not surprised PCA holds up.  It comes with some pretty strong theoretical guarantees. The problem with it has always been scalability.  The O(n^3) complexity makes it infeasible to use for massive datasets. That is where something like Matryoshka embeddings has appeal.  You trade a little bit of performance for a guarantee of training + validation set coverage.
> — [pfisherman on hackernews](https://news.ycombinator.com/item?id=49232979)

> The original MRL paper (https://arxiv.org/pdf/2205.13147) reported an SVD baseline, which showed comparable performance (Table 1, top-1 accuracy) at d>=256, but much degraded performance at lower dims (d \in {8,32,64}). (Though Table 2, nearest-neighbor accuracy, doesn't show degradation until d <= 16.) In your conclusion, you report that PCA won on most dimensions. Did you investigate why you found that PCA outperforms MRL when the original paper found that their SVD baseline did not?
> — [jsrozner on hackernews · 1 comments](https://news.ycombinator.com/item?id=49233606)

> Thanks for doing this benchmarking Dylan. I wanted to teach people PCA in my original article, but had no idea it would stack up this well against Matroyshka! Feels like a “just use logistic regression” moment :)
> — [softwaredoug on hackernews · 1 comments](https://news.ycombinator.com/item?id=49232633)

> Good benchmarks! > You can push this further by combining quantization with truncation or PCA. The resulting vectors can be dramatically smaller while still preserving a surprising amount of retrieval quality. Counterintuitively - quantisation can also be combined with a random rotation step before the quantisation. A random rotation spreads information across more dimensions, allowing more aggressive quantisation without losing accuracy. Ironically - almost the opposite of a PCA. I do wonder if relevant here though. It relies on the embeddings having "structure", i.e. that principal components point along basis vectors, which may not be the case with text embeddings. Source: https://research.google/blog/turboquant-redefining-ai-effici...
> — [hanneshdc on hackernews · 1 comments](https://news.ycombinator.com/item?id=49232938)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49156607) · 60 points · 19 comments

## Similar posts on daily.dev

- [Scaling Vector Search: Comparing Quantization and Matryoshka Embeddings for 80% Cost Reduction](https://daily.dev/posts/scaling-vector-search-comparing-quantization-and-matryoshka-embeddings-for-80-cost-reduction-m7ol7shex) · Towards Data Science · 0 upvotes · 0 comments
- [PCA: an embedding shrink-ray](https://daily.dev/posts/pca-an-embedding-shrink-ray-ayowx3qqb) · Software Doug · 0 upvotes · 0 comments
- [Agile MRL Embedding Vector Search Blog](https://daily.dev/posts/agile-mrl-embedding-vector-search-blog-wkhcyfqa5) · SingleStore · 1 upvotes · 0 comments

---

Tags: [#data-science](https://daily.dev/tags/data-science), [#vector-search](https://daily.dev/tags/vector-search), [#embeddings](https://daily.dev/tags/embeddings)

[View this post on daily.dev](https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Honey, I shrunk the embeddings: Matryoshka vs. PCA","url":"https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2"},"datePublished":"2026-08-09T16:47:57.530Z","dateModified":"2026-08-10T00:49:19.463Z","description":"A benchmark comparison of Matryoshka Representation Learning (MRL) truncation versus PCA for reducing embedding dimensions across eight BEIR retrieval...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f4d24c1e0db51d6951d9d1ddc6d48ae9?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f4d24c1e0db51d6951d9d1ddc6d48ae9?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"data-science,vector-search,embeddings","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"Honey, I shrunk the embeddings: Matryoshka vs. PCA"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/honey-i-shrunk-the-embeddings-matryoshka-vs-pca-tjrxhq3s2#faq","mainEntity":[{"@type":"Question","name":"Does PCA outperform Matryoshka truncation for reducing embedding dimensions in retrieval tasks?","acceptedAnswer":{"@type":"Answer","text":"PCA matches or outperforms MRL truncation at most compression levels across BEIR benchmarks. On text-embedding-3-small, PCA retains 65% of retrieval quality at 32 dimensions versus truncation's 46%. On qwen3-embedding-8b the gap is smaller (71% vs 68% at 32 dims). PCA also works on non-MRL models like text-embedding-ada-002, suggesting its advantage is not dependent on MRL training. Teams choosing between PCA and MRL for vector search cost reduction track findings like these on daily.dev."}},{"@type":"Question","name":"How much fitting data does PCA need to work well for embedding compression?","acceptedAnswer":{"@type":"Answer","text":"Very little. Fitting PCA on as few as 1,000 documents from a 57K-document corpus (FiQA) produces nearly identical retrieval quality to fitting on the full corpus, at every tested dimension level. An out-of-domain fit on 100K MS MARCO passages also holds up well at moderate compression (512–128 dims), though it falls behind at very aggressive compression on qwen3-embedding-8b (56% vs 71% retained at 32 dims). Developers building RAG pipelines on a budget find practical tradeoffs like this on daily.dev."}},{"@type":"Question","name":"How much retrieval quality is retained when combining binary quantization with PCA for text-embedding-3-small?","acceptedAnswer":{"@type":"Answer","text":"Combining binary quantization with PCA at 512 dimensions retains approximately 82% of the original NDCG@10 retrieval quality while reducing raw vector size to about 1% of the float32 baseline. Binary quantization alone at full 1,536 dimensions retains 95% quality at 3.1% of the original size, while int8 quantization retains 100% quality at 25% of the size. Engineers optimizing vector storage costs for production search systems find benchmark data like this on daily.dev."}}]}
```

