Sber.DS پلتفرمی است که به شما امکان ایجاد و پیاده سازی مدل ها را حتی بدون کد می دهد

ایده ها و جلساتی در مورد اینکه چه فرآیندهای دیگری را می توان خودکار کرد، هر روز در مشاغل با اندازه های مختلف مطرح می شود. اما علاوه بر این که زمان زیادی را می توان برای ایجاد یک مدل صرف کرد، باید آن را صرف ارزیابی آن و بررسی تصادفی نبودن نتیجه کنید. پس از اجرا، هر مدلی باید تحت نظارت و بررسی دوره ای قرار گیرد.

و اینها تمام مراحلی است که باید در هر شرکتی صرف نظر از اندازه آن طی کنید. اگر در مورد مقیاس و میراث Sberbank صحبت می کنیم، تعداد تنظیمات دقیق به طور تصاعدی افزایش می یابد. تا پایان سال 2019، Sberbank از بیش از 2000 مدل استفاده کرده بود. تنها توسعه یک مدل کافی نیست، بلکه باید با سیستم‌های صنعتی ادغام شود، مارت‌های داده برای مدل‌های ساختمانی توسعه داده شود و از کنترل عملکرد آن بر روی یک خوشه اطمینان حاصل شود.

Sber.DS پلتفرمی است که به شما امکان ایجاد و پیاده سازی مدل ها را حتی بدون کد می دهد

تیم ما در حال توسعه پلت فرم Sber.DS است. این به شما امکان می دهد مشکلات یادگیری ماشین را حل کنید، روند آزمایش فرضیه ها را سرعت می بخشد، در اصل فرآیند توسعه و اعتبارسنجی مدل ها را ساده می کند و همچنین نتیجه مدل را در PROM کنترل می کند.

برای اینکه انتظارات شما را فریب ندهم، می خواهم از قبل بگویم که این پست مقدماتی است و در زیر برش، برای شروع، در مورد آنچه اساساً در زیر کاپوت پلت فرم Sber.DS وجود دارد، گفته می شود. داستان چرخه عمر یک مدل از ایجاد تا اجرا را به طور جداگانه شرح خواهیم داد.

Sber.DS از چندین مؤلفه تشکیل شده است که مهمترین آنها کتابخانه، سیستم توسعه و سیستم اجرای مدل است.

Sber.DS پلتفرمی است که به شما امکان ایجاد و پیاده سازی مدل ها را حتی بدون کد می دهد

کتابخانه چرخه عمر مدل را از لحظه ای که ایده توسعه آن ظاهر می شود تا اجرای آن در PROM، نظارت و از کار انداختن کنترل می کند. بسیاری از ویژگی های کتابخانه توسط قوانین تنظیم کننده دیکته شده است، به عنوان مثال، گزارش و ذخیره نمونه های آموزشی و اعتبار سنجی. در واقع این رجیستر تمام مدل های ماست.

سیستم توسعه برای توسعه بصری مدل ها و روش های اعتبار سنجی در نظر گرفته شده است. مدل‌های توسعه‌یافته تحت اعتبارسنجی اولیه قرار می‌گیرند و برای انجام وظایف تجاری خود به سیستم اجرایی تحویل داده می‌شوند. همچنین در سیستم اجرا می توان مدل را بر روی مانیتور قرار داد تا به صورت دوره ای روش های اعتبارسنجی برای کنترل عملکرد آن راه اندازی شود.

چندین نوع گره در سیستم وجود دارد. برخی برای اتصال به منابع داده های مختلف طراحی شده اند، برخی دیگر - برای تبدیل داده های منبع و غنی سازی آن (نشانه گذاری). گره های زیادی برای ساخت مدل های مختلف و گره هایی برای اعتبار سنجی آنها وجود دارد. توسعه‌دهنده می‌تواند داده‌ها را از هر منبعی بارگیری کند، تبدیل کند، فیلتر کند، داده‌های میانی را تجسم کند، آن‌ها را به قطعات تقسیم کند.

این پلتفرم همچنین شامل ماژول های آماده ای است که می توان آنها را به منطقه پروژه کشید. تمام اقدامات با استفاده از یک رابط بصری انجام می شود. در واقع می توانید بدون یک خط کد مشکل را حل کنید.

اگر قابلیت های داخلی کافی نباشد، سیستم توانایی ایجاد سریع ماژول های خود را فراهم می کند. ما یک حالت توسعه یکپارچه را بر اساس ایجاد کرده ایم دروازه هسته Jupyter برای کسانی که ماژول های جدید را از ابتدا ایجاد می کنند.

Sber.DS پلتفرمی است که به شما امکان ایجاد و پیاده سازی مدل ها را حتی بدون کد می دهد

معماری Sber.DS بر روی میکروسرویس ها ساخته شده است. نظرات زیادی در مورد اینکه میکروسرویس چیست وجود دارد. برخی افراد فکر می کنند که کافی است کد یکپارچه را به قطعات تقسیم کنند، اما همچنان به همان پایگاه داده می روند. میکروسرویس ما باید فقط از طریق REST API با میکروسرویس دیگری ارتباط برقرار کند. هیچ راه حلی برای دسترسی مستقیم به پایگاه داده وجود ندارد.

