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

milvus-logo
LFAI
  • Home
  • Blog
  • تم تصميم Milvus للبحث عن تشابه المتجهات على نطاق واسع (فكر في التريليون)

تم تصميم Milvus للبحث عن تشابه المتجهات على نطاق واسع (فكر في التريليون)

  • Engineering
January 13, 2021
milvus

كل يوم، يتم إهدار عدد لا يُحصى من الرؤى المهمة للأعمال التجارية لأن الشركات لا تستطيع فهم بياناتها الخاصة. تشير التقديرات إلى أن البيانات غير المهيكلة، مثل النصوص والصور والفيديو والصوت، تمثل 80% من جميع البيانات - ولكن يتم تحليل 1% منها فقط. لحسن الحظ، يجعل الذكاء الاصطناعي (AI) والبرمجيات مفتوحة المصدر وقانون مور التحليلات على نطاق الآلة أكثر سهولة من أي وقت مضى. باستخدام البحث عن التشابه المتجه، من الممكن استخراج القيمة من مجموعات البيانات الضخمة غير المهيكلة. وتتضمن هذه التقنية تحويل البيانات غير المهيكلة إلى متجهات مميزة، وهي صيغة بيانات رقمية سهلة الاستخدام آليًا يمكن معالجتها وتحليلها في الوقت الفعلي.

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

الانتقال إلى:

تحافظ أشجار LSM على كفاءة إدارة البيانات الديناميكية على نطاقات ضخمة

لتوفير إدارة ديناميكية فعالة للبيانات، يستخدم Milvus بنية بيانات شجرة الدمج المهيكلة السجلية (LSM tree). تعتبر أشجار LSM مناسبة تمامًا للوصول إلى البيانات التي تحتوي على عدد كبير من عمليات الإدراج والحذف. للحصول على معلومات مفصلة حول السمات المحددة لأشجار LSM التي تساعد على ضمان إدارة البيانات الديناميكية عالية الأداء، راجع البحث الأصلي الذي نشره مخترعوها. أشجار LSM هي بنية البيانات الأساسية التي تستخدمها العديد من قواعد البيانات الشائعة، بما في ذلك BigTable وCassandra وRocksDB.

تتواجد المتجهات ككيانات في ميلفوس ويتم تخزينها في مقاطع. يحتوي كل مقطع على ما يصل إلى 8 ملايين كيان تقريبًا. يحتوي كل كيان على حقول لمعرف فريد ومدخلات متجه، حيث يمثل هذا الأخير في أي مكان من 1 إلى 32768 بُعدًا.

Blog_Milvus Was Built for Massive-Scale (Think Trillion) Vector Similarity Search_2.png Blog_Milvus تم تصميمه للبحث عن تشابه المتجهات على نطاق واسع (فكر في تريليون) متجه_2.png

تم تحسين إدارة البيانات من أجل الوصول السريع والتجزئة المحدودة

عند تلقي طلب إدراج، يكتب Milvus بيانات جديدة في سجل الكتابة المسبق (WAL). بعد تسجيل الطلب بنجاح في ملف السجل، تتم كتابة البيانات إلى مخزن مؤقت قابل للتغيير. وأخيراً، يؤدي أحد المشغلات الثلاثة إلى أن يصبح المخزن المؤقت غير قابل للتغيير ويتم مسحه إلى القرص:

  1. الفواصل الزمنية: يتم مسح البيانات بانتظام إلى القرص على فترات زمنية محددة (ثانية واحدة افتراضيًا).
  2. حجم المخزن المؤقت: تصل البيانات المتراكمة إلى الحد الأعلى للمخزن المؤقت القابل للتغيير (128 ميجابايت).
  3. المشغل اليدوي: يتم مسح البيانات يدويًا إلى القرص عندما يستدعي العميل وظيفة التدفق.

Blog_Milvus Was Built for Massive-Scale (Think Trillion) Vector Similarity Search_3.png Blog_Milvus صُمم من أجل البحث عن تشابه المتجهات على نطاق واسع (فكّر في تريليون) _3.png

يمكن للمستخدمين إضافة عشرات أو ملايين المتجهات في المرة الواحدة، مما يؤدي إلى إنشاء ملفات بيانات بأحجام مختلفة عند إدراج متجهات جديدة. وينتج عن ذلك تجزئة يمكن أن تؤدي إلى تعقيد إدارة البيانات وإبطاء البحث عن تشابه المتجهات. ولمنع التجزئة المفرطة للبيانات، يدمج برنامج Milvus أجزاء البيانات باستمرار حتى يصل حجم الملف المدمج إلى حد يمكن للمستخدم تكوينه (على سبيل المثال، 1 جيجابايت). على سبيل المثال، بالنظر إلى حد أعلى يبلغ 1 جيجابايت، فإن إدراج 100 مليون متجه من 512 متجهًا سيؤدي إلى 200 ملف بيانات فقط.

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

Blog_Milvus Was Built for Massive-Scale (Think Trillion) Vector Similarity Search_4.png Blog_Milvus تم تصميمه للبحث عن تشابه المتجهات على نطاق واسع (فكّر في تريليون) _4.png

Blog_Milvus Was Built for Massive-Scale (Think Trillion) Vector Similarity Search_5.png Blog_Milvus تم تصميمه للبحث عن تشابه المتجهات على نطاق واسع (فكّر تريليون) _5.png

يتم تسريع البحث عن التشابه من خلال فهرسة البيانات المتجهة

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

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

يولد بناء الفهرس الكثير من البيانات الوصفية. على سبيل المثال، فإن فهرسة 100 مليون متجه مكون من 512 متجهًا محفوظًا في 200 ملف بيانات سينتج عنه 200 ملف فهرسة إضافي. من أجل التحقق بكفاءة من حالات الملفات وحذف أو إدراج ملفات جديدة، يلزم وجود نظام فعال لإدارة البيانات الوصفية. يستخدم Milvus معالجة المعاملات عبر الإنترنت (OLTP)، وهي تقنية معالجة بيانات مناسبة تمامًا لتحديث و/أو حذف كميات صغيرة من البيانات في قاعدة البيانات. يستخدم Milvus SQLite أو MySQL لإدارة البيانات الوصفية.

تعرف على المزيد حول ميلفوس

Milvus هي منصة مفتوحة المصدر لإدارة البيانات المتجهة وهي حاليًا في مرحلة الاحتضان في مؤسسة لينكس للذكاء الاصطناعي والبيانات، وهي منظمة تابعة لمؤسسة لينكس. تم جعل Milvus مفتوح المصدر في عام 2019 من قبل شركة Zilliz، وهي شركة برمجيات علوم البيانات التي أطلقت المشروع. يمكن العثور على مزيد من المعلومات حول ميلفوس على موقعها الإلكتروني. إذا كنت مهتمًا بالبحث عن التشابه المتجه، أو استخدام الذكاء الاصطناعي لإطلاق إمكانات البيانات غير المهيكلة، يُرجى الانضمام إلى مجتمعنا مفتوح المصدر على GitHub.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

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