Liquid AI、11言語対応の高速多言語検索向け新モデル「LFM2.5-Embedding-350M」と「LFM2.5-ColBERT-350M」を発表
本文の状態
日本語全文を表示中
詳細モードで約10分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
Liquid AI は、11言語間の高速な多言語・異言語検索を実現する新たな取得モデル「LFM2.5-Embedding-350M」と「LFM2.5-ColBERT-350M」を公開した。両モデルはパラメータ数 3.5 億で、LFM ファミリー初の双方向型であり、Hugging Face で利用可能となった。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
今週、Liquid AI は2 つの新しい検索モデルをリリースしました。それらは LFM2.5-ColBERT-350M と LFM2.5-Embedding-350M です。どちらも 3.5 億パラメータを保持しています。両方とも LFM ファミリーにおける最初の双方向(bidirectional)メンバーです。これらは、3 月にリリースされた LFM2.5-350M-Base を基盤に構築されています。このペアは、11 か国語にわたる高速な多言語および異言語検索を対象としています。そのフットプリントは小さく、ほぼあらゆる場所で実行可能です。両モデルとも現在、LFM オープンライセンス v1.0 の下で Hugging Face で利用可能です。
LFM2.5 検索器
この 2 つのモデルは共通のバックボーンを共有していますが、テキストの表現方法が異なります。LFM2.5-Embedding-350M は密結合双方向エンコーダー(dense bi-encoder)です。これは各ドキュメントを単一のベクトルに変換します。最も高速な検索と、最小かつ低コストなインデックスが必要な場合にこれを選択してください。
LFM2.5-ColBERT-350M は後期相互作用モデル(late-interaction model)です。これはドキュメントごとの 1 つのベクトルではなく、各トークンをベクトルに変換します。これにより、クエリを単語ごとにマッチングさせることが可能になり、より高い精度と優れた一般化能力が実現されます。その代償として、インデックスサイズが大きくなります。保存容量よりも精度が重要である場合にこれを選択してください。クエリの長さは 32 トークンに制限されています。また、インデックスを構築せずに、第一段階の検索器の結果を再ランク(rerank)することも可能です。
両モデルとも短文脈検索を対象としています。製品カタログ、FAQ ナレッジベース、サポートドキュメントなどが適したユースケースです。Liquid AI は、これら 2 つを既存の RAG パイプラインへのドロップイン代替品として位置付けています。
アーキテクチャの変更:因果関係から双方向へ
両モデルは、中規模訓練された汎用チェックポイントである LFM2.5-350M-Base から出発します。Liquid AI は LFM2 アーキテクチャに対して少数の双方向パッチを適用し、因果的なデコーダーから双方向エンコーダーへと適応させます。
因果設定では、各トークンは自分自身と過去のトークンのみを使用します。これは左から右への生成には適していますが、検索にはあまり自然ではありません。チームは因果的なアテンションマスクを双方向のものに置き換えます。これにより、すべてのトークンが左右の文脈の両方に注意を向けることができるようになります。また、LFM2 の短距離畳み込みも非因果化し、各トークンの周囲で局所情報を対称的に混合させます。これは過去の情報のみを対象とするのではなく、双方向に作用します。
これにより、LFM2 バックボーンの効率が維持されながら、検索に必要な完全な文脈表現が生成されます。各モデルは 17 レイヤー(畳み込み層 10 層、アテンション層 6 層、プーリングまたは密結合層 1 層)で構成されています。コンテキスト長は最大 32,768 トークンに達しますが、文書は 512 トークンに調整されています。共有エンコーダーから派生した両モデルの違いは出力のみです。埋め込みモデルは CLS スタイルのプーリングを用いて 1024 次元のベクトルを生成します。一方、ColBERT は MaxSim による後期相互作用のために、トークンごとに 128 次元の埋め込みを保持します。
トレーニングとデータ
両モデルとも、同じ 3 つの段階からなるレシピに従います。
第 1 段階は、英語における大規模な対照的事前学習です。
第 2 段階は、11 のすべての言語にわたる強力な教師モデルからの多言語および異言語蒸留です。
第 3 段階は、ハードマイニングされたネガティブ事例を用いた最終的な微調整です。
Embedding モデルは、ColBERT に比べてわずかに多くの異言語データを受信します。後期相互作用(late-interaction)設定では、異言語検索がより自然に実現されます。トレーニングデータには、厳選された内部データとオープンソースの英語検索データセットを組み合わせ、LLM による翻訳によって多言語および異言語ペアを拡張しています。
ベンチマーク
Liquid AI は 2 つの能力を評価しました。1 つ目は NanoBEIR を用いた多言語検索です。2 つ目は MKQA-11 を用いたクロスドメイン異言語 QA です。両方とも、アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ノルウェー語、ポルトガル語、スウェーデン語の全 11 か国で結果を報告しています。
平均的に見ると、両モデルはそれぞれのクラスで首位を占めています。比較の詳細は以下の通りです:
モデルタイプ NanoBEIR ML (NDCG@10) MKQA-11 (Recall@20)
LFM2.5-ColBERT-350M 後期相互作用 0.605 0.694
LFM2.5-Embedding-350D 密着型 0.577 0.691
Qwen/Qwen3-Embedding-0.6B 密着型 0.556 0.638
LFM2-ColBERT-350M 後期相互作用 0.540 0.646
Alibaba-NLP/gte-multilingual-base 密着型 0.528 0.675
lightonai/GTE-ModernColBERT-v1 後期相互作用 0.489 0.459
BAAI/bge-large-en-v1.5 密着型 0.359 0.413
ColBERT は両方の平均値で首位です。Embedding は MKQA-11 で 0.691 と ColBERT に僅差で続きます。どちらも、より大きなモデルである Qwen3-Embedding-0.6B を上回っています。新しい ColBERT は、NanoBEIR において 0.540 から 0.605 へと、以前の LFM2-ColBERT-350M よりも改善されています。Liquid AI はまた、NanoBEIR の英語トラックがより高価な完全版 BEIR を追跡していることも指摘しています。両者は高い相関性を保ち、NanoBEIR のスコアはほぼ一定に約 15% 高くなります。そのため研究チームは、トレーニング実行中は NanoBEIR を実用的な代理指標として使用します。
レイテンシとエッジ展開
Liquid AI は llama.cpp 向けの GGUF バリアントをリリースしました。これにより、両モデルを CPU、ラップトップ、およびエッジデバイス上で実行することが可能になります。以下の数値は、FP16 で動作する MacBook Pro M4 Max を使用したものです。クエリは 32 トークン、文書は 256 トークンです。
モデル | ステージ | ドキュメントキャッシュあり | p50
LFM2.5-Embedding-350M | クエリ埋め込み | はい | 7.3 ms
LFM2.5-ColBERT-350M | クエリ埋め込み + MaxSim | はい | 8.2 ms
LFM2.5-ColBERT-350M | クエリ + ドキュメント埋め込み + MaxSim | いいえ | 34.3 ms
ドキュメントの埋め込みが事前に計算されている場合、中央値(p50)のクエリレイテンシは 10 ms を下回ります。クエリ実行時にドキュメントをエンコードすると、ColBERT のレイテンシは 34.3 ms に押し上げられます。企業規模での利用に向けて、Liquid AI は内部 GPU スタックも構築しました。FP16 で動作する H100 では、1 ms という低いレイテンシが観測されます。ここでは埋め込みクエリのレイテンシが p50 で 1.5 ms です。
ユースケースと例
E コマース:1 つのインデックスで多数の言語にわたる製品カタログを検索します。利用者が韓国語でクエリを入力すると、システムは英語の商品リストを提示します。異言語検索により、言語ごとのインデックスなしでこれが実現されます。
FAQ やサポートのナレッジベース:顧客対応面において、適切な回答を確実に取得します。フランス語でのサポート質問は、英語のヘルプ記事にマッピングされます。
オンデバイス意味検索:消費者向けハードウェア上で、ファイル、メール、メモをローカルで検索できます。GGUF ビルドにより、データをほぼゼロコストでデバイス上に保持できます。
エンタープライズ知識アシスタント:多言語にわたる内部の法務、財務、技術文書を取得します。回答精度がインデックスサイズよりも優先される場合、ColBERT が適しています。
コード:はじめに
埋め込みモデルは sentence-transformers を通じて実行されます。必ず非対称プロンプトである query: と document: を指定してください。これらを省略すると、検索品質が静かに低下します。
Copy CodeCopiedUse a different Browser
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)
ColBERT モデルは PyLate を通じて実行されます。その PLAID インデックスは、効率的な類似度検索のために FastPLAID を使用します。
Copy CodeCopiedUse a different Browser
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)
既存の第一段階パイプラインを再ランク付けする場合は、インデックスをスキップして rank.rerank を使用してください。
Copy CodeCopiedUse a different Browser
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,
)
これらのモデルは、独自のデータでファインチューニングすることも可能です。Embedding カードには、sentence-transformers と MultipleNegativesRankingLoss を使用したスニペットが記載されています。
Key Takeaways
Liquid AI の LFM2.5-ColBERT-350M および LFM2.5-Embedding-350M は、11 か国語にわたる多言語検索向けに構築された、最初の双方向型 LFMs(Large Feature Models)です。
両方の 350M モデルは NanoBEIR および MKQA-11 でクラスをリードし、より大きな Qwen3-Embedding-0.6B を上回っています。
Embedding は最も小さく安価なインデックスを提供します。一方、ColBERT は高いトークンあたりの精度を得るために、より大きなインデックスを採用します。
GGUF ベースのビルドは llama.cpp を通じて CPU、ラップトップ、エッジデバイスで動作し、キャッシュされた p50 クエリレイテンシは 10 ミリ秒未満です。
これらは LFM オープンライセンス v1.0 の下、sentence-transformers および PyLate を介して既存の RAG パイプラインに組み込まれます。
インタラクティブな解説器
GitHub リポジトリや Hugging Face ページ、製品リリース、ウェビナーなどのプロモーションのためにパートナーシップをご希望ですか?私たちに連絡してください。
原文を表示
This week, Liquid AI released two new retrieval models. They are LFM2.5-ColBERT-350M and LFM2.5-Embedding-350M. Both hold 350M parameters. Both are the first bidirectional members of the LFM family. They build on 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:
ModelTypeNanoBEIR ML (NDCG@10)MKQA-11 (Recall@20)
LFM2.5-ColBERT-350Mlate interaction0.6050.694
LFM2.5-Embedding-350Mdense0.5770.691
Qwen/Qwen3-Embedding-0.6Bdense0.5560.638
LFM2-ColBERT-350Mlate interaction0.5400.646
Alibaba-NLP/gte-multilingual-basedense0.5280.675
lightonai/GTE-ModernColBERT-v1late interaction0.4890.459
BAAI/bge-large-en-v1.5dense0.3590.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.
ModelStageDocs cachedp50
LFM2.5-Embedding-350MQuery embeddingyes7.3 ms
LFM2.5-ColBERT-350MQuery embedding + MaxSimyes8.2 ms
LFM2.5-ColBERT-350MQuery + Doc embedding + MaxSimno34.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.
Copy CodeCopiedUse a different Browser
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.
Copy CodeCopiedUse a different Browser
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.
Copy CodeCopiedUse a different Browser
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. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post 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 appeared first on MarkTechPost.
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み