ما سعی می‌کنیم سرویس‌ها را بسیار بزرگ و کند نگه داریم: یک نمونه نباید بیش از 4-8 گیگابایت رم مصرف کند و باید بتواند درخواست‌ها را با راه‌اندازی نمونه‌های جدید مقیاس افقی کند. هر سرویس فقط از طریق REST API با دیگران ارتباط برقرار می کند (API باز کردن). تیم مسئول این سرویس موظف است API را تا آخرین کلاینتی که از آن استفاده می‌کند سازگار نگه دارد.

هسته برنامه با استفاده از Spring Framework به زبان جاوا نوشته شده است. این راه حل در ابتدا برای استقرار سریع در زیرساخت ابری طراحی شده بود، بنابراین برنامه با استفاده از یک سیستم کانتینری ساخته شده است. سرخپوش OpenShift (کوبرنیتس). این پلتفرم هم از نظر افزایش عملکرد تجاری (کانکتورهای جدید، AutoML اضافه شده است) و هم از نظر کارایی تکنولوژیکی دائماً در حال تکامل است.

یکی از «تراشه‌های» پلتفرم ما این است که می‌توانیم کد توسعه‌یافته در رابط بصری را در هر سیستم اجرای مدل Sberbank اجرا کنیم. اکنون دو مورد از آنها وجود دارد: یکی در Hadoop، دیگری در OpenShift (Docker). ما در اینجا متوقف نمی‌شویم و ماژول‌های یکپارچه‌سازی را برای اجرای کد در هر زیرساخت، از جمله در محل و در فضای ابری ایجاد می‌کنیم. از نظر امکانات برای ادغام موثر در اکوسیستم Sberbank، ما همچنین قصد داریم از کار با محیط های زمان اجرا موجود پشتیبانی کنیم. در آینده، راه حل را می توان به طور انعطاف پذیر "خارج از جعبه" در هر چشم انداز هر سازمان ادغام کرد.

کسانی که تا به حال سعی کرده‌اند راه‌حلی را حفظ کنند که پایتون را روی Hadoop در PROM اجرا می‌کند، می‌دانند که تهیه و ارائه یک محیط پایتون سفارشی به هر داده‌نود کافی نیست. تعداد زیادی از کتابخانه های C / C ++ برای یادگیری ماشین که از ماژول های پایتون استفاده می کنند، به شما اجازه آرامش نمی دهند. ما نباید هنگام افزودن کتابخانه ها یا سرورهای جدید، ضمن حفظ سازگاری با کد مدل از قبل پیاده سازی شده، بسته ها را به روز رسانی کنیم.

چندین روش برای انجام این کار وجود دارد. به عنوان مثال، چندین کتابخانه پرکاربرد را از قبل آماده کرده و در PROM پیاده سازی کنید. معمولاً از توزیع Hadoop کلودرا استفاده می شود بسته. همچنین اکنون در Hadoop فرصتی برای دویدن وجود دارد داکتر- ظروف در برخی موارد ساده امکان تحویل کد به همراه بسته وجود دارد پایتون.تخم مرغ.

بانک امنیت اجرای کدهای شخص ثالث را بسیار جدی می گیرد، بنابراین ما از ویژگی های جدید هسته لینوکس، که در آن یک فرآیند در یک محیط ایزوله اجرا می شود، نهایت استفاده را می کنیم. فضای نام لینوکس، می توانید برای مثال دسترسی به شبکه و دیسک محلی را محدود کنید که احتمال کدهای مخرب را بسیار کاهش می دهد. مناطق داده هر بخش محافظت می شود و فقط در اختیار صاحبان آن داده ها است. این پلتفرم تضمین می‌کند که داده‌های یک دامنه فقط می‌توانند از طریق فرآیند انتشار داده‌ها با کنترل در تمام مراحل از دسترسی به منابع تا داده‌های فرود در بازار هدف وارد دامنه دیگری شوند.

Sber.DS پلتفرمی است که به شما امکان ایجاد و پیاده سازی مدل ها را حتی بدون کد می دهد

امسال قصد داریم MVP مدل های در حال اجرا نوشته شده در Python/R/Java در Hadoop را تکمیل کنیم. ما وظیفه بلندپروازانه ای را برای خود قرار داده ایم که یاد بگیریم چگونه هر محیط کاربری را در Hadoop اجرا کنیم تا به هیچ وجه کاربران پلتفرم خود را محدود نکنیم.

علاوه بر این، همانطور که مشخص شد، بسیاری از متخصصان DS در ریاضیات و آمار عالی هستند، مدل‌های جالبی می‌سازند، اما در تبدیل داده‌های بزرگ به خوبی مهارت ندارند و برای تهیه نمونه‌های آموزشی به کمک مهندسان داده ما نیاز دارند. ما تصمیم گرفتیم به همکاران خود کمک کنیم و ماژول های مناسبی برای تبدیل معمولی و آماده سازی ویژگی ها برای مدل های موتور اسپارک ایجاد کنیم. این اجازه می دهد تا زمان بیشتری به توسعه مدل ها اختصاص داده شود و منتظر مهندسان داده برای تهیه مجموعه داده جدید نباشند.

ما افرادی با دانش در زمینه های مختلف داریم: لینوکس و DevOps، Hadoop و Spark، Java و Spring، Scala و Akka، OpenShift و Kubernetes. دفعه بعد در مورد کتابخانه مدل ها، نحوه گذراندن مدل در چرخه عمر شرکت، اعتبارسنجی و پیاده سازی صحبت خواهیم کرد.

منبع: www.habr.com

اضافه کردن نظر