A scalable online machine learning approach for Stock Recommendation
تقدم هذه الورقة نظاماً قابلاً للتوسع، ومقاوماً للأعطال، لتوصية الأسهم عبر التعلم العميق عبر الإنترنت، مبنياً على بنية خدمات مصغرة موزعة تستخدم نموذج القائد والتابع الهجين للتدريب المستمر والخدمة منخفضة زمن الاستجابة، محققاً إنتاجية عالية مع معالجة تحديات مثل انزياح المفاهيم وتقادم بيانات واجهة برمجة التطبيقات.
تخيل أنك تسير في سوق ضخمة وفوضوية، حيث يتغير سعر كل سلعة فيها كل ثانية. بعض هذه السلع هي أسهم، والناس يشترون ويبيعون ويغيرون آراءهم باستمرار حول ما يريدون. في عالم علوم الحاسوب، هذا هو مجال تعلم الآلة، وتحديداً فرع يسمى التعلم عبر الإنترنت (online learning). وخلافاً للحواسيب التقليدية التي تدرس كتاباً مدرسياً ضخماً مرة واحدة ثم تتوقف، فإن التعلم عبر الإنترنت يشبه طالباً يستمر في قراءة الصحيفة كل صباح، ويحدث معرفته فوراً مع تغير العالم. هذا الأمر بالغ الأهمية لأشياء مثل أسواق الأسهم لأن "قواعد" اللعبة (ما الذي يجعل السهم جيداً أو سيئاً) تتغير باستمرار. إذا انتظر نموذج الحاسوب لفترة طويلة ليتعلم، فسيصبح الأمر كمن يحاول لعب كرة القدم باستخدام خريطة من العام الماضي؛ ببساطة لن ينجح الأمر. التحدي الكبير أمام العلماء هو بناء نظام يتعلم بسرعة كافية لمواكبة هذه التغييرات، وفي الوقت نفسه يكون قادراً على التحدث مع آلاف الأشخاص في وقت واحد دون أن ينهار.
تقدم هذه الورقة البحثية التي كتبها "هارش ناغاركار" حلاً ذكياً لهذه المشكلة: نظام توصية بالأسهم عبر الإنترنت قابل للتوسع. فكر في النظام كفريق عالي التقنية وموزع من مستشاري الأسهم يعملون في مبنى مكاتب ضخم. ينقسم الفريق إلى دورين: "القائد" وعدد كبير من "التابعين". القائد هو الوحيد المسموح له بالقيام بالعمل الشاق المتمثل في التعلم. فهو يراقب تدفق بيانات السوق — مثل صقر يرصد اتجاهاً جديداً — ويقوم باستمرار بتحديث دماغه (النموذج الرياضي) بمعلومات جديدة. وبمجرد أن يكتشف القائد استراتيجية جديدة، يقوم بسرعة بكتابة تلك التعليمات الجديدة في دفتر ملاحظات سحابي مشترك. أما التابعون، من ناحية أخرى، فهم الذين يتحدثون بالفعل مع المستخدمين. هم لا يقومون بأي عملية تعلم؛ بل يأخذون فقط أحدث التعليمات من الدفتر السحابي ويخبرون المستخدم فوراً: "مهلاً، بناءً على ما تحبه، يجب أن تشتري هذا السهم".
وجدت الورقة البحثية أن إعداد "القائد والتابع" هذا يعمل بشكل جيد بشكل مفاجئ. يمكن للنظام التعامل مع كمية هائلة من حركة المرور، حيث يعالج ما يصل إلى 300 طلب إضافة لمحفظة استثمارية في الثانية لكل تابع. وعندما يطلب المستخدم توصية، يقدمها النظام في غضون 2 إلى 3 ثوانٍ فقط. النموذج نفسه بسيط بشكل مدهش، إذ لا يحتاج سوى لخمس قطع من المعلومات لإجراء تخمين: اسم السهم، سعره الحالي، ربحية السهم (EPS)، ومؤشرين فنيين هما MACD-K و MACD-S. ومن خلال استخدام تقنية تسمى "التعلم بنقل المعرفة" (transfer learning)، يمكن للنظام التكيف مع ذوق المستخدم المتغير (مثل إذا أصبح أكثر حذراً تجاه المخاطر فجأة) دون الحاجة إلى إعادة بنائه بالكامل من الصفر.
ومع ذلك، تحرص الورقة البحثية على الإشارة إلى أن هذا ليس آلة سحرية لصنع المال. فالنظام له حدود واقعية. نظراً لأن البيانات تأتي من خدمة واجهة برمجة تطبيقات (API) محددة، فإن المعلومات ليست دائماً طازجة؛ فقد تصل مدة قدم البيانات إلى 150 دقيقة قبل أن يتم تحديثها. وهذا يعني أن "خريطة السوق" التي يستخدمها النظام قد تكون قديمة نوعاً ما. أيضاً، يفتقر النظام حالياً إلى بعض طبقات الأمان المتقدمة، مثل "شبكة الخدمة" (service mesh)، والتي ستعمل كحارس أمني للمحادثات الداخلية بين خوادم الكمبيوتر. ويقترح المؤلفون أنه بينما يعد هذا الهيكل نموذجاً أولياً صلباً وعاملاً يوازن بين السرعة والتعلم، فإن النسخ المستقبلية تحتاج إلى ترقية تغذية البيانات لتكون أسرع وإضافة المزيد من الأمان لتكون جاهزة للعالم الحقيقي. في النهاية، تشير الورقة إلى أن فصل جزء "التعلم" عن جزء "التحدث" هو طريقة ذكية لبناء أنظمة يمكنها النمو والتكيف دون أن تنكسر.
ملخص تقني: نهج تعلم آلي عبر الإنترنت قابل للتوسع لتوصية الأسهم
بيان المشكلة تواجه أنظمة توصية الأسهم تحدياً مزدوجاً: الحاجة إلى التكيف مع ظروف السوق المتغيرة بسرعة (انزياح المفهوم - concept drift)، وفي الوقت نفسه الحفاظ على زمن استجابة منخفض للتنبؤات للمستخدمين النهائيين. تفشل نماذج التدريب بالدفعات (batch-trained models) التقليدية في رصد التحولات اللحظية في تفضيلات المستخدمين أو اتجاهات السوق، كما تعاني البنى الهيكلية الموحدة (monolithic architectures) غالباً في توفير القدرة على تحمل الأخطاء تحت الأحمال الثقيلة. تعالج الورقة مشكلة محددة وهي كيفية بناء نظام توصية أسهم عبر الإنترنت يكون قابلاً للتوسع وقادراً على التعلم المستمر دون المساس بالتوافرية.
المنهجية الحل المقترح هو نظام تعلم عميق عبر الإنترنت وموزع، مبني على بنية الخدمات المصغرة (microservices) باستخدام Kubernetes و Docker و RabbitMQ. يرتكز جوهر النظام على بنية هجينة من القائد والتابعين (hybrid leader-follower architecture):
استيعاب البيانات: يستوعب النظام بيانات كمية أساسية وفنية (ربحية السهم [EPS]، مؤشر MACD-K، مؤشر MACD-S، السعر الحالي، واسم السهم) لأسهم مؤشر S&P 500 عبر واجهة برمجة تطبيقات Alpha Vantage Pro.
بنية النموذج: يستخدم محرك التوصية نموذج TensorFlow Recommenders لتنفيذ شبكة إدراك متعددة الطبقات (MLP). ويعتمد نهجاً قائماً على المحتوى حيث يقدم المستخدمون تقييمات صريحة (1–5) للأسهم.
القائد (The Leader): تعمل نسخة نموذج أولية واحدة بشكل مستمر على التدريب باستخدام البيانات المتدفقة. وعند معالجة الملاحظات، تقوم بتحديث أوزان النموذج وحفظها فوراً في تخزين Google Cloud Object Storage. وفي حالة الفشل، يمكن للقائد إعادة التدريب من الملاحظات المسجلة في PostgreSQL.
التابعون (The Followers): تعمل نسخ نماذج متكررة متعددة عديمة الحالة (stateless) لتقديم التوصيات للمستخدمين بالتوازي. هذه النسخ لا تكتب على القرص؛ بل تقوم بتحميل أحدث الأوزان من مخزن القائد عند بدء التشغيل أو إعادة التشغيل. هذا التصميم يفصل حلقة التدريب عن حلقة الاستدلال، مما يسمح بالتوسع الأفقي.
تدفق البيانات: يتم وضع طلبات المستخدمين وبيانات الأسهم الواردة في طوابير عبر RabbitMQ، والذي يقوم بتوزيع البيانات (fan out) إلى كل من القائد والتابعين. يستخدم النظام BigQuery لتخزين بيانات الأسهم التاريخية و PostgreSQL لبيانات محافظ المستخدمين.
آلية التدريب: يتم تحديث النموذج بشكل تدريجي. حيث يتدرب لثلاث دورات (epochs) على كل ملاحظة جديدة باستخدام مُحسن Adagrad. ويستخدم التعلم بنقل المعرفة (transfer learning) ويتعامل مع انزياح المفهوم من خلال التكيف المستمر مع التقييمات الجديدة مع "نسيان" البيانات القديمة تدريجياً.
المساهمات الرئيسية تحدد الورقة خمس مساهمات رئيسية في مجال أنظمة التوصية المالية عبر الإنترنت:
بنية هجينة (قائد-تابع): تصميم مبتكر يفصل التدريب المستمر عن تقديم الخدمة بزمن استجابة منخفض. وهذا يسمح للتابعين بالتوسع أفقيًا دون المساس بحداثة النموذج ويوفر مساراً واضحاً للتعافي من الفشل عبر استمرارية الأوزان ومتانة الرسائل.
التعلم عبر الإنترنت القائم على التقييم الصريح: يثبت أن نموذج التعلم العميق عبر الإنترنت الذي يستخدم التقييمات الصريحة للمستخدمين (1–5) يمكنه تخصيص التوصيات بفعالية ورصد انزياح المفهوم في تحمل المخاطر لدى المستخدم دون الحاجة إلى إعادة تدريب كاملة.
فعالية مجموعة الميزات الدنيا: يظهر أن التوصيات ذات المعنى والقريبة من الوقت الفعلي يمكن إنتاجها باستخدام خمسة معلمات فقط (EPS، MACD-K، MACD-S، السعر، واسم السهم)، مما يشير إلى أن هندسة الميزات المكثفة ليست ضرورية دائماً لنماذج التعلم عبر الإنترنت في هذا المجال.
بنية مرجعية جاهزة للإنتاج: توفر حزمة برمجية مفتوحة المصدر ومكتملة التنفيذ (Kubernetes، Docker، RabbitMQ، PostgreSQL، TensorFlow Recommeters) مع خصائص أداء مقاسة تجريبياً، مما يوفر خارطة طريق عملية للممارسين.
توثيق القيود: تقدم شفافية فيما يتعلق بأنماط الفشل العملية، بما في ذلك دلالات تعافي القائد، وسلوك البداية الباردة (cold start)، وغياب أمن شبكة الخدمة (service mesh)، مما يوجه الاتجاهات البحثية المستقبلية.
النتائج والأداء تم تقييم النظام بناءً على قدرته على تقديم التوصيات ومعالجة حجم العمل:
زمن الاستجابة (Latency): يولد النظام توصيات الأسهم في غضون 2–3 ثوانٍ لكل طلب.
الإنتاجية (Throughput): يمكن لكل نسخة تابع معالجة ما يصل إلى 300 إلى 500 طلب إضافة محفظة في الثانية.
التوافرية (Availability): تضمن البنية الهيكلية توافراً عالياً؛ حيث يمكن للتابعين التعافي بسلاسة وإعادة تحميل الأوزان عند الفشل، كما يضمن RabbitMQ عدم فقدان البيانات أثناء فترات التوقف.
الأهمية والقيود تضع هذه الورقة عملها كمرجع عملي يوازن بين الاتساق والتوافر والقابلية للتوسع في سياق مالي. وتُقر بأن النظام، رغم كونه فعالاً، يعمل وفق مقايضات محددة:
تقادم البيانات: بسبب قيود معدل الطلبات في واجهة برمجة التطبيقات (75 طلباً في الدقيقة في خطة Pro)، يتم تحديث بيانات الأسهم كل 150 دقيقة فقط، مما يؤدي إلى احتمال تقادم المؤشرات.
الأمن: يفتقر التنفيذ الحالي إلى شبكة خدمة (service mesh) وإدارة الهوية والوصول (IAM) لأمن ما بين العناقيد (inter-cluster security).
الاختناقات: سرعة كتابة القائد إلى التخزين السحابي (2–5 ثوانٍ) واستخدام أقفال الانتظار النشط (busy-wait locks) لضمان سلامة الخيوط (thread safety) يحدان من الإنتاجية القصوى.
يخلص المؤلفون إلى أنه بينما يثبت النظام بنجاح جدوى التعلم عبر الإنترنت القابل للتوسع لتوصيات الأسهم، يجب أن تعالج الإصدارات المستقبلية زمن انتقال البيانات، والثغرات الأمنية، وكفاءة الاسترجاع (على سبيل المثال، الانتقال من البحث الشامل إلى خوارزميات SCANN) لتلبية متطلبات مستوى الإنتاج.