خلاصہ
روبلوکس پر ہر روز، 65.5 ملین صارفین لاکھوں تجربات کے ساتھ مشغول ہیں، کل 14.0 بلین گھنٹے سہ ماہی. یہ تعامل پیٹا بائٹ پیمانے پر ڈیٹا لیک تیار کرتا ہے، جسے تجزیات اور مشین لرننگ (ML) مقاصد کے لیے افزودہ کیا جاتا ہے۔ ہماری ڈیٹا لیک میں حقائق اور طول و عرض کی جدولوں میں شامل ہونا بہت وسیلہ ہے، لہذا اس کو بہتر بنانے اور ڈیٹا کی تبدیلی کو کم کرنے کے لیے، ہم نے سیکھے ہوئے بلوم فلٹرز [1] — ML کا استعمال کرتے ہوئے سمارٹ ڈیٹا ڈھانچے کو اپنایا۔ موجودگی کی پیشن گوئی کرتے ہوئے، یہ فلٹرز جوائن ڈیٹا کو کافی حد تک تراشتے ہیں، کارکردگی کو بڑھاتے ہیں اور اخراجات کو کم کرتے ہیں۔ راستے میں، ہم نے اپنے ماڈل آرکیٹیکچرز کو بھی بہتر بنایا اور ان نمایاں فوائد کا مظاہرہ کیا جو وہ پروسیسنگ کے لیے میموری اور CPU گھنٹے کو کم کرنے کے ساتھ ساتھ آپریشنل استحکام کو بڑھانے کے لیے پیش کرتے ہیں۔
تعارف
ہماری ڈیٹا لیک میں، فیکٹ ٹیبلز اور ڈیٹا کیوبز کو وقتی طور پر موثر رسائی کے لیے تقسیم کیا گیا ہے، جبکہ ڈائمینشن ٹیبلز میں ایسے پارٹیشنز کی کمی ہے، اور اپ ڈیٹس کے دوران ان کو فیکٹ ٹیبلز کے ساتھ جوڑنا وسائل کے لحاظ سے انتہائی ضروری ہے۔ جوائن کی کلیدی جگہ فیکٹ ٹیبل کے جوائن ہونے والے وقتی تقسیم سے چلتی ہے۔ اس وقتی تقسیم میں موجود طول و عرض کے ادارے پورے ڈائمینشن ڈیٹاسیٹ میں موجود افراد کا ایک چھوٹا ذیلی سیٹ ہیں۔ نتیجے کے طور پر، ان جوائنز میں شفلڈ ڈائمینشن ڈیٹا کی اکثریت کو بالآخر مسترد کر دیا جاتا ہے۔. اس عمل کو بہتر بنانے اور غیر ضروری شفلنگ کو کم کرنے کے لیے، ہم نے استعمال کرنے پر غور کیا۔ بلوم فلٹرز الگ الگ جوائن کیز پر لیکن فلٹر سائز اور میموری فوٹ پرنٹ کے مسائل کا سامنا کرنا پڑا۔
ان سے نمٹنے کے لیے، ہم نے دریافت کیا۔ بلوم فلٹرز سیکھے۔، ایک ML پر مبنی حل جو کم غلط مثبت شرحوں کو برقرار رکھتے ہوئے بلوم فلٹر کے سائز کو کم کرتا ہے۔ یہ اختراع کمپیوٹیشنل اخراجات کو کم کرکے اور نظام کے استحکام کو بہتر بنا کر جوائننگ آپریشنز کی کارکردگی کو بڑھاتی ہے۔ مندرجہ ذیل اسکیمیٹک ہمارے تقسیم شدہ کمپیوٹنگ ماحول میں روایتی اور آپٹمائزڈ شمولیت کے عمل کو واضح کرتا ہے۔
سیکھے ہوئے بلوم فلٹرز کے ساتھ شمولیت کی کارکردگی کو بڑھانا
حقیقت اور طول و عرض کے جدولوں کے درمیان شمولیت کو بہتر بنانے کے لیے، ہم نے لرنڈ بلوم فلٹر کے نفاذ کو اپنایا۔ ہم نے فیکٹ ٹیبل میں موجود کلیدوں سے ایک انڈیکس بنایا اور اس کے بعد انڈیکس کو جوائن آپریشن سے پہلے ڈائمینشن ڈیٹا کو فلٹر کرنے کے لیے تعینات کیا۔
روایتی بلوم فلٹرز سے سیکھے ہوئے بلوم فلٹرز تک ارتقاء
جب کہ ایک روایتی بلوم فلٹر کارآمد ہے، یہ فی کارکن نوڈ کے لیے 15-25% اضافی میموری کا اضافہ کرتا ہے جسے ہماری مطلوبہ غلط مثبت شرح تک پہنچنے کے لیے اسے لوڈ کرنے کی ضرورت ہوتی ہے۔ لیکن لرنڈ بلوم فلٹرز کا استعمال کرتے ہوئے، ہم نے اسی غلط مثبت شرح کو برقرار رکھتے ہوئے انڈیکس کے سائز میں کافی حد تک کمی حاصل کی۔ یہ بلوم فلٹر کے بائنری درجہ بندی کے مسئلے میں تبدیل ہونے کی وجہ سے ہے۔ مثبت لیبل انڈیکس میں اقدار کی موجودگی کی نشاندہی کرتے ہیں، جبکہ منفی لیبلز کا مطلب ہے کہ وہ غیر حاضر ہیں۔
ایم ایل ماڈل کا تعارف اقدار کی ابتدائی جانچ میں سہولت فراہم کرتا ہے، اس کے بعد غلط منفی کو ختم کرنے کے لیے بیک اپ بلوم فلٹر۔ کم سائز ماڈل کی کمپریسڈ نمائندگی اور بیک اپ بلوم فلٹر کے لیے مطلوبہ چابیاں کی کم تعداد سے پیدا ہوتا ہے۔ یہ اسے روایتی بلوم فلٹر کے نقطہ نظر سے ممتاز کرتا ہے۔
اس کام کے حصے کے طور پر، ہم نے اپنے سیکھے ہوئے بلوم فلٹر کے طریقہ کار کا جائزہ لینے کے لیے دو میٹرکس قائم کیے: انڈیکس کا حتمی سیریلائزڈ آبجیکٹ سائز اور جوائن کے سوالات کے عمل کے دوران CPU کی کھپت۔
نفاذ کے چیلنجز کو نیویگیٹنگ کرنا
ہمارا ابتدائی چیلنج فیکٹ ٹیبل میں چند ڈائمینشن ٹیبل کیز کے ساتھ انتہائی متعصب ٹریننگ ڈیٹاسیٹ کو حل کرنا تھا۔ ایسا کرتے ہوئے، ہم نے میزوں کے درمیان تقریباً ایک میں سے تین کیز کا اوورلیپ دیکھا۔ اس سے نمٹنے کے لیے، ہم نے سینڈوچ لرنڈ بلوم فلٹر اپروچ [2] کا فائدہ اٹھایا۔ یہ ڈیٹاسیٹ کی تقسیم کو متوازن کرنے کے لیے ایک ابتدائی روایتی بلوم فلٹر کو مربوط کرتا ہے تاکہ ڈیٹاسیٹ سے منفی نمونوں کو مؤثر طریقے سے ختم کرکے، فیکٹ ٹیبل سے غائب ہونے والی اکثریت کو ہٹا کر ڈیٹاسیٹ کی تقسیم کو متوازن کیا جا سکے۔ اس کے بعد، صرف ابتدائی بلوم فلٹر میں شامل کلیدوں کو، غلط مثبت کے ساتھ، ML ماڈل کو بھیج دیا گیا، جسے اکثر "سیکھا ہوا اوریکل" کہا جاتا ہے۔ اس نقطہ نظر کے نتیجے میں سیکھے ہوئے اوریکل کے لیے ایک متوازن تربیتی ڈیٹا سیٹ ہوا، جس نے تعصب کے مسئلے پر مؤثر طریقے سے قابو پایا۔
دوسرا چیلنج ماڈل فن تعمیر اور تربیتی خصوصیات پر مرکوز ہے۔ فشنگ URLs کے کلاسک مسئلے کے برعکس [1]، ہماری جوائن کیز (جو زیادہ تر صورتوں میں صارفین/تجربات کے لیے منفرد شناخت کنندہ ہیں) فطری طور پر معلوماتی نہیں تھیں۔ اس کی وجہ سے ہم طول و عرض کی خصوصیات کو ممکنہ ماڈل خصوصیات کے طور پر دریافت کرنے میں کامیاب ہوئے جو یہ پیش گوئی کرنے میں مدد کر سکتے ہیں کہ آیا کوئی طول و عرض حقائق کے جدول میں موجود ہے۔ مثال کے طور پر، ایک فیکٹ ٹیبل کا تصور کریں جس میں کسی مخصوص زبان میں تجربات کے لیے صارف کے سیشن کی معلومات موجود ہوں۔ صارف کے طول و عرض کا جغرافیائی محل وقوع یا زبان کی ترجیحی وصف اس بات کے اچھے اشارے ہوں گے کہ آیا کوئی فرد صارف حقائق کے جدول میں موجود ہے یا نہیں۔
تیسرا چیلنج — انفرنس لیٹینسی — کے لیے ایسے ماڈلز کی ضرورت تھی جو دونوں غلط منفی کو کم کرتے ہیں اور تیز ردعمل فراہم کرتے ہیں۔ ان کلیدی میٹرکس کے لیے گریڈیئنٹ بوسٹڈ ٹری ماڈل بہترین انتخاب تھا، اور ہم نے درستگی اور رفتار کو متوازن کرنے کے لیے اس کی خصوصیت کو کاٹ دیا۔
سیکھے ہوئے بلوم فلٹرز کا استعمال کرتے ہوئے ہماری اپ ڈیٹ کردہ شمولیتی استفسار ذیل میں دکھایا گیا ہے:
نتائج کی نمائش
ہماری ڈیٹا لیک میں لرنڈ بلوم فلٹرز کے ساتھ ہمارے تجربات کے نتائج یہ ہیں۔ ہم نے انہیں پانچ پروڈکشن ورک بوجھ میں ضم کیا، جن میں سے ہر ایک میں مختلف ڈیٹا خصوصیات ہیں۔ ان کام کے بوجھ کا سب سے مہنگا حصہ فیکٹ ٹیبل اور ڈائمینشن ٹیبل کے درمیان جوڑنا ہے۔ فیکٹ ٹیبلز کی کلیدی جگہ ڈائمینشن ٹیبل کا تقریباً 30% ہے۔ شروع کرنے کے لیے، ہم اس بات پر بات کرتے ہیں کہ سیکھے ہوئے بلوم فلٹر نے حتمی سیریلائزڈ آبجیکٹ سائز کے لحاظ سے روایتی بلوم فلٹرز کو کس طرح پیچھے چھوڑ دیا۔ اگلا، ہم کارکردگی میں بہتری دکھاتے ہیں جن کا مشاہدہ ہم نے سیکھے ہوئے بلوم فلٹرز کو اپنی ورک لوڈ پروسیسنگ پائپ لائنوں میں ضم کر کے کیا۔
بلوم فلٹر سائز کا موازنہ سیکھا۔
جیسا کہ ذیل میں دکھایا گیا ہے، جب دی گئی غلط مثبت شرح کو دیکھتے ہوئے، سیکھے ہوئے بلوم فلٹر کی دو قسمیں روایتی بلوم فلٹرز کے مقابلے میں کل آبجیکٹ کے سائز میں 17-42٪ کے درمیان بہتری لاتی ہیں۔
مزید برآں، ہمارے گریڈینٹ بوسٹڈ ٹری بیسڈ ماڈل میں فیچرز کا ایک چھوٹا ذیلی سیٹ استعمال کر کے، ہم نے تیزی سے اندازہ لگاتے ہوئے آپٹیمائزیشن کا صرف ایک چھوٹا فیصد کھو دیا۔
بلوم فلٹر کے استعمال کے نتائج سیکھے۔
اس سیکشن میں، ہم بلوم فلٹر پر مبنی جوائنز کی کارکردگی کا کئی میٹرکس میں ریگولر جوائنز سے موازنہ کرتے ہیں۔
نیچے دی گئی جدول میں لرنڈ بلوم فلٹرز کے ساتھ اور اس کے بغیر کام کے بوجھ کی کارکردگی کا موازنہ کیا گیا ہے۔ 1% کل غلط مثبت امکان کے ساتھ سیکھا ہوا بلوم فلٹر دونوں جوائن کی اقسام کے لیے یکساں کلسٹر کنفیگریشن کو برقرار رکھتے ہوئے ذیل میں موازنہ کو ظاہر کرتا ہے۔
سب سے پہلے، ہم نے پایا کہ بلوم فلٹر کے نفاذ نے سی پی یو کے اوقات میں باقاعدہ شمولیت کو 60% تک پیچھے چھوڑ دیا۔ بلوم فلٹر کا جائزہ لینے میں خرچ ہونے والے اضافی کمپیوٹ کی وجہ سے ہم نے سیکھے ہوئے بلوم فلٹر اپروچ کے اسکین مرحلے کے CPU کے استعمال میں اضافہ دیکھا۔ تاہم، اس مرحلے میں کی گئی پری فلٹرنگ نے شفل کیے جانے والے ڈیٹا کے سائز کو کم کر دیا، جس نے ڈاؤن اسٹریم سٹیپس کے ذریعے استعمال ہونے والے CPU کو کم کرنے میں مدد کی، اس طرح کل CPU گھنٹے کم ہو گئے۔
دوسرا، سیکھے ہوئے بلوم فلٹرز میں کل ڈیٹا کا سائز تقریباً 80% کم ہوتا ہے اور باقاعدہ شمولیت کے مقابلے میں تقریباً 80% کم کل شفل بائٹس لکھے جاتے ہیں۔ یہ مزید مستحکم شمولیت کی کارکردگی کا باعث بنتا ہے جیسا کہ ذیل میں بحث کی گئی ہے۔
ہم نے تجربات کے تحت اپنے دوسرے پیداواری کام کے بوجھ میں وسائل کے استعمال کو بھی کم دیکھا۔ پانچوں کام کے بوجھ میں دو ہفتوں کے دوران، سیکھے ہوئے بلوم فلٹر کے نقطہ نظر نے اوسط پیدا کیا روزانہ کی لاگت کی بچت of 25٪ جس میں ماڈل ٹریننگ اور انڈیکس کی تخلیق بھی شامل ہے۔
جوائن کرنے کے دوران ڈیٹا کی تبدیلی کی کم مقدار کی وجہ سے، ہم اپنی تجزیاتی پائپ لائن کے آپریشنل اخراجات کو نمایاں طور پر کم کرنے کے ساتھ ساتھ اسے مزید مستحکم بنانے میں کامیاب رہے۔ گھڑی کا وقت) باقاعدگی سے جوائن کرنے کے کام کے بوجھ کے لیے اور ایک سیکھے ہوئے بلوم فلٹر پر مبنی کام کے بوجھ کے لیے دو ہفتے کی مدت میں ان پانچ کام کے بوجھ کے لیے جن کے ساتھ ہم نے تجربہ کیا۔ لرنڈ بلوم فلٹرز کا استعمال کرتے ہوئے رنز زیادہ مستحکم تھے - مدت میں زیادہ مستقل- جو انہیں سستے عارضی ناقابل بھروسہ کمپیوٹ وسائل میں منتقل کرنے کے امکانات کو کھولتا ہے۔
حوالہ جات
[1] T. Kraska, A. Beutel, EH Chi, J. Dean, and N. Polyzotis. سیکھے ہوئے انڈیکس ڈھانچے کا کیس۔ https://arxiv.org/abs/1712.012082017.
[2] M. Mitzenmacher. سینڈویچنگ کے ذریعے سیکھے ہوئے بلوم فلٹرز کو بہتر بنانا۔
https://arxiv.org/abs/1803.014742018.
¹3 جون 30 کو ختم ہونے والے 2023 ماہ کے مطابق
²3 جون 30 کو ختم ہونے والے 2023 ماہ کے مطابق
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو ڈیٹا ڈاٹ نیٹ ورک ورٹیکل جنریٹو اے آئی۔ اپنے آپ کو بااختیار بنائیں۔ یہاں تک رسائی حاصل کریں۔
- پلیٹوآئ اسٹریم۔ ویب 3 انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- پلیٹو ای ایس جی۔ کاربن، کلین ٹیک، توانائی ، ماحولیات، شمسی، ویسٹ مینجمنٹ یہاں تک رسائی حاصل کریں۔
- پلیٹو ہیلتھ۔ بائیوٹیک اینڈ کلینیکل ٹرائلز انٹیلی جنس۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://blog.roblox.com/2023/11/roblox-reduces-spark-join-query-costs-machine-learning-optimized-bloom-filters/
- : ہے
- : نہیں
- $UP
- 1
- 14
- 2017
- 2018
- 30
- 65
- a
- قابلیت
- ہمارے بارے میں
- غیر حاضر
- تک رسائی حاصل
- اکاؤنٹس
- حاصل کیا
- کے پار
- اس کے علاوہ
- ایڈیشنل
- پتہ
- خطاب کرتے ہوئے
- جوڑتا ہے
- اپنایا
- تمام
- ساتھ
- بھی
- رقم
- an
- تجزیاتی
- اور
- نقطہ نظر
- تقریبا
- فن تعمیر
- کیا
- AS
- At
- اوصاف
- اوسط
- بیک اپ
- متوازن
- کی بنیاد پر
- BE
- کیونکہ
- اس سے پہلے
- شروع کریں
- کیا جا رہا ہے
- نیچے
- فوائد
- کے درمیان
- تعصب
- باصلاحیت
- ارب
- بلاگ
- بلوم
- بڑھا
- دونوں
- لیکن
- by
- کر سکتے ہیں
- کیس
- مقدمات
- مرکوز
- چیلنج
- خصوصیات
- چارٹ
- سستی
- چیک کریں
- انتخاب
- کلاسک
- درجہ بندی
- گھڑی
- کلسٹر
- موازنہ
- مقابلے میں
- موازنہ
- کمپیوٹیشنل
- کمپیوٹنگ
- کمپیوٹنگ
- ترتیب
- سمجھا
- متواتر
- کھپت
- پر مشتمل ہے
- روایتی
- قیمت
- اخراجات
- CPU
- مخلوق
- اعداد و شمار
- ڈیٹا لیک
- دن
- demonstrated,en
- ثبوت
- تعینات
- مطلوبہ
- مختلف
- طول و عرض
- بات چیت
- بات چیت
- مختلف
- تقسیم کئے
- تقسیم کمپیوٹنگ
- تقسیم
- کر
- کیا
- کارفرما
- دو
- کے دوران
- e
- ہر ایک
- مؤثر طریقے
- کارکردگی
- ہنر
- ختم کرنا
- گلے لگا لیا
- ختم
- مشغول
- بڑھاتا ہے
- بڑھانے
- افزودہ
- پوری
- اداروں
- ہستی
- ماحولیات
- قائم
- کا جائزہ لینے
- آخر میں
- مثال کے طور پر
- پھانسی
- مہنگی
- تجربات
- تجربات
- تلاش
- وضاحت کی
- سامنا
- سہولت
- حقیقت یہ ہے
- جھوٹی
- تیز تر
- نمایاں کریں
- خصوصیات
- چند
- فلٹر
- فلٹر
- فائنل
- پانچ
- پیچھے پیچھے
- کے بعد
- فوٹ پرنٹ
- کے لئے
- ملا
- سے
- پیدا
- پیدا ہوتا ہے
- جغرافیائی
- دی
- اچھا
- استعمال کرنا
- ہے
- مدد
- مدد
- انتہائی
- مارو
- HOURS
- کس طرح
- تاہم
- HTTPS
- شناخت کار
- if
- وضاحت کرتا ہے
- تصور
- نفاذ
- کو بہتر بنانے کے
- بہتر
- بہتری
- کو بہتر بنانے کے
- in
- شامل
- اضافہ
- اضافہ
- انڈکس
- اشارہ کرتے ہیں
- انڈیکیٹر
- انفرادی
- معلومات
- معلوماتی
- موروثی طور پر
- ابتدائی
- جدت طرازی
- ضم
- انٹیگریٹٹس
- انضمام کرنا
- بات چیت
- میں
- تعارف
- مسئلہ
- مسائل
- IT
- میں
- میں شامل
- شامل ہو گئے
- شمولیت
- کے ساتھ گفتگو
- جون
- کلیدی
- چابیاں
- لیبل
- نہیں
- جھیل
- زبان
- لیڈز
- سیکھا ہے
- سیکھنے
- قیادت
- کم
- لیورڈڈ
- لوڈ
- محل وقوع
- تلاش
- کھو
- لو
- مشین
- مشین لرننگ
- برقرار رکھنے
- اکثریت
- بنانا
- زیادہ سے زیادہ چوڑائی
- مطلب
- یاد داشت
- پیمائش کا معیار
- دس لاکھ
- لاکھوں
- لاپتہ
- ML
- ماڈل
- ماڈل
- ماہ
- زیادہ
- سب سے زیادہ
- منتقل
- بہت
- ضرورت ہے
- منفی
- منفی
- اگلے
- نوڈ
- تعداد
- اعتراض
- مشاہدہ
- of
- پیش کرتے ہیں
- اکثر
- on
- صرف
- کھولتا ہے
- آپریشن
- آپریشنل
- آپریشنز
- زیادہ سے زیادہ
- اصلاح کے
- کی اصلاح کریں
- اصلاح
- اصلاح
- or
- اوریکل
- دیگر
- ہمارے
- باہر
- پر
- پر قابو پانے
- حصہ
- خاص طور پر
- فی
- فیصد
- کارکردگی
- کارکردگی کا مظاہرہ
- مدت
- فشنگ
- پائپ لائن
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- مثبت
- امکان
- ممکنہ
- صحت سے متعلق
- پیشن گوئی
- پیش گوئی
- کی موجودگی
- حال (-)
- امکان
- مسئلہ
- عمل
- عمل
- پروسیسنگ
- پیداوار
- فراہم
- مقاصد
- سوالات
- تیزی سے
- شرح
- قیمتیں
- توازن
- کو کم
- کم
- کم
- کو کم کرنے
- کہا جاتا ہے
- باقاعدہ
- کو ہٹانے کے
- نمائندگی
- ضرورت
- وسائل
- وسائل سے متعلق
- وسائل
- جوابات
- نتیجہ
- نتیجے
- نتائج کی نمائش
- Roblox
- رن
- چلتا ہے
- اسی
- دیکھا
- اسکین
- دوسری
- سیکشن
- اجلاس
- مقرر
- کئی
- دکھائیں
- دکھایا گیا
- شوز
- فینٹنا
- نمایاں طور پر
- سائز
- چھوٹے
- چھوٹے
- So
- حل
- خلا
- چنگاری
- تیزی
- خرچ
- استحکام
- مستحکم
- تنوں
- مرحلہ
- مراحل
- ڈھانچوں
- بعد میں
- کافی
- اس طرح
- کے نظام
- T
- ٹیبل
- ٹیکل
- شرائط
- سے
- کہ
- ۔
- ان
- یہ
- وہ
- تھرڈ
- اس
- اس طرح
- وقت
- کرنے کے لئے
- کل
- روایتی
- ٹریننگ
- تبدیلی
- درخت
- دو
- اقسام
- کے تحت
- منفرد
- برعکس
- اپ ڈیٹ
- تازہ ترین معلومات
- us
- استعمال
- استعمال کی شرائط
- استعمال کیا جاتا ہے
- رکن کا
- صارفین
- کا استعمال کرتے ہوئے
- اقدار
- دیوار
- تھا
- راستہ..
- we
- مہینے
- اچھا ہے
- تھے
- جب
- چاہے
- جس
- جبکہ
- وکیپیڈیا
- ساتھ
- بغیر
- کام
- کارکن
- گا
- لکھا
- زیفیرنیٹ