المقدمة
Open AI CLIP ViT-L/14. ويبلغ
بُعد كل متجه تضمين 768.
يمكن استخدام مجموعة البيانات هذه لنمذجة جوانب التصميم وتحديد السعة والأداء لتطبيق
بحث متجهي واسع النطاق في بيئة واقعية. كما يمكن استخدام مجموعة البيانات هذه لكلٍّ من البحث من النص إلى الصورة
والبحث من صورة إلى صورة.
تفاصيل مجموعة البيانات
S3 عامة.
تُخزَّن المجموعة الفرعية في ملف Parquet واحد.
نوصي المستخدمين أولاً بإجراء تقدير للحجم لتحديد متطلبات التخزين والذاكرة لهذه مجموعة بيانات، بالرجوع إلى الوثائق.
الخطوات
1
إنشاء جدول
أنشئ جدول
laion_5b_10m لتخزين التضمينات والسمات المرتبطة بها:id هو مجرد عدد صحيح متزايد. ويمكن استخدام السمات الإضافية في الشروط لفهم
البحث عن التشابه المتجهي مع التصفية اللاحقة/المسبقة، كما هو موضح في الوثائق2
تحميل البيانات
لتحميل مجموعة البيانات، نفّذ عبارة SQL التالية:سيستغرق تحميل 10 ملايين صف في الجدول بضع دقائق.
3
نفِّذ بحثًا شاملاً عن تشابه المتجهات
يتضمن بحث KNN (k - أقرب الجيران) أو البحث بالقوة الغاشمة حساب المسافة بين كل متجه في مجموعة البيانات
ومتجه التضمين المستخدم للبحث، ثم ترتيب المسافات للحصول على أقرب الجيران. يمكننا استخدام أحد المتجهات
من مجموعة البيانات نفسها كمتجه بحث. على سبيل المثال:سجّل زمن استجابة الاستعلام لكي نتمكن من مقارنته بزمن استجابة استعلام ANN (باستخدام فهرس متجهات).
مع 10 ملايين صف، قد يستغرق الاستعلام أعلاه من دون فهرس متجهات بضع ثوانٍ أو دقائق ليكتمل.
Query
4
إنشاء فهرس للتشابه المتجهي
نفّذ عبارة SQL التالية لتعريف وإنشاء فهرس للتشابه المتجهي على العمود ترد في الوثائق المعلمات واعتبارات الأداء المتعلقة بإنشاء الفهرس والبحث.
تستخدم العبارة أعلاه القيمتين 64 و512 للمعلمتين الفائقتين في HNSW،
vector في جدول laion_5b_10m:M وef_construction، على التوالي.
يجب اختيار القيم المثلى لهذه المعلمات بعناية من خلال تقييم وقت بناء الفهرس وجودة نتائج البحث
المقابلة للقيم المختارة.قد يستغرق بناء الفهرس وحفظه وقتًا طويلًا لمجموعة فرعية تضم 10 ملايين صف، وذلك حسب عدد أنوية CPU المتاحة وعرض نطاق التخزين.5
إجراء بحث ANN
بعد إنشاء فهرس تشابه المتجهات، ستستخدم استعلامات البحث المتجهي هذا الفهرس تلقائيًا:قد يستغرق تحميل الفهرس المتجهي في الذاكرة للمرة الأولى بضع ثوانٍ أو دقائق.
Query
6
إنشاء تضمينات لاستعلام البحث
تم إنشاء متجهات التضمين لمجموعة بيانات تظهر نتائج البحث أعلاه أدناه:
LAION 5b باستخدام نموذج OpenAI CLIP ViT-L/14.يُقدَّم أدناه برنامج نصي مثالي بلغة بايثون يوضّح كيفية إنشاء متجهات التضمين برمجيًا باستخدام واجهات برمجة تطبيقات CLIP. ثم يُمرَّر متجه تضمين البحث كوسيطة إلى الدالة cosineDistance() في استعلام SELECT.لتثبيت حزمة clip، يُرجى الرجوع إلى مستودع OpenAI على GitHub.