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

milvus-logo
LFAI
  • Home
  • Blog
  • قصة سمارت نيوز - من مستخدم لميلفوس إلى مساهم نشط

قصة سمارت نيوز - من مستخدم لميلفوس إلى مساهم نشط

  • Scenarios
January 20, 2022
Milvus

هذا المقال من ترجمة أنجيلا ني.

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

بالنسبة للمنتج الذي يتعامل مع تدفقات المعلومات، من أولويات المطورين إيجاد معالج بيانات مرن يمكن دمجه بسلاسة في بنية النظام لإلغاء تكرار الأخبار أو الإعلانات المتطابقة.

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

تشارك هذه المقالة قصة SmartNews وتحكي لماذا قررت تقديم مساهمات في مشروع Milvus.

لمحة عامة عن سمارت نيوز

تأسست SmartNews في عام 2012، ويقع مقرها الرئيسي في طوكيو، اليابان. لطالما احتل تطبيق الأخبار الذي طورته SmartNews المرتبة الأولى في السوق اليابانية. SmartNews هو تطبيق الأخبار الأسرع نموًا، كما أنه يتميز أيضًا بلزوجة عالية للمستخدمين في السوق الأمريكية. ووفقًا لإحصائيات APP Annie، احتل متوسط مدة الجلسة الشهرية لتطبيق SmartNews المرتبة الأولى بين جميع تطبيقات الأخبار بنهاية يوليو 2021، أي أكبر من مدة الجلسة المتراكمة لتطبيق AppleNews وGoogle News.

مع النمو السريع لقاعدة المستخدمين واللزوجة، يتعين على SmartNews مواجهة المزيد من التحديات من حيث آلية التوصية وخوارزمية الذكاء الاصطناعي. وتشمل هذه التحديات استخدام ميزات منفصلة ضخمة في التعلم الآلي واسع النطاق (ML)، وتسريع الاستعلام عن البيانات غير المهيكلة مع البحث عن التشابه المتجه، وغير ذلك.

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

تم اعتماد قاعدة بيانات المتجهات مفتوحة المصدر Milvus في نظام إعلانات SmartNews لمطابقة الإعلانات الديناميكية والتوصية بها من مجموعة بيانات بمقياس 10 ملايين مليون إعلان لمستخدميها. من خلال القيام بذلك، يمكن لـ SmartNews إنشاء علاقة مطابقة بين مجموعتي بيانات لم يكن من الممكن مطابقتها من قبل - بيانات المستخدم وبيانات الإعلانات. في الربع الثاني من عام 2021، تمكنت Shu من نشر Milvus 1.0 على Kubernetes. تعرف على المزيد حول كيفية نشر Milvus.

img img

بعد النشر الناجح لـ Milvus 1.0، كان أول مشروع يستخدم Milvus هو مشروع استدعاء الإعلانات الذي بدأه فريق الإعلانات في SmartNews. خلال المرحلة الأولية، كانت مجموعة بيانات الإعلانات على نطاق مليون. وفي الوقت نفسه، تم التحكم في زمن انتقال P99 بشكل صارم في أقل من 10 ميلي ثانية.

في يونيو 2021، قام شو وزملاؤه في فريق الخوارزمية بتطبيق Milvus على المزيد من سيناريوهات الأعمال وحاولوا تجميع البيانات وتحديث البيانات/الفهرس عبر الإنترنت في الوقت الفعلي.

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

من مستخدم إلى مساهم نشط

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

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

في أواخر يوليو، اقترح المهندس يوسوب في SmartNews فكرة استخدام الاسم المستعار للم جموعة لتحقيق إعادة التحميل السريع.

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

في حالة أعمال الإعلانات في SmartNews، يتم إدراج أو تحديث ما يقرب من 100 مليون ناقل عند إنشاء نواقل إعلانات ديناميكية جديدة. هناك عدة حلول لهذا الأمر:

  • الحل 1: حذف البيانات القديمة أولاً وإدراج بيانات جديدة.
  • الحل 2: إنشاء مجموعة جديدة للبيانات الجديدة.
  • الحل 3: استخدام اسم مستعار للمجموعة.

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

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

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

بدأ Yusup من هذا الطلب وساعد فريق SmartNews بأكمله في فهم بنية Milvus. بعد شهر ونصف الشهر، تلقى مشروع Milvus تقريرًا عن إعادة التحميل السريع من Yusup. وفي وقت لاحق، أصبحت هذه الوظيفة متاحة رسميًا مع إصدار Milvus 2.0.0-RC7.

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

img_collection alias الاسم المستعار لمجموعة img_collection

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

"في الوقت الحالي، يعتمد جزء من الأعمال الإعلانية على ميلفوس كقاعدة بيانات متجهة دون اتصال بالإنترنت. يقترب الإصدار الرسمي لـ Mivus 2.0، ونأمل أن نتمكن من استخدام Milvus لبناء أنظمة أكثر موثوقية وتوفير خدمات في الوقت الفعلي لمزيد من سيناريوهات الأعمال."

تحديث: Milvus 2.0 متاح الآن بشكل عام! اعرف المزيد

Like the article? Spread the word

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