Sber.DS عبارة عن نظام أساسي يتيح لك إنشاء النماذج وتنفيذها حتى بدون رمز

تظهر الأفكار والاجتماعات حول العمليات الأخرى التي يمكن أتمتتها في الشركات ذات الأحجام المختلفة كل يوم. ولكن بالإضافة إلى حقيقة أنه يمكن قضاء الكثير من الوقت في إنشاء نموذج ، فأنت بحاجة إلى إنفاقه في تقييمه والتحقق من أن النتيجة ليست عشوائية. بعد التنفيذ ، يجب مراقبة أي نموذج وفحصه بشكل دوري.

وهذه هي جميع المراحل التي يجب أن تمر بها في أي شركة ، بغض النظر عن حجمها. إذا كنا نتحدث عن حجم وإرث سبيربنك ، فإن عدد عمليات الضبط الدقيقة يزداد بشكل كبير. بحلول نهاية عام 2019 ، تم بالفعل استخدام أكثر من 2000 نموذج في سبيربنك. لا يكفي مجرد تطوير نموذج ، بل من الضروري التكامل مع الأنظمة الصناعية ، وتطوير مجموعات البيانات لنماذج البناء ، وضمان التحكم في تشغيلها على الكتلة.

Sber.DS عبارة عن نظام أساسي يتيح لك إنشاء النماذج وتنفيذها حتى بدون رمز

يقوم فريقنا بتطوير منصة Sber.DS. يتيح لك حل مشكلات التعلم الآلي ، وتسريع عملية اختبار الفرضيات ، ومن حيث المبدأ يبسط عملية تطوير النماذج والتحقق من صحتها ، كما يتحكم في نتيجة النموذج في PROM.

لكي لا تخدع توقعاتك ، أود أن أقول مقدمًا أن هذا المنشور هو منشور تمهيدي ، وتحت الخفض ، كبداية ، يتم إخباره بما هو موجود أساسًا تحت غطاء منصة Sber.DS. سنحكي قصة دورة حياة النموذج من الإنشاء إلى التنفيذ بشكل منفصل.

يتكون Sber.DS من عدة مكونات ، أهمها المكتبة ونظام التطوير ونظام تنفيذ النموذج.

Sber.DS عبارة عن نظام أساسي يتيح لك إنشاء النماذج وتنفيذها حتى بدون رمز

تتحكم المكتبة في دورة حياة النموذج من اللحظة التي تظهر فيها فكرة تطويرها إلى تنفيذها في PROM والمراقبة وإيقاف التشغيل. تملي العديد من ميزات المكتبة بواسطة قواعد المنظم ، على سبيل المثال ، إعداد التقارير وتخزين عينات التدريب والتحقق من الصحة. في الواقع ، هذا سجل لجميع عارضاتنا.

يهدف نظام التطوير إلى التطوير البصري للنماذج وطرق التحقق من الصحة. تخضع النماذج المطورة للتحقق الأولي ويتم تسليمها إلى نظام التنفيذ لأداء وظائف أعمالها. أيضًا ، في نظام التنفيذ ، يمكن وضع النموذج على الشاشة لإطلاق طرق التحقق بشكل دوري للتحكم في تشغيله.

هناك عدة أنواع من العقد في النظام. تم تصميم بعضها للاتصال بمصادر بيانات مختلفة ، والبعض الآخر - لتحويل بيانات المصدر وإثرائها (الترميز). هناك العديد من العقد لبناء نماذج وعقد مختلفة للتحقق من صحتها. يمكن للمطور تحميل البيانات من أي مصادر ، وتحويلها ، وتصفيتها ، وتصور البيانات الوسيطة ، وتقسيمها إلى أجزاء.

تحتوي المنصة أيضًا على وحدات جاهزة يمكن سحبها إلى منطقة المشروع. يتم تنفيذ جميع الإجراءات باستخدام واجهة مرئية. في الواقع ، يمكنك حل المشكلة بدون سطر واحد من التعليمات البرمجية.

إذا لم تكن القدرات المضمنة كافية ، فإن النظام يوفر القدرة على إنشاء الوحدات النمطية الخاصة بك بسرعة. لقد صنعنا وضع تطوير متكامل يعتمد على بوابة Jupyter Kernel لأولئك الذين ينشئون وحدات جديدة من البداية.

Sber.DS عبارة عن نظام أساسي يتيح لك إنشاء النماذج وتنفيذها حتى بدون رمز

تم بناء بنية Sber.DS على الخدمات المصغرة. هناك العديد من الآراء حول ماهية الخدمات المصغرة. يعتقد بعض الناس أنه يكفي تقسيم الشفرة المتجانسة إلى أجزاء ، لكنهم ما زالوا يذهبون إلى نفس قاعدة البيانات. يجب أن تتواصل خدمتنا المصغرة مع خدمة مصغرة أخرى فقط عبر REST API. لا توجد حلول للوصول إلى قاعدة البيانات مباشرة.

