Diese Woche hat Liquid AI zwei neue Abrufmodelle veröffentlicht. Sie sind LFM2.5-ColBERT-350M Und LFM2.5-Embedding-350M. Beide enthalten 350 Millionen Parameter. Beide sind die ersten bidirektionalen Mitglieder der LFM-Familie. Sie bauen darauf auf LFM2.5-350M-Foundationveröffentlicht im März. Das Paar zielt auf eine schnelle mehrsprachige und mehrsprachige Suche in 11 Sprachen ab. Ihre Stellfläche ist klein genug, um quick überall eingesetzt zu werden. Beide sind ab sofort auf Hugging Face unter der LFM Open License v1.0 verfügbar.

LFM2.5 Retriever

Die beiden Modelle haben das gleiche Grundgerüst, stellen Textual content jedoch unterschiedlich dar. LFM2.5-Embedding-350M ist ein dichter Bi-Encoder. Es verwandelt jedes Dokument in einen einzelnen Vektor. Wählen Sie es, wenn Sie die schnellste Suche und den kleinsten, günstigsten Index wünschen.

LFM2.5-ColBERT-350M ist ein Modell der späten Interaktion. Es wandelt jedes Token in einen Vektor um und nicht in einen Vektor professional Dokument. Dadurch können Abfragen Wort für Wort abgeglichen werden, um eine höhere Genauigkeit und eine bessere Verallgemeinerung zu erzielen. Der Kompromiss ist ein größerer Index. Wählen Sie es, wenn Genauigkeit wichtiger ist als Speicherplatz. Die Abfragelänge ist auf 32 Token begrenzt. Es kann auch die Ergebnisse eines Retrievers der ersten Stufe neu einordnen, ohne einen Index zu erstellen.

Beide zielen auf die Kurzkontextsuche ab. Zu den guten Lösungen gehören Produktkataloge, FAQ-Wissensdatenbanken und Supportdokumente. Liquid AI positioniert sowohl als Drop-in-Ersatz für eine bestehende RAG-Pipeline.

Der Architekturwandel: Von kausal zu bidirektional

Beide Modelle beginnen mit LFM2.5-350M-Base, einem mitteltrainierten Allzweck-Kontrollpunkt. Liquid AI wendet einen kleinen Satz an bidirektionale Patches zur LFM2-Architektur. Diese adaptieren ihn von einem kausalen Decoder zu einem bidirektionalen Encoder.

In einer Kausalkonfiguration verwendet jeder Token nur sich selbst und vorherige Token. Das eignet sich für die Era von hyperlinks nach rechts, ist aber für das Abrufen weniger natürlich. Das Group ersetzt die kausale Aufmerksamkeitsmaske durch eine bidirektionale. Jetzt kann jedes Token sowohl den linken als auch den rechten Kontext berücksichtigen. Sie machen auch die kurzen LFM2-Faltungen nicht kausal. Diese mischen lokale Informationen symmetrisch um jeden Token herum, nicht nur aus der Vergangenheit.

Dadurch bleibt die Effizienz des LFM2-Backbones erhalten und gleichzeitig werden die Abrufanforderungen für Vollkontextdarstellungen erfüllt. Jedes Modell hat 17 Schichten: 10 Faltungsschichten, 6 Aufmerksamkeitsschichten und 1 Pooling- oder Dense-Schicht. Die Kontextlänge erreicht 32.768 Token, obwohl Dokumente auf 512 Token abgestimmt sind. Vom Shared-Encoder unterscheiden sich die beiden Modelle lediglich in der Ausgabe. Beim Einbetten wird Pooling im CLS-Stil für einen 1024-Dim-Vektor verwendet. ColBERT behält 128-Dim-Einbettungen professional Token für die späte MaxSim-Interaktion bei.

Coaching und Daten

Beide Modelle folgen dem gleichen dreistufigen Rezept:

  • Stufe eins ist ein groß angelegtes kontrastives Vortraining in Englisch.
  • Stufe zwei ist die mehrsprachige und sprachübergreifende Destillation aller 11 Sprachen durch einen starken Lehrer.
  • Stufe drei ist die letzte Feinabstimmung der hart abgebauten Detrimental.

