🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • مات Elasticsearch، فليحيا البحث المعجمي

مات Elasticsearch، فليحيا البحث المعجمي

  • Engineering
December 17, 2024
James Luan

يعلم الجميع الآن أن البحث الهجين قد حسّن من جودة البحث RAG (التوليد المعزز للاسترجاع). في حين أظهر البحث التضميني الكثيف قدرات مذهلة في التقاط العلاقات الدلالية العميقة بين الاستعلامات والمستندات، إلا أنه لا يزال يعاني من قيود ملحوظة. وتشمل هذه القيود الافتقار إلى قابلية الشرح والأداء دون المستوى الأمثل مع الاستعلامات ذات الذيل الطويل والمصطلحات النادرة.

تعاني العديد من تطبيقات RAG لأن النماذج المدربة مسبقًا غالبًا ما تفتقر إلى المعرفة الخاصة بالمجال. في بعض السيناريوهات، تتفوق مطابقة الكلمات المفتاحية BM25 البسيطة على هذه النماذج المتطورة. هذا هو المكان الذي يعمل فيه البحث الهجين على سد الفجوة، حيث يجمع بين الفهم الدلالي لاسترجاع المتجهات الكثيفة ودقة مطابقة الكلمات المفتاحية.

لماذا البحث الهجين معقد في الإنتاج

في حين أن أطر العمل مثل LangChain أو LlamaIndex تجعل من السهل بناء مسترجع هجين لإثبات صحة المفهوم، فإن التوسع في الإنتاج مع مجموعات البيانات الضخمة يمثل تحديًا. تتطلب البنى التقليدية قواعد بيانات متجهة ومحركات بحث منفصلة، مما يؤدي إلى العديد من التحديات الرئيسية:

  • ارتفاع تكاليف صيانة البنية التحتية والتعقيد التشغيلي

  • تكرار البيانات عبر أنظمة متعددة

  • صعوبة إدارة اتساق البيانات

  • تعقيد الأمن والتحكم في الوصول عبر الأنظمة

يحتاج السوق إلى حل موحد يدعم البحث المعجمي والدلالي مع تقليل تعقيد النظام وتكلفته.

نقاط الألم في Elasticsearch

كان Elasticsearch أحد أكثر مشاريع البحث مفتوحة المصدر تأثيرًا في العقد الماضي. وهو مبني على Apache Lucene، وقد اكتسب شعبية من خلال أدائه العالي وقابليته للتوسع وبنيته الموزعة. وعلى الرغم من أنه أضاف بحث ANN المتجه في الإصدار 8.0، إلا أن عمليات نشر الإنتاج تواجه العديد من التحديات الحرجة:

ارتفاع تكاليف التحديث والفهرسة: لا تفصل بنية Elasticsearch بين عمليات الكتابة وبناء الفهرس والاستعلام بشكل كامل. وهذا يؤدي إلى نفقات كبيرة في وحدة المعالجة المركزية والإدخال/الإخراج أثناء عمليات الكتابة، خاصةً في التحديثات المجمعة. ويؤثر التنازع على الموارد بين الفهرسة والاستعلام على الأداء، مما يخلق عنق زجاجة كبير لسيناريوهات التحديثات عالية التردد.

ضعف الأداء في الوقت الحقيقي: كمحرك بحث "شبه فوري"، يقدم Elasticsearch زمن انتقال ملحوظ في رؤية البيانات. يصبح هذا التأخير إشكالية بشكل خاص لتطبيقات الذكاء الاصطناعي، مثل أنظمة الوكلاء، حيث تتطلب التفاعلات عالية التردد واتخاذ القرارات الديناميكية الوصول الفوري إلى البيانات.

صعوبة إدارة التجزئة: بينما يستخدم Elasticsearch التجزئة في البنية الموزعة، فإن إدارة التجزئة تطرح تحديات كبيرة. يؤدي الافتقار إلى دعم التجزئة الديناميكي إلى معضلة: الكثير من الأجزاء في مجموعات البيانات الصغيرة يؤدي إلى ضعف الأداء، بينما يؤدي عدد قليل جدًا من الأجزاء في مجموعات البيانات الكبيرة إلى الحد من قابلية التوسع والتسبب في توزيع البيانات بشكل غير متساوٍ.

