بحث تشابه سريع وقابل للتطوير باستخدام قاعدة بيانات Milvus Vector
صورة الغلاف
مقدمة
سنتناول في هذه المقالة بعض الجوانب المثيرة للاهتمام ذات الصلة بقواعد البيانات المتجهة والبحث عن التشابه على نطاق واسع. في عالم اليوم الذي يتطور بسرعة، نرى تكنولوجيا جديدة وأعمالًا جديدة ومصادر بيانات جديدة، وبالتالي سنحتاج إلى الاستمرار في استخدام طرق جديدة لتخزين هذه البيانات وإدارتها والاستفادة منها للحصول على رؤى. تم تخزين البيانات المهيكلة والمجدولة في قواعد بيانات علائقية لعقود من الزمن، ويزدهر ذكاء الأعمال في تحليل واستخراج الرؤى من هذه البيانات. ومع ذلك، وبالنظر إلى المشهد الحالي للبيانات، فإن "أكثر من 80-90% من البيانات عبارة عن معلومات غير منظمة مثل النصوص والفيديو والصوت وسجلات خادم الويب والوسائط الاجتماعية وغيرها". تعمل المؤسسات على الاستفادة من قوة التعلم الآلي والتعلم العميق لمحاولة استخلاص الرؤى من هذه البيانات لأن الأساليب التقليدية القائمة على الاستعلام قد لا تكون كافية أو حتى ممكنة. هناك إمكانات هائلة غير مستغلة لاستخراج رؤى قيّمة من هذه البيانات ونحن في البداية فقط!
"نظرًا لأن معظم البيانات في العالم غير منظمة، فإن القدرة على تحليلها والتصرف بناءً عليها تمثل فرصة كبيرة." - ميكي شولمان، رئيس قسم التعلم الآلي، Kensho
البيانات غير المهيكلة، كما يوحي الاسم، لا تحتوي على بنية ضمنية، مثل جدول من الصفوف والأعمدة (ومن ثم تسمى البيانات المجدولة أو المنظمة). على عكس البيانات المهيكلة، لا توجد طريقة سهلة لتخزين محتويات البيانات غير المهيكلة داخل قاعدة بيانات علائقية. هناك ثلاثة تحديات رئيسية في الاستفادة من البيانات غير المنظمة للحصول على رؤى:
- التخزين: قواعد البيانات العلائقية العادية جيدة لحفظ البيانات المنظمة. في حين يمكنك استخدام قواعد بيانات NoSQL لتخزين مثل هذه البيانات، إلا أن معالجة هذه البيانات لاستخراج التمثيلات الصحيحة لتشغيل تطبيقات الذكاء الاصطناعي على نطاق واسع تصبح عبئًا إضافيًا
- التمثيل: لا تفهم أجهزة الكمبيوتر النصوص أو الصور كما نفهمها نحن. فهي لا تفهم سوى الأرقام، ونحن بحاجة إلى تحويل البيانات غير المهيكلة إلى تمثيل رقمي مفيد، عادةً ما يكون متجهات أو تضمينات.
- الاستعلام: لا يمكنك الاستعلام عن البيانات غير المنظمة مباشرةً بناءً على عبارات شرطية محددة مثل SQL للبيانات المنظمة. تخيل مثالًا بسيطًا على محاولة البحث عن أحذية متشابهة بالنظر إلى صورة زوج الأحذية المفضل لديك! لا يمكنك استخدام قيم البكسل الخام للبحث، كما لا يمكنك تمثيل ميزات منظمة مثل شكل الحذاء وحجمه ونمطه ولونه وغير ذلك. تخيل الآن أن عليك القيام بذلك لملايين الأحذية!
وبالتالي، لكي تتمكن أجهزة الكمبيوتر من فهم البيانات غير المنظمة ومعالجتها وتمثيلها، نقوم عادةً بتحويلها إلى متجهات كثيفة، وغالبًا ما تسمى التضمينات.
الشكل 1
توجد مجموعة متنوعة من المنهجيات التي تستفيد بشكل خاص من التعلم العميق، بما في ذلك الشبكات العصبية التلافيفية (CNNs) للبيانات المرئية مثل الصور والمحوّلات للبيانات النصية التي يمكن استخدامها لتحويل هذه البيانات غير المهيكلة إلى تضمينات. لدى Zilliz مقالة ممتازة تغطي تقنيات التضمين المختلفة!
الآن لا يكفي تخزين ناقلات التضمين هذه. يحتاج المرء أيضًا إلى أن يكون قادرًا على الاستعلام ومعرفة المتجهات المتشابهة. لماذا تسأل؟ غالبية التطبيقات في العالم الحقيقي مدعومة بالبحث عن تشابه المتجهات للحلول القائمة على الذكاء الاصطناعي. يتضمن ذلك البحث المرئي (الصور) في Google، وأنظمة التوصيات في Netflix أو Amazon، ومحركات البحث النصية في Google، والبحث متعدد الوسائط، وإلغاء تكرار البيانات وغيرها الكثير!
تخزين المتجهات وإدارتها والاستعلام عنها على نطاق واسع ليست مهمة بسيطة. أنت بحاجة إلى أدوات متخصصة لهذا الغرض، وقواعد البيانات المتجهة هي الأداة الأكثر فعالية لهذه المهمة! سنغطي في هذه المقالة الجوانب التالية:
- المتجهات والبحث عن تشابه المتجهات
- ما هي قاعدة بيانات المتجهات؟
- ميلفوس - قاعدة بيانات المتجهات الأكثر تقدماً في العالم
- إجراء بحث مرئي عن الصور باستخدام ميلفوس - مخطط حالة الاستخدام
لنبدأ!
المتجهات والبحث عن تشابه المتجهات
لقد أثبتنا سابقًا ضرورة تمثيل البيانات غير المهيكلة مثل الصور والنصوص على هيئة متجهات، نظرًا لأن أجهزة الكمبيوتر لا يمكنها فهم سوى الأرقام. نحن عادةً ما نستفيد من نماذج الذكاء الاصطناعي، لنكون أكثر تحديدًا نماذج التعلم العميق لتحويل البيانات غير المهيكلة إلى متجهات رقمية يمكن للآلات قراءتها. عادةً ما تكون هذه المتجهات في الأساس قائمة من الأرقام ذات النقاط العائمة التي تمثل مجتمعةً العنصر الأساسي (صورة، نص، نص، إلخ).
فهم المتجهات
بالنظر إلى مجال معالجة اللغات الطبيعية (NLP)، لدينا العديد من نماذج تضمين الكلمات مثل Word2Vec وGloVe وFastText التي يمكن أن تساعد في تمثيل الكلمات كمتجهات رقمية. ومع التطورات التي حدثت بمرور الوقت، شهدنا ظهور نماذج المحولات مثل BERT التي يمكن الاستفادة منها لتعلم متجهات التضمين السياقي وتمثيلات أفضل للجمل والفقرات بأكملها.
وبالمثل في مجال الرؤية الحاسوبية، لدينا نماذج مثل الشبكات العصبية التلافيفية (CNNs) التي يمكن أن تساعد في تعلم التمثيلات من البيانات المرئية مثل الصور ومقاطع الفيديو. ومع ظهور المحولات، أصبح لدينا أيضًا محولات الرؤية التي يمكن أن تقدم أداءً أفضل من الشبكات العصبية التلافيفية العادية.
الشكل 2
الميزة مع هذه المتجهات هي أنه يمكننا الاستفادة منها في حل مشاكل العالم الحقيقي مثل البحث المرئي، حيث تقوم عادةً بتحميل صورة والحصول على نتائج بحث تتضمن صورًا متشابهة بصريًا. تمتلك Google هذه الميزة كميزة شائعة جدًا في محرك البحث الخاص بها كما هو موضح في المثال التالي.
الشكل 3
يتم تشغيل مثل هذه التطبيقات باستخدام متجهات البيانات والبحث عن تشابه المتجهات. إذا كنت تفكر في نقطتين في فضاء إحداثي ديكارتي X-Y. يمكن حساب المسافة بين نقطتين كمسافة إقليدية بسيطة موضحة بالمعادلة التالية.
الشكل 4
تخيل الآن أن كل نقطة بيانات عبارة عن متجه له أبعاد D، لا يزال بإمكانك استخدام المسافة الإقليدية أو حتى مقاييس المسافة الأخرى مثل مسافة هامينج أو مسافة جيب التمام لمعرفة مدى قرب نقطتي البيانات من بعضهما البعض. يمكن أن يساعد ذلك في بناء مفهوم التقارب أو التشابه الذي يمكن استخدامه كمقياس قابل للقياس الكمي للعثور على عناصر متشابهة بمعلومية عنصر مرجعي باستخدام متجهاتها.
فهم بحث التشابه المتجهي
البحث عن التشابه في المتجهات، الذي يُعرف غالبًا باسم البحث عن أقرب جار (NN)، هو في الأساس عملية حساب التشابه الزوجي (أو المسافات) بين عنصر مرجعي (الذي نريد إيجاد عناصر مشابهة له) ومجموعة من العناصر الموجودة (عادةً في قاعدة بيانات) وإرجاع أقرب "ك" جيران وهي العناصر الأكثر تشابهًا. المكوّن الأساسي لحساب هذا التشابه هو مقياس التشابه الذي يمكن أن يكون المسافة الإقليدية أو الضرب الداخلي أو مسافة جيب التمام أو مسافة هامينج أو ما إلى ذلك. كلما كانت المسافة أصغر، كلما كانت المتجهات أكثر تشابهًا.
يكمن التحدي في البحث الدقيق لأقرب جار (NN) في قابلية التوسع. تحتاج إلى حساب N-المسافات (بافتراض وجود N عناصر موجودة) في كل مرة للحصول على عناصر متشابهة. يمكن أن يكون هذا بطيئًا للغاية خاصةً إذا لم تقم بتخزين البيانات وفهرستها في مكان ما (مثل قاعدة بيانات المتجهات!). لتسريع عملية الحساب، عادةً ما نستفيد من البحث التقريبي الأقرب إلى الجار والذي يُطلق عليه غالبًا البحث عن الشبكة المتجهة الوطنية التي تنتهي بتخزين المتجهات في فهرس. ويساعد الفهرس في تخزين هذه المتجهات بطريقة ذكية لتمكين الاسترجاع السريع للجيران المتشابهين "تقريبًا" لعنصر استعلام مرجعي. وتتضمن منهجيات فهرسة الشبكات العصبية الاصطناعية النموذجية ما يلي:
- تحويلات المتجهات: ويتضمن ذلك إضافة تحويلات إضافية إلى المتجهات مثل تقليل الأبعاد (مثل PCA \ t-SNE) والتدوير وما إلى ذلك
- ترميز المتجهات: ويشمل ذلك تطبيق تقنيات تعتمد على هياكل البيانات مثل التجزئة الحساسة للموقع (LSH)، والتكميم الكمي، والتدرج الكمي وما إلى ذلك، والتي يمكن أن تساعد في استرجاع أسرع للعناصر المتشابهة
- طرق البحث غير الشاملة: يُستخدم هذا في الغالب لمنع البحث الشامل ويتضمن طرقًا مثل الرسوم البيانية المجاورة والمؤشرات المقلوبة وما إلى ذلك.
هذا يثبت أنه لإنشاء أي تطبيق بحث عن التشابه المتجه، فأنت بحاجة إلى قاعدة بيانات يمكن أن تساعدك في التخزين والفهرسة والاستعلام (البحث) بكفاءة على نطاق واسع. أدخل قواعد البيانات المتجهة!
ما هي قاعدة بيانات المتجهات؟
بالنظر إلى أننا نفهم الآن كيف يمكن استخدام المتجهات لتمثيل البيانات غير المنظمة وكيفية عمل البحث المتجه، يمكننا الجمع بين المفهومين معًا لبناء قاعدة بيانات متجهة.
قواعد البيانات المتجهة هي منصات بيانات قابلة للتطوير لتخزين وفهرسة والاستعلام عبر تضمين المتجهات التي يتم إنشاؤها من البيانات غير المنظمة (الصور والنصوص وما إلى ذلك) باستخدام نماذج التعلم العميق.
يمكن أن يكون التعامل مع عدد هائل من المتجهات للبحث عن التشابه (حتى مع وجود مؤشرات) مكلفًا للغاية. على الرغم من ذلك، يجب أن تسمح لك أفضل قواعد بيانات المتجهات وأكثرها تقدمًا بإدراج وفهرسة والبحث عبر ملايين أو مليارات المتجهات المستهدفة، بالإضافة إلى تحديد خوارزمية فهرسة ومقياس تشابه من اختيارك.
يجب أن تفي قواعد البيانات المتجهة بشكل أساسي بالمتطلبات الرئيسية التالية بالنظر إلى نظام إدارة قواعد البيانات القوي الذي سيتم استخدامه في المؤسسة
- قابلة للتطوير: يجب أن تكون قواعد بيانات المتجهات قادرة على فهرسة وتشغيل بحث تقريبي لأقرب جار لمليارات من متجهات التضمين
- موثوقة: يجب أن تكون قواعد البيانات المتجهة قادرة على التعامل مع الأخطاء الداخلية دون فقدان البيانات وبأقل تأثير تشغيلي، أي أن تكون قادرة على تحمل الأخطاء
- سريعة: سرعات الاستعلام والكتابة مهمة لقواعد البيانات المتجهة. بالنسبة لمنصات مثل Snapchat وInstagram، التي يمكن أن تحتوي على مئات أو آلاف الصور الجديدة التي يتم تحميلها في الثانية، تصبح السرعة عاملاً مهماً للغاية.
لا تقوم قواعد البيانات المتجهة بتخزين متجهات البيانات فقط. فهي مسؤولة أيضًا عن استخدام هياكل بيانات فعّالة لفهرسة هذه المتجهات لاسترجاعها بسرعة ودعم عمليات CRUD (إنشاء وقراءة وتحديث وحذف). يجب أن تدعم قواعد البيانات المتجهة أيضًا بشكل مثالي تصفية السمات وهي تصفية تستند إلى حقول البيانات الوصفية التي عادةً ما تكون حقولًا قياسية. مثال بسيط على ذلك هو استرجاع الأحذية المتشابهة بناءً على متجهات الصور لعلامة تجارية معينة. هنا ستكون العلامة التجارية هي السمة التي ستتم التصفية بناءً عليها.
الشكل 5
يوضح الشكل أعلاه كيف تستخدم قاعدة بيانات المتجهات Milvus التي سنتحدث عنها بعد قليل، تصفية السمات. يقدم Milvus مفهوم القناع النقطي لآلية التصفية للاحتفاظ بالمتجهات المتشابهة بقناع نقطي 1 بناءً على استيفاء مرشحات سمات محددة. المزيد من التفاصيل حول هذا الأمر هنا.
ميلفوس - قاعدة بيانات المتجهات الأكثر تقدمًا في العالم
Milvus عبارة عن منصة مفتوحة المصدر لإدارة قاعدة بيانات المتجهات مصممة خصيصًا لبيانات المتجهات على نطاق واسع وتبسيط عمليات التعلم الآلي (MLOps).
الشكل 6
Zilliz، هي المنظمة التي تقف وراء بناء قاعدة بيانات المتجهات الأكثر تقدمًا في العالم Milvus، لتسريع تطوير نسيج بيانات الجيل التالي. Milvus هو حاليًا مشروع تخرج في مؤسسة LF للذكاء الاصطناعي والبيانات ويركز على إدارة مجموعات البيانات الضخمة غير المنظمة للتخزين والبحث. تعمل كفاءة وموثوقية المنصة على تبسيط عملية نشر نماذج الذكاء الاصطناعي وعمليات التشغيل الآلي على نطاق واسع. تمتلك Milvus تطبيقات واسعة النطاق تشمل اكتشاف الأدوية، والرؤية الحاسوبية، وأنظمة التوصيات، وروبوتات الدردشة، وغير ذلك الكثير.
الميزات الرئيسية لميلفوس
ميلفوس مليء بالميزات والقدرات المفيدة، مثل:
- سرعات بحث فائقة على تريليون مجموعة بيانات متجهة: تم قياس متوسط زمن الاستجابة للبحث عن المتجهات واسترجاعها بالمللي ثانية على تريليون مجموعة بيانات متجهة.
- إدارة مبسطة للبيانات غير المهيكلة: يحتوي Milvus على واجهات برمجة تطبيقات غنية مصممة لسير عمل علوم البيانات.
- قاعدة بيانات متجهة موثوقة ودائمة التشغيل: تضمن ميزات النسخ المتماثل المضمنة في ميلفوس وميزات تجاوز الفشل/التعطل في العمل الحفاظ على استمرارية الأعمال دائمًا.
- قابلية عالية للتطوير والمرونة: قابلية التوسع على مستوى المكوّنات تجعل من الممكن التوسع والتخفيض عند الطلب.
- بحث هجين: بالإضافة إلى المتجهات، يدعم Milvus أنواع البيانات مثل المنطقي والسلسلة والأعداد الصحيحة وأرقام الفاصلة العائمة وغيرها. يقرن Milvus التصفية القياسية مع البحث القوي عن تشابه المتجهات (كما رأينا في مثال تشابه الأحذية سابقًا).
- بنية لامدا الموحدة: يجمع Milvus بين معالجة الدفق والمعالجة المجمعة لتخزين البيانات لتحقيق التوازن بين التوقيت والكفاءة.
- السفر عبر الزمن: يحتفظ Milvus بجدول زمني لجميع عمليات إدراج البيانات وحذفها. يسمح للمستخدمين بتحديد الطوابع الزمنية في البحث لاسترداد عرض البيانات في نقطة زمنية محددة.
- مدعوم من المجتمع ومعترف به في الصناعة: مع أكثر من 1,000 مستخدم مؤسسي، وأكثر من 10.5 ألف نجمة على GitHub، ومجتمع مفتوح المصدر نشط، فأنت لست وحدك عند استخدام Milvus. وباعتباره مشروع تخرج في إطار مؤسسة LF AI & Data Foundation، فإن Milvus يحظى بدعم مؤسسي.
المقاربات الحالية لإدارة بيانات المتجهات والبحث عنها
تتمثل إحدى الطرق الشائعة لبناء نظام ذكاء اصطناعي مدعوم بالبحث عن التشابه المتجه في إقران خوارزميات مثل البحث التقريبي لأقرب جار (ANNS) مع مكتبات مفتوحة المصدر مثل
- بحث تشابه الذكاء الاصطناعي في فيسبوك (FAISS): يتيح هذا الإطار البحث الفعال عن التشابه وتجميع المتجهات الكثيفة بكفاءة. وهو يحتوي على خوارزميات تبحث في مجموعات من المتجهات من أي حجم، حتى تلك التي ربما لا تتسع لها ذاكرة الوصول العشوائي. وهو يدعم إمكانيات الفهرسة مثل الفهرسة المقلوبة متعددة الفهارس وتكميم المنتج
- سبوتيفي أنوي (أقرب الجيران التقريبي أوه نعم): يستخدم هذا الإطار إسقاطات عشوائية ويبني شجرة لتمكين ANNS على نطاق واسع للمتجهات الكثيفة
- ScaNN (أقرب الجيران القابل للتطوير) من جوجل: يقوم هذا الإطار بإجراء بحث فعال عن تشابه المتجهات على نطاق واسع. يتكون من تطبيقات، والتي تتضمن تشذيب مساحة البحث وتكميم مساحة البحث من أجل البحث بالحد الأقصى للحاصل الداخلي (MIPS)
على الرغم من أن كل من هذه المكتبات مفيدة بطريقتها الخاصة، إلا أنه بسبب العديد من القيود، فإن هذه المجموعات من الخوارزميات والمكتبات لا تعادل نظام إدارة بيانات المتجهات الكامل مثل Milvus. سنناقش بعض هذه القيود الآن.
قيود المناهج الحالية
تنطوي المناهج الحالية المستخدمة لإدارة بيانات المتجهات كما تمت مناقشتها في القسم السابق على القيود التالية:
- المرونة: تقوم الأنظمة الحالية عادةً بتخزين جميع البيانات في الذاكرة الرئيسية، وبالتالي لا يمكن تشغيلها في الوضع الموزع عبر أجهزة متعددة بسهولة وليست مناسبة تمامًا للتعامل مع مجموعات البيانات الضخمة
- معالجة البيانات الديناميكية: غالبًا ما يُفترض أن تكون البيانات ثابتة بمجرد إدخالها في الأنظمة الحالية، مما يعقد معالجة البيانات الديناميكية ويجعل البحث في الوقت الفعلي شبه مستحيل
- معالجة الاستعلامات المتقدمة: لا تدعم معظم الأدوات المعالجة المتقدمة للاستعلامات (مثل تصفية السمات والبحث الهجين والاستعلامات متعددة النواقل)، وهو أمر ضروري لبناء محركات بحث متشابهة في العالم الحقيقي تدعم التصفية المتقدمة.
- تحسينات الحوسبة غير المتجانسة: يقدم عدد قليل من المنصات تحسينات لبنى النظام غير المتجانسة على كل من وحدات المعالجة المركزية ووحدات معالجة الرسومات (باستثناء FAISS)، مما يؤدي إلى فقدان الكفاءة.
تحاولMilvus التغلب على كل هذه القيود وسنناقش ذلك بالتفصيل في القسم التالي.
ميزة ميلفوس - فهم المعرفة في أي مكان
يحاولMilvus معالجة قيود الأنظمة الحالية المبنية على إدارة البيانات المتجهة غير الفعالة وخوارزميات البحث عن التشابه بالطرق التالية وحلها بنجاح:
- إنه يعزز المرونة من خلال تقديم الدعم لمجموعة متنوعة من واجهات التطبيقات (بما في ذلك واجهات برمجة التطبيقات SDKs بلغة Python وJava وGo وC++ وRESTful APIs)
- يدعم أنواعًا متعددة من الفهارس المتجهة (على سبيل المثال، الفهارس القائمة على التكميم والفهارس القائمة على الرسم البياني)، ومعالجة الاستعلام المتقدمة
- يتعامل Milvus مع بيانات المتجهات الديناميكية باستخدام شجرة دمج منظمة على شكل سجل (شجرة LSM)، مما يحافظ على كفاءة عمليات إدخال البيانات وحذفها وعمليات البحث في الوقت الفعلي
- يوفر Milvus أيضًا تحسينات لبنى الحوسبة غير المتجانسة على وحدات المعالجة المركزية ووحدات معالجة الرسومات الحديثة، مما يسمح للمطورين بتعديل الأنظمة لسيناريوهات ومجموعات بيانات وبيئات تطبيق محددة
نوهير، محرك التنفيذ المتجه في ميلفوس، هو واجهة تشغيل للوصول إلى الخدمات في الطبقات العليا من النظام ومكتبات البحث عن التشابه المتجه مثل Faiss و Hnswlib و Annoy في الطبقات السفلى من النظام. بالإضافة إلى ذلك، فإن نوهير مسؤول أيضاً عن الحوسبة غير المتجانسة. يتحكم نوهير في الأجهزة (مثل وحدة المعالجة المركزية أو وحدة معالجة الرسومات) لتنفيذ طلبات بناء الفهرس والبحث. هذه هي الطريقة التي حصلت بها نوير على اسمها - معرفة مكان تنفيذ العمليات. سيتم دعم المزيد من أنواع الأجهزة بما في ذلك DPU و TPU في الإصدارات المستقبلية.
الشكل 7
تتضمن العمليات الحسابية في Milvus بشكل أساسي العمليات المتجهة والقياسية. يتعامل نوير فقط مع العمليات على المتجهات في ملفوس. يوضح الشكل أعلاه بنية نوير في ميلفوس. الطبقة السفلية هي أجهزة النظام. توجد مكتبات الفهرس التابعة لجهة خارجية فوق الأجهزة. ثم يتفاعل Knowhere مع عقدة الفهرس وعقدة الاستعلام في الأعلى عبر CGO. لا يقوم برنامج Knowhere بتوسيع وظائف Faiss فحسب، بل يعمل أيضًا على تحسين الأداء ويتمتع بالعديد من المزايا بما في ذلك دعم BitsetView، ودعم المزيد من مقاييس التشابه، ودعم مجموعة تعليمات AVX512، والاختيار التلقائي لتعليمات SIMD وغيرها من تحسينات الأداء. يمكن الاطلاع على التفاصيل هنا.
بنية ميلفوس
يعرض الشكل التالي البنية الكلية لمنصة Milvus. تفصل Milvus تدفق البيانات عن تدفق التحكم، وهي مقسمة إلى أربع طبقات مستقلة من حيث قابلية التوسع والتعافي من الكوارث.
الشكل 8
- طبقة الوصول: تتألف طبقة الوصول من مجموعة من الوكلاء عديمي الحالة وتعمل كطبقة أمامية للنظام ونقطة نهاية للمستخدمين.
- خدمة المنسق: تكون خدمة المنسق مسؤولة عن إدارة عقدة طوبولوجيا المجموعة وموازنة التحميل وتوليد الطابع الزمني وإعلان البيانات وإدارة البيانات
- العقد العاملة: تقوم العقدة العاملة، أو عقدة التنفيذ، بتنفيذ التعليمات الصادرة عن خدمة المنسق وأوامر لغة معالجة البيانات (DML) التي يبدأها الوكيل. عقدة العامل في ميلفوس تشبه عقدة البيانات في Hadoop، أو خادم المنطقة في HBase
- التخزين: هذا هو حجر الزاوية في ميلفوس، وهو المسؤول عن ثبات البيانات. تتألف طبقة التخزين من مخزن التعريف ووسيط السجل وتخزين الكائنات
اطلع على المزيد من التفاصيل حول البنية هنا!
إجراء بحث مرئي عن الصور باستخدام ميلفوس - مخطط حالة استخدام
تتيح قواعد البيانات المتجهة مفتوحة المصدر مثل Milvus لأي شركة إنشاء نظام بحث مرئي خاص بها عن الصور بأقل عدد من الخطوات. يمكن للمطورين استخدام نماذج الذكاء الاصطناعي المدربة مسبقًا لتحويل مجموعات بيانات الصور الخاصة بهم إلى متجهات، ثم الاستفادة من Milvus لتمكين البحث عن المنتجات المتشابهة حسب الصورة. دعونا نلقي نظرة على المخطط التالي لكيفية تصميم وبناء مثل هذا النظام.
الشكل 9
في سير العمل هذا، يمكننا استخدام إطار عمل مفتوح المصدر مثل towhee للاستفادة من نموذج مدرب مسبقًا مثل ResNet-50 واستخراج المتجهات من الصور، وتخزين هذه المتجهات وفهرستها بسهولة في Milvus، وكذلك تخزين تعيين معرّفات الصور إلى الصور الفعلية في قاعدة بيانات MySQL. بمجرد فهرسة البيانات يمكننا تحميل أي صورة جديدة بسهولة وإجراء بحث عن الصور على نطاق واسع باستخدام Milvus. يوضح الشكل التالي نموذج بحث مرئي عن صورة مرئية.
الشكل 10
راجع البرنامج التعليمي المفصل الذي تم فتح مصادره على GitHub بفضل Milvus.
الخاتمة
لقد غطينا قدرًا لا بأس به من التفاصيل في هذه المقالة. بدأنا بالتحديات التي تواجهنا في تمثيل البيانات غير المدمجة والاستفادة من المتجهات والبحث عن تشابه المتجهات على نطاق واسع باستخدام Milvus، وهي قاعدة بيانات متجهات مفتوحة المصدر. ناقشنا تفاصيل حول كيفية هيكلة Milvus والمكونات الرئيسية التي تشغله ومخططًا لكيفية حل مشكلة في العالم الحقيقي، البحث عن الصور المرئية باستخدام Milvus. جربها وابدأ في حل مشاكلك الواقعية باستخدام ميلفوس!
هل أعجبك هذا المقال؟ تواصل معي لمناقشة المزيد حول هذا المقال أو تقديم ملاحظاتك!
عن المؤلف
Dipanjan (DJ) Sarkar هو قائد علوم البيانات، وخبير مطوري Google - تعلم الآلة، ومؤلف ومستشار ومستشار في مجال الذكاء الاصطناعي. تواصل معنا: http://bit.ly/djs_linkedin
- مقدمة
- المتجهات والبحث عن تشابه المتجهات
- ما هي قاعدة بيانات المتجهات؟
- ميلفوس - قاعدة بيانات المتجهات الأكثر تقدمًا في العالم
- إجراء بحث مرئي عن الصور باستخدام ميلفوس - مخطط حالة استخدام
- الخاتمة
- عن المؤلف
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word