Το Sber.DS είναι μια πλατφόρμα που σας επιτρέπει να δημιουργείτε και να εφαρμόζετε μοντέλα ακόμα και χωρίς κώδικα

Καθημερινά προκύπτουν ιδέες και συναντήσεις σχετικά με το ποιες άλλες διαδικασίες μπορούν να αυτοματοποιηθούν σε επιχειρήσεις διαφόρων μεγεθών. Αλλά εκτός από το γεγονός ότι μπορεί να αφιερωθεί πολύς χρόνος για τη δημιουργία ενός μοντέλου, πρέπει να τον ξοδέψετε για την αξιολόγησή του και τον έλεγχο ότι το αποτέλεσμα που προκύπτει δεν είναι τυχαίο. Μετά την εφαρμογή, οποιοδήποτε μοντέλο πρέπει να παρακολουθείται και να ελέγχεται περιοδικά.

Και αυτά είναι όλα τα στάδια που πρέπει να ολοκληρωθούν σε κάθε εταιρεία, ανεξάρτητα από το μέγεθός της. Αν μιλάμε για την κλίμακα και την κληρονομιά της Sberbank, ο αριθμός των βραχυπρόθεσμων συντονισμών αυξάνεται σημαντικά. Μέχρι το τέλος του 2019, η Sber είχε ήδη χρησιμοποιήσει περισσότερα από 2000 μοντέλα. Δεν αρκεί απλώς η ανάπτυξη ενός μοντέλου· είναι απαραίτητο να ενσωματωθεί με βιομηχανικά συστήματα, να αναπτυχθούν μάρκες δεδομένων για μοντέλα κατασκευής και να διασφαλιστεί ο έλεγχος της λειτουργίας του στο σύμπλεγμα.

Το Sber.DS είναι μια πλατφόρμα που σας επιτρέπει να δημιουργείτε και να εφαρμόζετε μοντέλα ακόμα και χωρίς κώδικα

Η ομάδα μας αναπτύσσει την πλατφόρμα Sber.DS. Σας επιτρέπει να επιλύετε προβλήματα μηχανικής μάθησης, επιταχύνει τη διαδικασία δοκιμής υποθέσεων, κατ 'αρχήν απλοποιεί τη διαδικασία ανάπτυξης και επικύρωσης μοντέλων και ελέγχει επίσης το αποτέλεσμα του μοντέλου στο PROM.

Για να μην εξαπατήσω τις προσδοκίες σας, θέλω να πω εκ των προτέρων ότι αυτή η ανάρτηση είναι εισαγωγική και κάτω από την περικοπή, για αρχή, μιλάμε για αυτό που, κατ 'αρχήν, βρίσκεται κάτω από την κουκούλα της πλατφόρμας Sber.DS. Θα πούμε την ιστορία για τον κύκλο ζωής του μοντέλου από τη δημιουργία έως την εφαρμογή ξεχωριστά.

Το Sber.DS αποτελείται από πολλά στοιχεία, με τα βασικά να είναι η βιβλιοθήκη, το σύστημα ανάπτυξης και το σύστημα εκτέλεσης μοντέλων.

Το Sber.DS είναι μια πλατφόρμα που σας επιτρέπει να δημιουργείτε και να εφαρμόζετε μοντέλα ακόμα και χωρίς κώδικα

Η βιβλιοθήκη ελέγχει τον κύκλο ζωής του μοντέλου από τη στιγμή που εμφανίζεται η ιδέα για την ανάπτυξή του μέχρι την εφαρμογή του στο PROM, την παρακολούθηση και τον παροπλισμό. Πολλές δυνατότητες βιβλιοθήκης υπαγορεύονται από κανόνες ρυθμιστών, για παράδειγμα, αναφορά και αποθήκευση δειγμάτων εκπαίδευσης και επικύρωσης. Στην πραγματικότητα, αυτό είναι ένα μητρώο όλων των μοντέλων μας.

Το σύστημα ανάπτυξης έχει σχεδιαστεί για οπτική ανάπτυξη μοντέλων και τεχνικών επικύρωσης. Τα μοντέλα που αναπτύχθηκαν υποβάλλονται σε αρχική επικύρωση και παρέχονται στο σύστημα εκτέλεσης για την εκτέλεση των επιχειρηματικών τους λειτουργιών. Επίσης, στο σύστημα χρόνου εκτέλεσης, το μοντέλο μπορεί να τοποθετηθεί σε μια οθόνη με σκοπό την περιοδική εκκίνηση τεχνικών επικύρωσης για την παρακολούθηση της λειτουργίας του.

Υπάρχουν διάφοροι τύποι κόμβων στο σύστημα. Ορισμένα έχουν σχεδιαστεί για να συνδέονται με διάφορες πηγές δεδομένων, άλλα έχουν σχεδιαστεί για να μετασχηματίζουν τα δεδομένα προέλευσης και να τα εμπλουτίζουν (σήμανση). Υπάρχουν πολλοί κόμβοι για την κατασκευή διαφορετικών μοντέλων και κόμβοι για την επικύρωσή τους. Ο προγραμματιστής μπορεί να φορτώσει δεδομένα από οποιαδήποτε πηγή, να μεταμορφώσει, να φιλτράρει, να οπτικοποιήσει ενδιάμεσα δεδομένα και να τα χωρίσει σε μέρη.

Η πλατφόρμα περιέχει επίσης έτοιμες μονάδες που μπορούν να συρθούν και να απορριφθούν στην περιοχή σχεδιασμού. Όλες οι ενέργειες εκτελούνται χρησιμοποιώντας μια οπτικοποιημένη διεπαφή. Στην πραγματικότητα, μπορείτε να λύσετε το πρόβλημα χωρίς ούτε μια γραμμή κώδικα.

