Airbnb: التعلم العميق في البحث — +0.6% حجوزات من بنية معمارية جديدة و+14% حجوزات للقوائم الجديدة
يتم إصلاح نتائج الموجة الثانية في اختبارات A/B عبر الإنترنت. بنية معمارية ثنائية الأبراج: +0.6% حجوزات و +0.75% عائد مع −33% زمن استجابة تسجيل p99؛ تأثير جانبي فضولي — انخفض متوسط سعر المنازل المحجوزة بنسبة 2.3%، مما يعني أن النموذج أصبح أفضل في مطابقة تفضيلات السعر للضيوف. رفعت آلية البداية الباردة حجوزات القوائم الجديدة بنسبة 14% (وحصة انطباع صفحتهم الأولى بنسبة 14%)، مما أضاف +0.38% إلى الحجوزات الإجمالية وجعل جانب العرض أكثر صحة. جلب position dropout +0.7% حجوزات إضافية و +1.8% عائد غير متوقع؛ حجوزات الفنادق البوتيكية — قطاع تضرر من الانحياز — ارتفعت بنسبة 1.1%. يجب قراءة النطاق بشكل صحيح: الكسور بالمئة هنا ليست 'نتائج صغيرة'. بحجوم Airbnb، +0.6% حجوزات رقم مطلق ضخم، ومجموع المكاسب المتسلسلة (+0.6%، +0.38%، +0.7% من الورقة الثانية وحدها) تتراكم إلى تأثير تراكمي برقمين على مدى السنين. يسمي الفريق نفسه تطبيق الشبكات العصبية على البحث أحد أكبر قصص نجاح ML للشركة. الحدود صادقة أيضاً: جميع الأرقام هي اختبارات A/B الداخلية المبلغ عنها ذاتياً من قبل الشركة، لكن التفصيل المنهجي والإخفاقات المنشورة تعطي هذه الأرقام وزناً أكبر من بيان صحفي نموذجي. برأينا، القيمة الرئيسية لزوج الأوراق ليست الهياكل المعمارية المحددة (أصبحت الشبكات ثنائية الأبراج والتخفيف من انحياز الموضع قياساً صناعياً منذ زمن طويل) بل الثقافة الموثقة: كان الحكم الوحيد لكل تغيير اختباراً عبر الإنترنت على المال (الحجوزات)، مع استخدام المقاييس غير المتصلة فقط كمرشح للفرضية. حالة رتابة السعر 'الناعمة' مؤشرة: فكرة بديهياً صحيحة وجميلة بدون اتصال فقدت 0.67% من الحجوزات في الإنتاج — بدون انضباط اختبار عبر الإنترنت كانت ستبقى في النظام. ملاحظتنا الثانية: نشرت Airbnb بفعالية 'خريطة الأخطاء الشائعة' لكل من ينقل الشبكات العصبية إلى ترتيب البحث — من الإفراط في توافق المعرف إلى التشبع بدون تطبيع. توفر الشركات التي تتابع هذا المسار أشهراً ليس على نجاحات الآخرين بل على نهايات الآخرين المسدودة؛ بهذا المعنى، نشر الإخفاقات بصراحة هو حالة نادرة من الإيثار الهندسي يعمل أيضاً كعلامة تجارية لصاحب العمل.
- Applying Deep Learning to Airbnb Search (KDD 2019) — Airbnb / arXiv (Haldar et al.), 2018-10-22
- Improving Deep Learning for Airbnb Search (KDD 2020) — Airbnb / arXiv (Haldar et al.), 2020-02-13
- Listing Embeddings in Search Ranking (800 млн сессий, +21% CTR карусели) — Airbnb Engineering Blog (Mihajlo Grbovic), 2018-03-13
السياق
ترتيب البحث هو آلية ML الأساسية في Airbnb: فهو يقرر أي من ملايين القوائم يراها الضيف في صفحة النتائج الأولى — وبالتالي أي المضيفين يحصلون على حجوزات. الاستثمار في البحث يتحول مباشرة إلى أموال، وهذا السبب وراء توثيق تطوره من قبل الفريق بصراحة نادرة في الصناعة: في ورقتي KDD البارزتين — 'تطبيق التعلم العميق على بحث Airbnb' (مسودة arXiv أكتوبر 2018، KDD 2019) و'تحسين التعلم العميق لبحث Airbnb' (arXiv فبراير 2020، KDD 2020)، من تأليف Malay Haldar والزملاء.
هذه الأوراق غير نمطية لنوعها: بدلاً من عرض 'بنية معمارية رائدة'، يصف الفريق مسار سنوات من التحسينات التكرارية مع نسب مكاسب الحجوزات الدقيقة من اختبارات A/B عبر الإنترنت — ويشرح التجارب الفاشلة بنفس القدر من التفصيل. يصرح المؤلفون بوضوح: 'كان التعلم العميق تعلماً شاقاً بالنسبة لنا'، ويختزلون منهجيتهم في المبدأ القائل بأن المستخدمين يقودون والنموذج يتبع — ابحث أولاً عن المشكلة في بيانات السلوك الحقيقية للضيوف، ثم غير البنية المعمارية، وليس العكس.
بحلول الورقة الأولى، كان لدى Airbnb بالفعل بنية تحتية ML ناضجة جداً حول البحث. التخصيص الفوري على تضمينات القوائم كان في الإنتاج منذ 2017: درب فريق Mihajlo Grbovic تمثيلات متجهة بـ 32 بُعد للمنازل على أكثر من 800 مليون جلسة نقر بحث عبر 4.5 مليون قائمة نشطة — دوار 'القوائم المشابهة' على هذه التضمينات حقق 21% CTR. كان الترتيب نفسه يقوده نموذج شجرة القرار معزز بالتدرج (GBDT) حل محل دالة التسجيل اليدوية — إطلاق يعتبره الفريق أحد أكبر تحسينات درجات الحجوزات في تاريخ الشركة. بدأت المشاكل تظهر بعد ذلك النجاح.
المشكلة
قدم النموذج الأول لـ gradient-boosting قفزة قوية، لكن المكاسب جفت بعد ذلك: استمر الفريق في زيادة الجهد بينما عادت اختبارات A/B محايدة مراراً وتكراراً. هذا هو الجمود الكلاسيكي لنظام ML ناضج — عندما يتوقف ضبط الميزات والمعاملات الفائقة عن تحريك المقياس التجاري، مما يطرح سؤال تحول نموذجي بنتيجة غير متوقعة.
مشكلة البحث في Airbnb تقاوم أيضاً الحلول الجاهزة من أدبيات الترتيب. لا يكرر المستخدمون أبداً تقريباً الاستعلام عن نفس 'العنصر': الضيف الذي زار باريس يبحث عن روما بعد ذلك. العرض مقيد بشدة: منزل واحد لمجموعة واحدة من التواريخ يمكن حجزه من قبل ضيف واحد فقط، لذا لا يمكن للنتائج أن تعرض ببساطة 'الأكثر شعبية'. السوق ثنائي الأطراف — الترتيب يوازن بين مصالح الضيوف والمضيفين، والإشارات السلوكية (النقرات والحفظ وطلبات الحجز) مزعجة ومنحازة.
استحقت انحيازتان نظاميتان هجمات مخصصة. أولاً، البداية الباردة: تأخرت القوائم الجديدة بدون سجل تفاعل بحوالي 6% NDCG مقارنة بالقوائم الموجودة؛ المفارقة هي أن ميزات التفاعل ذاتها التي تعطي النموذج قوته (إزالتها كلفت 4.5% NDCG) دفنت الوافدين الجدد في أسفل النتائج — وبدون قوائم جديدة، نمو العرض يختنق. ثانياً، انحياز الموضع: يحجز الضيوف ما يظهر أعلى أكثر، لذا فإن بيانات التدريب تضخم جودة القوائم في أعلى الموضع، والنموذج المدرب على هذه السجلات يؤكد ذاتياً أخطاء الترتيب القديمة.
الحل
الانتقال إلى الشبكات العصبية تم على دفعات، كل منها تم التحقق منها بواسطة اختبار A/B للحجوزات عبر الإنترنت. المحاولة الأولى — شبكة بسيطة بطبقة مخفية واحدة من 32 وحدة ReLU — أثبتت أنها محايدة للحجوزات مقابل GBDT. جاء الاختراق مع Lambdarank NN: خسارة ترتيب على أزواج مرجوة/غير مرجوة موزونة بفروق NDCG. ثم مجموعة حيث تغذي مؤشرات أوراق GBDT وتنبؤات آلة التحليل الشبكة كميزات. نهاية الورقة الأولى هي شبكة عميقة: 195 ميزة (بعد توسيع الفئات إلى تضمينات)، طبقتان مخفيتان من 127 و83 ReLU، مدربة على 1.7 مليار زوج انطباع-نتيجة. قدم DNN مكاسب مماثلة لتكديس جميع النماذج السابقة — مع نظام أبسط بكثير.
تحصل النهايات المسدودة على مساحة متساوية في الأوراق. تضمينات معرف القائمة — خدعة معيارية في الصناعة — أدت إلى الإفراط في التوافق: حتى المنزل الأكثر شعبية يتم حجزه على الأكثر 365 مرة في السنة، وليس إشارة كافية لكل معرف. التعلم متعدد المهام (التنبؤ بالحجوزات والعروض الطويلة) زاد العروض بشكل حاد — ولم يحرك الحجوزات. كل متغير dropout أدى إلى تدهور المقاييس غير المتصلة؛ الاتصالات المتبقية و Deep & Wide وشبكات الانتباه 'فشلت في تحريك المؤشر'. دروس منفصلة تتعلق بالبيانات والهندسة: بدون تطبيع الميزات، تشبع التدريب في منتصف التشغيل، بينما تحويل خط الأنابيب من CSV إلى Protobuf سرّع التدريب بمقدار 17 مرة وزاد استخدام GPU إلى ~90%.
الورقة الثانية (KDD 2020) هي الدور التالي. بنية معمارية ثنائية الأبراج تقسم النموذج إلى 'برج الاستعلام' و'برج القائمة'، حيث يضغط كل منها جانبه إلى متجه بـ 100 بُعد؛ الصلة هي المسافة بين المتجهات. هذا ليس فقط الجودة (+0.7% NDCG عبر الإنترنت) بل الأداء: تنخفض تعقيد التسجيل من O(N·H·(Q+L)) إلى O(N·H_l·L + H_q·Q)، مما يقلل زمن استجابة الـ 99 بالمئة بنسبة 33%.
بالنسبة للبداية الباردة، بنوا آلية تقدير التفاعل للقوائم الجديدة: بدلاً من السجل المفقود، يتلقى النموذج توقعاً للتفاعل محسوباً من القوائم المجاورة. تم التغلب على انحياز الموضع بواسطة position dropout: يتم إدخال موضع العرض في النموذج كميزة ولكن يتم تصفيره عشوائياً أثناء التدريب (المعدل المختار — 0.15) حتى لا يتعلم النموذج 'أعلى الصفحة = جيد'. تتم تسجيل الإخفاقات مرة أخرى: قسوة رتابة السعر أسقطت الحجوزات بنسبة 1.6%؛ الإصدار 'الناعم' — جميل بدون اتصال — أنتج −0.67% في الإنتاج، وتم إرجاع الاختبار.
النتيجة
يتم إصلاح نتائج الموجة الثانية في اختبارات A/B عبر الإنترنت. بنية معمارية ثنائية الأبراج: +0.6% حجوزات و +0.75% عائد مع −33% زمن استجابة تسجيل p99؛ تأثير جانبي فضولي — انخفض متوسط سعر المنازل المحجوزة بنسبة 2.3%، مما يعني أن النموذج أصبح أفضل في مطابقة تفضيلات السعر للضيوف. رفعت آلية البداية الباردة حجوزات القوائم الجديدة بنسبة 14% (وحصة انطباع صفحتهم الأولى بنسبة 14%)، مما أضاف +0.38% إلى الحجوزات الإجمالية وجعل جانب العرض أكثر صحة. جلب position dropout +0.7% حجوزات إضافية و +1.8% عائد غير متوقع؛ حجوزات الفنادق البوتيكية — قطاع تضرر من الانحياز — ارتفعت بنسبة 1.1%.
يجب قراءة النطاق بشكل صحيح: الكسور بالمئة هنا ليست 'نتائج صغيرة'. بحجوم Airbnb، +0.6% حجوزات رقم مطلق ضخم، ومجموع المكاسب المتسلسلة (+0.6%، +0.38%، +0.7% من الورقة الثانية وحدها) تتراكم إلى تأثير تراكمي برقمين على مدى السنين. يسمي الفريق نفسه تطبيق الشبكات العصبية على البحث أحد أكبر قصص نجاح ML للشركة. الحدود صادقة أيضاً: جميع الأرقام هي اختبارات A/B الداخلية المبلغ عنها ذاتياً من قبل الشركة، لكن التفصيل المنهجي والإخفاقات المنشورة تعطي هذه الأرقام وزناً أكبر من بيان صحفي نموذجي.
برأينا، القيمة الرئيسية لزوج الأوراق ليست الهياكل المعمارية المحددة (أصبحت الشبكات ثنائية الأبراج والتخفيف من انحياز الموضع قياساً صناعياً منذ زمن طويل) بل الثقافة الموثقة: كان الحكم الوحيد لكل تغيير اختباراً عبر الإنترنت على المال (الحجوزات)، مع استخدام المقاييس غير المتصلة فقط كمرشح للفرضية. حالة رتابة السعر 'الناعمة' مؤشرة: فكرة بديهياً صحيحة وجميلة بدون اتصال فقدت 0.67% من الحجوزات في الإنتاج — بدون انضباط اختبار عبر الإنترنت كانت ستبقى في النظام.
ملاحظتنا الثانية: نشرت Airbnb بفعالية 'خريطة الأخطاء الشائعة' لكل من ينقل الشبكات العصبية إلى ترتيب البحث — من الإفراط في توافق المعرف إلى التشبع بدون تطبيع. توفر الشركات التي تتابع هذا المسار أشهراً ليس على نجاحات الآخرين بل على نهايات الآخرين المسدودة؛ بهذا المعنى، نشر الإخفاقات بصراحة هو حالة نادرة من الإيثار الهندسي يعمل أيضاً كعلامة تجارية لصاحب العمل.
الدروس المستفادة
- الجمود بعد النجاح المبكر أمر طبيعي: عندما توقف GBDT عن الإسداء، كان الحل هو تحول نموذجي (الشبكات العصبية)، وليس ضبط الميزات بلا نهاية.
- تحقق من كل تحسن باستخدام مقياس المال عبر الإنترنت (الحجوزات)، وليس فقط NDCG بدون اتصال: رتابة السعر 'الناعمة' فازت بدون اتصال وفشلت في الإنتاج بـ −0.67%.
- تستحق البداية الباردة آليتها الخاصة: تقدير التفاعل للقوائم الجديدة رفع حجوزاتها بنسبة 14% وجعل السوق أكثر صحة.
- انحياز الموضع يفسد بيانات التدريب: خدعة position dropout البسيطة (معدل 0.15) تحولت إلى +0.7% حجوزات و +1.8% عائد.
- يمكن للبنية المعمارية أن تدفع ثمنها في الأداء: لم تضيف شبكة البرج الثنائي الحجوزات فقط بل قللت زمن استجابة p99 بنسبة 33% بتقليل تعقيد التسجيل.
- لا تنتقل الحيل القياسية عمياء: تضمينات معرف القائمة تفرط في التوافق (يتم حجز المنزل 365 مرة في السنة على الأكثر)، و dropout أدى إلى تدهور المقاييس غير المتصلة.
- انشر الإخفاقات أيضاً: أوراق Airbnb قيمة بالضبط لأنها توثق النهايات المسدودة (residual، Deep & Wide، attention، multi-task) التي توفر شهوراً لفرق أخرى.
الأسئلة الشائعة
كم عدد الحجوزات التي أضافها التعلم العميق إلى بحث Airbnb؟
في اختبارات A/B عبر الإنترنت من أوراق KDD: أضافت بنية معمارية ثنائية الأبراج +0.6% حجوزات و +0.75% عائد، آلية البداية الباردة +0.38% حجوزات إجمالية (+14% للقوائم الجديدة)، و position dropout +0.7% حجوزات إضافية و +1.8% عائد. بحجم Airbnb، كل كسر بالمئة هو رقم مطلق كبير.
لماذا انتقلت Airbnb من gradient boosting إلى الشبكات العصبية؟
قدم نموذج GBDT الأول أحد أكبر قفزات الحجوزات في تاريخ الشركة، لكن المكاسب جفت بعد ذلك في سلسلة طويلة من اختبارات A/B المحايدة. أعادت الشبكات العصبية المدربة على 1.7 مليار زوج انطباع-نتيجة نمو المقياس؛ طابقت DNN النهائية مكاسب تكديس جميع النماذج السابقة.
ما هي بنية معمارية ثنائية الأبراج وماذا قدمت؟
ينقسم النموذج إلى 'برج استعلام' و'برج قائمة'، حيث يضغط كل منها جانبه إلى متجه بـ 100 بُعد؛ الصلة هي المسافة بين المتجهات. النتيجة: +0.6% حجوزات، +0.75% عائد، و −33% زمن استجابة تسجيل p99 بفضل تقليل التعقيد الحسابي.
كيف حلت Airbnb مشكلة البداية الباردة للقوائم الجديدة؟
تأخرت القوائم الجديدة بحوالي 6% NDCG من انعدام سجل التفاعل. بنى الفريق آلية تقدير التفاعل: يتلقى النموذج توقعاً للتفاعل محسوباً من قوائم مجاورة مشابهة. ارتفعت حجوزات القوائم الجديدة بنسبة 14%.
هل كان لدى Airbnb تجارب ML فاشلة في البحث؟
نعم، والأوراق توثقها: تضمينات معرف القائمة تفرط في التوافق، التعلم متعدد المهام زاد العروض بدون حجوزات، الاتصالات المتبقية و Deep & Wide و attention 'فشلت في تحريك المؤشر'، رتابة السعر الصارمة كلفت −1.6% حجوزات والإصدار 'الناعم' −0.67%؛ تم إرجاع كلا الاختبارين.