check out our new blog post on how we serve embeddings and rerankers for our SOTA pplx-embed models over an exabyte-scale search index.
embedding models have a similar serving profile to LLMs: batch indexing is compute-bound prefill, online serving is memory-bound decode. this lets us reuse the same optimized kernels we built for large LLMs and get great efficiency for free. on top of that, we optimized the runtime: whole-model CUDA graphs captured lazily as the engine serves, and a LazyTensor in Rust that overlaps CPU scheduling with GPU execution.
result: up to 3x lower p50 and 4.8x lower p99 latency than vLLM on BGE-M3 at 128 tokens, single H200!
if you are interested in working on problems like this, DM me or apply at
显示更多
Every answer in Perplexity starts with embedding and ranking models picking the most relevant results for the query.
Today we published research on how we built SoTA serving infrastructure behind those models.
Read the research:
显示更多