Das Einbettungsmodell empfängt etwas mehr sprachübergreifende Daten als ColBERT. Der sprachübergreifende Abruf erfolgt in der späten Interaktionskonfiguration natürlicher. Trainingsdaten kombinieren kuratierte interne Daten mit englischsprachigen Open-Supply-Retrieval-Datensätzen. LLM-basierte Übersetzung erweitert die mehrsprachigen und sprachenübergreifenden Paare.

Benchmark

Liquid AI hat zwei Fähigkeiten bewertet. Der erste ist der mehrsprachige Abruf mit NanoBEIR. Die zweite ist die sprachübergreifende Open-Area-QA mit MKQA-11. Beide berichten über Ergebnisse in allen 11 Sprachen: Arabisch, Deutsch, Englisch, Spanisch, Französisch, Italienisch, Japanisch, Koreanisch, Norwegisch, Portugiesisch und Schwedisch.

Im Durchschnitt führen beide Modelle ihre Klasse an. Hier die Vergleichsdetails:

Modell Typ NanoBEIR ML (NDCG@10) MKQA-11 (Rückruf@20)
LFM2.5-ColBERT-350M späte Interaktion 0,605 0,694
LFM2.5-Embedding-350M dicht 0,577 0,691
Qwen/Qwen3-Embedding-0.6B dicht 0,556 0,638
LFM2-ColBERT-350M späte Interaktion 0,540 0,646
Alibaba-NLP/gte-multilingual-base dicht 0,528 0,675
lightonai/GTE-ModernColBERT-v1 späte Interaktion 0,489 0,459
BAAI/bge-large-en-v1.5 dicht 0,359 0,413

ColBERT führt in beiden Durchschnittswerten. Die Einbettung liegt bei MKQA-11 mit 0,691 knapp dahinter. Beide schlagen Qwen3-Embedding-0.6B, ein größeres Modell. Der neue ColBERT verbessert auch den früheren LFM2-ColBERT-350M, von 0,540 auf 0,605 auf NanoBEIR. Liquid AI weist außerdem darauf hin, dass NanoBEIR English das teurere vollständige BEIR verfolgt. Die beiden korrelieren weiterhin stark miteinander, wobei NanoBEIR nahezu konstant etwa 15 % besser abschneidet. Das Forschungsteam nutzt NanoBEIR daher als praktischen Stellvertreter bei Trainingsläufen.

Latenz und Edge-Bereitstellung

Liquid AI hat GGUF-Varianten für veröffentlicht lama.cpp. Dadurch können beide Modelle auf CPUs, Laptops und Edge-Geräten laufen. Die folgenden Abbildungen verwenden ein MacBook Professional M4 Max im FP16. Abfragen bestehen aus 32 Token; Dokumente sind 256 Token.

Modell Bühne Dokumente zwischengespeichert S. 50
LFM2.5-Embedding-350M Einbettung von Abfragen Ja 7,3 ms
LFM2.5-ColBERT-350M Abfrageeinbettung + MaxSim Ja 8,2 ms
LFM2.5-ColBERT-350M Abfrage + Dokumenteneinbettung + MaxSim NEIN 34,3 ms

Wenn Dokumenteinbettungen vorab berechnet werden, bleibt die mittlere (p50) Abfragelatenz unter 10 ms. Durch die Kodierung von Dokumenten zur Abfragezeit wird ColBERT auf 34,3 ms erhöht. Für den Unternehmensmaßstab hat Liquid AI außerdem einen internen GPU-Stack erstellt. Auf einem H100 bei FP16 werden Latenzen von nur 1 ms beobachtet. Die Einbettungs-Abfragelatenz beträgt dort 1,5 ms p50.