البنية غير السحابية الأصلية: تم تطوير Elasticsearch قبل انتشار البنى السحابية الأصلية، حيث يربط تصميم Elasticsearch بين التخزين والحساب بإحكام، مما يحد من تكامله مع البنية التحتية الحديثة مثل السحابة العامة و Kubernetes. يتطلب توسيع نطاق الموارد زيادات متزامنة في كل من التخزين والحوسبة في وقت واحد، مما يقلل من المرونة. في السيناريوهات متعددة النسخ، يجب على كل جزء بناء فهرسه بشكل مستقل، مما يزيد من التكاليف الحسابية ويقلل من كفاءة الموارد.

ضعف أداء البحث المتجه: على الرغم من أن Elasticsearch 8.0 قدم البحث في شبكة ANN المتجهة، إلا أن أداءه يتخلف بشكل كبير عن أداء محركات المتجهات المخصصة مثل Milvus. استنادًا إلى نواة لوسين (Lucene kernel)، أثبتت بنية فهرسها عدم كفاءتها في البيانات عالية الأبعاد، حيث تعاني من متطلبات البحث المتجهية واسعة النطاق. ويصبح الأداء غير مستقر بشكل خاص في السيناريوهات المعقدة التي تتضمن التصفية العددية والتعددية في التوريد، مما يجعل من الصعب دعم احتياجات العمل ذات الأحمال العالية أو المتنوعة.

الاستهلاك المفرط للموارد: يضع Elasticsearch متطلبات شديدة على الذاكرة ووحدة المعالجة المركزية، خاصةً عند معالجة البيانات واسعة النطاق. يتطلب اعتماده على JVM إجراء تعديلات متكررة على حجم الكومة وضبط جمع القمامة، مما يؤثر بشدة على كفاءة الذاكرة. وتتطلب عمليات البحث المتجهية عمليات حسابية مكثفة محسّنة SIMD، والتي لا تعد بيئة JVM مثالية لها.

تصبح هذه القيود الأساسية إشكالية على نحو متزايد مع قيام المؤسسات بتوسيع نطاق البنية التحتية للذكاء الاصطناعي، مما يجعل Elasticsearch صعبًا بشكل خاص لتطبيقات الذكاء الاصطناعي الحديثة التي تتطلب أداءً وموثوقية عالية.

يقدمMilvus 2.5 دعمًا أصليًا للبحث المعجمي من خلال Sparse-BM25، بناءً على إمكانات البحث الهجين التي تم تقديمها في الإصدار 2.4. يتضمن هذا النهج المبتكر المكونات الرئيسية التالية:

  • ترميز متقدم ومعالجة مسبقة عبر Tantivy

  • إدارة المفردات الموزعة وتكرار المصطلحات

  • توليد متجهات متناثرة باستخدام TF TF و TF-IDF للاستعلام

  • دعم الفهرس المقلوب مع خوارزمية WAND (دعم فهرس بلوك-ماكس WAND ودعم فهرس الرسم البياني قيد التطوير)

بالمقارنة مع Elasticsearch، يقدم Milvus مزايا كبيرة في مرونة الخوارزمية. يتيح حساب التشابه القائم على المسافة المتجهة الخاص به مطابقة أكثر تعقيدًا، بما في ذلك تنفيذ TW-BERT (ترجيح المصطلحات BERT) استنادًا إلى بحث "ترجيح المصطلحات من النهاية إلى النهاية في الاستعلام". وقد أظهر هذا النهج أداءً فائقًا في كل من الاختبار داخل المجال وخارج المجال.

ميزة أخرى مهمة هي كفاءة التكلفة. من خلال الاستفادة من كل من الفهرس المقلوب وضغط التضمين الكثيف، يحقق Milvus تحسناً في الأداء بمقدار خمسة أضعاف مع انخفاض في الاستدعاء بنسبة أقل من 1%. من خلال تشذيب الفترات الخلفية وتكميم المتجهات، تم تقليل استخدام الذاكرة بنسبة تزيد عن 50%.

