リスク保護機械孊習システムアヌキテクチャ





圓瀟の事業は、䞻にAirbnb、䜏宅所有者、旅行者間の盞互信頌の䞊に成り立っおいたす。 したがっお、 最も信頌できるコミュニティの 1぀を䜜成しようずしおいたす。 このようなコミュニティを構築するためのツヌルの1぀は、ナヌザヌが高い評䟡を埗おいるメンバヌを芋぀けるのに圹立぀レビュヌシステムです。



私たちは皆、時々他の人をだたそうずするナヌザヌがネットワヌクを介しお来るこずを知っおいたす。 そのため、Airbnbでは、別の開発チヌムがセキュリティの問題に察凊しおいたす。 圌らが䜜成するツヌルは、ナヌザヌコミュニティを詐欺垫から保護するこずを目的ずしおおり、これらの人々がコミュニティを傷぀ける時間がないように、「クむックレスポンス」メカニズムに倚くの泚意が払われおいたす。



ネットワヌク事業は、さたざたなリスクに盎面しおいたす。 明らかに、それらは保護される必芁がありたす。さもなければ、あなたはあなたのビゞネスの存圚そのものを危険にさらしたす。 たずえば、むンタヌネットサヌビスプロバむダヌは、ナヌザヌをスパムから保護し、支払いサヌビスを詐欺垫から保護するために倚倧な努力を払っおいたす。



たた、悪意のある意図からナヌザヌを保護する倚くの機䌚がありたす。

  1. 補品の倉曎 。 远加のナヌザヌ怜蚌を導入するこずにより、いく぀かの問題を回避できたす。 たずえば、メヌルアカりントの確認を芁求したり、アカりントの盗難を防ぐために2芁玠認蚌を実装したりしたす。
  2. 偏差怜出 。 䞀郚の攻撃は、いく぀かのパラメヌタヌを短時間で倉曎するこずで怜出できるこずがよくありたす。 たずえば、予玄の予想倖の1000の増加は、優れたマヌケティングキャンペヌンたたは詐欺の結果である可胜性がありたす。
  3. ヒュヌリスティックず機械孊習に基づくモデル 。 詐欺垫は、よく知られおいるスキヌムに埓っお行動するこずがよくありたす。 ある皮のスキヌムを知っおいれば、ヒュヌリスティック分析を䜿甚しおそのような状況を認識し、それらを防ぐこずができたす。 耇雑で倚段階のスキヌムでは、ヒュヌリスティックが面倒で非効率になるため、ここで機械孊習を䜿甚する必芁がありたす。


オンラむンリスク管理の詳现に関心がある堎合は、 Ohad Sametの本を参照しおください。



機械孊習アヌキテクチャ



異なるリスクベクタヌには、異なるアヌキテクチャが必芁になる堎合がありたす。 倚くの堎合、時間は重芁ではありたせんが、怜出には倧きな蚈算リ゜ヌスを䜿甚する必芁がありたす。 このような堎合、オフラむンアヌキテクチャが最適です。 ただし、この投皿の䞀環ずしお、リアルタむムで動䜜し、それに近いシステムのみを怜蚎したす。 䞀般に、これらのタむプのリスクに察する機械孊習パむプラむンは、次の2぀の条件に䟝存したす。

  1. フレヌムワヌクは高速で信頌できるものでなければなりたせん 。 ダりンタむムず動䜜䞍胜の可胜性のある時間をれロに枛らす必芁があり、フレヌムワヌク自䜓が垞にフィヌドバックを提䟛する必芁がありたす。 そうでなければ、詐欺垫は、差し迫った過負荷たたはシステムのシャットダりンを予期しお、耇数の攻撃を同時に開始するか、比范的簡単な方法で継続的に攻撃するこずにより、パフォヌマンスの欠劂たたはバグのあるフレヌムワヌクを利甚できたす。 したがっお、フレヌムワヌクは理想的にはリアルタむムで機胜する必芁があり、モデルの遞択は評䟡の速床やその他の芁因に䟝存するべきではありたせん。
  2. フレヌムワヌクは柔軟でなければなりたせん 。 詐欺のベクトルは絶えず倉化しおいるため、怜出ず反䜜甚の新しいモデルを迅速にテストおよび実装できる必芁がありたす。 モデルを構築するプロセスにより、゚ンゞニアは問題を自由に解決できるはずです。


トランザクション䞭のリアルタむムコンピュヌティングの最適化は䞻に速床ず信頌性に関するものですが、モデルの構築ず反埩の最適化は柔軟性に重点を眮く必芁がありたす。 ゚ンゞニアリングチヌムずデヌタ凊理チヌムは、䞊蚘の芁件を満たすフレヌムワヌクを共同で開発したした。これは、攻撃の怜出においお高速で信頌性が高く、モデルを構築するための柔軟なパむプラむンを備えおいたす。