نحاول منع الخدمات من أن تصبح كبيرة جدًا وبطيئة: يجب ألا يستهلك مثيل واحد أكثر من 4-8 جيجا بايت من ذاكرة الوصول العشوائي ويجب أن يكون قادرًا على توسيع نطاق الطلبات أفقيًا عن طريق إطلاق مثيلات جديدة. تتواصل كل خدمة مع الآخرين فقط عبر واجهة برمجة تطبيقات REST (واجهة برمجة التطبيقات المفتوحة). يتعين على الفريق المسؤول عن الخدمة الحفاظ على توافق واجهة برمجة التطبيقات مع الإصدارات السابقة حتى آخر عميل يستخدمها.

تمت كتابة جوهر التطبيق بلغة Java باستخدام Spring Framework. تم تصميم الحل في الأصل للنشر السريع في البنية التحتية السحابية ، لذلك تم إنشاء التطبيق باستخدام نظام حاويات ريد هات OpenShift (Kubernetes). تتطور المنصة باستمرار ، سواء من حيث زيادة وظائف الأعمال (تمت إضافة موصلات جديدة ، AutoML) ومن حيث الكفاءة التكنولوجية.

تتمثل إحدى "الرقائق" في نظامنا الأساسي في أنه يمكننا تشغيل الكود الذي تم تطويره في الواجهة المرئية على أي نظام تنفيذ نموذجي لـ Sberbank. يوجد الآن اثنان منهم بالفعل: أحدهما على Hadoop والآخر على OpenShift (Docker). نحن لا نتوقف عند هذا الحد وننشئ وحدات تكامل لتشغيل التعليمات البرمجية على أي بنية أساسية ، بما في ذلك داخل الشركة وفي السحابة. فيما يتعلق بإمكانيات الاندماج الفعال في نظام Sberbank البيئي ، فإننا نخطط أيضًا لدعم العمل مع بيئات وقت التشغيل الحالية. في المستقبل ، يمكن دمج الحل بمرونة "خارج الصندوق" في أي مشهد لأي مؤسسة.

أولئك الذين حاولوا الحفاظ على حل يقوم بتشغيل Python على Hadoop في PROM يعلمون أنه لا يكفي إعداد وتقديم بيئة بيثون مخصصة لكل datanode. لن يسمح لك عدد كبير من مكتبات C / C ++ للتعلم الآلي التي تستخدم وحدات Python أن ترقد بسلام. يجب ألا ننسى تحديث الحزم عند إضافة مكتبات أو خوادم جديدة ، مع الحفاظ على التوافق مع الإصدارات السابقة مع كود النموذج المطبق بالفعل.

هناك عدة طرق لكيفية القيام بذلك. على سبيل المثال ، قم بإعداد العديد من المكتبات المستخدمة بشكل متكرر مسبقًا وقم بتنفيذها في PROM. عادة ما يستخدم توزيع Cloudera Hadoop جزء. الآن أيضًا في Hadoop هناك فرصة للتشغيل عامل ميناء- حاويات. في بعض الحالات البسيطة ، من الممكن تسليم الكود مع الحزمة python.eggs.

يتعامل البنك مع أمان تشغيل كود الطرف الثالث على محمل الجد ، لذلك فإننا نحقق أقصى استفادة من الميزات الجديدة لنواة Linux ، حيث يتم تشغيل عملية في بيئة معزولة مساحة Linux، يمكنك تقييد ، على سبيل المثال ، الوصول إلى الشبكة والقرص المحلي ، مما يقلل بشكل كبير من احتمال وجود تعليمات برمجية ضارة. تتم حماية مناطق البيانات الخاصة بكل قسم وهي متاحة فقط لمالكي تلك البيانات. يضمن النظام الأساسي أن البيانات من مجال واحد لا يمكن أن تدخل إلى مجال آخر إلا من خلال عملية نشر البيانات مع التحكم في جميع المراحل من الوصول إلى المصادر إلى بيانات الهبوط في السوق الهدف.

Sber.DS عبارة عن نظام أساسي يتيح لك إنشاء النماذج وتنفيذها حتى بدون رمز

نخطط هذا العام لإكمال MVP لنماذج التشغيل المكتوبة بلغة Python / R / Java على Hadoop. لقد وضعنا لأنفسنا المهمة الطموحة لتعلم كيفية تشغيل أي بيئة مستخدم على Hadoop ، حتى لا نقيد مستخدمي نظامنا الأساسي بأي شكل من الأشكال.

بالإضافة إلى ذلك ، كما اتضح ، فإن العديد من المتخصصين في DS بارعون في الرياضيات والإحصاء ، ويصنعون نماذج رائعة ، لكنهم ليسوا على دراية جيدة بتحولات البيانات الضخمة ، وهم بحاجة إلى مساعدة مهندسي البيانات لدينا لإعداد عينات تدريبية. قررنا مساعدة زملائنا وإنشاء وحدات ملائمة للتحول النموذجي وإعداد الميزات للنماذج على محرك Spark. سيسمح هذا بتخصيص مزيد من الوقت لتطوير النماذج وعدم انتظار مهندسي البيانات لإعداد مجموعة بيانات جديدة.

لدينا أشخاص لديهم معرفة في مجالات مختلفة: Linux و DevOps و Hadoop و Spark و Java و Spring و Scala و Akka و OpenShift و Kubernetes. في المرة القادمة سنتحدث عن مكتبة النماذج ، وكيف يمر النموذج خلال دورة الحياة داخل الشركة ، وكيف يتم التحقق والتنفيذ.

المصدر: www.habr.com

إضافة تعليق