Sber.DS ialah platform yang membolehkan anda mencipta dan melaksanakan model walaupun tanpa kod

Idea dan mesyuarat tentang proses lain yang boleh diautomatikkan timbul dalam perniagaan pelbagai saiz setiap hari. Tetapi sebagai tambahan kepada fakta bahawa banyak masa boleh dibelanjakan untuk mencipta model, anda perlu membelanjakannya untuk menilai dan menyemak bahawa hasil yang diperoleh bukan secara rawak. Selepas pelaksanaan, mana-mana model mesti dipantau dan diperiksa secara berkala.

Dan ini adalah semua peringkat yang perlu diselesaikan di mana-mana syarikat, tanpa mengira saiznya. Jika kita bercakap tentang skala dan warisan Sberbank, bilangan penalaan halus meningkat dengan ketara. Menjelang akhir tahun 2019, Sber telah menggunakan lebih daripada 2000 model. Ia tidak mencukupi untuk membangunkan model sahaja; ia adalah perlu untuk menyepadukan dengan sistem perindustrian, membangunkan data mart untuk membina model, dan memastikan kawalan operasinya pada kelompok.

Sber.DS ialah platform yang membolehkan anda mencipta dan melaksanakan model walaupun tanpa kod

Pasukan kami sedang membangunkan platform Sber.DS. Ia membolehkan anda menyelesaikan masalah pembelajaran mesin, mempercepatkan proses menguji hipotesis, pada dasarnya memudahkan proses membangunkan dan mengesahkan model, dan juga mengawal hasil model dalam PROM.

Untuk tidak menipu jangkaan anda, saya ingin mengatakan terlebih dahulu bahawa siaran ini adalah pengenalan, dan di bawah potongan, sebagai permulaan, kita bercakap tentang apa, pada dasarnya, berada di bawah tudung platform Sber.DS. Kami akan menceritakan kisah tentang kitaran hayat model dari penciptaan hingga pelaksanaan secara berasingan.

Sber.DS terdiri daripada beberapa komponen, yang utama ialah perpustakaan, sistem pembangunan dan sistem pelaksanaan model.

Sber.DS ialah platform yang membolehkan anda mencipta dan melaksanakan model walaupun tanpa kod

Perpustakaan mengawal kitaran hayat model dari saat idea untuk membangunkannya muncul sehingga pelaksanaannya dalam PROM, pemantauan dan penyahtauliahan. Banyak keupayaan perpustakaan ditentukan oleh peraturan pengawal selia, contohnya, pelaporan dan penyimpanan sampel latihan dan pengesahan. Sebenarnya, ini adalah daftar semua model kami.

Sistem pembangunan direka bentuk untuk pembangunan visual model dan teknik pengesahan. Model yang dibangunkan menjalani pengesahan awal dan dibekalkan kepada sistem pelaksanaan untuk melaksanakan fungsi perniagaan mereka. Juga, dalam sistem masa jalan, model boleh diletakkan pada monitor untuk tujuan melancarkan teknik pengesahan secara berkala untuk memantau operasinya.

Terdapat beberapa jenis nod dalam sistem. Ada yang direka untuk menyambung kepada pelbagai sumber data, yang lain direka untuk mengubah data sumber dan memperkayakannya (penanda). Terdapat banyak nod untuk membina model dan nod yang berbeza untuk mengesahkannya. Pembangun boleh memuatkan data daripada mana-mana sumber, mengubah, menapis, memvisualisasikan data perantaraan dan memecahkannya kepada beberapa bahagian.

Platform ini juga mengandungi modul siap sedia yang boleh diseret dan dijatuhkan ke kawasan reka bentuk. Semua tindakan dilakukan menggunakan antara muka yang divisualisasikan. Malah, anda boleh menyelesaikan masalah tanpa satu baris kod.

Jika keupayaan terbina dalam tidak mencukupi, sistem menyediakan keupayaan untuk mencipta modul anda sendiri dengan cepat. Kami membuat mod pembangunan bersepadu berdasarkan Gerbang Inti Jupyter bagi mereka yang mencipta modul baru dari awal.

Sber.DS ialah platform yang membolehkan anda mencipta dan melaksanakan model walaupun tanpa kod

Seni bina Sber.DS dibina di atas perkhidmatan mikro. Terdapat banyak pendapat tentang apa itu perkhidmatan mikro. Sesetengah orang berfikir bahawa sudah cukup untuk membahagikan kod monolitik kepada beberapa bahagian, tetapi pada masa yang sama mereka masih pergi ke pangkalan data yang sama. Perkhidmatan mikro kami mesti berkomunikasi dengan perkhidmatan mikro lain hanya melalui API REST. Tiada penyelesaian untuk mengakses pangkalan data secara langsung.

