True ML Talks #2 - سير عمل التعلم الآلي @ Stitch Fix

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
لقد تلقينا استجابة مشجعة للغاية على حلقتنا الأولى من True ML Talks. في هذه السلسلة، نتعمق في مسار عمل تعلم الآلة لعدد قليل من شركات تعلم الآلة الرائدة، وفي حلقة اليوم، نتحدث مع Stefan Krawczyk.
يقوم ستيفان ببناء DAGWorks، وهي منصة تعاونية مفتوحة المصدر لفرق علم البيانات لبناء وصيانة مسارات عمل النماذج، تتكامل مع البنية التحتية الحالية لـ MLOps والبيانات (اقرأوا YC Launch). لديه أكثر من 15 عامًا من الخبرة في شركات مثل Nextdoor وLinkedIn وStitch Fix في مجال البيانات وتعلم الآلة. قاد سابقًا فريق دورة حياة النماذج في Stitch Fix، حيث اكتسب خبرة واسعة في بناء أدوات الخدمة الذاتية لمنصة تعلم الآلة MLOps داخلية. وهو أيضًا متحدث منتظم في المؤتمرات ومؤلف إطار العمل مفتوح المصدر الشهير، Hamilton.
📌
ستدور محادثاتنا مع ستيفان حول أربعة محاور رئيسية:
1. حالات استخدام تعلم الآلة للأعمال.
2. كيف يتم تنظيم فريق Stitch Fix لتحسين نتائج الأعمال.
3. التحديات التي تواجه بناء مكدس تعلم الآلة مع التحديات الخاصة المتعلقة بالصناعة.
4. نظرة عامة على الابتكارات المتطورة المطبقة أثناء عملية بناء وتوسيع البنية التحتية لتعلم الآلة.
شاهدوا الحلقة الكاملة أدناه:
حالات استخدام تعلم الآلة في Stitch Fix: خدمة تنسيق أزياء شخصية عبر الإنترنت
- نظام التوصية ← نماذج للتنبؤ والمحاكاة، توفر تفصيلاً لأحجام ونطاقات التخصيص.
- التنبؤ والمحاكاة → عندما يقرر المشترون كمية الملابس التي سيشترونها، يجب عليهم تحديد الأحجام والسكان المستهدفين. يتضمن ذلك سلسلة متتالية من التنبؤات التي يستخدمها الأشخاص داخليًا للمساعدة في المحاكاة أو التنبؤ. يقوم فريق الخوارزميات في Stitch Fix ببناء نماذج لهذا الغرض، موفرًا تفصيلاً لنطاقات الأحجام والتخصيص. اقرأ المزيد عنها هنا
- نظام تخطيط موارد المؤسسة الداخلي → قامت Stitch Fix بشكل أساسي ببناء نظام تخطيط موارد المؤسسة (ERP) الداخلي الخاص بها باستخدام الخوارزميات. يساعد هذا النظام في التخطيط للمخزون والتخزين وتحسين أسعار الشحن. اقرأ المزيد عنها هنا.
- تحسين المسار عبر المستودع → لدى Stitch Fix فريق يعمل على تحسين المسارات داخل المستودع، لضمان اختيار أقصر طريق لجمع الطلبات. يساعد هذا التحسين في تقليل التكلفة ووقت معالجة الطلبات.
- لوجستيات المستودعات → يعمل فريق الخوارزميات في Stitch Fix أيضًا على تحسين عملية جمع الملابس من الصناديق لتلبية الطلبات. يمكن لـ Stitch Fix توفير التكاليف وتقليل أوقات معالجة الطلبات عن طريق تسريع هذه العملية.
سير عمل نظام التعلم الآلي (ML) في Stitch Fix
لدى Stitch Fix فريقان يعملان على أنظمة التعلم الآلي (ML) الخاصة بها - فريق علم البيانات وفريق المنصة.
- فريق علم البيانات: فريق علم البيانات، المنظم في أقسام متخصصة تساعد أجزاء مختلفة من العمل، مكلف ببناء نماذج لمساعدة الفرق الأخرى في العمل على اتخاذ القرارات.
- فريق المنصة: يقوم فريق المنصة ببناء تجريدات وأدوات حتى لا يضطر علماء البيانات إلى بذل الكثير من الجهد الهندسي لإنجاز عملهم. ينقسم الفريق إلى عدة مكونات، مثل Spark وHadoop وKafka والبنية التحتية ونظام التنسيق والبيئات. يوجد أيضًا فريق مسؤول عن مكدس التوصيات ونشر الخدمات المصغرة، بالإضافة إلى اختبار A/B والتجارب. يركز الفريق على عناصر التشغيل، مثل تسهيل تدريب النماذج ونشرها وصيانتها.
👉
فريق علم البيانات مسؤول عن امتلاك النماذج وامتلاك النتائج. يضمن فريق المنصة توفر البنية التحتية للنشر ومكوناتها.
لم يكن هناك "تسليم" للنموذج بين فريق علم البيانات وفريق المنصة. يساعد هذا في الحصول على المزيد من التكرارات مع النموذج.
إدارة تخصيص البنية التحتية
يتولى فريق المنصة مسؤولية تخصيص البنية التحتية، والذي كان يمتلك بشكل عام حصص الموارد المتاحة. يمكن لعلماء البيانات طلب العُقد أو مجموعات Spark الأخرى عبر واجهة مستخدم. تُجرى بعض المحاسبة لضمان عدم تصاعد التكاليف بشكل غير مبرر. حاول فريق المنصة تمكين الأشخاص من الحصول على ما يريدونه بسهولة دون بذل الكثير من الجهد، وكانت هناك فرق تمتلك الحصص وتضمن بقاء التكاليف تحت السيطرة.
تحديات فريدة في التعلم الآلي وعمليات MLOps في Stitch Fix
- في Stitch Fix، يعمل أكثر من 100 عالم بيانات على تطوير النماذج. ومع امتلاك كل عالم بيانات لنموذج يبلغ متوسط عمره سنتين على الأقل، كان هناك العديد من الفرق التي تبني الكثير من النماذج، وكان تمكين الملكية لفريق يمثل تحديًا كبيرًا. لقد بنى فريق المنصة في Stitch Fix العديد من الحلول داخليًا واشترى القليل فقط بسبب التباين في المكتبات والأطر المستخدمة. كان التوحيد القياسي سيجعل بعض المنصات أسهل، لكن الفرق المختلفة كانت لديها مشاكل ومكتبات مختلفة كانت أكثر ملاءمة لتلك المشاكل. اضطر فريق المنصة في Stitch Fix إلى بناء حلولهم الخاصة، مثل Model Envelope و Hamilton، لأنه لم تكن هناك حلول مفتوحة المصدر تلبي احتياجاتهم بشكل جيد.
- بينما من السهل إنشاء النماذج، يجب على شخص ما صيانة جميع عمليات ETL، وإذا غادر شخص ما الشركة، فقد يتسبب ذلك في مشاكل. إن التخلص من التعليمات البرمجية يعد إهدارًا، ويتباطأ أعضاء الفريق الجدد حتى يتمكنوا من فهم ما كان موجودًا قبلهم. بالإضافة إلى ذلك، نظرًا لأن الأشخاص غالبًا ما يبنون على نماذج فرق أخرى لاستخدامها كميزات، توجد تبعيات متبادلة بين عمليات ETL يجب أخذها في الاعتبار.
"أحد الأسباب التي جعلتني أبقى طويلاً في Stitch Fix كان على وجه التحديد بسبب تلك التحديات وإيجاد كيفية حلها." - ستيفان
ابتكارات في منصة التعلم الآلي لـ Stitch Fix
- أغلفة النماذج (Model Envelopes): بنى فريق المنصة في Stitch Fix نظامًا مكّن علماء البيانات من تجميع نماذجهم مع المكونات الضرورية الأخرى وشحنها بسهولة. إنه نظام قائم على واجهة برمجة التطبيقات (API) يلتقط الكثير من الأشياء، وبضغطة زر واحدة وتكوين إضافي، يمكن لعلماء البيانات نشر نماذجهم في بيئة الإنتاج في أقل من ساعة. كما أتاح النظام تشغيل المهام الدفعية وسهل تشغيل النماذج بطريقة موزعة على Spark.
- عمليات ETL الموجهة بالتكوين (Configuration-Driven ETLs): استخدم فريق المنصة في Stitch Fix لغتي YAML و Jinja لتمكين علماء البيانات من وصف عملية ETL، والتي تضمنت كود SQL و Python لملاءمة النماذج. كانت الفكرة هي تجريد نظام التنسيق والسماح لفريق المنصة بتبديل المكونات المختلفة من حاوية Docker، مما سهل إدارة وصيانة قاعدة التعليمات البرمجية.
- هاميلتون (Hamilton): هاميلتون هو إطار عمل مصغر تصريحي لوصف تدفقات البيانات. طوّره فريق المنصة في Stitch Fix للمساعدة في هندسة الميزات، خاصة لتوقعات السلاسل الزمنية، حيث من السهل أخذ آلاف الميزات. يساعد هاميلتون في هيكلة المشكلة، على غرار DBT لـ SQL، ولكن لتحويلات Python. إنه يمكّن من وصف تدفق البيانات دون الحاجة إلى إدارة نصوص Python البرمجية. تعلن الدوال عن تدفق البيانات، ويمكن مشاركة التعريفات وتشغيلها بسهولة في سياقات غير متصلة بالإنترنت ومتصلة بالإنترنت.
👈
لتبديل مكونات Docker، حاول فريق المنصة إنشاء واجهة برمجة تطبيقات (API) ذهبية حيث يمكن لعلماء البيانات وصف ما يريدون حدوثه دون القلق بشأن تبعيات المنصة. تم ذلك من خلال مسارات النماذج الموجهة بالتكوين، حيث يمكن لعلماء البيانات تقديم نص يحتوي على مجموعات فرعية من التغييرات. يمكن لفريق المنصة بعد ذلك تغيير الأشياء دون مطالبة فريق علماء البيانات بتحديث أو ترقية حاويات Docker الخاصة بهم. يمكن لفريق المنصة أيضًا ترقية السجلات أو المعلومات الوصفية دون أن يضطر المستخدمون إلى إعادة نشر أو إعادة كتابة مساراتهم. أزال هذا الحاجة إلى قيام الفرق بإدارة وتحديث الأشياء وسمح لفريق المنصة بإدارة وتحديث الأشياء بكفاءة أكبر دون الحاجة إلى ترحيل من فريق علماء البيانات.
تحسين وقت بناء حاويات Docker وتصحيح الأخطاء في التطوير عن بعد: الاستراتيجيات المتبعة في Stitch Fix
- التخزين المؤقت لتسريع إنشاء الحاويات - حاول فريق المنصة في Stitch Fix تسريع إنشاء حاويات Docker عن طريق التخزين المؤقت للمكتبات والبيئات التي كانت تستخدم بشكل متكرر. على سبيل المثال، أضافوا التخزين المؤقت لضمان أنه إذا كانت نفس المتطلبات مطلوبة مرة أخرى، فلن يضطروا إلى إعادة تثبيتها. كما قاموا بحفظ ملفات البيئة، وضغطها، ثم سحبها مرة أخرى لتسريع العملية.
- التطوير المحلي لتقليل وقت بناء الحاويات وتصحيح الأخطاء - شجع فريق منصة Stitch Fix المطورين على التطوير محليًا أو إيجاد طرق لتجنب انتظار دورة كاملة من بناء وتشغيل وتصحيح أخطاء حاوية Docker. لقد مكنوا الحلقات المحلية من العمل لخطوات فردية من عملية ETL عن طريق سحب بعض البيانات لتخزينها مؤقتًا للمطورين، بالإضافة إلى ميزات أخرى لتحسين سهولة الاستخدام. ساعد هذا النهج في تسريع عملية التطوير وتصحيح الأخطاء.
- استكشاف أساليب جديدة لتحسين وقت بناء الحاويات وتصحيح الأخطاء - بينما حاول فريق منصة Stitch Fix إدخال تحسينات على وقت البناء وتصحيح الأخطاء باستخدام التخزين المؤقت والتطوير المحلي، فقد أقروا بأن العملية يمكن أن تكون أسرع. يعمل بعض المطورين على إدخال تغييرات على Docker لتحسين هذه العملية، خاصة بالنسبة للنماذج. يتضمن هذا النهج تغيير Docker وإعادة تشغيله لجعله أفضل وأكثر كفاءة.
توصيات أدوات MLOps من ستيفان كراوتشيك
من المهم اختيار الأدوات بناءً على تأثير الأعمال واتفاقيات مستوى الخدمة (SLAs). يجب تحسين الأشياء التي يمكن إجراؤها بعقدة واحدة باستخدام نظام تنسيق. بالنسبة لإصدار البيانات وسجلات النماذج، قد يكون حفظ الأشياء في S3 في بنية مسار منظمة وتخزين البيانات الوصفية معها فعالاً. عندما يتعلق الأمر بسجل النماذج، يجب أن تساعد الأدوات مفتوحة المصدر مثل MLflow، ولكن توجد أيضًا حلول إدارة مستضافة مثل TrueFoundry.
من المهم وجود نظام اختبار A/B في المكدس لفهم القيمة التي يجلبها نموذجهم لأعمالهم. سيساعد هذا في اتخاذ قرارات بشأن مكان الاستثمار في ممارسات MLOps بناءً على تأثير نموذجهم.
توصية أدوات MLOps
- ضع في اعتبارك التباين في المكتبات والأطر: إذا كان هناك تباين كبير في المكتبات والأطر المستخدمة، فقد يكون بناء حلول داخلية ضروريًا لأنه قد لا توجد حلول جاهزة تناسب احتياجاتك.
- قد تجعل التوحيد القياسي بعض المنصات أسهل: بينما قد تواجه الفرق المختلفة مشاكل مختلفة، فإن التوحيد القياسي لأدوات وعمليات معينة يمكن أن يجعل منصات MLOps أسهل في البناء والصيانة.
- لا توجد حلول مفتوحة المصدر تناسب احتياجاتك؟ ابنِ حلولك الخاصة: إذا لم تكن هناك حلول مفتوحة المصدر تناسب احتياجاتك جيدًا، فقد يكون بناء حلولك الخاصة، مثل Model Envelope و Hamilton، ضروريًا لتحقيق أهداف MLOps الخاصة بك.
تحديات حول ETL في التعلم الآلي
في التعلم الآلي، تعد عملية الاستخراج والتحويل والتحميل (ETL) عملية حاسمة لتحويل البيانات الخام إلى رؤى قيمة. ومع ذلك، فإن ETL في أنظمة التعلم الآلي يطرح العديد من التحديات التي تحتاج إلى معالجة.
يمكن أن تتوقف عمليات ETL في أنظمة التعلم الآلي بسبب التغييرات الأولية، مما يجعل من الصعب على ممارسي البيانات تتبع المدخلات إلى النموذج، مما يؤدي إلى صعوبات في صيانة ETLs. تزداد تعقيد ETLs أيضًا بمرور الوقت، مما يجعل من الصعب على الفرق مواكبة ذلك.
DAGWorks: منصة ETL مفتوحة المصدر لفرق علوم البيانات
لحل التحديات المذكورة في القسم السابق، تقوم DAGWorks ببناء منصة ETL مفتوحة المصدر لفرق علوم البيانات تقلل من اعتمادهم على الهندسة، والمصدر المفتوح يدور حول Hamilton المذكور أعلاه. يُمكّن Hamilton ممارسي البيانات الذين ليس لديهم خلفيات في هندسة البرمجيات من كتابة التعليمات البرمجية التي تدخل حيز الإنتاج وإدارة عناصر ETL للتعلم الآلي على بنيتهم التحتية الحالية. يوفر Hamilton أيضًا مخزنًا مركزيًا لتعريف الميزات وتتبع النسب، مما يساعد على تسهيل تصحيح الأخطاء ويمكن استخدامه لحالات الامتثال.
تم تصميم Hamilton ليكون طبقة تجريدية يمكن استخدامها مع أدوات التنسيق المختلفة مثل Airflow أو Argo. يعتقد ستيفان أن علماء البيانات لا ينبغي أن يهتموا بتخطيط مكان تشغيل الأشياء، وبدلاً من ذلك، يجب أن يركزوا على بناء النماذج والتكرارات. تحاول DAGWorks إيجاد طرق وتجريدات لتسهيل تغيير موفري جودة البيانات دون الحاجة إلى إعادة كتابة الأشياء.
بينما يكمل Hamilton أدوات مثل Metaflow، فإنه لا يحاول استبدالها. بدلاً من ذلك، فإنه يمكّن الأشخاص من أن يكونوا أكثر إنتاجية فوق تلك الأنظمة من خلال السماح لهم بنمذجة التفاصيل الدقيقة داخل مهمة. بشكل عام، تحاول DAGWorks تسهيل إدارة وصيانة عناصر ETL للتعلم الآلي لفرق علوم البيانات.
فيما يلي بعض المقالات الشيقة من ستيفان وفريقه:
ما تعلمته أثناء بناء المنصات في Stitch Fix
النشر مجانًا - منصة للتعلم الآلي لعلماء البيانات في Stitch Fix
الوظيفة، السياق، والبيانات—تمكين عمليات التعلم الآلي (ML Ops) في Stitch Fix
اقرأ منشورنا السابق في السلسلة
استمر في مشاهدة TrueML سلسلة يوتيوب وقراءة جميع TrueML سلسلة المدونات.
TrueFoundry هي منصة كخدمة (PaaS) لنشر التعلم الآلي (ML) تعمل فوق Kubernetes لتسريع سير عمل المطورين مع منحهم مرونة كاملة في اختبار ونشر النماذج، وضمان الأمان والتحكم الكاملين لفريق البنية التحتية. من خلال منصتنا، نمكّن فرق التعلم الآلي من نشر ومراقبة النماذج في 15 دقيقة بموثوقية 100% وقابلية للتوسع والقدرة على التراجع في ثوانٍ - مما يسمح لهم بتوفير التكلفة وإطلاق النماذج إلى الإنتاج بشكل أسرع، مما يحقق قيمة تجارية حقيقية.
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.
The fastest way to build, govern and scale your AI


















.png)
.webp)










.webp)






