HeadlinesBriefing favicon HeadlinesBriefing.com

من النموذج إلى الخدمة: ML مفيد بـ FastAPI

Towards Data Science •
×

قبل بضعة أشهر، حاولت تحدي نف myself للشروع في رحلة للانتقال من خلفية في تحليل البيانات إلى هندسة البيانات. حتى الآن قمت ببناء ما مجموعه مشروعين حقيقيين مؤثرين علماني في الواقع شيئًا مفيدًا. قمت ببناء خط معالجة Git Hub ET L يستخرج مستودعات Git Hub ويقوم بتحميلها في قاعدة بيانات SQLite — كان هذا يعمل وفق جدول زمني باستخدام Git Hub Actions. كما قمت ببناء خط معالجة RSS يستخرج المقالات من موجات RSS ويخزنها في قاعدة بيانات Kestra — منسق بواسطة Kestra للعمل وفق جدول زمني كل ساعة. الآن بعد أن فهمت ET L إلى حد ما، أردت تجربة شيء جديد. أردت الاستمرار في ممارسة كل ما تعلمته في الماضي أثناء بناء شيء جديد. كنت دائمًا مفتونًا بمجال تعلم الآلة، لكنني لم أكن لدي الشجاعة للدخول إليه لأنني كنت أعتقد أنه يتضمن رياضيات معقدة. ليس بعد الآن. مؤخرًا، قمت ببناء نموذج تنبؤ بخسارة العملاء لشركة اتصالات خيالية أسميها Northline Mobile (ملاحظة: أنا أستخدم شركة خيالية لأنني أفهم الأشياء بشكل أفضل مع سيناريوهات العالم الحقيقي). قدمت له بيانات من 7043 عميل، أخبرته ما إذا كانوا قد اشتركوا في عقد لمدة عام واحد أو خطط شهرية، ومدة العميل، والرسوم الشهرية، والخدمات الإضافية، إلخ. علاوة على ذلك، أخبرته من غادر في النهاية Northline Mobile. قمت بالتحقق المتقاطع للنموذج مع عملاء لم يرهم بعد. حقق دقة 81%. هذا علمني كل ما يدخل في بناء نموذج. من الواضح أنني لم أفهم كل التعليمات البرمجية المعقدة، لأنني أفضل واجهات السحب والإفلات البديهية بدلاً من التعليمات البرمجية المعقدة. لكنني فهمت اللبنات الأساسية لبناء نموذج؛ سأشرح أكثر أدناه مع بنية مبسطة. لذا بناء هذا النموذج شعر كأنه فوز من منظور تعلم الآلة؛ نموذجي عمل. لكن كان لا يزال هناك مشكلة واحدة: لم يكن مفيدًا حقًا بعد. بافتراض أن موظف Northline يحتاج إلى تنبؤ ويأتي إلي، سأضطر إلى فتح Jupyter، وتحميل الدفتر الصحيح، وتشغيل الخلايا بالترتيب الصحيح وإجراء مكالمة يدلية إلى predict_churn(). نعم، النموذج موجود، لكنني كنت الشخص الوحيد الذي يعرف كيفية استخدامه. لا أحد آخر في Northline يمكنه ببساطة إرسال معلومات عن عميل إلى النموذج واسترداد تنبأ ولم يكن قادرًا على التحدث إلى أي تطبيق آخر either. هذه المقالة ستغطي هذا. تعلمت مؤخرًا أن هناك فرقًا بين امتلاك نموذج وامتلاك خدمة. إذا كان النموذج مجرد جالس في دفتر ملاحظات فقط الشخص الذي بناه يمكنه استخدامه. لكن جعله خدمة يجعل من الممكن للجميع استخدامه، فرق أخرى، تطبيقات، لوحات معلومات وأنظمة لا تحتاج إلى معرفة أو الاهتمام بكيفية صنع التنبؤ. اتضح أن بناء نموذج تعلم الآلة كان الجزء الأسهل، لكن جعله مفيدًا هو عنصر حاسم آخر يستحق الاستكشاف. ماذا يعني 'تم' قبل ال APIإليك تقريبًا كيف كان بناء النموذج يبدو: هذا إلى حد كبير. لا شيء خيالي جدًا. بحلول نهاية ذلك، كان لدي مصنف خسارة عملاء مدرب، خط معالجة مسبق ينظف ويشفر البيانات الخام، وأرقام تقييم كنت مرتاحًا معها (المزيد عن تلك الأرقام قريبًا، إنها ليست مثالية ولن أتظاهر بأنها كذلك). لكن كما قلت. بافتراض أن فريق الاحتفاظ بـ Northline يبني لوحة معلومات، ويريدون منها تمييز العملاء المعرضين للخطر تلقائيًا. لا يمكن بلوحة المعرفة الخاصة بهم فتح دفتر Jupyter الخاص بي وتشغيل خلاياي بشكل معقول. تحتاج إلى شيء آخر تمامًا. شيء مثل هذا: هذا هو التحول الذي تغطيه هذه المقالة. تنبيه سريع، مع ذلك: هذا ليس درسًا تعليميًا لـ Fast API. Fast API هو ببساطة الأداة التي استخدمتها لعرض النموذج كـ...