Kami cuba memastikan perkhidmatan tidak menjadi sangat besar dan kekok: satu contoh tidak boleh menggunakan lebih daripada 4-8 gigabait RAM dan mesti menyediakan keupayaan untuk menskala permintaan secara mendatar dengan melancarkan kejadian baharu. Setiap perkhidmatan berkomunikasi dengan orang lain hanya melalui REST API (Terbuka API). Pasukan yang bertanggungjawab untuk perkhidmatan tersebut dikehendaki memastikan API serasi ke belakang sehingga pelanggan terakhir yang menggunakannya.

Teras aplikasi ditulis dalam Java menggunakan Rangka Kerja Spring. Penyelesaian itu pada mulanya direka untuk penggunaan pantas dalam infrastruktur awan, jadi aplikasi itu dibina menggunakan sistem kontena Red Hat OpenShift (Kubernetes). Platform ini sentiasa berkembang, baik dari segi meningkatkan fungsi perniagaan (penyambung baharu, AutoML sedang ditambah) dan dari segi kecekapan teknologi.

Salah satu ciri platform kami ialah kami boleh menjalankan kod yang dibangunkan dalam antara muka visual pada mana-mana sistem pelaksanaan model Sberbank. Kini sudah ada dua daripadanya: satu di Hadoop, satu lagi di OpenShift (Docker). Kami tidak berhenti di situ dan mencipta modul penyepaduan untuk menjalankan kod pada mana-mana infrastruktur, termasuk di premis dan dalam awan. Berkenaan dengan kemungkinan penyepaduan yang berkesan ke dalam ekosistem Sberbank, kami juga merancang untuk menyokong kerja dengan persekitaran pelaksanaan sedia ada. Pada masa hadapan, penyelesaian itu boleh disepadukan secara fleksibel "di luar kotak" ke dalam mana-mana landskap mana-mana organisasi.

Mereka yang pernah cuba menyokong penyelesaian yang menjalankan Python pada Hadoop dalam PROM tahu bahawa ia tidak mencukupi untuk menyediakan dan menyampaikan persekitaran pengguna Python kepada setiap datanod. Sebilangan besar perpustakaan C/C++ untuk pembelajaran mesin yang menggunakan modul Python tidak akan membenarkan anda berehat. Kita mesti ingat untuk mengemas kini pakej apabila menambah perpustakaan atau pelayan baharu, sambil mengekalkan keserasian ke belakang dengan kod model yang telah dilaksanakan.

Terdapat beberapa pendekatan untuk melakukan ini. Sebagai contoh, sediakan beberapa perpustakaan yang kerap digunakan lebih awal dan laksanakannya dalam PROM. Pengedaran Hadoop Cloudera biasanya menggunakan Parcel. Juga kini di Hadoop adalah mungkin untuk dijalankan docker-bekas. Dalam beberapa kes mudah adalah mungkin untuk menghantar kod bersama-sama dengan pakej python.telur.

Bank mengambil serius tentang keselamatan menjalankan kod pihak ketiga, jadi kami memanfaatkan sepenuhnya ciri baharu kernel Linux, di mana proses berjalan dalam persekitaran terpencil Ruang nama Linux, anda boleh mengehadkan, sebagai contoh, akses kepada rangkaian dan cakera setempat, yang secara ketara mengurangkan keupayaan kod berniat jahat. Kawasan data setiap jabatan dilindungi dan hanya boleh diakses oleh pemilik data tersebut. Platform ini memastikan bahawa data dari satu kawasan boleh mencapai kawasan lain hanya melalui proses penerbitan data dengan kawalan pada semua peringkat daripada akses kepada sumber hingga pendaratan data dalam etalase sasaran.

Sber.DS ialah platform yang membolehkan anda mencipta dan melaksanakan model walaupun tanpa kod

Tahun ini kami merancang untuk melengkapkan MVP pelancaran model yang ditulis dalam Python/R/Java pada Hadoop. Kami telah menetapkan tugas bercita-cita tinggi untuk mempelajari cara menjalankan sebarang persekitaran tersuai pada Hadoop, supaya tidak mengehadkan pengguna platform kami dalam apa jua cara.

Di samping itu, ternyata, ramai pakar DS yang cemerlang dalam matematik dan statistik, membuat model yang hebat, tetapi tidak begitu mahir dalam transformasi data besar, dan mereka memerlukan bantuan jurutera data kami untuk menyediakan sampel latihan. Kami memutuskan untuk membantu rakan sekerja kami dan mencipta modul yang mudah untuk transformasi standard dan penyediaan ciri untuk model pada enjin Spark. Ini akan membolehkan anda meluangkan lebih banyak masa membangunkan model dan tidak menunggu jurutera data menyediakan set data baharu.

Kami menggaji orang yang mempunyai pengetahuan dalam bidang yang berbeza: Linux dan DevOps, Hadoop dan Spark, Java dan Spring, Scala dan Akka, OpenShift dan Kubernetes. Lain kali kita akan bercakap tentang perpustakaan model, bagaimana model itu melalui kitaran hayat dalam syarikat, bagaimana pengesahan dan pelaksanaan berlaku.

Sumber: www.habr.com

Tambah komen