{"slug": "show-hn-zero-downtime-embedding-model-upgrades", "title": "Show HN: Zero downtime embedding model upgrades", "summary": "A developer has released EmbedFlow, an open-source tool that enables zero-downtime upgrades of embedding models by retrieving top-K documents with the old model and reranking them with the new model, avoiding the cost of re-embedding entire databases. In tests on a 1M-document Natural Questions dataset, the approach achieved nDCG@10 scores of 0.6816 for Qwen3-4B to Qwen3-8B with K=50, nearly matching the native Qwen3-Embedding-8B score of 0.6812. The tool is available via pip install embedflow and on GitHub.", "body_md": "People use embedding models all the time for rag/semantic retrieval. However, when a newer, more desireable model comes out, there is an expensive (both in time and computational) cost of re-embedding every document in the database.\n\nHowever, I figured out an interesting way to forgo that upfront embedding cost.\n\nalgo:\n\nold model/index -> retrieve top-K docs -> score those docs with the new model -> cache/materialize the new embeddings\n\nso instead of rebuilding the entire vector store upfront, the old index keeps getting retrieved from, while the new model reranks those candidates.\n\nThis works surprisingly well for some model pairs, (i tested 63 source-> target migrations on h100s, on upto 1M documents).\n\nFor example, on a 1M document Natural Questions dataset,\n\nnative Qwen3-Embedding-8B: 0.6812 nDCG@10 Qwen3-4B -> Qwen3-8B, K=50: 0.6816 Qwen3-0.6B -> Qwen3-8B, K=50: 0.6638 MiniLM -> Qwen3-8B, K=50: 0.6486\n\n(the hard part is determining k, I held the k constant above to give some sense of migratability).\n\nYou can install it with pip\n\npip install embedflow\n\nand the code is on github\n\n[https://github.com/arnsri33/embedflow](https://github.com/arnsri33/embedflow)\n\nComments URL: [https://news.ycombinator.com/item?id=49605110](https://news.ycombinator.com/item?id=49605110)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-zero-downtime-embedding-model-upgrades", "canonical_source": "https://github.com/arnsri33/embedflow", "published_at": "2026-09-08 02:35:36+00:00", "updated_at": "2026-09-08 03:01:20.290601+00:00", "lang": "en", "topics": ["machine-learning", "ai-tools", "ai-infrastructure"], "entities": ["EmbedFlow", "Qwen3-Embedding-8B", "Qwen3-4B", "Qwen3-8B", "Qwen3-0.6B", "MiniLM", "Natural Questions", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/show-hn-zero-downtime-embedding-model-upgrades", "markdown": "https://wpnews.pro/news/show-hn-zero-downtime-embedding-model-upgrades.md", "text": "https://wpnews.pro/news/show-hn-zero-downtime-embedding-model-upgrades.txt", "jsonld": "https://wpnews.pro/news/show-hn-zero-downtime-embedding-model-upgrades.jsonld"}}