الانتقال إلى المحتوى الرئيسي

المقدمة

تحتوي مجموعة بيانات LAION 5b على 5.85 مليار تضمين للصور والنصوص، إلى جانب البيانات الوصفية المرتبطة بالصور. أُنشئت هذه التضمينات باستخدام نموذج Open AI CLIPViT-L/14. ويبلغ بُعد كل متجه تضمين 768. يمكن استخدام مجموعة البيانات هذه لنمذجة جوانب التصميم وتحديد السعة والأداء لتطبيق بحث متجهي واسع النطاق في بيئة واقعية. كما يمكن استخدام مجموعة البيانات هذه لكلٍّ من البحث من النص إلى الصورة والبحث من صورة إلى صورة.

تفاصيل مجموعة البيانات

مجموعة البيانات الكاملة متاحة كمزيج من ملفات npy وParquet على the-eye.eu أتاح ClickHouse مجموعة فرعية تضم 100 مليون متجه في حاوية S3. تحتوي حاوية S3 على 10 ملفات Parquet، ويضم كل ملف Parquet 10 ملايين صف. نوصي المستخدمين أولاً بإجراء تقدير للحجم لتحديد متطلبات التخزين والذاكرة لهذه المجموعة من البيانات، بالرجوع إلى الوثائق.

الخطوات

1

إنشاء جدول

أنشئ جدول laion_5b_100m لتخزين متجهات التضمين والسمات المرتبطة بها:
إن id ليس سوى عدد صحيح يزداد تدريجيًا. ويمكن استخدام السمات الإضافية في شروط التصفية لفهم البحث عن تشابه المتجهات عند دمجه مع التصفية اللاحقة/التصفية المسبقة، كما هو موضح في الوثائق
2

تحميل البيانات

لتحميل البيانات من جميع ملفات Parquet، شغّل تعليمة SQL التالية:
سيستغرق تحميل 100 مليون صف في الجدول بضع دقائق.بدلًا من ذلك، يمكن تنفيذ تعليمات SQL منفصلة لتحميل عدد محدد من الملفات / الصفوف.
3

تشغيل بحث تشابه المتجهات بأسلوب القوة الغاشمة

يتضمن بحث KNN (k - أقرب الجيران) أو البحث بالقوة الغاشمة حساب المسافة بين كل متجه في مجموعة البيانات ومتجه التضمين المستخدم في البحث، ثم ترتيب هذه المسافات للحصول على أقرب الجيران. يمكننا استخدام أحد المتجهات من مجموعة البيانات نفسها متجهًا للبحث. على سبيل المثال:
Query
Response
سجِّل زمن استجابة الاستعلام لمقارنته لاحقًا بزمن استجابة الاستعلام باستخدام ANN (مع فهرس المتجهات). مع 100 مليون صف، قد يستغرق الاستعلام أعلاه بدون فهرس متجهات بضع ثوانٍ أو دقائق حتى يكتمل.
4

بناء فهرس للتشابه المتجهي

نفّذ عبارة SQL التالية لتعريف فهرس للتشابه المتجهي وإنشائه على العمود vector في الجدول laion_5b_100m:
تُشرح المعلمات واعتبارات الأداء الخاصة بإنشاء الفهرس والبحث في الوثائق. تستخدم التعليمة أعلاه القيمتين 64 و512، على الترتيب، لمعلمتَي HNSW الفائقتين M وef_construction. تحتاج إلى اختيار القيم المثلى لهذه المعلمات بعناية من خلال تقييم وقت بناء الفهرس وجودة نتائج البحث المرتبطة بالقيم المحددة.قد يستغرق بناء الفهرس وحفظه بضع ساعات حتى لمجموعة البيانات الكاملة البالغة 100 مليون، وذلك حسب عدد أنوية CPU المتاحة وعرض نطاق التخزين.
5

إجراء بحث ANN

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

إنشاء متجهات التضمين لاستعلام البحث

تم إنشاء متجهات التضمين لمجموعة البيانات LAION 5b باستخدام نموذج ViT-L/14 من OpenAI CLIP.يَرِد أدناه مثال على برنامج نصي بلغة Python يوضّح كيفية إنشاء متجهات التضمين برمجيًا باستخدام واجهات برمجة تطبيقات CLIP. ثم يُمرَّر متجه تضمين البحث بوصفه وسيطًا إلى الدالة cosineDistance() ضمن استعلام SELECT.لتثبيت الحزمة clip، يُرجى الرجوع إلى مستودع OpenAI على GitHub.
تظهر أدناه نتيجة البحث عن تشابه المتجهات المذكور أعلاه:
آخر تعديل في ١ يوليو ٢٠٢٦