JP7239519B2 - 機械学習モデル運用管理システムおよび運用管理方法 - Google Patents

機械学習モデル運用管理システムおよび運用管理方法 Download PDF

Info

Publication number
JP7239519B2
JP7239519B2 JP2020054839A JP2020054839A JP7239519B2 JP 7239519 B2 JP7239519 B2 JP 7239519B2 JP 2020054839 A JP2020054839 A JP 2020054839A JP 2020054839 A JP2020054839 A JP 2020054839A JP 7239519 B2 JP7239519 B2 JP 7239519B2
Authority
JP
Japan
Prior art keywords
inference
log
business
machine learning
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020054839A
Other languages
English (en)
Other versions
JP2021157313A (ja
JP2021157313A5 (ja
Inventor
聡一 高重
大輔 小牧
伸 手塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020054839A priority Critical patent/JP7239519B2/ja
Priority to US17/029,812 priority patent/US12073295B2/en
Publication of JP2021157313A publication Critical patent/JP2021157313A/ja
Publication of JP2021157313A5 publication Critical patent/JP2021157313A5/ja
Priority to JP2023032160A priority patent/JP7538272B2/ja
Application granted granted Critical
Publication of JP7239519B2 publication Critical patent/JP7239519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラムに関する。
本発明は、機械学習モデルを開発し、デプロイする運用ライフサイクル(MLOps:Machine Learning/Operations)を管理する技術の中で、特に運用監視の技術に好ましく適用される。
機械学習において、開発したモデルをシステムに導入した後に、そのモデルの精度や特定の状況における推論結果に問題が発生しているかを恒常的、定期的に確認することが重要となる。この際、モデルに問題が発生しているかを監視し、精度などに問題がある場合にそれを検出して対応するシステムが必要となる。
本技術に関連するものとして、例えば特許文献1に開示されたものがある。この特許文献1には、推論システムの精度を収集、監視し、精度のより高いモデルをデプロイする方式が開示されている。
米国特許出願公開第2019/0156427号明細書
特許文献1に記載の技術では、推論結果を用いた業務のKPIに問題があった場合、業務と推論の結果の関連性がわからず、モデル・データのいずれかに問題があるかを特定するために、関連データをすべて探し出して、内容を確認する必要がある。これを支援する技術がないと、業務とモデルの実績の間の相関関係やトランザクションレベルでの1:1のデータの対応付けなどを、膨大なデータの中から人手で行う必要があり、膨大なコストがかかる。
本発明は上記の課題に鑑みてなされたもので、業務と推論データの間の関係づけを支援し、問題となるデータの抽出を迅速に行うことが可能な機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラムを提供することにある。
上記課題を解決すべく、本発明の一つの観点に従う機械学習モデルの運用管理を行うシステムは、機械学習モデルを呼び出すシステムによる業務の内容を出力するシステムデータ列と、機械学習モデルの推論を処理する場合の入出力データである記録データ列とに基づいて、システムデータ列と記録データ列の対応付けを、システムと機械学習モデルとの依存関係を表す構成情報からこれらシステムデータ列と記録データ列との対応付けを算出する業務推論対応付け部を備えることを特徴とする。
本発明によれば、業務と推論データの間の関係づけを支援し、問題となるデータの抽出を迅速に行うことが可能な機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラムを実現することができる。
実施例1に係る機械学習モデル運用管理システムの概略の全体構成を示す図である。 実施例1に係る機械学習モデル運用管理システムのハードウェア構成を示すブロック図である。 実施例1に係る機械学習モデル運用管理システムにおける実験管理ログ及びバージョン管理部の一例を示す図である。 実施例1に係る機械学習モデル運用管理システムにおける推論ログおよび業務ログの一例を示す図である。 実施例1に係る機械学習モデル運用管理システムにおけるデータフロー情報の一例を示す図である。 実施例1に係る機械学習モデル運用管理システムにおけるフィードバックパターン定義の一例を示す図である。 実施例1に係る機械学習モデル運用管理システムの業務―推論ID対応付け部処理の一例を示すフローチャートである。 実施例1に係る機械学習モデル運用管理システムのモデル関係特定処理の一例を示すフローチャートである。 実施例1に係る機械学習モデル運用管理システムの紐づけ対象データソース特定処理の一例を示すフローチャートである。 実施例1に係る機械学習モデル運用管理システムのログ内対応付け特定処理の一例を示すフローチャートである。 実施例2に係る機械学習モデル運用管理システムの概略の全体構成を示す図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
AIシステムの業務ログ情報と推論ログ情報を管理する、本実施例の機械学習モデル運用管理システムの構成例を図1に示す。図1はシステムの論理的な構成情報を示している。
本実施例において、機械学習の学習に関する処理データ、および推論時に利用する実績のデータはともにモデル管理サーバ01において管理される。モデル管理サーバ01は、学習処理サーバ16、推論処理サーバ14、および、推論結果を利用するその他の業務処理サーバ15と連携して、機械学習モデルに関する情報の管理を行う。これらのシステムは図2にあるように、CPU、ストレージ、メモリ、およびネットワーク装置などで構成されるサーバ装置などによって構成される。
モデル管理・学習サーバ01、16、推論処理サーバ14及び業務処理サーバ15は、各種情報処理が可能な装置、一例としてコンピュータ等の情報処理装置である。情報処理装置は、演算素子、記憶媒体及び通信インターフェースを有し、さらに、マウス、キーボード等の入力装置、ディスプレイ等の表示装置、ネットワーク装置等を有する。
演算素子は、例えばCPU(Central Processing Unit)、FPGA(Field-Programmable Gate Array)等である。記憶媒体は、例えばHDD(Hard Disk Drive)などの磁気記憶媒体、RAM(Random Access Memory)、ROM(Read Only Memory)、SSD(Solid State Drive)などの半導体記憶媒体等を有する。また、DVD(Digital Versatile Disk)等の光ディスク及び光ディスクドライブの組み合わせも記憶媒体として用いられる。その他、磁気テープメディアなどの公知の記憶媒体も記憶媒体として用いられる。
記憶媒体には、ファームウェアなどのプログラムが格納されている。サーバの動作開始時(例えば電源投入時)にファームウェア等のプログラムをこの記憶媒体から読み出して実行し、サーバの全体制御を行う。また、記憶媒体には、プログラム以外にも、サーバの各処理に必要なデータ等が格納されている。
なお、本実施例のサーバ装置は、それぞれ、情報処理装置が通信ネットワークを介して通信可能に構成された、いわゆるクラウドにより構成されてもよい。
学習処理サーバ16は、機械学習で利用する学習データを入力として、機械学習モデルを構築する学習処理を実行し、その結果として、何らかの推論処理を行うモデルを生成する。その際、モデル学習に利用した学習データ161と、その結果として生成されたモデル163を実験管理ログ11としてモデル管理サーバ01に送信する。
推論処理サーバ14は、学習処理サーバ16で生成された機械学習モデルを利用し、外部から推論用のデータを入力として受け取り、推論処理を行ってその結果を外部に返す。例えば、流通業務における、商品の需要予測処理などがある。別の例としては、ある顧客に対するセグメンテーションを行うなど、マーケティングに利用するシステムが挙げられる。
推論処理サーバ14はその処理の入力として推論データ143を受け取り、そのデータに対して何らかの数学的処理を行った結果として推論結果145を生成する。ログ収集機能141は、その組み合わせを常に監視し、推論ログ12をモデル管理サーバ01に送信する。
業務処理サーバ15は、推論処理サーバ14を利用して、業務に対する処理を実行する一般的な情報処理システムである。その業務処理において、業務上の記録を業務ログ13として出力する。この業務ログ13の例としては、ある需要の推移などを記録したものである。この結果は推論結果145と比較することができる。一方で、顧客のセグメンテーションにおいては、正解は存在せず、その結果を人間が正否判定するなどの処理が必要である。この正否判定ログが業務ログ13に相当する。このように、業務ログ13は業務に依存して異なる内容を含む。
モデル管理サーバ01では、このような業務ログ13と推論ログ12の間の対応付けを管理する。
機械学習の学習を行う機器(学習処理サーバ16)及び、モデル管理サーバ01は、業務-推論ID対応付け部10、実験管理ログ11、推論ログ12、業務ログ13及びバージョン管理部19で構成される。実験管理ログ11、推論ログ12および業務ログ13は、それぞれ学習処理サーバ16、推論処理サーバ14および、業務処理サーバ15から収集されたログ情報である。
推論ログ12および業務ログ13は、収集対象となった推論処理システムに含まれる個別の推論モデル、および個別の業務システムに対して1つずつ個別のファイルもしくはテーブルとして保存される。そのため、モデルに対応する推論の履歴などを、対応する推論ログファイルを取得することで参照することができる。業務ログ13においても同様に業務ログファイルを取得することで、特定の業務における業務指標などの履歴を取得することができる。
バージョン管理部19は、実際にシステムで利用しているモデルのバージョンと、そのモデルをどの実験の結果を用いているかを特定するための構成管理情報である。
業務-推論ID対応付け部10は、推論ログ12の特定のログ行のグループと、業務ログ13の特定のログ行のグループとの間の対応付けを、問題定義情報(データフロー定義101およびフィードバックパターン定義103)を用いて実施する。
実験管理ログ11の論理的な構成例を図3(A)に示す。実験管理ログ11はモデルID301、UUID(Universally Unique Identifier)302、学習モデルソースコードID303、ハイパーパラメータ304、学習データ305、検証データ306、及び検証精度307で構成される。
モデルID301は、モデルの特性を表し、モデルの構築をする設計者が他のモデルと区別するために割り当てる一意な識別子である。例えば「業務A向け回帰アルゴリズム」「業務B向けクラスタリングモデル」などである。UUID302は、繰り返しモデルのチューニングを行う場合に、その繰り返しの中であるモデルを特定するための一意な識別子である。
学習モデルソースコードID303~学習データ305は、学習モデルを生成するために用いたプログラムおよびデータを特定するための情報である。プログラムのソースコードの実体であったり、外部のリポジトリ中のIDであったりといった情報が入れ込まれる。学習データについても同様に、CSVデータなどの実体であったり、外部のリポジトリ中のIDであったりといった情報を記載する。検証データ306および検証精度307は、生成した機械学習モデルの推論性能を検証するために利用したデータおよび、その検証結果を示す情報であり、生成されたモデルの優劣を比較するなどの目的において利用する。
バージョン管理部19の論理的な構成例を図3(B)に示す。バージョン管理部19は、モデルID391、バージョン392、エンドポイント393、デプロイ日394、及び廃棄日395で構成される。
モデルID391は、システムにおいてモデルが使われる用途、コンポーネントの位置などを一意に特定するための識別子である。例えば「XX業務向け需要予測モデル」などのように用いられる。
バージョン392は、そのモデルの更新来歴を表し、モデルのアルゴリズムやパラメータが更新されるたびに、新しく採番される識別子である。エンドポイント393は、そのモデルがデプロイされたシステムを表す識別子である。例えば、Webサービスとしてモデルが実装される場合、そのWebサービスのアクセス先のURLなどを入れる。これを利用することで、複数のサービスにそれぞれ同一IDのモデルがある場合にも、どのインスタンスの構成情報であるかを管理することができる。
デプロイ日394と廃棄日395は、それぞれモデルがシステムに対して組み込まれたデプロイ日時と、他のバージョンのモデルに更新されることに伴い廃棄された日時を表す。
推論ログ12の論理的な構成例を図4(A)に示す。推論ログ12はトランザクションID401、モデルID402、タイムスタンプ404、入力値405、および出力値406で構成される。
トランザクションID401は、ログ行を一意に特定する識別子である。モデルID402はモデルを一意に特定するための識別子であり、モデルID301と同様の値が入る。学習時の識別子と、推論時の識別子とを突き合わせることで、学習時のデータと推論時のデータの分布が一致しているかを確認するために利用することができる。タイムスタンプ404は、推論処理が実施された時刻を表す。入力値405と出力値406は、推論の入力と出力のデータをそのまま記録したものである。入力値と出力値の対応付けを確認することで、モデルが正常に動作しているか、モデルの入力データが異常値となっているか、などを確認することができる。
業務ログ13の論理的な構成例を図4(B)に示す。業務ログ13はログID411、タイムスタンプ41、ログメッセージ413で構成される。
ログID411はログ行を一意に特定する識別子で、タイムスタンプ412は、ログが生成された時刻を表す。ログメッセージ413はログの内容を表すメッセージである。ログメッセージ413は業務ごとに依存する内容となるが、例えば「ある時刻における需要の実際の値」であったり、「顧客のセグメンテーションの正否を業務従事者が判断した正否情報」などが記録されることを想定している。
次に、業務-推論ID対応付け部10が利用する問題定義情報について説明する。
データフロー定義101の構成例を図5に示す。データフロー定義101は、入力のデータが処理をされて、出力される処理の流れを示す。これにより、あるモデルIDで示される機械学習モデルが、全体システムの中のどの処理として実行されているかを把握することができる。
データフロー定義101は学習時処理フロー501および、推論時処理フロー502で構成される。それぞれ、学習処理サーバ16および推論処理サーバ14で実行される処理のフローを表している。
学習時処理フロー501は、学習データ情報511、処理フロー512、および、生成モデルID513で構成される。この情報から、ある生成モデルID513で識別される処理が、どの学習データ情報511から生成されるかの対応付けを把握することができる。
推論時処理フロー502は、入力データストアID521、処理フロー522、モデル識別子523、出力データストアID524、および業務処理ID525で構成される。この情報から、あるモデル識別子523であらわされる機械学習モデルの入力値を格納するログデータファイル、出力値を格納するデータファイルを特定することができる。ログデータファイルに記載される内容は、図4(A)に記載される推論ログ12と同等、もしくは、その中の入力値、出力値のどちらかをペイロードとして保持する情報である。
同様に、上記推論処理フローによって、業務処理ID525で示される業務処理が出力するファイルの情報も特定することができる。業務処理の出力情報は、図4(B)に示される情報と同等である。
もう1つの問題定義情報である、フィードバックパターン定義103の構成例を図6に示す。フィードバックパターン定義103はモデルID601、業務ID602、結合関係603および結合関係プロパティ604で構成される、コンポーネント間の依存関係を表すグラフ構造である。コンポーネントはモデルID601もしくは業務ID602で識別される、グラフ構造上のノードである。
モデルID601および業務ID602は、推論処理、もしくは業務処理を一意に識別するIDである。これらのIDは、データフロー定義101における生成モデルID513、モデル識別子523、業務処理ID525と同じ情報であり、これらのIDを利用して、互いの定義情報の中で同一のIDを含む情報を抽出することができる。
結合関係603は、推論処理および業務処理で用いられるデータの依存関係を示すグラフ構造中のリンクに相当する情報である。ある処理が前段、あるいは後段のどの処理に関連づいているかを示す。この情報により、どの推論処理と、どの業務処理のログを対応づけて管理する必要があるかを特定することができる。
結合関係プロパティ604は、これらのログの中のどのデータ同士を対応付けて管理すべきかを表す情報であり、推論処理と業務処理の間のデータの相関関係を表す情報である。これは対応付け関係情報、キー情報、および評価情報で構成される。
対応付け情報は、両者のログ行が1:1で対応づくか、N:1もしくは1:Nで対応づくかを示す。
キー情報は、両者のログ行の中で、ログ行の対応付けを行うためのルールを示す情報である。例えば「トランザクションID」の場合は、両者のIDが同一の情報を対応付け、「時刻(+X)」の場合は、一定の時刻(X)が過ぎた時点に最も近い情報を対応付け、「参照マップ」の場合は、外部にあるデータベースの情報を参照して、片方のIDに対応する他方のIDを検索して対応付け、「計算式f(X), g(Y)」の場合は、結合元のIDがXであるときにf(X)で結合先のIDを計算して、結合先のIDがYであるときに結合元のIDをg(Y)の計算式で計算する、といった情報となる。
評価情報は、業務ログ13におけるログ行の情報が推論処理に対してどのようなフィードバックを与えているかを示す情報である。例えば「誤判定検知」の場合は、人間が手動で推論結果を誤判定とした場合にログ行が生成され、「即値比較」の場合は業務ログ13と推論ログ12の出力値を直接比較する内容が生成され、「スコア値」の場合は、直接比較できないが、値の高低が連動する値を含むログが生成され、「精度伝播」の場合は、後段の処理の内容を間接的に該当モデルの出力値の評価と連動する業務ログ13とみなす必要がある場合を示す。
図6には3つのパターンの構成例を示している。例(A)は、出力の値を直接評価することができず、人間による正否判定を伝えるシステムの例である。例(B)は、あるモデルがさらに後段の推論処理の入力となり、さらにそのモデルの推論処理が業務1の処理に影響を与えるものであることを示している。その結果は一定時刻を経過した業務上の実測値と直接比較することができることを表している。需要予測などにおいてあり得る構成である。例(C)は、その推論結果は業務上の何らかの指標で評価できるが、推論結果とは直接比較できない事例をあらわす。制御モデルと、その制御結果のパフォーマンスを測定する、などの場合があり得る。
このように、機械学習を適用する様々なケースにおいて、そのログ情報を統一的な手順で結びつけるために、この問題定義情報を用いる。
データフロー定義101およびフィードバックパターン定義103は、ともにあるシステムにおいて固有の情報である。これらの情報は、システム構築者によって明示的に定義することを基本とする。
ただし、データのIDに同一のトランザクションIDを用いてデータフローを構成するようなシステムにおいては、このトランザクションIDを用いて、双方の問題定義情報の一部もしくは全体を、推論ログ12および実験管理ログ11から推定することも可能である。この場合、両者のログから同一のモデルID、バージョンID、およびトランザクションIDを用いているログ行を取り出し、その順序関係を比較して、時刻が早いものから、時刻が遅いものへの結合関係を推定することで、ログ情報とモデル情報の対応付け、および、結合関係603を推定する。
データフロー定義101は実装の担当者が入力し、フィードバックパターン定義103は上位のシステム設計者もしくはデータサイエンティストや業務知識に詳しい設計者が入力するなど、ロールに応じた知識を入力することができ、それらの合成情報から自動的にログデータ間の対応付けを行うことが本実施例の特徴であるといえる。
次に、業務-推論ID対応付け部10の処理の流れについて説明する。
図7は業務-推論ID対応付け部10が収集した推論ログ12の各ログ行に対して実行する処理の概要を示す。この処理では、モデル関係の特定ステップ701、紐づけ対象データソース特定処理702、およびログ内対応付け処理703を順に実施する。
図7のモデル関係の特定ステップ701の処理フローの例を図8に示す。本処理では、ある機械学習モデルを利用した推論処理のデータの分布と、そのモデルの学習時のデータを比較するための処理を実施する。
(ステップ801)各推論ログのログ行を参照し、その推論を実行したモデルのモデルID402を特定する。次にデータフロー定義101を参照し、フロー定義中にモデルID402をモデルID513として含むフロー情報8001を取得する。
(ステップ802)ステップS801で取得したフロー情報を参照し、モデルIDに関連する入力データストアおよび出力データを含むデータファイル(もしくはテーブル名)を特定する。
(ステップ803)推論ログ12中のタイムスタンプから、その時にデプロイされていたモデルのバージョン情報を取得する。これは、バージョン管理部19から、該当するモデルIDと、対象とするシステムのエンドポイントをキーにしてレコードを抽出し、そこに記載されているバージョン392を取得することによって実現できる。また、同一のレコードからUUID302も併せて取得する。
(ステップ804)モデルID402およびモデルバージョン403をキーとして、推論ログ12を含むデータファイルから、キー情報が一致するログ行をすべて抽出する。
(ステップ805)モデルID402およびモデルバージョン403をキーとして、実験管理ログ11から、該当するUUID302のログ行からキーが一致する情報を取得し、そこに含まれる学習データ305を抽出する。
ステップ804の結果として1つ以上の推論入出力データを含むデータセットを取得し、ステップ805の結果として1つ以上の学習データを含むデータセットを取得することができる。これらを比較することにより、データの異常が発生しているかを調査することができるようになる。
対応付けられた結果は、図1に示すようにグラフとして表示する、あるいは、対応付けられたデータセット同士を特定のディレクトリにファイルとして出力する、などの方法により、後続の分析処理に利用できる。これらの処理を、システムに組み込みの処理として実装する、あるいは、対応付けたデータをプログラムにプラグインされた関数に渡して任意の処理を実行させる、などの方法で分析に用いることができるシステムを合わせて実装する。これらの処理は既存のプログラミングの処理を用いて実現することが可能である。
図7の紐づけ対象データソース特定処理702の処理フローの例を図9に示す。本処理では、新しく取得された推論ログ12の各ログ行に対して、どの業務処理のログ情報と突き合わせる必要があるかをファイルレベルで特定する。その後、図10で示す処理によって、各IDで特定される1つ以上のログ行で構成されるデータセットの中で、どのログ行を、他方のどのログ行に対応付けて管理すべきかを決定する。
まず、要素を含まない空列のリスト構造のデータを作成し、「結合関係プロパティリスト9003」とする。
(ステップ901)対象とするログ行のモデルID402を取得する。フィードバックパターン定義103を参照し、該当するモデルID402を含むノード9000を抽出する。
(ステップ902)ステップS901で抽出したノード9000から紐付けられる結合関係603を抽出し、その結合関係603に含まれる結合情報プロパティ9001を取得する。また、結合関係603に接続されている結合先ノード9010を取得する。
(ステップ903、907、908)ステップS902で取得した結合情報プロパティ9001の「評価情報」が伝播であった場合、その結合情報プロパティ9001を、プロパティのリスト情報9003に新規項目として追加する。その後、ノード9010および、該当ノードに割り当てられたモデルID402を取得し、その情報を当初のログ行におけるモデルIDとみなしてステップ901からの処理を再び実施する。
(ステップ904)ステップS902で取得した結合情報プロパティ9001の「評価情報」が伝播ではなかった場合、結合関係603の結合先ノード9010は業務処理を表すとみなす。そのノード9010に割り当てられた業務IDが出力する業務ログ13の情報からデータフロー定義101を取得する。この処理は、業務IDを含むデータフロー定義101を抽出したのちに、そのフローに含まれる業務ログ13を特定する出力ログ情報9002(図5中の521および524)を、フロー情報をたどって取得することによって実行できる。同様に、ステップ901で取得したモデルID402に対応する推論ログ12(同じく図5中の521および524)に該当する出力ログ情報9002を、データフロー定義101をたどって取得する。
(ステップ905)結合情報プロパティ9001を結合関係プロパティのリスト9003に追加する。
(ステップ906)現在注目しているログ行のモデルID402、結合関係プロパティリスト9003および、ステップ904で特定したモデルと業務のログファイル情報9002を返す。
最後にログ内対応付け処理によって、図9で特定された対応ログファイル内のログ行レベルでの対応付けの処理フローを図10に示す。この処理フローでは、入力として図9の処理フローの処理結果として取得した注目するモデルID、結合関係プロパティリスト9003および、出力ログ情報9002を入力として受け取り、そのファイル群の中において対応付ける必要があるログ行を特定する。
(ステップ1001)結合関係プロパティリスト9003中の結合情報プロパティ9001を、リストの逆順に取り出し、ステップ1002~1011を実行する。
(ステップ1002)フィードバックパターン定義103から、注目するモデルID601を含むノードを抽出する。そのノードを結合先として持つ結合関係603を抽出して、その数を調べる。その数が1である場合はステップ1003~1007を実行し、その数が1以上である場合はステップ1008~1010を実行する。
(ステップ1003)結合情報プロパティ9001の中の「キー」の値に従って、それぞれステップ1004~1007を実行する。
(ステップ1004)「キー」の値が「トランザクションID」である場合、推論ログファイル情報9002中の各ログ行に対して、業務ログファイル情報9002に含まれるログ行の中で、同一IDを持つログ行を抽出して対応付ける。
(ステップ1005)「キー」の値が「時刻(X)」である場合、推論ログファイル情報の各ログ行に対して、業務ログ13中の各ログ行のタイムスタンプを取得し、その値の差がXに最も近いログ行を抽出して対応付ける。
(ステップ1006)「キー」の値が「参照マップ」である場合、参照マップで指定されるデータベースもしくは辞書型のデータ構造を取得し、次にそのマップ情報を参照して、推論ログ12中の各ログ行に含まれるトランザクションID401に対応する業務ログID10000を取得する。そして、業務ログ13の中から、業務ログID10000を含むログ行を抽出して対応付ける。
(ステップ1007)「キー」の値が「計算式f(X),g(Y)」である場合、推論ログ12中の各ログ行に対して、各ログ行に含まれるトランザクションID401を取得し、そのIDをXとした場合の業務ログ13のID YをY=f(X)として計算する。そして、業務ログ13の中から、業務ログID(Y)を含むログ行を抽出して対応付ける。
(ステップ1008-ステップ1010)結合元のコンポーネントの数が1以上のグラフ構造である場合、これは他の複数のログファイルのログ行と、注目するモデルIDに対応する推論ファイルの1行と対応付けられることを意味している。(図6中のモデル3にモデル1、モデル2の2つが結合している部分に対応する)この場合、モデル3の1行に対して、少なくともモデル1の1行(もしくは複数行)、モデル2の1行(もしくは複数行)が対応づけられることを示す。この場合、モデル1、モデル2のそれぞれを参照し、モデル3のあるログ行Xが持つトランザクションID401を「業務ログID10002」とみなし、そのトランザクション行と対応付けるべきモデル1、およびモデル2のログ行10003を特定して対応付ける。この処理は、モデル1、モデル2の各行に対してステップ1003~1007を実行して、対応付けられるIDを導出し、その値が前記の業務ログID10002に合致するようなログ行10003を抽出することで実現できる。
上記の処理によって対応付けられたログ行同士は、1つの対応付けられたデータとして画面に表示したり、データを結合した新しいログ行として別個のデータストアに関連付けて保存したりといった方法で分析処理を実施することができる。これらの処理をシステムに組み込みの処理として実施する、あるいは、対応付けたデータをプログラムにプラグインされた関数に渡して任意の処理を実行させる、などの方法で分析に用いることができるシステムを合わせて実装する。これらの処理は既存のプログラミングの処理を用いて実現することが可能である。
本実施例によって、図9および図10に示す処理フローを利用して対応付けられたログ行は、業務ログのある1行以上のログ行(業務指標を示す)が、推論入出力のある1行以上のログ行(推論の結果などを示す)に対応付けられる。この結果を用いて、例えば図1中のグラフ18に示すように、業務指標と推論結果を対応付けた情報の散布図として表示することができ、推論結果が業務結果に影響を及ぼしているかを確認することができるようになる。
また、図8に示す処理フローを利用して、そのモデルの、あるバージョンにおける推論における入力データが学習データのセットと関連付けられるため、これらのデータの分布を比較して、データが学習時と推論時で変化しているかを検知することができる。
これらの表示はモデルの分析においては最もよく用いられる基本的な分析であるが、これまでは、モデルの特性を十分に理解したうえで、個別のデータを突き合わせる処理を個別に実装する必要があった。本発明により、システムの構成に依らない統一的な手順によってこれらの対応付けを行ことができるようになった。
実施例2においては、実施例1のシステム構成とサーバの配置が異なる。図11に構成例を示す。モデル管理サーバ01は学習および、推論のシステムで分割して配備する。学習サーバ02とモデル管理サーバ01の間では通信を行うことによって、相互の実験管理部のデータの特定を行う。処理の論理的な構成、および処理フローは実施例1と同等である。
なお、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
一例として、上記した実施例における図4及び図5に示す表示画面D3、D4において、優先度(色分け)毎に表示内容を絞り込んだ表示を行うことも可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
01…モデル管理サーバ 02…学習サーバ 10…業務-推論ID対応付け部 11…実験管理ログ 12…推論ログ 13…業務ログ 14…推論処理サーバ 15…業務処理サーバ 16…学習処理サーバ 19…バージョン管理部 101…データフロー定義 103…フィードバックパターン定義

Claims (5)

  1. 業務に対する処理を実行し、業務内容に関する複数の種類のデータをそれぞれ含む複数のログ行を含む業務内容ログを出力する業務処理サーバと接続され、機械学習モデルの運用管理を行う機械学習モデル運用管理システムであって、
    前記機械学習モデルに基づく推論を行い、当該推論の推論結果と当該推論に用いた機械学習モデルの識別子とを含む、推論結果に関する複数の種類のデータをそれぞれ含む複数のログ行を含む推論結果ログを出力する推論処理サーバと、
    前記推論結果に関する特定のログ行と前記業務内容に関する特定のログ行とを対応付ける情報であるキー情報に基づいて、前記推論結果に対する前記複数のログ行と、前記業務内容に関する前記複数のログ行を対応付ける業務推論対応付け部を有するモデル管理サーバと、
    を備える機械学習モデル運用管理システム。
  2. 前記キー情報は、業務処理を一意に識別する業務IDを含み推論結果に関するログ行を一意に特定する識別子であるトランザクションIDであり、
    前記機械学習モデルは、前記業務IDを含む複数の業務内容ログから生成されたものであり、
    前記業務推論対応付け部は、前記トランザクションIDが互いに一致する前記推論結果に対する前記複数のログ行と前記業務内容に関する前記複数のログ行とを対応付ける、
    請求項1に記載の機械学習モデル運用管理システム。
  3. 前記モデル管理サーバは、推論処理と業務処理の対応付けを特定するための処理の前後関係を示す結合関係情報を保持する、
    請求項1に記載の機械学習モデル運用管理システム。
  4. 前記業務推論対応付け部は、前記推論結果ログと前記業務内容ログとを比較する情報を出力し、推論処理に対するフィードバックの情報である評価情報の入力を受け付ける、
    請求項1に記載の機械学習モデル運用管理システム。
  5. 推論処理サーバと、業務推論対応付け部を有するモデル管理サーバと、を備え、業務に対する処理を実行し、業務内容に関する複数の種類のデータをそれぞれ含む複数のログ行を含む業務内容ログを出力する業務処理サーバと接続される機械学習モデル運用管理システムにより、機械学習モデルの運用管理を行うための運用管理方法であって、
    前記推論処理サーバが、前記機械学習モデルに基づく推論を行い、当該推論の推論結果と当該推論に用いた機械学習モデルの識別子とを含む、推論結果に関する複数の種類のデータをそれぞれ含む複数のログ行を含む推論結果ログを出力し、
    前記業務推論対応付け部が、前記推論結果に関する特定のログ行と前記業務内容に関する特定のログ行とを対応付ける情報であるキー情報に基づいて、前記推論結果に対する前記複数のログ行と、前記業務内容に関する前記複数のログ行を対応付ける、
    運用管理方法。
JP2020054839A 2020-03-25 2020-03-25 機械学習モデル運用管理システムおよび運用管理方法 Active JP7239519B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020054839A JP7239519B2 (ja) 2020-03-25 2020-03-25 機械学習モデル運用管理システムおよび運用管理方法
US17/029,812 US12073295B2 (en) 2020-03-25 2020-09-23 Machine learning model operation management system and method
JP2023032160A JP7538272B2 (ja) 2020-03-25 2023-03-02 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020054839A JP7239519B2 (ja) 2020-03-25 2020-03-25 機械学習モデル運用管理システムおよび運用管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023032160A Division JP7538272B2 (ja) 2020-03-25 2023-03-02 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2021157313A JP2021157313A (ja) 2021-10-07
JP2021157313A5 JP2021157313A5 (ja) 2022-10-26
JP7239519B2 true JP7239519B2 (ja) 2023-03-14

Family

ID=77856146

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020054839A Active JP7239519B2 (ja) 2020-03-25 2020-03-25 機械学習モデル運用管理システムおよび運用管理方法
JP2023032160A Active JP7538272B2 (ja) 2020-03-25 2023-03-02 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023032160A Active JP7538272B2 (ja) 2020-03-25 2023-03-02 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (2) JP7239519B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102679930B1 (ko) * 2022-11-17 2024-07-02 (주) 웨다 머신러닝 작업 기능을 포함하는 머신러닝 플랫폼 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067222A (ja) 2001-08-28 2003-03-07 Hitachi Ltd 業務フローの稼動情報取得方法および業務フローシステム
JP2014134987A (ja) 2013-01-11 2014-07-24 Hitachi Ltd 情報処理システム監視装置、監視方法、及び監視プログラム
JP2016192185A (ja) 2015-03-31 2016-11-10 株式会社日立製作所 なりすまし検出システムおよびなりすまし検出方法
JP2017215828A (ja) 2016-06-01 2017-12-07 富士通株式会社 学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067222A (ja) 2001-08-28 2003-03-07 Hitachi Ltd 業務フローの稼動情報取得方法および業務フローシステム
JP2014134987A (ja) 2013-01-11 2014-07-24 Hitachi Ltd 情報処理システム監視装置、監視方法、及び監視プログラム
JP2016192185A (ja) 2015-03-31 2016-11-10 株式会社日立製作所 なりすまし検出システムおよびなりすまし検出方法
JP2017215828A (ja) 2016-06-01 2017-12-07 富士通株式会社 学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システム

Also Published As

Publication number Publication date
JP2021157313A (ja) 2021-10-07
JP2023060106A (ja) 2023-04-27
US20210304070A1 (en) 2021-09-30
JP7538272B2 (ja) 2024-08-21

Similar Documents

Publication Publication Date Title
US11625387B2 (en) Structuring data
US11650854B2 (en) Executing algorithms in parallel
US7418453B2 (en) Updating a data warehouse schema based on changes in an observation model
Kamimura et al. Extracting candidates of microservices from monolithic application code
US8589884B2 (en) Method and system for identifying regression test cases for a software
US20190171669A1 (en) A method for generating a graph model for monitoring machinery health
JP2019502191A (ja) サービス呼び出し情報処理の方法及びデバイス
US9311176B1 (en) Evaluating a set of storage devices and providing recommended activities
US20200184026A1 (en) Computing system simulation and testing environment
CN105580032A (zh) 用于降低升级软件时的不稳定性的方法和***
JP2019192158A (ja) ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法
JP6847590B2 (ja) 統合監視運用システムおよび方法
US20130238550A1 (en) Method to detect transcoding tables in etl processes
JP7538272B2 (ja) 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム
Mazkatli et al. Continuous integration of performance model
Kaur et al. Differential analysis of token metric and object oriented metrics for fault prediction
CN116561134A (zh) 业务规则处理方法、装置、设备及存储介质
US12073295B2 (en) Machine learning model operation management system and method
Turnu et al. Entropy of some CK metrics to assess object-oriented software quality
JP5197128B2 (ja) 依存関係推定装置及び依存関係推定プログラム及び記録媒体
EP3671467A1 (en) Gui application testing using bots
Ramos-Gutiérrez et al. Towards the detection of promising processes by analysing the relational data
JP7284687B2 (ja) マッピングシステム及びマッピング方法
US11829230B2 (en) Globally unique error codes for knowledge document indexing in software systems
Azmi et al. Test management traceability model to support software testing documentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230302

R150 Certificate of patent or registration of utility model

Ref document number: 7239519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150