Εάν οι ενσωματωμένες δυνατότητες δεν επαρκούν, το σύστημα παρέχει τη δυνατότητα να δημιουργήσετε γρήγορα τις δικές σας μονάδες. Δημιουργήσαμε έναν ολοκληρωμένο τρόπο ανάπτυξης με βάση Jupyter Kernel Gateway για όσους δημιουργούν νέες ενότητες από την αρχή.

Το Sber.DS είναι μια πλατφόρμα που σας επιτρέπει να δημιουργείτε και να εφαρμόζετε μοντέλα ακόμα και χωρίς κώδικα

Η αρχιτεκτονική του Sber.DS βασίζεται σε μικροϋπηρεσίες. Υπάρχουν πολλές απόψεις για το τι είναι οι μικροϋπηρεσίες. Μερικοί άνθρωποι πιστεύουν ότι αρκεί να χωρίσουμε τον μονολιθικό κώδικα σε μέρη, αλλά την ίδια στιγμή εξακολουθούν να πηγαίνουν στην ίδια βάση δεδομένων. Η μικρουπηρεσία μας πρέπει να επικοινωνεί με άλλη μικρουπηρεσία μόνο μέσω REST API. Δεν υπάρχουν λύσεις για άμεση πρόσβαση στη βάση δεδομένων.

Προσπαθούμε να διασφαλίσουμε ότι οι υπηρεσίες δεν γίνονται πολύ μεγάλες και αδέξιες: μια παρουσία δεν πρέπει να καταναλώνει περισσότερα από 4-8 gigabyte μνήμης RAM και πρέπει να παρέχει τη δυνατότητα οριζόντιας κλίμακας αιτημάτων με την εκκίνηση νέων παρουσιών. Κάθε υπηρεσία επικοινωνεί με άλλες μόνο μέσω REST API (Ανοίξτε το API). Η ομάδα που είναι υπεύθυνη για την υπηρεσία πρέπει να διατηρεί το API συμβατό προς τα πίσω μέχρι τον τελευταίο πελάτη που το χρησιμοποιεί.

Ο πυρήνας της εφαρμογής είναι γραμμένος σε Java χρησιμοποιώντας το Spring Framework. Η λύση σχεδιάστηκε αρχικά για γρήγορη ανάπτυξη στην υποδομή cloud, έτσι η εφαρμογή κατασκευάστηκε χρησιμοποιώντας ένα σύστημα κοντέινερ Red Hat OpenShift (Kubernetes). Η πλατφόρμα εξελίσσεται συνεχώς, τόσο ως προς την αύξηση της επιχειρησιακής λειτουργικότητας (προστίθενται νέοι σύνδεσμοι, AutoML) όσο και ως προς την τεχνολογική απόδοση.

Ένα από τα χαρακτηριστικά της πλατφόρμας μας είναι ότι μπορούμε να εκτελέσουμε κώδικα που έχει αναπτυχθεί σε μια οπτική διεπαφή σε οποιοδήποτε σύστημα εκτέλεσης μοντέλων της Sberbank. Τώρα υπάρχουν ήδη δύο από αυτά: το ένα στο Hadoop, το άλλο στο OpenShift (Docker). Δεν σταματάμε εκεί και δημιουργούμε ενότητες ενσωμάτωσης για την εκτέλεση κώδικα σε οποιαδήποτε υποδομή, συμπεριλαμβανομένης της εσωτερικής εγκατάστασης και του cloud. Όσον αφορά τις δυνατότητες αποτελεσματικής ενσωμάτωσης στο οικοσύστημα της Sberbank, σχεδιάζουμε επίσης να υποστηρίξουμε την εργασία με υπάρχοντα περιβάλλοντα εκτέλεσης. Στο μέλλον, η λύση μπορεί να ενσωματωθεί ευέλικτα "out of the box" σε οποιοδήποτε τοπίο οποιουδήποτε οργανισμού.

Όσοι έχουν προσπαθήσει ποτέ να υποστηρίξουν μια λύση που εκτελεί Python σε Hadoop στο PROM γνωρίζουν ότι δεν αρκεί η προετοιμασία και η παράδοση ενός περιβάλλοντος χρήστη Python σε κάθε κόμβο δεδομένων. Ο τεράστιος αριθμός βιβλιοθηκών C/C++ για μηχανική εκμάθηση που χρησιμοποιούν λειτουργικές μονάδες Python δεν θα σας επιτρέψει να είστε ήσυχοι. Πρέπει να θυμόμαστε να ενημερώνουμε τα πακέτα κατά την προσθήκη νέων βιβλιοθηκών ή διακομιστών, διατηρώντας παράλληλα τη συμβατότητα προς τα πίσω με τον ήδη εφαρμοσμένο κώδικα μοντέλου.

Υπάρχουν διάφορες προσεγγίσεις για το πώς να το κάνετε αυτό. Για παράδειγμα, προετοιμάστε εκ των προτέρων πολλές βιβλιοθήκες που χρησιμοποιούνται συχνά και εφαρμόστε τις στο PROM. Στη διανομή Hadoop της Cloudera, συνήθως χρησιμοποιούν δέμα. Επίσης τώρα στο Hadoop είναι δυνατό να τρέξετε λιμενεργάτης- δοχεία. Σε μερικές απλές περιπτώσεις είναι δυνατή η παράδοση του κωδικού μαζί με το πακέτο πύθωνας.αυγά.

Η τράπεζα λαμβάνει πολύ σοβαρά υπόψη την ασφάλεια της εκτέλεσης κώδικα τρίτων, επομένως αξιοποιούμε στο έπακρο τις νέες δυνατότητες του πυρήνα 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

Προσθέστε ένα σχόλιο