يبرز تحسين الاستعلام الطويل كنقطة قوة خاصة. فبينما تعاني خوارزميات WAND التقليدية مع الاستعلامات الطويلة، تتفوق Milvus من خلال الجمع بين التضمينات المتفرقة ومؤشرات الرسم البياني، مما يؤدي إلى تحسين الأداء بمقدار عشرة أضعاف في سيناريوهات البحث عن المتجهات المتفرقة عالية الأبعاد.

Milvus: قاعدة بيانات المتجهات المطلقة ل RAG

Milvus هو الخيار الأول لتطبيقات RAG من خلال مجموعة ميزاته الشاملة. تشمل المزايا الرئيسية ما يلي:

  • دعم غني للبيانات الوصفية مع إمكانات مخطط ديناميكي وخيارات تصفية قوية

  • تعدد الاستئجار على مستوى المؤسسات مع عزل مرن من خلال المجموعات والأقسام ومفاتيح الأقسام

  • دعم فهرس متجه القرص الأول من نوعه في المجال مع تخزين متعدد المستويات من الذاكرة إلى S3

  • قابلية التوسع السحابي الأصلي الذي يدعم التوسع السلس من 10 ملايين إلى أكثر من 1 مليار ناقل

  • قدرات بحث شاملة، بما في ذلك التجميع والنطاق والبحث الهجين

  • تكامل النظام البيئي العميق مع LangChain وLlamaIndex وDify وأدوات الذكاء الاصطناعي الأخرى

تشمل إمكانيات البحث المتنوعة للنظام منهجيات التجميع والنطاق والبحث المختلط. إن التكامل العميق مع أدوات مثل LangChain وLlamaIndex وDify، بالإضافة إلى دعم العديد من منتجات الذكاء الاصطناعي، يضع Milvus في مركز منظومة البنية التحتية الحديثة للذكاء الاصطناعي.

التطلع إلى الأمام

مع انتقال الذكاء الاصطناعي من مرحلة التشغيل التجريبي إلى مرحلة الإنتاج، تواصل ميلفوس التطور. نحن نركز على جعل البحث المتجه أكثر سهولة وفعالية من حيث التكلفة مع تحسين جودة البحث. وسواء كنت شركة ناشئة أو مؤسسة، فإن Milvus تقلل من العوائق التقنية أمام تطوير تطبيقات الذكاء الاصطناعي.

وقد قادنا هذا الالتزام بإمكانية الوصول والابتكار إلى خطوة رئيسية أخرى إلى الأمام. بينما يستمر حلنا المفتوح المصدر في العمل كأساس لآلاف التطبيقات في جميع أنحاء العالم، فإننا ندرك أن العديد من المؤسسات تحتاج إلى حل مُدار بالكامل يزيل النفقات التشغيلية.

زيليز كلاود: الحل المُدار

لقد قمنا ببناء Zilliz Cloud، وهي خدمة قاعدة بيانات متجهة مُدارة بالكامل تستند إلى Milvus، على مدى السنوات الثلاث الماضية. ومن خلال إعادة تنفيذ السحابة الأصلية لبروتوكول Milvus، فإنه يوفر قابلية استخدام محسّنة وكفاءة من حيث التكلفة والأمان.

وبالاستفادة من خبرتنا في صيانة أكبر مجموعات البحث المتجه في العالم ودعم الآلاف من مطوري تطبيقات الذكاء الاصطناعي، تقلل Zilliz Cloud بشكل كبير من النفقات التشغيلية والتكاليف مقارنة بالحلول المستضافة ذاتيًا.

هل أنت مستعد لتجربة مستقبل البحث المتجه؟ ابدأ تجربتك المجانية اليوم مع أرصدة تصل إلى 200 دولار أمريكي، دون الحاجة إلى بطاقة ائتمان.

Like the article? Spread the word

استمر في القراءة