機胜の匷調衚瀺







サヌビス指向のアヌキテクチャを維持するために、特定のモデルに必芁なすべおの機胜を匷調する別の詐欺予枬サヌビスを䜜成したした。 システムが重芁なむベントを登録するずたずえば、䜏宅が予玄されおいる堎合、凊理リク゚ストが詐欺予枬サヌビスに送信されたす。 その埌、圌は「䜏宅予玄」のモデルに埓っおむベントの暙識を遞択し、 Openscoringサヌビスに送信したす。 圌は定められた基準に基づいお評䟡ず決定を発行したす。 この情報はすべお、予枬サヌビスを䜿甚できたす。



これらのプロセスは、危険が発生した堎合に間に合うように迅速に凊理する必芁がありたす。 予枬サヌビスは、パフォヌマンスが重芁な他の倚くのバック゚ンドサヌビスず同様に、Javaで蚘述されおいたす。 デヌタベヌスク゚リは䞊列化されたす。 同時に、特城を区別するプロセスで重い蚈算が行われる堎合には、自由が必芁です。 そのため、予玄サヌビスなどを劚げないように、予枬サヌビスは非同期に実行されたす。 非同期モデルは、数秒の遅延が特別な圹割を果たさない堎合にうたく機胜したす。 ただし、トランザクションに即座に応答しおブロックする必芁がある堎合がありたす。 これらの堎合、同期ク゚リず事前蚈算された機胜の評䟡が適甚されたす。 したがっお、予枬サヌビスはさたざたなモゞュヌルず内郚APIで構成されおおり、新しいむベントやモデルを簡単に远加できたす。



スコアリング



これは、 JPMML-Evaluatorの JSON RESTむンタヌフェヌスを提䟛するJavaサヌビスです。 JPMMLずOpenscoringはオヌプン゜ヌスであり、AGPL 3.0ラむセンスの䞋で配垃されおいたす。 JPMMLバック゚ンドは、ツリヌベヌス、ロゞット倉換、SVM、ニュヌラルネットワヌクなど、いく぀かの䞀般的な機械孊習モデルを゚ンコヌドするXML蚀語であるPMMLを䜿甚したす。 本番環境にOpenscoringを実装し、Kafkaロギング、statsdモニタリングなどの远加機胜を远加したした。



私たちの意芋では、Openscoringの利点は䜕ですか



ただし、Openscoringには欠点がありたす。





モデル構築パむプラむン







䞊蚘は、PMMLを䜿甚したモデル構築パむプラむンの図です。 たず、サむトに保存されおいるデヌタから暙識が匷調衚瀺されたす。 最適な信号を提䟛する機胜の組み合わせは垞に倉化しおいるため、JSON圢匏で保存したす。 これにより、名前ずタむプに基づいおフィヌチャヌをロヌドおよび倉換するプロセスを芁玄できたす。 次に、蚘号がグルヌプ化され、信号を改善するために、䞍足しおいる倉数の代わりに適切な倉数が挿入されたす。 統蚈的に重芁でない兆候は砎棄されたす。 これらすべおの操䜜にはかなりの時間がかかるため、生産性を向䞊させるために倚くの詳现を犠牲にする必芁がありたす。 次に、倉換された機胜を䜿甚しお、お気に入りのPMML互換の機械孊習ラむブラリを䜿甚しおモデルをトレヌニングおよび盞互怜蚌したす。 その埌、結果のモデルがOpenscoringにロヌドされたす。 最終結果はテストされ、最良の結果が瀺されるかどうかを刀断するために䜿甚されたす。



モデルトレヌニングフェヌズは、PMMLラむブラリを備えた任意の蚀語で実行できたす。 たずえば、R PMMLパッケヌゞがよく䜿甚されたす。 倚くの皮類の倉換ずデヌタ操䜜メ゜ッドをサポヌトしおいたすが、ナニバヌサル゜リュヌションずは蚀えたせん。 モデルをトレヌニング埌に別のステヌゞずしお展開するため、手動でチェックする必芁があり、これには倚くの時間がかかりたす。 Rの別の欠点は、倚数の属性ずツリヌを持぀PMML゚クスポヌタヌの䜎い実装率です。 ただし、C ++で関数゚クスポヌトを単玔に曞き換えるず、実行時間が数日から数秒に玄10,000回短瞮されるこずがわかりたした。



Pythonずscikit-learnに基づいおパむプラむンを構築する際の利点を利甚しお、Rの欠陥を回避するこずができたす 。 Scikit-learnは、倚くの暙準的な機械孊習モデルをサポヌトするパッケヌゞです。 たた、パタヌンのチェックず文字倉換の実行に圹立぀ナヌティリティも含たれおいたす。



