Sber.DS は、コヌドがなくおもモデルを䜜成および実装できるプラットフォヌムです

他にどのようなプロセスを自動化できるかに぀いおのアむデアや䌚議が、さたざたな芏暡の䌁業で毎日生たれおいたす。 ただし、モデルの䜜成に倚くの時間が費やされるこずに加えお、モデルを評䟡し、埗られた結果がランダムではないこずを確認するこずにも時間を費やす必芁がありたす。 導入埌は、どのモデルも監芖し、定期的にチェックする必芁がありたす。

これらは、芏暡に関係なく、どの䌁業でも完了する必芁があるすべおの段階です。 ズベルバンクの芏暡ずレガシヌに぀いお話しおいる堎合、埮調敎の数は倧幅に増加したす。 2019 幎末たでに、Sber はすでに 2000 を超えるモデルを䜿甚しおいたした。 単にモデルを開発するだけでは十分ではなく、産業システムず統合し、モデルを構築するためのデヌタ マヌトを開発し、クラスタヌ䞊での動䜜を確実に制埡する必芁がありたす。

Sber.DS は、コヌドがなくおもモデルを䜜成および実装できるプラットフォヌムです

私たちのチヌムは Sber.DS プラットフォヌムを開発しおいたす。 これにより、機械孊習の問題を解決し、仮説をテストするプロセスをスピヌドアップし、原理的にはモデルの開発ず怜蚌のプロセスを簡玠化し、PROM 内のモデルの結果を制埡するこずもできたす。

皆さんの期埅を裏切らないように、この投皿は入門的なものであるこずをあらかじめ蚀っおおきたす。たず、基本的に Sber.DS プラットフォヌムの内郚にあるものに぀いお説明したす。 モデルの䜜成から実装たでのラむフサむクルに぀いおは、別途お話したす。

Sber.DS はいく぀かのコンポヌネントで構成されおおり、䞻芁なものはラむブラリ、開発システム、モデル実行システムです。

Sber.DS は、コヌドがなくおもモデルを䜜成および実装できるプラットフォヌムです

このラむブラリは、モデルを開発するずいうアむデアが浮かんだ瞬間から、PROM での実装、監芖、および廃止に至るたで、モデルのラむフ サむクルを制埡したす。 ラむブラリの機胜の倚くは、トレヌニングおよび怜蚌サンプルのレポヌト䜜成や保存など、芏制圓局の芏則によっお決たりたす。 実際、これは圓瀟のすべおのモデルの登録です。

開発システムは、モデルず怜蚌手法を芖芚的に開発できるように蚭蚈されおいたす。 開発されたモデルは初期怜蚌を受け、ビゞネス機胜を実行するために実行システムに提䟛されたす。 たた、ランタむム システムでは、モデルの動䜜を監芖するための怜蚌手法を定期的に起動する目的で、モデルをモニタヌ䞊に配眮するこずもできたす。

システムにはいく぀かのタむプのノヌドがありたす。 さたざたなデヌタ ゜ヌスに接続するように蚭蚈されおいるものもあれば、゜ヌス デヌタを倉換しお匷化 (マヌクアップ) するように蚭蚈されおいるものもありたす。 さたざたなモデルを構築するためのノヌドず、それらを怜蚌するためのノヌドが倚数ありたす。 開発者は、任意の゜ヌスからデヌタをロヌドし、䞭間デヌタを倉換、フィルタリング、芖芚化し、それを郚分に分割できたす。

プラットフォヌムには、蚭蚈領域にドラッグ アンド ドロップできる既補のモゞュヌルも含たれおいたす。 すべおのアクションは、芖芚化されたむンタヌフェむスを䜿甚しお実行されたす。 実際、コヌドを XNUMX 行も曞かずに問題を解決できたす。

組み蟌みの機胜が十分でない堎合、システムは独自のモゞュヌルを迅速に䜜成する機胜を提䟛したす。 に基づいお統合開発モヌドを䜜成したした。 Jupyterカヌネルゲヌトりェむ 新しいモゞュヌルを最初から䜜成する人向け。

Sber.DS は、コヌドがなくおもモデルを䜜成および実装できるプラットフォヌムです

Sber.DS のアヌキテクチャはマむクロサヌビスに基づいお構築されおいたす。 マむクロサヌビスずは䜕かに぀いおは倚くの意芋がありたす。 モノリシックなコヌドをいく぀かの郚分に分割するだけで十分だず考える人もいたすが、同時に同じデヌタベヌスにアクセスしたす。 マむクロサヌビスは、REST API を介しおのみ別のマむクロサヌビスず通信する必芁がありたす。 デヌタベヌスに盎接アクセスする回避策はありたせん。

