
بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري
في مقياس بسيط: كم تستغرق للتحقق من عقد قانوني كامل على laptop؟ ModernBERT-base يحتاج أكثر من دقيقة ونصف. LFM2.5-Encoder-230M من Liquid AI يُنجز المهمة في 28 ثانية — وكلاهما يعمل على CPU فقط.
أطلقت Liquid AI اليوم نموذجَي encoder جديدَين على Hugging Face: LFM2.5-Encoder-230M وLFM2.5-Encoder-350M. كلاهما يدعم سياقاً بـ8,192 رمزاً مع كُمون ينمو ببطء كلما طال الإدخال. الفارق عن ModernBERT ليس مجرد رقم سرعة — بل فرق معماري: بنية LFM2 تُبقي التكلفة الحسابية منخفضة حتى عند النصوص الطويلة، بينما تنهار إنتاجية ModernBERT بشكل حاد مع الطول (وفقاً لـ Liquid AI Blog).

قبل هذا الإصدار، أطلقت Liquid AI LFM2.5-Retrievers مُصمَّمة للبحث متعدد اللغات. النماذج الجديدة من العائلة ذاتها لكنها أشمل: تُدرَّب بهدف masked language modeling بدلاً من retrieval فقط، مما يجعلها قابلة للضبط الدقيق على التصنيف والاستخراج والبحث معاً في آنٍ واحد.
البناء التقني يبدأ من decoder causals موجودَين — LFM2.5-230M وLFM2.5-350M — ثم يُحوَّلان إلى encoders ثنائيي الاتجاه بثلاثة تغييرات: قناع انتباه يجعل كل رمز يرى جيرانه من الجهتين، تلافيف قصيرة غير سببية مبطّنة تناظرياً، وإخفاء 30% من الرموز أثناء التدريب. ثم يمر التدريب بمرحلتين: الأولى تبني الكفاءة اللغوية العامة على سياق 1,024 رمزاً، والثانية تمد السياق إلى 8,192 رمزاً على مزيج بيانات يشمل النصوص القانونية والحقائق متعددة اللغات.

على معايير GLUE وSuperGLUE والتصنيف متعدد اللغات، اختُبر 14 نموذجاً على 17 مهمة، مع متوسط على خمسة seeds مختلفة لضمان استقرار النتائج. LFM2.5-Encoder-350M جاء رابعاً — والثلاثة أمامه أكبر منه جميعاً، أبرزها نموذج بـ3.5 مليار معامل أي عشرة أضعاف حجمه. LFM2.5-Encoder-230M تخطّى ModernBERT-base وجميع نماذج EuroBERT رغم أنه أصغر من معظمها. كلا النموذجَين تجاوزا أيضاً LFM2.5-Retrievers على هذه المعايير (وفقاً لـ Liquid AI Blog).

على GPU، الصورة مختلفة قليلاً: ModernBERT-base يتصدر على Apple GPU للنصوص التي تقل عن ~1,000 رمز. لكن من ~2,000 رمز فصاعداً تتقدم نماذج LFM2.5، وإن كان الهامش أضيق مما هو عليه على CPU.
للبدء فورياً، ثبّت أحدث إصدار من transformers ثم شغّل masked token prediction:
“`
pip install -U transformers
“`
“`python
from transformers import AutoModelForMaskedLM, AutoTokenizer
import torch
model_id = “LiquidAI/LFM2.5-Encoder-230M”
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
mlm = AutoModelForMaskedLM.from_pretrained(model_id, trust_remote_code=True)
text = f”The capital of France is {tok.mask_token}.”
enc = tok(text, return_tensors=”pt”)
with torch.no_grad():
logits = mlm(enc).logits
pos = (enc[“input_ids”][0] == tok.mask_token_id).nonzero()[0].item()
print([tok.decode([t]).strip() for t in logits[0, pos].topk(5).indices.tolist()])
# -> [‘Paris’, ‘Strasbourg’, ‘Paris’, ‘Lyon’, ‘Versailles’]
“`
لمهام downstream كالتصنيف أو الاستخراج، حمّل encoder body وألحق رأسك الخاص: `AutoModel.from_pretrained(model_id, trust_remote_code=True)`. إن دعم GPU لديك Flash Attention 2، ثبّته بـ`pip install flash-attn` للحصول على أفضل كفاءة. بين الحجمَين: اختر LFM2.5-Encoder-350M حين تكون الدقة الأولوية، وLFM2.5-Encoder-230M حين تكون الموارد ضيقة أو الإنتاجية مرتفعة. الإطار الكامل والنتائج الخام مفتوحة المصدر.
أطلقت Liquid AI كذلك خمسة demos تعمل على CPU فقط دون إعداد مسبق: توجيه الأوامر zero-shot بتعريف مسارات توجيه كنص حر، فحص السياسات zero-shot مقابل قواعد الشركة المكتوبة كنص، تصحيح الإملاء رمزاً برمز، كشف بيانات PII بـ40 نوعاً في 16 لغة**، وتوليد نص عبر masked diffusion كـchatbot يكشف الرموز تدريجياً بدلاً من التوليد من اليسار إلى اليمين.
لكن قبل أن تبني عليها في بيئة إنتاج، ثمة تحفظات مشروعة. أحد المطورين في تعليقات المنشور أشار إلى أن Liquid AI لم تُحدد نوع CPU المُستخدم في الاختبار — وهو سؤال حاسم حين تتحدث عن فحص أربعين ألف عقد لا عقد واحد. غياب مسار ONNX أو OpenVINO حتى الآن يعني أن أي نشر فعلي يمر عبر PyTorch eager على CPU، وهذا وحده قد يُفسّر جزءاً من فجوة الأداء المُعلنة. دعم `trust_remote_code=True` إلزامي حالياً، ونماذج int8 وتصدير ONNX لم تُوضَّح خارطة طريقها بعد — وهذا هو السؤال الحقيقي لمن يُخطط لنشر جاد خارج بيئة التجربة.
—
أبرز النقاط:
– LFM2.5-Encoder-230M أسرع بـ3.7× من ModernBERT-base على CPU عند 8,192 رمزاً: 28 ثانية مقابل أكثر من 90 ثانية per forward pass
– LFM2.5-Encoder-350M يحتل المرتبة الرابعة بين 14 نموذجاً على 17 مهمة، متأخراً فقط عن نماذج أكبر بكثير أبرزها نموذج بـ3.5 مليار معامل
– النموذجان open-weight على Hugging Face مع 5 demos على CPU تشمل كشف PII بـ40 نوعاً عبر 16 لغة، لكن غياب ONNX وعدم تحديد نوع CPU يُبقيان التحقق المستقل ضرورياً
سؤال التفاعل: هل تعتمد في مشاريعك على encoder models للمهام الإنتاجية، أم تلجأ مباشرةً إلى LLMs توليدية حتى للتصنيف البسيط؟







