Liquid AI Introduces LFM2.5-Embedding-350M and LFM2.5-ColBERT-350M: Dense Bi-Encoder and Late-Interaction Models for Fast Multilingual Search Across 11 Languages Liquid AI released two new retrieval models, LFM2.5-Embedding-350M and LFM2.5-ColBERT-350M, for fast multilingual search across 11 languages. The models, available on Hugging Face, are designed as drop-in replacements for RAG pipelines, with the Embedding model optimized for speed and the ColBERT model for accuracy. This week, Liquid AI released two new retrieval models. They are LFM2.5-ColBERT-350M and . Both hold 350M parameters. Both are the first bidirectional members of the LFM family. They build on LFM2.5-Embedding-350M https://huggingface.co/LiquidAI/LFM2.5-Embedding-350M LFM2.5-350M-Base , released in March. The pair targets fast multilingual and cross-lingual search across 11 languages. Their footprint is small enough to run almost anywhere. Both are available now on Hugging Face under the LFM Open License v1.0. LFM2.5 Retrievers The two models share one backbone but represent text differently. LFM2.5-Embedding-350M is a dense bi-encoder. It turns each document into a single vector. Pick it when you want the fastest search and the smallest, cheapest index. LFM2.5-ColBERT-350M is a late-interaction model. It converts each token into a vector rather than one vector per document. This lets it match queries word-by-word for higher accuracy and better generalization. The trade-off is a larger index. Pick it when accuracy matters more than storage. Its query length is capped at 32 tokens. It can also rerank a first-stage retriever’s results without building an index. Both target short-context search. Good fits include product catalogs, FAQ knowledge bases, and support docs. Liquid AI positions both as a drop-in replacement for an existing RAG pipeline. The Architecture Change: Causal to Bidirectional Both models start from LFM2.5-350M-Base, a mid-trained general-purpose checkpoint. Liquid AI applies a small set of bidirectional patches to the LFM2 architecture. These adapt it from a causal decoder to a bidirectional encoder. In a causal setup, each token uses only itself and previous tokens. That suits left-to-right generation but is less natural for retrieval. The team replaces the causal attention mask with a bidirectional one. Now every token can attend to both left and right context. They also make the LFM2 short convolutions non-causal. These mix local information symmetrically around each token, not only from the past. This preserves the LFM2 backbone’s efficiency while producing the full-context representations retrieval needs. Each model has 17 layers: 10 convolution, 6 attention, and 1 pooling or dense. Context length reaches 32,768 tokens, though documents are tuned to 512 tokens. From the shared encoder, the two models differ only in output. Embedding uses CLS-style pooling for one 1024-dim vector. ColBERT keeps 128-dim per-token embeddings for MaxSim late interaction. Training and Data Both models follow the same three-stage recipe: - Stage one is large-scale contrastive pretraining in English. - Stage two is multilingual and cross-lingual distillation from a strong teacher across all 11 languages. - Stage three is final fine-tuning on hard-mined negatives. The Embedding model receives slightly more cross-lingual data than ColBERT. Cross-lingual retrieval emerges more naturally in the late-interaction setup. Training data combines curated internal data with open-source English retrieval datasets. LLM-based translation expands the multilingual and cross-lingual pairs. Benchmark Liquid AI evaluated two capabilities. The first is multilingual retrieval with NanoBEIR. The second is cross-lingual open-domain QA with MKQA-11. Both report results across all 11 languages: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Norwegian, Portuguese, and Swedish. On average, both models lead their class. Here are the comparison details: | Model | Type | NanoBEIR ML NDCG@10 | MKQA-11 Recall@20 | |---|---|---|---| | LFM2.5-ColBERT-350M | late interaction | 0.605 | 0.694 | | LFM2.5-Embedding-350M | dense | 0.577 | 0.691 | | Qwen/Qwen3-Embedding-0.6B | dense | 0.556 | 0.638 | | LFM2-ColBERT-350M | late interaction | 0.540 | 0.646 | | Alibaba-NLP/gte-multilingual-base | dense | 0.528 | 0.675 | | lightonai/GTE-ModernColBERT-v1 | late interaction | 0.489 | 0.459 | | BAAI/bge-large-en-v1.5 | dense | 0.359 | 0.413 | ColBERT leads on both averages. Embedding is close behind on MKQA-11 at 0.691. Both beat Qwen3-Embedding-0.6B, a larger model. The new ColBERT also improves on the earlier LFM2-ColBERT-350M, from 0.540 to 0.605 on NanoBEIR. Liquid AI also notes that NanoBEIR English tracks the more expensive full BEIR. The two stay highly correlated, with NanoBEIR scoring a near-constant ~15% higher. The research team therefore uses NanoBEIR as a practical proxy during training runs. Latency and Edge Deployment Liquid AI released GGUF variants for llama.cpp . These let both models run on CPUs, laptops, and edge devices. The figures below use a MacBook Pro M4 Max at FP16. Queries are 32 tokens; documents are 256 tokens. | Model | Stage | Docs cached | p50 | |---|---|---|---| | LFM2.5-Embedding-350M | Query embedding | yes | 7.3 ms | | LFM2.5-ColBERT-350M | Query embedding + MaxSim | yes | 8.2 ms | | LFM2.5-ColBERT-350M | Query + Doc embedding + MaxSim | no | 34.3 ms | When document embeddings are pre-computed, median p50 query latency stays under 10 ms. Encoding documents at query time pushes ColBERT to 34.3 ms. For enterprise scale, Liquid AI also built an internal GPU stack. On an H100 at FP16, it observes latencies as low as 1 ms. Embedding query latency there is 1.5 ms p50. Use Cases With Examples E-commerce : Search a product catalog across many languages with one index. A shopper types a Korean query and the system surfaces an English product listing. Cross-lingual retrieval makes this work without per-language indexes. FAQ and support knowledge bases : Retrieve the right answer reliably across customer-facing surfaces. A French support question maps to an English help article. On-device semantic search : Search files, emails, and notes locally on consumer hardware. The GGUF build keeps data on the device at near-zero cost. Enterprise knowledge assistants : Retrieve internal legal, financial, and technical documents across languages. ColBERT suits this when answer accuracy outranks index size. Code: Getting Started The Embedding model runs through sentence-transformers . Always pass the asymmetric prompts, query: and document: . Omitting them silently degrades retrieval quality. python from sentence transformers import SentenceTransformer model = SentenceTransformer "LiquidAI/LFM2.5-Embedding-350M", trust remote code=True, queries = "What is the capital of France?" documents = "Paris is the capital and largest city of France." q emb = model.encode queries, prompt name="query", normalize embeddings=True d emb = model.encode documents, prompt name="document", normalize embeddings=True scores = q emb @ d emb.T shape: n queries, n documents The ColBERT model runs through PyLate . Its PLAID index uses FastPLAID for efficient similarity search. python from pylate import indexes, models, retrieve model = models.ColBERT model name or path="LiquidAI/LFM2.5-ColBERT-350M", trust remote code=True, model.tokenizer.pad token = model.tokenizer.eos token index = indexes.PLAID index folder="pylate-index", index name="index", override=True docs emb = model.encode "document 1 text", "document 2 text" , is query=False index.add documents documents ids= "1", "2" , documents embeddings=docs emb retriever = retrieve.ColBERT index=index q emb = model.encode "a search query" , is query=True scores = retriever.retrieve queries embeddings=q emb, k=10 To rerank an existing first-stage pipeline instead, skip the index and use rank.rerank . python from pylate import models, rank model = models.ColBERT model name or path="LiquidAI/LFM2.5-ColBERT-350M", trust remote code=True queries = "query A" documents = "candidate doc 1", "candidate doc 2" documents ids = 1, 2 q emb = model.encode queries, is query=True d emb = model.encode documents, is query=False reranked = rank.rerank documents ids=documents ids, queries embeddings=q emb, documents embeddings=d emb, You can also fine-tune either model on your own data. The Embedding card provides snippets using sentence-transformers and MultipleNegativesRankingLoss . Key Takeaways - Liquid AI’s LFM2.5-ColBERT-350M and LFM2.5-Embedding-350M are the first bidirectional LFMs, built for multilingual search across 11 languages. - Both 350M models lead their class on NanoBEIR and MKQA-11, beating the larger Qwen3-Embedding-0.6B. - Embedding gives the smallest, cheapest index; ColBERT trades a larger index for higher per-token accuracy. - GGUF builds run on CPUs, laptops, and edge via llama.cpp, with cached p50 query latency under 10 ms. - They drop into existing RAG pipelines through sentence-transformers and PyLate, under the LFM Open License v1.0. Interactive Explainer Check out the Technical details, LFM2.5-Embedding and . LFM2.5-ColBERT https://huggingface.co/LiquidAI/LFM2.5-ColBERT-350M Also, feel free to follow us on and don’t forget to join our Twitter https://x.com/intent/follow?screen name=marktechpost and Subscribe to 150k+ML SubReddit https://www.reddit.com/r/machinelearningnews/ . Wait are you on telegram? our Newsletter https://www.aidevsignals.com/ now you can join us on telegram as well. https://t.me/machinelearningresearchnews Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us https://forms.gle/wbash1wF6efRj8G58