Sber.DS adalah platform yang memungkinkan Anda membuat dan mengimplementasikan model bahkan tanpa kode

Ide dan pertemuan tentang proses lain apa yang dapat diotomatisasi muncul dalam bisnis dengan berbagai ukuran setiap hari. Namun selain fakta bahwa banyak waktu dapat dihabiskan untuk membuat model, Anda juga perlu menghabiskannya untuk mengevaluasinya dan memeriksa bahwa hasil yang diperoleh tidak acak. Setelah implementasi, model apa pun harus dipantau dan diperiksa secara berkala.

Dan ini semua adalah tahapan yang harus diselesaikan di perusahaan mana pun, berapa pun ukurannya. Jika kita berbicara tentang skala dan warisan Bank Tabungan, maka jumlah penyesuaian meningkat secara signifikan. Hingga akhir tahun 2019, Sber telah menggunakan lebih dari 2000 model. Tidak cukup hanya mengembangkan model saja; diperlukan integrasi dengan sistem industri, mengembangkan data mart untuk membangun model, dan memastikan kendali operasinya pada cluster.

Sber.DS adalah platform yang memungkinkan Anda membuat dan mengimplementasikan model bahkan tanpa kode

Tim kami sedang mengembangkan platform Sber.DS. Ini memungkinkan Anda memecahkan masalah pembelajaran mesin, mempercepat proses pengujian hipotesis, pada prinsipnya menyederhanakan proses pengembangan dan validasi model, dan juga mengontrol hasil model di PROM.

Agar tidak menipu harapan Anda, saya ingin mengatakan sebelumnya bahwa posting ini adalah posting pengantar, dan sebagai permulaan, kita berbicara tentang apa, pada prinsipnya, yang ada di balik platform Sber.DS. Kami akan menceritakan kisah tentang siklus hidup model mulai dari pembuatan hingga implementasi secara terpisah.

Sber.DS terdiri dari beberapa komponen, yang utama adalah perpustakaan, sistem pengembangan, dan sistem eksekusi model.

Sber.DS adalah platform yang memungkinkan Anda membuat dan mengimplementasikan model bahkan tanpa kode

Perpustakaan mengontrol siklus hidup model dari saat ide pengembangannya muncul hingga implementasinya dalam PROM, pemantauan, dan dekomisioning. Banyak kemampuan perpustakaan ditentukan oleh peraturan regulator, misalnya, pelaporan dan penyimpanan sampel pelatihan dan validasi. Faktanya, ini adalah daftar semua model kami.

Sistem pengembangan dirancang untuk pengembangan visual model dan teknik validasi. Model yang dikembangkan menjalani validasi awal dan dipasok ke sistem eksekusi untuk menjalankan fungsi bisnisnya. Selain itu, dalam sistem runtime, model dapat ditempatkan pada monitor dengan tujuan meluncurkan teknik validasi secara berkala untuk memantau operasinya.

Ada beberapa jenis node dalam sistem. Beberapa dirancang untuk terhubung ke berbagai sumber data, yang lain dirancang untuk mengubah data sumber dan memperkayanya (markup). Ada banyak node untuk membangun model yang berbeda dan node untuk memvalidasinya. Pengembang dapat memuat data dari sumber mana pun, mengubah, memfilter, memvisualisasikan data perantara, dan memecahnya menjadi beberapa bagian.

Platform ini juga berisi modul siap pakai yang dapat diseret dan dilepas ke area desain. Semua tindakan dilakukan menggunakan antarmuka yang divisualisasikan. Faktanya, Anda dapat menyelesaikan masalah tanpa satu baris kode pun.

Jika kemampuan bawaan tidak cukup, sistem menyediakan kemampuan untuk membuat modul Anda sendiri dengan cepat. Kami membuat mode pengembangan terintegrasi berdasarkan Gerbang Kernel Jupyter bagi mereka yang membuat modul baru dari awal.

Sber.DS adalah platform yang memungkinkan Anda membuat dan mengimplementasikan model bahkan tanpa kode

Arsitektur Sber.DS dibangun di atas layanan mikro. Ada banyak pendapat tentang apa itu layanan mikro. Beberapa orang berpikir bahwa membagi kode monolitik menjadi beberapa bagian saja sudah cukup, tetapi pada saat yang sama mereka masih masuk ke database yang sama. Layanan mikro kami harus berkomunikasi dengan layanan mikro lain hanya melalui REST API. Tidak ada solusi untuk mengakses database secara langsung.