Anwendungsfälle mit Beispielen

  • E-Commerce: Durchsuchen Sie einen Produktkatalog in mehreren Sprachen mit einem Index. Ein Käufer gibt eine koreanische Suchanfrage ein und das System zeigt eine englische Produktliste an. Durch den sprachübergreifenden Abruf funktioniert dies ohne Indizes professional Sprache.
  • FAQ und Help-Wissensdatenbanken: Rufen Sie zuverlässig die richtige Antwort auf allen kundenorientierten Oberflächen ab. Eine französische Supportfrage ist einem englischen Hilfeartikel zugeordnet.
  • Semantische Suche auf dem Gerät: Durchsuchen Sie Dateien, E-Mails und Notizen lokal auf Shopper-{Hardware}. Der GGUF-Construct speichert Daten auf dem Gerät zu nahezu Nullkosten.
  • Wissensassistenten für Unternehmen: Rufen Sie interne rechtliche, finanzielle und technische Dokumente in mehreren Sprachen ab. ColBERT eignet sich hierfür, wenn die Antwortgenauigkeit wichtiger ist als die Indexgröße.

Code: Erste Schritte

Das Einbettungsmodell läuft durch sentence-transformers. Übergeben Sie immer die asymmetrischen Eingabeaufforderungen. question: Und doc:. Werden sie stillschweigend weggelassen, verschlechtert sich die Abrufqualität.

from sentence_transformers import SentenceTransformer

mannequin = SentenceTransformer(
    "LiquidAI/LFM2.5-Embedding-350M",
    trust_remote_code=True,
)

queries = ("What's the capital of France?")
paperwork = ("Paris is the capital and largest metropolis of France.")

q_emb = mannequin.encode(queries,   prompt_name="question",    normalize_embeddings=True)
d_emb = mannequin.encode(paperwork, prompt_name="doc", normalize_embeddings=True)

scores = q_emb @ d_emb.T  # form: (n_queries, n_documents)

Das ColBERT-Modell läuft durch PyLate. Sein PLAID-Index nutzt FastPLAID für eine effiziente Ähnlichkeitssuche.

from pylate import indexes, fashions, retrieve

mannequin = fashions.ColBERT(
    model_name_or_path="LiquidAI/LFM2.5-ColBERT-350M",
    trust_remote_code=True,
)
mannequin.tokenizer.pad_token = mannequin.tokenizer.eos_token

index = indexes.PLAID(index_folder="pylate-index", index_name="index", override=True)

docs_emb = mannequin.encode(("doc 1 textual content", "doc 2 textual content"), is_query=False)
index.add_documents(documents_ids=("1", "2"), documents_embeddings=docs_emb)

retriever = retrieve.ColBERT(index=index)
q_emb = mannequin.encode(("a search question"), is_query=True)
scores = retriever.retrieve(queries_embeddings=q_emb, okay=10)

Um stattdessen eine vorhandene Pipeline der ersten Stufe neu einzustufen, überspringen Sie den Index und verwenden Sie rank.rerank.

from pylate import fashions, rank

mannequin = fashions.ColBERT(model_name_or_path="LiquidAI/LFM2.5-ColBERT-350M", trust_remote_code=True)

queries = ("question A")
paperwork = (("candidate doc 1", "candidate doc 2"))
documents_ids = ((1, 2))

q_emb = mannequin.encode(queries, is_query=True)
d_emb = mannequin.encode(paperwork, is_query=False)

reranked = rank.rerank(
    documents_ids=documents_ids,
    queries_embeddings=q_emb,
    documents_embeddings=d_emb,
)

Sie können jedes Modell auch anhand Ihrer eigenen Daten optimieren. Die Einbettungskarte bietet Snippets mit sentence-transformers Und MultipleNegativesRankingLoss.

Wichtige Erkenntnisse

  • LFM2.5-ColBERT-350M und LFM2.5-Embedding-350M von Liquid AI sind die ersten bidirektionalen LFMs, die für die mehrsprachige Suche in 11 Sprachen entwickelt wurden.
  • Beide 350M-Modelle führen ihre Klasse auf NanoBEIR und MKQA-11 an und schlagen den größeren Qwen3-Embedding-0.6B.
  • Durch die Einbettung erhält man den kleinsten und günstigsten Index; ColBERT handelt mit einem größeren Index für eine höhere Genauigkeit professional Token.
  • GGUF-Builds werden über llama.cpp auf CPUs, Laptops und Edge ausgeführt, mit einer zwischengespeicherten p50-Abfragelatenz von weniger als 10 ms.
  • Sie fallen durch in bestehende RAG-Pipelines sentence-transformers und PyLate unter der LFM Open License v1.0.

Interaktiver Erklärer