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

milvus-logo
LFAI
  • Home
  • Blog
  • تضمينات ماتريوشكا: التفاصيل بمقاييس متعددة

تضمينات ماتريوشكا: التفاصيل بمقاييس متعددة

  • Engineering
October 30, 2024
Stefan Webb, David Wang

ما هي تضمينات ماتريوشكا؟

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

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

رغم فعاليتها، فإن هذه الأساليب القياسية تقلل من الدقة أو الأبعاد مرة واحدة فقط وعلى مقياس واحد. ولكن ماذا لو تمكنا من الحفاظ على طبقات متعددة من التفاصيل في وقت واحد، مثل هرم من التمثيلات المتزايدة الدقة؟

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

Figure: Visualization of Matryoshka embeddings with multiple layers of detail الشكل: تصور لتضمينات ماتريوشكا مع طبقات متعددة من التفاصيل

الشكل: تصور لتضمينات ماتريوشكا مع طبقات متعددة من التفاصيل

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

هل تحتاج إلى بحث تقريبي سريع؟ استخدم أصغر "دمية". هل تحتاج إلى أقصى قدر من الدقة؟ استخدم التضمين الكامل. هذه المرونة تجعلها ذات قيمة خاصة للأنظمة التي تتكيف مع متطلبات الأداء المختلفة أو قيود الموارد.

الاستدلال

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

Figure: How the funnel search works with Matryoshka embeddings الشكل: كيف يعمل البحث القمعي مع تضمينات ماتريوشكا

الشكل: كيفية عمل البحث القمعي مع تضمينات ماتريوشكا

لتسريع البحث عن التشابه بكفاءة مع الحفاظ على الدقة، يمكننا استخدام نهج "البحث القمعي". أولًا، نجري بحثًا أوليًا عن التشابه باستخدام أول 1/32 فقط من أبعاد التضمينات، مما يولد مجموعة كبيرة من العناصر المرشحة. ثم نعيد تصنيف هذه العناصر المرشحة بناءً على تشابهها مع الاستعلام باستخدام أول 1/16 من الأبعاد، مع تشذيب جزء من القائمة. تستمر هذه العملية بشكل متكرر، حيث نقوم بإعادة الترتيب والتشذيب باستخدام مجموعات فرعية أكبر بشكل متزايد من أبعاد التضمين - 1/8 و1/4 وهكذا. والأهم من ذلك، نقوم بإجراء بحث تشابه أولي واحد فقط في هذا الفضاء منخفض الأبعاد، ويحسب تمرير واحد لنموذج التضمين تضمين الاستعلام. تعمل عملية التحويل هذه على تضييق نطاق المرشحين في كل خطوة وهي أسرع وأكثر كفاءة من البحث المباشر في الفضاء كامل الأبعاد. يمكن أن يؤدي سحب العديد من التطابقات من الفضاء 1/32 بُعد وتنقيحها من خلال البحث القمعي إلى تسريع البحث عن التشابه بشكل كبير مع الحفاظ على الاستدعاء القوي.

التدريب

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

أحد خيارات هدف التدريب هو خسارة الجملة المضمّنة (CoSENT)، L(u,v;s)L(u, v; s) L(u, v; s) L v s . يقوم بإدخال زوج من تضمينات الجمل، u,vu,v v، ودرجة التشابه المطلوبة، ss s (انظر الرابط أعلاه للحصول على الصيغة). والآن، لتعلّم تضمينات ماتريوشكا، نجري تعديلاً بسيطًا على هدف التدريب:

LM(u,v)=w0L(u1:d,v1:d)+w1L(u1:d/2,v1:d/2)+w2L(u1:d/4,v1:d/4)+⋯L_M(u, v) = w_0L(u_1:d}, v_{1:d}) + w_1L(u{1:d/2}, v{1:d/2}) + w_2L(u_{1 v = w L1, v 1) + w L1, v 1) + w L1, v

حيث يستمر المجموع من خلال حساب الخسارة على نصف المدخلات إلى الحد السابق حتى الوصول إلى عنق زجاجة المعلومات. يقترح المؤلفون تعيين

w0=w1 w ==

ببساطة، خسارة ماتريوشكا هي مجموع مرجح للخسارة الأصلية على مجموعات فرعية متكررة من المدخلات.

إحدى النتائج الرئيسية المستخلصة من المعادلة أعلاه هي أن خسارة ماتريوشكا تحقق التعلم الفعال للتمثيلات على مستويات متعددة من خلال مشاركة الأوزان عبر نماذج التضمين (يُستخدم نفس النموذج لترميز، على سبيل المثال، u1:du_{1:d:d} u و u1:d/2u_{1:d/2} u ) ومشاركة الأبعاد عبر المقاييس(u1:d/2u_{1:d/2} u هي مجموعة فرعية من uu u).

تضمينات ماتريوشكا وميلفوس

تدعم Milvus بسلاسة أي نموذج تضمين ماتريوشكا يمكن تحميله عبر مكتبات قياسية مثل pymilvus.model أو محولات الجمل أو غيرها من الأدوات المماثلة. من من منظور النظام، لا يوجد فرق وظيفي بين نموذج تضمين عادي ونموذج آخر مدرب خصيصًا لتوليد تضمينات ماتريوشكا.

تتضمن نماذج تضمين ماتريوشكا الشائعة ما يلي:

للاطلاع على دليل كامل حول استخدام تضمينات ماتريوشكا مع ميلفوس، راجع دفتر البحث عن القمع باستخدام تضمينات ماتريوشكا.

ملخص

يتيح تضمين ماتريوشكا للمطورين إنشاء تضمينات مختصرة دون التضحية بالتكامل الدلالي، مما يجعلها مثالية للبحث والتخزين الأكثر كفاءة. بينما يمكنك تعديل نموذج موجود، تتوفر أيضًا خيارات مُدرَّبة مسبقًا، مثل تلك المتوفرة من OpenAI و Hugging Face.

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

هل أنت مستعد لتبسيط قدراتك في البحث؟ ابدأ مع تضمينات ميلفوس + ماتريوشكا اليوم!

الموارد

Like the article? Spread the word

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