Kami mencoba memastikan bahwa layanan tidak menjadi terlalu besar dan kikuk: satu instance tidak boleh menggunakan lebih dari 4-8 gigabyte RAM dan harus menyediakan kemampuan untuk menskalakan permintaan secara horizontal dengan meluncurkan instance baru. Setiap layanan berkomunikasi dengan layanan lain hanya melalui REST API (API terbuka). Tim yang bertanggung jawab atas layanan ini diharuskan menjaga API tetap kompatibel hingga klien terakhir yang menggunakannya.

Inti dari aplikasi ini ditulis dalam Java menggunakan Spring Framework. Solusi ini awalnya dirancang untuk penerapan cepat di infrastruktur cloud, sehingga aplikasi dibangun menggunakan sistem containerisasi Red Hat OpenShift (Kubernetes). Platform ini terus berkembang, baik dalam hal peningkatan fungsionalitas bisnis (konektor baru, AutoML ditambahkan) dan dalam hal efisiensi teknologi.

Salah satu fitur platform kami adalah kami dapat menjalankan kode yang dikembangkan dalam antarmuka visual pada sistem eksekusi model Sberbank apa pun. Sekarang sudah ada dua di antaranya: satu di Hadoop, yang lain di OpenShift (Docker). Kami tidak berhenti di situ dan membuat modul integrasi untuk menjalankan kode pada infrastruktur apa pun, termasuk di lokasi dan di cloud. Mengenai kemungkinan integrasi yang efektif ke dalam ekosistem Bank Tabungan, kami juga berencana untuk mendukung pekerjaan dengan lingkungan eksekusi yang ada. Di masa depan, solusi ini dapat diintegrasikan secara fleksibel β€œout of the box” ke dalam lanskap organisasi mana pun.

Mereka yang pernah mencoba mendukung solusi yang menjalankan Python di Hadoop di PROM tahu bahwa mempersiapkan dan mengirimkan lingkungan pengguna Python ke setiap datanode saja tidak cukup. Banyaknya pustaka C/C++ untuk pembelajaran mesin yang menggunakan modul Python tidak akan membuat Anda tenang. Kita harus ingat untuk memperbarui paket ketika menambahkan perpustakaan atau server baru, sambil menjaga kompatibilitas dengan kode model yang sudah diimplementasikan.

Ada beberapa pendekatan untuk melakukan hal ini. Misalnya, persiapkan terlebih dahulu beberapa perpustakaan yang sering digunakan dan implementasikan di PROM. Dalam distribusi Hadoop Cloudera, mereka biasanya menggunakan bingkisan. Sekarang juga di Hadoop dimungkinkan untuk dijalankan buruh pelabuhan-wadah. Dalam beberapa kasus sederhana dimungkinkan untuk mengirimkan kode bersama dengan paketnya python.telur.

Bank memperhatikan keamanan menjalankan kode pihak ketiga dengan sangat serius, jadi kami memanfaatkan fitur-fitur baru dari kernel Linux, di mana proses berjalan di lingkungan yang terisolasi Ruang nama Linux, Anda dapat membatasi, misalnya, akses ke jaringan dan disk lokal, yang secara signifikan mengurangi kemampuan kode berbahaya. Area data di setiap departemen dilindungi dan hanya dapat diakses oleh pemilik data ini. Platform ini memastikan bahwa data dari satu area dapat menjangkau area lain hanya melalui proses penerbitan data dengan kontrol di semua tahap mulai dari akses ke sumber hingga penempatan data di etalase target.

Sber.DS adalah platform yang memungkinkan Anda membuat dan mengimplementasikan model bahkan tanpa kode

Tahun ini kami berencana menyelesaikan MVP peluncuran model yang ditulis dengan Python/R/Java di Hadoop. Kami telah menetapkan tugas ambisius untuk mempelajari cara menjalankan lingkungan khusus apa pun di Hadoop, agar tidak membatasi pengguna platform kami dengan cara apa pun.

Selain itu, ternyata banyak spesialis DS yang ahli dalam matematika dan statistik, membuat model yang keren, tetapi tidak terlalu berpengalaman dalam transformasi data besar, dan mereka memerlukan bantuan teknisi data kami untuk menyiapkan sampel pelatihan. Kami memutuskan untuk membantu kolega kami dan membuat modul yang mudah digunakan untuk transformasi standar dan persiapan fitur untuk model pada mesin Spark. Hal ini akan memungkinkan Anda menghabiskan lebih banyak waktu untuk mengembangkan model dan tidak menunggu teknisi data menyiapkan kumpulan data baru.

Kami mempekerjakan orang-orang dengan pengetahuan di berbagai bidang: Linux dan DevOps, Hadoop dan Spark, Java dan Spring, Scala dan Akka, OpenShift dan Kubernetes. Lain kali kita akan membahas tentang perpustakaan model, bagaimana model melewati siklus hidup dalam perusahaan, bagaimana validasi dan implementasi terjadi.

Sumber: www.habr.com

Tambah komentar