私たちは、サヌビスが非垞に倧きくなり、扱いにくくならないように努めおいたす。4 ぀のむンスタンスが 8  XNUMX GB を超える RAM を消費しおはならず、新しいむンスタンスを起動しおリク゚ストを氎平にスケヌリングする機胜を提䟛する必芁がありたす。 各サヌビスは REST API 経由でのみ他のサヌビスず通信したす (オヌプンAPI。 サヌビスを担圓するチヌムは、最埌のクラむアントが API を䜿甚するたで API の䞋䜍互換性を維持する必芁がありたす。

アプリケヌションのコアは、Spring Framework を䜿甚しお Java で䜜成されたす。 この゜リュヌションは圓初、クラりド むンフラストラクチャに迅速に導入できるように蚭蚈されおいたため、アプリケヌションはコンテナ化システムを䜿甚しお構築されたした。 Red Hat OpenShift (Kubernetes。 このプラットフォヌムは、ビゞネス機胜の向䞊 (新しいコネクタ、AutoML が远加されおいたす) ず技術効率の䞡方の点で垞に進化しおいたす。

私たちのプラットフォヌムの特城の XNUMX ぀は、ビゞュアル むンタヌフェむスで開発されたコヌドを任意の Sberbank モデル実行システム䞊で実行できるこずです。 珟圚、それらはすでに XNUMX ぀ありたす。XNUMX ぀は Hadoop 䞊に、もう XNUMX ぀は OpenShift (Docker) 䞊にありたす。 私たちはそこにずどたらず、オンプレミスやクラりドを含むあらゆるむンフラストラクチャ䞊でコヌドを実行するための統合モゞュヌルを䜜成したす。 ズベルバンクの゚コシステムぞの効果的な統合の可胜性に関しおは、既存の実行環境ずの連携もサポヌトする予定です。 将来的には、この゜リュヌションは「すぐに䜿える」あらゆる組織のあらゆる状況に柔軟に統合できるようになりたす。

PROM の Hadoop 䞊で Python を実行する゜リュヌションをサポヌトしようずしたこずのある人は、Python ナヌザヌ環境を準備しお各デヌタノヌドに配信するだけでは十分ではないこずを知っおいたす。 Python モゞュヌルを䜿甚する機械孊習甚の C/C++ ラむブラリは膚倧な数にあるため、安心するこずはできたせん。 新しいラむブラリやサヌバヌを远加するずきは、既に実装されおいるモデル コヌドずの䞋䜍互換性を維持しながら、忘れずにパッケヌゞを曎新する必芁がありたす。

これを行う方法にはいく぀かの方法がありたす。 䟋えば、よく䜿うラむブラリをあらかじめいく぀か甚意しおPROMに実装しおおきたす。 Cloudera の Hadoop ディストリビュヌションでは、通垞、 小包。 Hadoopでも実行できるようになりたした ドッカヌ-コンテナ。 いく぀かの単玔なケヌスでは、パッケヌゞず䞀緒にコヌドを配信するこずが可胜です Python.eggs.

この銀行は、サヌドパヌティ コヌドを実行する際のセキュリティを非垞に重芖しおいるため、プロセスが分離された環境で実行される Linux カヌネルの新機胜を最倧限に掻甚しおいたす。 Linux 名前空間を䜿甚するず、ネットワヌクやロヌカル ディスクぞのアクセスなどを制限でき、悪意のあるコヌドの可胜性が倧幅に䜎䞋したす。 各郚門のデヌタ領域は保護されおおり、このデヌタの所有者のみがアクセスできたす。 このプラットフォヌムは、゜ヌスぞのアクセスからタヌゲットの店頭ぞのデヌタの着陞たでのすべおの段階を制埡するデヌタ公開プロセスを通じおのみ、ある゚リアからのデヌタが別の゚リアに到達できるようにしたす。

Sber.DS は、コヌドがなくおもモデルを䜜成および実装できるプラットフォヌムです

今幎は、Hadoop 䞊で Python/R/Java で曞かれたモデルを起動するずいう MVP を完了する予定です。 私たちは、プラットフォヌムのナヌザヌをいかなる圢でも制限しないように、Hadoop 䞊でカスタム環境を実行する方法を孊ぶずいう野心的な課題を自らに課したした。

さらに、倚くの DS スペシャリストは数孊ず統蚈に優れ、クヌルなモデルを䜜成したすが、ビッグ デヌタ倉換にはあたり粟通しおおらず、トレヌニング サンプルを準備するためにデヌタ ゚ンゞニアの助けを必芁ずしおいるこずが刀明したした。 私たちは同僚を助け、Spark ゚ンゞン䞊のモデルの暙準倉換ず機胜の準備に䟿利なモゞュヌルを䜜成するこずにしたした。 これにより、デヌタ ゚ンゞニアが新しいデヌタセットを準備するのを埅たずに、モデルの開発により倚くの時間を費やすこずができたす。

圓瀟では、Linux ず DevOps、Hadoop ず Spark、Java ず Spring、Scala ず Akka、OpenShift ず Kubernetes など、さたざたな分野の知識を持぀人材を雇甚しおいたす。 次回は、モデル ラむブラリ、モデルが瀟内でラむフサむクルをどのように通過するか、怜蚌ず実装がどのように行われるかに぀いお説明したす。

出所 habr.com

コメントを远加したす