私たちにずっお、Pythonは状況デヌタ管理ず特城抜出のためにRよりも適切な蚀語になりたした。 自動抜出プロセスは、JSONの倉数の名前ずタむプに゚ンコヌドされた䞀連のルヌルに䟝存しおいるため、既存のコヌドを倉曎せずに新しい機胜をパむプラむンに組み蟌むこずができたす。 たた、Openscoringず察話するための暙準ネットワヌクラむブラリを䜿甚しお、Pythonで展開ずテストを自動的に行うこずもできたす。 sklearnを䜿甚しお、暙準モデルのパフォヌマンステスト粟床リコヌル、ROC曲線などが実行されたす。 すぐに䜿甚できるPMML゚クスポヌトをサポヌトしおいないため、特定の分類子の内郚゚クスポヌトメカニズムを曞き換える必芁がありたした。 PMMLファむルがOpenScoringにアップロヌドされるず、それが衚すscikit-learnモデルずの敎合性が自動的にテストされたす。 属性の倉換、モデルの構築ずモデルの怜蚌、展開ずテストのすべおの段階が単䞀のスクリプトで実行されるため、開発者は新機胜たたは最新のデヌタに基づいおモデルをすばやく反埩し、すぐに運甚環境に展開できたす。



䞻な段階状況->サむン->アルゎリズムの遞択



構築したプロセスは、䞀郚のモデルで優れた結果を瀺したしたが、残りのモデルでは、粟床のリコヌルが䞍十分です。 たず、理由ぱラヌであるず刀断し、より倚くのデヌタず機胜を䜿甚しようずしたした。 ただし、改善はありたせんでした。 デヌタをより深く分析し、問題は状況自䜓が間違っおいるこずであるこずがわかりたした。



たずえば、払い戻しの芁件があるケヌスを考えおみたしょう。 払い戻しは、補品が「Not As DescribeNAD」たたは詐欺である堎合に発生する可胜性がありたす。 しかし、良心的なナヌザヌがNADリタヌンの有効性を文曞化できるため、これらの䞡方の理由を1぀のモデルにたずめるのは間違いでした。 この問題は、他の倚くの問題ず同様に簡単に解決できたす。 ただし、倚くの堎合、通垞のナヌザヌのアクティビティから詐欺垫の動䜜を分離するこずは非垞に困難です。远加のデヌタりェアハりスずログパむプラむンを䜜成する必芁がありたす。



機械孊習の分野で働いおいるほずんどの専門家にずっお、これは明らかであるこずがわかりたすが、もう䞀床匷調したいのです分析された状況が完党に正しくない堎合は、粟床の粟床ず分類の完党性の䞊限を既に蚭定しおいたす。 状況が本質的に誀っおいる堎合、この制限はかなり䜎いこずがわかりたす。

新しいタむプの攻撃に出くわすたでは、特にリスクのある状況で以前に働いたこずがない堎合、それを特定するために必芁なデヌタがわからないこずがありたす。 たたは圌らは働いたが、別の分野で。 この堎合、可胜なすべおのログを蚘録するようアドバむスできたす。 将来的には、この情報は有甚であるだけでなく、新しい攻撃ベクトルに察する保護にずっおも貎重なものになる可胜性がありたす。



今埌の展望



私たちは、詐欺予枬システムのさらなる改善ず開発に絶えず取り組んでいたす。 䌚瀟の珟圚のアヌキテクチャず利甚可胜なリ゜ヌスの量は、珟圚のアヌキテクチャに反映されおいたす。 倚くの堎合、䞭小䌁業は数個のMLモデルず少数のアナリストのみを本番環境で䜿甚する䜙裕があり、非暙準のケヌスではデヌタを手動で凊理しおモデルをトレヌニングする必芁がありたす。 倧䌁業は、倚数のモデルを䜜成し、プロセスを広く自動化し、オンラむンでトレヌニングモデルから倧きな利益を埗る䜙裕がありたす。 非垞に急速に成長しおいる䌚瀟で働くこずは、幎ごずに根本​​的に倉化する景芳で働くこずを可胜にするので、トレヌニングコンベアは絶えず曎新される必芁がありたす。



ツヌルず技術の開発に䌎い、孊習アルゎリズムのさらなる改善ぞの投資がたすたす重芁になっおいたす。 おそらく、私たちの取り組みは、新しいアルゎリズムのテスト、オンラむンモデルトレヌニングのより広範な導入、およびより倚くのデヌタセットで動䜜できるようにフレヌムワヌクをアップグレヌドするこずにシフトしたす。 モデルを改善するための最も重芁な機䌚のいく぀かは、蓄積された情報の䞀意性、属性のセット、および明癜な理由で聞こえない他の偎面に基づいおいたす。 ただし、他の開発チヌムず経隓を共有するこずに関心がありたす。 私たちに曞いおください



All Articles