(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】性能尺度が改善されたデータモデルを評価およびデプロイするためのシステムおよび方法
(51)【国際特許分類】
G06F 8/60 20180101AFI20241219BHJP
G16H 50/00 20180101ALI20241219BHJP
【FI】
G06F8/60
G16H50/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024540015
(86)(22)【出願日】2022-12-14
(85)【翻訳文提出日】2024-08-08
(86)【国際出願番号】 US2022052829
(87)【国際公開番号】W WO2023129381
(87)【国際公開日】2023-07-06
(32)【優先日】2021-12-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521535722
【氏名又は名称】サーナー イノベーション インコーポレイテッド
【氏名又は名称原語表記】Cerner Innovation,Inc.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】グリッター,ジェイムズ
(72)【発明者】
【氏名】チェトリ,アシュウィン
(72)【発明者】
【氏名】ブイ,ラーフル・ジャイン
(72)【発明者】
【氏名】ラママーシー,ウッタム
(72)【発明者】
【氏名】サクセナ,パンカジ
【テーマコード(参考)】
5B376
5L099
【Fターム(参考)】
5B376AB01
5B376AB11
5B376BA16
5L099AA00
(57)【要約】
本明細書では、デプロイ前環境においてデータモデルの複数のバージョンを評価して、後続してデプロイされるいかなるバージョンもデータモデルの現バージョンよりも機能することを確実にするための同時比較ツールのための方法、システム、およびコンピュータ可読媒体を開示する。態様において、このツールは、さまざまなバージョンの観測データおよび予測データを抽出し、各バージョンの性能尺度を比較評価する。バージョンにわたって性能尺度を検証して、技術的性能および予測精度の改善を実証したリーディングバージョンを決定および選択することができる。リーディングバージョンをデプロイすることができる。
【特許請求の範囲】
【請求項1】
モデルのバージョンの性能および精度を評価し改善するためのコンピュータ化された方法であって、モデルの複数のバージョンに対する複数のデータセットを受け取ることを含み、前記複数のデータセットの各々は、前記モデルの対応するバージョンの複数の予測を含み、前記方法は、構成ファイルおよびマッピングファイルを受け取ることと、前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから複数のバージョン-性能レポートを生成することをさらに含み、前記複数のバージョン-性能レポートの各々は、前記モデルの前記対応するバージョンについて決定された複数の性能尺度を含み、前記方法は、ベースラインファイルを受け取ることと、前記ベースラインファイルに基づいて前記複数のバージョン-性能レポートを検証することと、前記複数のバージョンの前記複数のバージョン-性能レポートに対する対応する複数の性能尺度に基づいて、前記複数のバージョンにおけるリーディングバージョンを決定することと、前記モデルの前記リーディングバージョンをデプロイすることとをさらに含む、コンピュータ化された方法。
【請求項2】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記マッピングファイルから、前記複数のデータセットから抽出すべき複数のデータサブセットを特定することと、前記複数のデータセットから前記複数のデータサブセットを抽出することとを含み、前記複数のデータサブセットの各々は、前記モデルの前記複数のバージョンにおける前記対応するバージョンについて、前記複数のデータセットのうちの1つから抽出される、請求項1に記載のコンピュータ化された方法。
【請求項3】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記構成ファイルから、計算すべき前記複数の性能尺度を特定することを含む、請求項2に記載のコンピュータ化された方法。
【請求項4】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記複数のバージョンの各々について、前記対応するデータサブセットに基づいて、前記モデルの前記対応するバージョンに対する前記複数の性能尺度を計算し、前記モデルの前記対応するバージョンに対する前記バージョン-性能レポートを生成する、コンピュータスクリプトを実行することを含む、請求項3に記載のコンピュータ化された方法。
【請求項5】
前記ベースラインファイルに基づいて前記複数のバージョン-性能レポートを検証することは、前記複数のバージョンの各々について、前記対応するバージョンの前記バージョン-性能レポートにおける前記複数の性能尺度の各々が、前記ベースラインファイルに定義された対応する閾値を満たすか否かを少なくとも判定することを含み、前記対応する閾値はモデル予測精度の尺度を定義する、請求項4に記載のコンピュータ化された方法。
【請求項6】
前記モデルの前記複数のバージョンの前記複数のバージョン-性能レポートにわたって、前記複数の性能尺度の各々を比較することをさらに含む、請求項5に記載のコンピュータ化された方法。
【請求項7】
前記複数の性能尺度はデータドリフトを含み、前記リーディングバージョンを決定することは、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンのデータドリフトを定量化する値が、前記複数のバージョンのデータドリフトを定量化する値に対して改善された性能を示すと判定することを含む、請求項1に記載のコンピュータ化された方法。
【請求項8】
前記複数の性能尺度はモデルバイアスを含み、前記リーディングバージョンを決定することは、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンのモデルバイアスを定量化する値が、前記複数のバージョンのモデルバイアスを定量化する値に対して改善された性能を示すと判定することを含む、請求項1に記載のコンピュータ化された方法。
【請求項9】
前記複数の性能尺度は、測定された絶対パーセント誤差(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、または二乗平均平方根誤差(RMSE:Root Mean Squared Error)のうちの少なくとも1つのメトリックを含み、前記リーディングバージョンを決定することは、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンの前記少なくとも1つのメトリックを定量化する値が、前記複数のバージョンの性能メトリックを定量化する値に対して改善された性能を示すと判定することを含む、請求項1に記載のコンピュータ化された方法。
【請求項10】
前記リーディングバージョンを利用して前記モデルを再トレーニングすることをさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項11】
前記複数の性能尺度は、前記モデルに対してカスタマイズされた前記構成ファイルにおいて指定され、前記複数の性能尺度は、データドリフトおよびバイアスを含む、請求項1に記載のコンピュータ化された方法。
【請求項12】
実行されると、モデルのバージョンの性能および精度を評価し改善するための方法を実行するコンピュータ実行可能命令が具現化されている、もう1つの非一時的コンピュータ可読媒体であって、前記媒体は、モデルの複数のバージョンに対する複数のデータセットを受け取ることを含み、前記複数のデータセットの各々は、前記モデルの対応するバージョンの複数の予測を含み、構成ファイルおよびマッピングファイルを受け取ることと、前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから複数のバージョン-性能レポートを生成することを含み、前記複数のバージョン-性能レポートの各々は、前記モデルの前記対応するバージョンについて決定された複数の性能尺度を含み、ベースラインファイルを受け取ることと、前記ベースラインファイルに基づいて前記複数のバージョン-性能レポートを検証することと、前記複数のバージョンにおけるリーディングバージョンを、前記リーディングバージョンが前記モデルの前記複数のバージョンにおける少なくとも1つの他のバージョンに対して性能が改善されたことを示す、前記リーディングバージョンの対応するバージョン-性能レポートに基づいて、決定することと、前記モデルの前記リーディングバージョンをデプロイすることと含む、非一時的コンピュータ可読媒体。
【請求項13】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記マッピングファイルから、前記複数のデータセットから抽出すべき複数のデータサブセットを特定することと、前記複数のデータセットから前記複数のデータサブセットを抽出することとを含み、前記複数のデータサブセットの各々は、前記モデルの前記複数のバージョンにおける前記対応するバージョンについて、前記複数のデータセットのうちの1つから抽出される、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記構成ファイルから、計算すべき前記複数の性能尺度を特定することを含む、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから前記複数のバージョン-性能レポートを生成することは、前記複数のバージョンの各々について、前記対応するデータサブセットに基づいて、前記モデルの前記対応するバージョンに対する前記複数の性能尺度を計算し、前記モデルの前記対応するバージョンに対する前記バージョン-性能レポートを生成する、コンピュータスクリプトを実行することを含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記ベースラインファイルに基づいて前記複数のバージョン-性能レポートを検証することは、前記複数のバージョンの各々について、前記対応するバージョンの前記バージョン-性能レポートにおける前記複数の性能尺度の各々が、前記ベースラインファイルに定義された対応する閾値を少なくとも満たすか否かを判定することを含み、前記対応する閾値はモデル予測精度の尺度を定義する、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記モデルの前記複数のバージョンの前記複数のバージョン-性能レポートにわたって、前記複数の性能尺度の各々を比較することをさらに含む、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記複数の性能尺度は、測定された絶対パーセント誤差(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、または二乗平均平方根誤差(RMSE:Root Mean Squared Error)のうちの少なくとも1つのメトリックを含み、前記リーディングバージョンを決定することは、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンのデータドリフトを定量化する値が、前記複数のバージョンのデータドリフトを定量化する値に対して改善された性能を示すと判定することと、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンのモデルバイアスを定量化する値が、前記複数のバージョンのモデルバイアスを定量化する値に対して改善された性能を示すと判定することと、前記対応するバージョン-性能レポートにおいて前記リーディングバージョンのMAPE、MAE、またはRMSEのうちの前記少なくとも1つのメトリックを定量化する値が、前記複数のバージョンのモデルバイアスを定量化する値に対して改善された性能を示すと判定することとのうちの2つ以上を含む、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記リーディングバージョンを利用して前記モデルを再トレーニングすることをさらに含む、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項20】
モデルバージョンの性能および精度を評価し、改善するためのシステムであって、スクリプトを実行する1つまたは複数のプロセッサを介して、モデルの複数のバージョンに対する複数のデータセットを受け取り、前記複数のデータセットの各々は、前記モデルの対応するバージョンの複数の予測を含み、構成ファイルおよびマッピングファイルを受け取り、前記構成ファイルおよび前記マッピングファイルに基づいて、前記複数のデータセットから複数のバージョン-性能レポートを生成し、前記複数のバージョン-性能レポートの各々は、前記モデルの前記対応するバージョンについて決定された複数の性能尺度を含み、ベースラインファイルを受け取り、前記ベースラインファイルに基づいて前記複数のバージョン-性能レポートを検証するデータモデル性能モニタリングシステムと、前記複数のバージョンにおけるリーディングバージョンを、前記複数のバージョンの前記複数のバージョン-性能レポートに対する前記リーディングバージョンの前記バージョン-性能レポートにおける対応する複数の性能尺度に基づいて決定し、前記リーディングバージョンの前記対応するバージョン-性能レポートは、前記リーディングバージョンが、前記モデルの前記複数のバージョンにおける他のバージョンに対して性能が改善されたことを示し、前記モデルの前記リーディングバージョンをデプロイするために通信するモニタリングダッシュボードモジュールとを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本出願は、機械学習データモデルに関する。より詳細には、本出願は、データモデルの予測精度および技術的性能尺度の評価に関する。
【発明の概要】
【0002】
発明の概要
この概要は、詳細な説明でさらに後述する一群の概念を簡略化した形式で紹介するために提供している。この概要は、請求項に係る主題の重要な特徴または本質的な特徴を特定するように意図されるものではなく、請求項に係る主題の範囲を決定する際の助けとなるものとして使用されるように意図されるものでもない。本発明は、詳細な説明を含む本明細書によって裏付けされる特許請求の範囲によって定義される。
【課題を解決するための手段】
【0003】
簡潔にかつ大まかに、本開示は、とりわけ、技術的性能および/または予測精度について機械学習データモデル(以下、「モデル」)の別個のバージョンを比較評価し、他のバージョンに対して技術的性能および/または予測精度の改善が実証されたバージョンをデプロイするための方法、システム、およびコンピュータ可読媒体について説明する。後述するように、以下で考察する本発明の態様は、最大の予測精度および/または優れた性能の他の標示(たとえば、メトリック、バイアス、データドリフト)を有するものとして示されるリーディング(leading)バージョンを(たとえば、手動で、またはユーザ入力なしにプロセッサを介して自律的に)選択してデプロイするために、モデルの複数の多様なバージョンを監視することによって、技術的性能および/または予測精度を監視し、比較評価する。デプロイに先立ち、モデルの1つまたは複数のバージョンを、そのモデルの1つまたは複数の他の(たとえば、使用中、現在デプロイされている、以前にデプロイされた)バージョンに対して、自律的に(たとえば、ユーザの選択、入力、および/または介入なしに)評価することができる。
【0004】
本発明の一態様では、モデルのバージョンの性能および精度を評価し改善するためのコンピュータ化された方法が提供される。本方法によれば、モデルの複数のバージョンに対して複数のデータセットが受け取られる。複数のデータセットの各々は、モデルの対応するバージョンの複数の予測を含む。態様において、構成ファイルおよびマッピングファイルが受け取られる。さまざまな態様において、受け取られた構成ファイルおよびマッピングファイルに基づいて、複数のデータセットから複数のバージョン-性能レポートが生成される。複数のバージョン-性能レポートの各々は、モデルの対応するバージョンについて決定された複数の性能尺度を含む。態様において、ベースラインファイルが受け取られる。ベースラインファイルに基づいて、複数のバージョン-性能レポートが検証される。本方法によれば、複数のバージョンの複数のバージョン-性能レポートに対する対応する複数の性能尺度に基づいて、複数のバージョンにおけるリーディングバージョンが決定される。いくつかの態様において、モデルのリーディングバージョンはデプロイされる。
【0005】
別の態様は、実行されると、モデルのバージョンの性能および精度を評価し改善するための方法を実行するコンピュータ実行可能命令が具現化されている、1つまたは複数の非一時的コンピュータ可読媒体と提供する。本媒体によれば、モデルの複数のバージョンに対して複数のデータセットが受け取られる。さまざまな態様において、複数のデータセットの各々は、モデルの対応するバージョンの複数の予測を含む。構成ファイルおよびマッピングファイルが受け取られる。態様において、構成ファイルおよびマッピングファイルに基づいて、複数のデータセットから複数のバージョン-性能レポートが生成される。いくつかの態様において、複数のバージョン-性能レポートの各々は、モデルの対応するバージョンについて決定された複数の性能尺度を含む。ベースラインファイルが受け取られる。態様において、ベースラインファイルに基づいて、複数のバージョン-性能レポートが検証される。いくつかの態様において、複数のバージョンにおけるリーディングバージョンが、リーディングバージョンがモデルの複数のバージョンにおける少なくとも1つの他のバージョンに対して性能が改善されたことを示す、リーディングバージョンの対応するバージョン-性能レポートに基づいて、決定される。いくつかの態様において、モデルのリーディングバージョンはデプロイされる。
【0006】
別の態様において、モデルバージョンの性能および精度を評価し、改善するためのシステムが提供される。本システムは、1つまたは複数のプロセッサを介してスクリプトを実行する、データモデル性能モニタリングシステムを備える。データモデル性能モニタリングシステムは、モデルの複数のバージョンに対する複数のデータセットを受け取り、複数のデータセットの各々は、モデルの対応するバージョンの複数の予測を含む。いくつかの態様において、データモデル性能モニタリングシステムは、構成ファイルおよびマッピングファイルを受け取る。態様において、スクリプトを介して、データモデル性能モニタリングシステムは、構成ファイルおよびマッピングファイルに基づいて、複数のデータセットから複数のバージョン-性能レポートを生成する。いくつかの態様において、複数のバージョン-性能レポートの各々は、モデルの対応するバージョンについて決定された複数の性能尺度を含む。データモデル性能モニタリングシステムは、ベースラインファイルを受け取り、ベースラインファイルに基づいて複数のバージョン-性能レポートを検証する。本システムは、いくつかの態様において、複数のバージョンにおけるリーディングバージョンを、複数のバージョンの複数のバージョン-性能レポートに対するリーディングバージョンのバージョン-性能レポートにおける対応する複数の性能尺度に基づいて決定する、モニタリングダッシュボードモジュールを含む。このような態様において、リーディングバージョンの対応するバージョン-性能レポートは、リーディングバージョンが、モデルの複数のバージョンにおける他のバージョンに対して性能が改善されたことを示す。いくつかの態様において、モニタリングダッシュボードモジュールは、モデルのリーディングバージョンをデプロイするために通信する。
【0007】
以下、添付図面の図を参照して、態様について以下に詳細に説明する。
【図面の簡単な説明】
【0008】
【
図1】本明細書で考察する態様によるシステム例のブロック図である。
【
図2】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図3】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図4】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図5】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図6】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図7】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適なコンピュータ実行可能命令例を示す図である。
【
図8】本明細書で考察する態様による、
図1のシステム例を介する実施態様に好適な構成ファイルのためのコンピュータ実行可能命令例を示す図である。
【
図9】本明細書で考察する態様による、
図1のシステム例によって生成されるレポート例を示す図である。
【
図10】本明細書で考察する態様による、
図1のシステム例によって生成された性能レポート例を示す図である。
【
図11】本明細書で考察する態様による、
図1のシステム例によって生成されたアラート例を示す図である。
【
図12】本明細書で考察する態様による、
図1のダッシュボードモニタリングモジュールに対応するグラフィカルユーザインターフェース例を示す図である。
【
図13】本明細書で考察する態様による、モデルバージョンの性能および精度を評価し改善する方法のフローチャートである。
【
図14】本明細書で考察する本発明の態様を実施するのに好適な環境例のブロック図である。
【発明を実施するための形態】
【0009】
発明の詳細な説明
本発明の主題について、法定要件を満たすように、本明細書において具体的に説明する。しかしながら、説明自体は、本特許の範囲を限定するように意図されていない。むしろ、本発明者らは、請求項に係る主題が、他の現在または将来の技術とともに、本明細書に記載したものと同様の異なるステップまたはステップの組み合わせを含むように、他の方法で具体化される可能性もあることを意図している。さらに、「ステップ」および/または「ブロック」という用語を、本明細書において、採用する方法の異なる要素を意味するように使用する場合があるが、この用語は、個々のステップの順序が明示的に記載されている場合を除き、本明細書で開示するさまざまなステップの間のいかなる特定の順序を意味するものとしても解釈されるべきではない。
【0010】
概要
本明細書の発明の態様は、特定のデータモデルの異なるバージョンの技術的性能と出力の精度とを同時にテストおよび測定するデプロイ前環境を提供する。複数のバージョンのテストを、自律的に並行して実行することができる。本明細書の態様によって、特定のデータモデルの異なるバージョンにわたる技術的性能と出力精度との直接比較が可能になる。また、それらの態様によって、デプロイするために、技術的性能および/または出力精度が低下し、損なわれ、または劣化したデータモデルの他のバージョンと比較してデータモデルの優れた1つまたは複数のバージョンの、手動による(たとえば、ユーザインタラクションを伴う半自律的な)かつ/または(たとえば、ユーザ入力を必要としない)自律的な選択も容易になりかつ/または可能になる。メトリックおよび/または予測精度などの技術的性能尺度は、データモデルのバージョンを「検証」する役割を果たすベースライン、最小値、閾値、および/または範囲(たとえば、上位および下位/隣接バッファの有無にかかわらず)と比較することができる。技術的性能尺度は、ユーザによるカスタマイズ、業界ベースの標準規格、またはそれらの組み合わせで定義することができる。
【0011】
選択されたデータモデルバージョンは、たとえば、すでにデプロイされた、かつ/または現在使用されている別のデータモデルバージョンを「アップグレードし」、更新し、かつ/または置き換えるためにデプロイされる。このような態様において、選択されたデータモデルバージョンがデプロイするために選択されるのは、特に、それが、後に考察する自律的なテストおよび評価に基づいて、現在使用中のデータモデルバージョンの技術的性能尺度および/または予測精度に対して、改善されたもしくは優れた技術的性能尺度および/または予測精度を実証したためである。このように、次いで、選択されたデータモデルバージョンを、その後、既存の使用中のデータモデルバージョンと比較してその実証された安定性および改善に基づいてデプロイすることができる。このように新たにデプロイされたデータモデルバージョンは、現在のデータモデルバージョンに取って代わる。
【0012】
より具体的には、本明細書のシステム、方法、および媒体は、さまざまな態様において、異なるデータモデルおよび/または異なるデータモデルタイプを含むことができる、1つまたは複数の別個の機械学習/人工知能データモデルバージョンについて、1つまたは複数のデータセットを取得し、入手し、かつ/または受け取る。いくつかの態様において、1つまたは複数のデータセットは、1つまたは複数の別個のまたは異なるモデルに対して、複数の別個の機械学習/人工知能データモデルバージョンの各々について受け取られる。データセットは、1つまたは複数のデータベースに格納された観測データおよび予測データを含む。態様において、データセットは、コンピュータプログラミングスクリプトによって取り込まれ、消費される。スクリプトは、さまざまな態様において、バージョンマッピングファイルおよび構成ファイルを使用して、各バージョン固有のデータセットを対応するレポートに変換し、再構築する。各バージョン固有のレポートは、対応するデータセットから、メトリック、予測精度、バイアス、データドリフトなどの技術的性能尺度を特定し、探し出し、抽出するために評価される。この評価から、各データモデルバージョンを他と直接比較することができるように、バージョン-性能レポートが生成および/または編集される。バージョン-性能レポートの比較に基づいて、性能尺度が、本明細書におけるコンピュータが実施する方法、システム、および媒体によって、バージョン-性能レポートにおける性能尺度を「検証」する役割を果たすベースライン、最小値、閾値、および/または範囲(たとえば、上位および下位/隣接バッファの有無にかかわらず)に違反していると判定された場合に、アラートを自律的に発行することができる。バージョン-性能レポート、違反、アラートなどは、1つまたは複数のデータベースに格納することもできる。また、比較に基づいて、1つまたは複数のデータモデルバージョンが、データモデルの現在使用中の別のバージョンの技術的性能尺度および/または予測精度に対して、改善された技術的性能尺度および/または優れた予測精度を実証したものとして、デプロイするために手動でまたは自律的に選択される。
【0013】
したがって、本明細書で考察する方法、システム、および媒体は、データモデルのテストおよび評価の技術分野に技術的な改善を提供する。たとえば、本明細書で考察する方法、システム、および媒体は、技術的欠点、すなわち、デプロイ前環境においてデータモデルの複数のバージョンを評価して、後続してデプロイされるいかなるバージョンもデータモデルの現在デプロイされているバージョンよりも良好に機能すること(たとえば、より良好な技術的性能および/または出力精度)を確実にするための同時比較ツールが存在しないことに対する、技術的解決策を提供する。他のシステムは、本質的に事後対応的であり、新たなデータモデルバージョンの性能を、その新たなデータモデルに対するデプロイおよび出力取り込みの後まで、正確にかつ同時に評価することができない。対照的に、本明細書における態様は、デプロイ前環境においてデータモデルの複数のバージョンを評価して、後続してデプロイされるバージョンがデータモデルの現在デプロイされているバージョンよりも良好に機能することを確実にするための同時比較ツールを提供する、事前対応的な手法へのパラダイムシフトを表す。
【0014】
定義
本明細書で使用する場合の「観測データ」、「グランドトゥルース」、「実測値」、および「目標値」という用語は、経験的データおよび/またはデータとしてコード化された観測された現実世界の情報を指すために同義で使用される。たとえば、観測データは、発生したイベントまたは結果に対する変数を表しかつ/または定量化する、測定された、キャプチャされた、または記録された値を含む。1つの例では、観測データは、特定の医療機関の、その医療機関の履歴的な報告データに記録されているような、定義された6カ月の期間にわたって発生した総患者数量に対する値を含む。
【0015】
本明細書で使用する場合の「予測データ」という用語は、データモデルのバージョンに入力され、そこから出力されるありとあらゆるデータを指す。たとえば、予測データは、出力を生成しトリガするために取り込まれるトレーニングデータセットなどの入力を含むことができる。さらにまたは代替的に、予測データは、データモデルバージョンから生成または作成される出力、たとえば、入力を使用してデータモデルのそのバージョンによって行われる予測を含むことができる。予測データはまた、そのデータモデルに関連するメタデータ、そのデータモデルのデータバージョンに関連するメタデータ、そのデータモデルバージョンの入力に関連するメタデータ、および/またはそのデータモデルバージョンの出力に関連するメタデータも含むことができる。予測データは、データモデルバージョンの他の出力を参照することができる。
【0016】
本明細書で使用する場合の「モデル」および「データモデル」という用語は、アルゴリズム決定ロジックによって定義される機械学習/人工知能タイプのデータモデルを指すように同義で使用される。データモデル(およびその任意のバージョン)は、決定ロジック、計算レイヤ、ニューラルネットワーク、マルコフ連鎖、(変数、値、レイヤ、サブモデルに固有または非固有の)重み付けアルゴリズム、および/またはランダムフォレストなどの機能を含むことができる。単数形で言及しているが、データモデル(およびその任意のバージョン)は、たとえば、予測などの出力に寄与する、特定のシーケンスでまたは並列でともに動作する複数の特定のサブモデルを含むことができることが理解されよう。
【0017】
本明細書で使用する場合の「バージョン」および「データモデルバージョン」は、データモデルの特定の反復であって、その特定の反復に対して固有であるかまたは一意である入力、(たとえば、決定木)の動作、および/または出力に対して定義された構成を有する特定の反復を指すように、同義で使用される。
【0018】
本明細書で使用する場合の「スクリプト」および「コンピュータプログラミングスクリプト」という用語は、自動化または半自動化された方法で、コンピュータによる動作ステップのシーケンスの遂行を引き起こし、管理し、促進する命令の表現である、コンピュータ可読かつ実行可能な命令/プログラミングコードを指すように、同義で使用される。
【0019】
本明細書で使用する場合の「性能尺度」とは、モデルバージョンおよび/または他の挙動の技術的性能および予測精度(または不正確さ)の態様を表し定量化する、キャプチャされた測定値を指す。性能尺度は、たとえば、メトリック、予測精度、バイアス、データドリフト、ノイズ、分散などを含むことができる。メトリックの例としては、測定された絶対パーセント誤差(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、および/または二乗平均平方根誤差(RMSE:Root Mean Squared Error)が挙げられるが、他のメトリックおよび対応するアルゴリズムも意図され、本発明の範囲内にある。
【0020】
実施形態
図1から開始して、システム環境100の一例を提示する。システム環境100は、以下「システム」と称するデータモデル性能モニタリングシステム102を含む。システム102は、同じデータモデルの複数の異なるバージョンを受け取り、入手し、取得し、かつ/または取り込む。いくつかの態様において、データモデルの複数の異なるバージョンは、少なくとも、データモデルの現在の使用中の(すなわち、デプロイされている)バージョンと、同じデータモデルの更新されたデプロイされていないバージョンとを含む。代替的に、システム102は、複数の異なるデータモデルの各々について、複数の異なるバージョン複数の異なるバージョンを受け取り、入手し、取得し、かつ/または取り込む。このような態様において、異なるデータモデルの複数の異なるバージョンは、異なるデータモデルの各々について、少なくとも、当該データモデルの現在使用中の(すなわち、デプロイされている)バージョンと、同じデータモデルの更新されたデプロイされていないバージョンとを含む。したがって、さまざまな態様において、複数のデータモデルの複数のバージョンを、以下で考察するシステム102および方法を使用して同時に評価することができるが、考察は、概して、簡単のために同じデータモデルの複数のバージョンを評価することに言及する。
【0021】
図1では、モデルバージョン104A、104B、104nがデータベース(図示せず)に格納されている。モデルバージョン104A、104B、104nの各々は、それぞれのバージョンに対応する観測データ106A、106B、106nおよび予測データ108A、108B、108nに関連付けられており、たとえば、モデルバージョン104Aは、観測データ106Aおよび予測データ108Aを含み、モデルバージョン104Bは、観測データ106Bおよび予測データ108Bを格納するなどである。
【0022】
システム102は、態様において、バージョンマッピングファイル110および構成ファイル112を受け取り、入手し、取得し、かつ/または取り込む。システム102は、スクリプト114も含む。スクリプト114は、観測データ106A、106B、106nおよび予測データ108A、108B、108nを含むモデルバージョン104A、104B、104nを受け取り、入手し、取得し、かつ/または取り込むように動作する。さらに、スクリプト114は、バージョンマッピングファイル110および構成ファイル112を受け取り、入手し、取得し、かつ/または取り込むように動作する。スクリプト114は、任意の順序で、並行して、かつ/または同時に、データ/ファイルを受け取りかつ/または引き出すことができる。
【0023】
概して、スクリプト114は、バージョンマッピングファイル110および構成ファイル112の情報に基づいて、(観測データ106A、106B、106nおよび予測データ108A、108B、108nを含む)モデルバージョン104A、104B、104nを「前処理」するように動作する。いくつかの態様において、モデルバージョン104A、104B、104nは、各々、性能評価を行う際に使用するために特定の情報を抽出し、データをまとまりのあるフォーマットに再構築することによって変換される。より具体的には、スクリプト114は、観測データ106A、106B、106nおよび予測データ108A、108B、108nを、各または対応するモデルバージョン104A、104B、104nからキャプチャする。
【0024】
スクリプト114は、態様において、バージョンマッピングファイル110を利用して、評価すべき各モデルバージョン内の特定のデータ点を特定し、探し出す。たとえば、バージョンマッピングファイル110は、抽出すべきモデルバージョン104Aにおける複数のデータ点またはデータ点のセットと、抽出すべきモデルバージョン104Bにおける別の複数のデータ点またはデータ点の別のセットとを指定し、そこでは、異なるバージョンにおいて抽出すべきデータ点は、そのモデルにおける同じかまたは類似する変数に対応する。より単純に言えば、バージョンマッピングファイル110は、スクリプト114によって取り込まれ利用され、そのため、スクリプトは、異なるバージョンにおけるいずれのデータ点が、後続する比較のために同じ変数、イベントなどに対応するかを認識することができ、すなわち、バージョンマッピングファイル110により、スクリプトは、モデルバージョン104A、104B、104nの間でマッピングすることができる。データ点は、観測データ106A、106B、106nおよび/または予測データ108A、108B、108nに対応することができる。いくつかの態様において、バージョンマッピングファイル110は、.jsonファイルである。
【0025】
スクリプト114は、態様において、構成ファイル112を利用して、マッピングから特定されたデータ点を使用して評価するためのモデルバージョン104A、104B、104nの特定の構成を特定する。スクリプト114は、構成ファイル112を利用し、そこでは、構成ファイル112は、態様において、後続する動作のための性能尺度のためのモニタリングの特定のタイプを指定し、定義し、かつ/または示すことができる。構成ファイル112は、1つまたは複数のパラメータを含みかつ/または定義し、かつ/または特定のモデルのすべてのバージョンについて、かつ/または評価対象の特定のモデルのバージョンについて、キャプチャすべき1つまたは複数の特定の性能尺度を特定する。構成ファイル112は、スクリプト114がモデルバージョン104A、104B、104nに関連付けられた観測データ106A、106B、106nおよび/または予測データ108A、108B、108nを入手および/または照会するために利用する、メタデータ情報も含むことができる。1つの例では、構成ファイル112は、スクリプト114が、たとえば、さまざまなサブカテゴリによりかつ/またはバージョンにより分別および/または集約して、モデルバージョン104A、104B、104nから観測データ106A、106B、106nおよび/または予測データ108A、108B、108nを取得および分離するために利用することができる、query_paramsおよびdata_paramsなどの特定のコンピュータ動作/関数を含むことができる。
図8は、構成ファイル800のためのコンピュータ実行可能命令の一例を示す。
【0026】
図2を参照すると、システム102を介して実装されるコンピュータ実行可能命令200の一例が示されている。たとえば、
図3は、スクリプトがconfig_fileおよびmapping_versionsファイルを呼び出して受け取るコンピュータ実行可能命令の部分例を囲むボックス300を示す。
図4では、ボックス400が、config_fileで定義されたパラメータを使用して予測データ(たとえば、insight_df)および/または観測データ(たとえば、actuals_df)を抽出するためのコンピュータ実行可能命令の別の部分例を囲んでいる。
図5は、ボックス500を示し、ボックス500は、mapping_versionsにおけるversion_mapを利用して、抽出された予測データおよび/または抽出された観測データにおけるいずれのデータ点が、データモデルの別個のバージョンにわたる後続する比較のために同じ変数、イベントなどに対応するかを認識するための、コンピュータ実行可能命令のさらに別の部分例を囲んでいる。コンピュータ実行可能命令を利用して、たとえば、スクリプト114は、構成ファイル112のパラメータを使用して、モデルバージョン104A、104B、104nの観測データ106A、106B、106nおよび予測データ108A、108B、108nに照会することができる。次いで、コンピュータ実行可能命令を使用して、たとえば、スクリプトは、バージョンマッピングファイル110に基づいて、バージョンから必要なデータ点のみをフィルタリングすることができる。1つのそのような例では、各バージョンについて、そのモデルの予測データおよび観測データのフィルタリングされたデータ点がマージされ、データフレームを有する計算辞書に伝達される。そのような態様において、マージされフィルタリングされたデータおよび対応するデータフレームは、final_dfファイルを形成し、計算辞書は、final_dfファイルに関するメタデータを提供するように作用する。
【0027】
図1に戻ると、スクリプト114はバージョンデータファイル116A、116B、116nを生成する。
図9は、バージョンデータファイル116A、116B、116nなどのバージョンデータファイル900の一例を示す。態様において、各データモデルバージョンは、対応するバージョンデータファイルに変換される。システム102は、バージョンデータファイル116A、116B、116nからレポート生成118を実行する。システム102は、バージョンデータファイル116A、116B、116nを使用して計算すべき性能尺度のセットを決定する。たとえば、レポート生成118のためにシステム102が計算すべき性能尺度のセットは、構成ファイル112において、測定された絶対パーセント誤差(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、二乗平均平方根誤差(RMSE:Root Mean Squared Error)、モデルバイアス、データドリフト、および/またはそれらの任意の組み合わせとして定義される。システム102は、バージョンデータファイル116A、116B、116nからレポート120A、120B、120nを生成する。
【0028】
システム102は、レポート120A、120B、120nから、性能決定122を行う。システム102は、1つまたは複数のベースライン、および1つまたは複数の閾値126を含むベースラインファイル124を受け取り、入手し、取得し、かつ/または取り込む。ベースラインファイル124および閾値126を使用して、レポート120A、120B、120n内の情報が検証され、性能決定122に基づいてバージョン-性能レポート130A、130B、130nが生成される。
図6を参照すると、たとえば、ボックス600は、レポート120A、120B、120nなどの性能尺度を有するレポートを生成するためのコンピュータ実行可能命令の一部を囲んでいる。さらに後に考察するように、
図7は、ボックス700を示しており、ボックス700は、性能決定を行うために使用可能な性能尺度を有するレポートを出力するためのコンピュータ実行可能命令の一部を囲んでいる。
【0029】
性能決定122を行い、検証されたバージョン-性能レポート130A、130B、130nに含めるためのデータを検証するために、ベースラインファイル124で定義された1つまたは複数のベースライン値および/または1つまたは複数の閾値が、レポート120A、120B、120nのデータに適用される。概して、1つまたは複数のベースライン値は、指定された既知の入力に基づいて、モデルバージョンによって変数またはイベントに対して予測される期待値を定義する。したがって、ベースライン「期待」値を使用して、モデルバージョンがその変数に対する予測において同じかまたは類似する値を生成したか否かを判定することができる。したがって、ベースライン値を使用して、そのような期待値と比較して、モデルバージョン104A、104B、104nの各々の予測精度を評価することができる。ベースライン値は、たとえば、モデルバージョンが、対応する変数に対するベースライン期待値の予め定義されたバッファ範囲内にある予測値を生成したか、またはバッファ範囲内にない予測値を生成したかを判定するための、マージンをさらに含むことができる。閾値126は、たとえば、メトリック(たとえば、MAPE、MAE、および/またはRMSE)などの性能尺度を測定および評価するための、カスタマイズされかつ/または先行するする最小値または最大値である目標値とすることができる。さらにまたは代替的に、閾値126は、たとえば、データドリフト、モデルバイアス、および/またはノイズなどの他の性能尺度を評価するための値を定義することができる。各モデルについて、ベースラインおよび/または閾値を考慮して評価された各性能尺度の比較および決定は、システム102で生成されるバージョン-性能レポート130A、130B、130nに含まれる。
図10は、バージョン固有の性能レポート1000の一例を示す。バージョン-性能レポート130A、130B、130nは、このように、品質管理ガイドラインまたは評価尺度として作用するベースラインおよび閾値を使用して検証される。
【0030】
1つまたは複数のベースライン値および/または1つまたは複数の性能尺度に対する1つまたは複数の閾値が満たされない場合、1つまたは複数のアラート128を自動的に生成し、データベース、別のシステム、および/またはユーザに伝達することができる。閾値および/またはベースラインが違反されると、システム102は、たとえば、違反されたベースラインまたは閾値の識別子、違反が発生したモデルバージョンおよび特定の性能尺度の識別子、違反されたベースラインおよび/または閾値の期待値および/または目標値、違反が判定された性能の値などを含む対応するアラートを生成する。
図11は、アラート例1100を示す。さらに、モデル内の特徴はベースラインで分析される。いくつかの実施形態では、ベースラインはトレーニングデータから作成される。モデルの分析中、モデルデータ内の任意の新たな特徴または欠落した特徴の発生がキャプチャされる。モデルデータ内の任意の有効な特徴について、ベースラインを用いてデータが分析されて、任意のデータ型の不一致、正、負、および非ゼロの変動または違反がキャプチャされる。
【0031】
引き続き、検証されたバージョン-性能レポート130A、130B、130nは、モニタリングダッシュボードモジュール132に伝達される。
図12は、モニタリングダッシュボードモジュール132に対応するグラフィカルユーザインターフェース例1200を示す。
図1には示さないが、たとえば、モニタリングダッシュボードモジュール132によって、システム102において追加の検証を実行することができる。概して、モニタリングダッシュボードモジュール132は、検証されたバージョン-性能レポート130A、130B、130n内の検証された性能尺度データに基づいて、1つのリーディングバージョン134を決定する。代替的に、複数のリーディングバージョンをデプロイの候補として選択してもよい。リーディングバージョン134は、たとえば、リーディングバージョン134が、モデルバージョン104A、104B、104nについての検証されたバージョン-性能レポート130A、130B、130nにおけるさまざまな性能尺度のシステム動作の比較に鑑みて、データモデルの複数のバージョンにおける少なくとも1つの他のバージョンに対する、改善された性能尺度および/または優れた予測精度を実証した場合に、システム102によって自律的に特定および選択することができる。リーディングバージョン134は、代替的に、リストからのリーディングバージョン134の手動によるユーザ選択および/またはシステムの推奨されたリーディングバージョン134のユーザ確認など、ユーザ入力に応答することによって、半自律的に選択してもよい。その後、システム102は、リーディングバージョン134(またはデータモデルの複数のリーディングバージョン)のデプロイ136を実行および/またはトリガすることができる。データサイエンスワークフロー138などの他の下流アプリケーション。
【0032】
システム環境100およびそのコンポーネントについて説明したが、システム環境100は好適なシステムの一例に過ぎず、本発明の使用範囲または機能性を限定するように意図されていないことが、当業者には理解されよう。同様に、システム環境100は、
図1に示す各コンポーネントおよびコンポーネントの組み合わせに関して、いかなる依存関係および/またはいかなる要件も負わせるものとして解釈されるべきではない。本発明の実施態様において、
図1に示すコンポーネント間の通信リンクを確立するための他の方法、ハードウェア、ソフトウェア、コンポーネント、およびデバイスを利用することができるため、
図1に示すコンポーネントの位置は一例であることが、当業者には理解されよう。コンポーネントは、ハードワイヤードまたは無線のさまざまな方法で接続することができ、簡略化のために
図1では省略されているかまたは含まれていない中間コンポーネントを使用してもよいことが、当業者には理解されよう。このように、
図1からコンポーネントがないことは、追加のコンポーネントおよびコンポーネントの組み合わせを排除するように本発明を限定するものとして解釈されるべきではない。さらに、
図1では、コンポーネントが単数のコンポーネントとして表されているが、いくつかの態様は、
図1がデバイスまたはコンポーネントの数を限定するものとして考慮されるべきではないように、複数のデバイスおよび/またはコンポーネントを含んでもよいことが理解されよう。
【0033】
図13を参照すると、データモデルバージョンの性能および精度を評価および改善するための方法1300のフローチャートが提供されている。いくつかの態様において、方法1300は、コンピュータが実行することができる。たとえば、1つまたは複数のプロセッサが実行するためにコンピュータ可読命令が具現化されている1つまたは複数の非一時的コンピュータ可読記憶媒体を使用して、方法1300を自律的にまたは半自律的に実施および/または実行することができる。態様において、コンピュータ可読かつ実行可能命令は、方法1300の実行を指定する、
図2~
図7に関して考察したスクリプトおよびスクリプト部分などの、1つまたは複数のスクリプトを含むことができる。方法1300は、いくつかの態様において、ソフトウェアおよび/またはハードウェアのコンポーネントを使用して実装および/または実行することができる。たとえば、方法1300は、
図1のシステム環境100に示すソフトウェア、ハードウェア、コンポーネント、および/またはデバイスを使用して実行することができる。コンピュータ可読かつ実行可能命令は、1つの態様において、1つまたは複数のアプリケーションに対応することができ、アプリケーションは、方法1300のすべてまたは一部を自律的にまたは半自律的に実施および/または実行することができる。
【0034】
ブロック1302では、モデルの複数のバージョンについて複数のデータセットが受け取られ、そこでは、複数のデータセットの各々は、モデルの対応するバージョンの複数の予測を含む。1つの態様において、複数のデータセットは、
図1のモデルのバージョン104A、104B、104nの観測データおよび予測データを含む。ブロック1304では、構成ファイルおよびマッピングファイルが受け取られる。1つの態様において、
図1の構成ファイル112およびバージョンマッピングファイル110は、スクリプト114によって受け取られかつ/または取り込まれる。構成ファイルにおいて、複数の性能尺度を指定することができ、そこでは、構成ファイルは、モデルに対してカスタマイズされた情報を含む。複数の性能尺度は、データドリフトおよびバイアス、MAPE、MAE、および/またはRMSEなどのメトリックなどを含むことができる。
【0035】
ブロック1306において、構成ファイルおよびマッピングファイルに基づいて、複数のデータセットから複数のバージョン-性能レポートが生成され、そこでは、複数のバージョン-性能レポートの各々は、モデルの対応するバージョンについて決定された複数の性能尺度を含む。1つの態様において、
図1のスクリプト114を使用して、複数のバージョン-性能レポートが生成される。1つのそのような態様において、複数のバージョン-性能レポートは、
図1に示すバージョンデータファイル116A、116B、116nに対応する。さまざまな態様において、複数のバージョン-性能レポートを生成するために、マッピングファイルから複数のデータサブセットが特定され、複数のデータセットからサブセットが抽出される。1つのそのような態様において、複数のデータサブセットの各々は、モデルの複数のバージョンにおける対応するバージョンについて、複数のデータセットのうちの1つから抽出される。構成ファイルから、計算すべき複数の性能尺度を特定することができる。複数のバージョンの各々について、対応するデータサブセットに基づいてモデルの対応するバージョンについて複数の性能尺度を計算するスクリプト(たとえば、
図1のスクリプト114)が実行される。スクリプトはまた、方法1300のこのような態様において、モデルの対応するバージョンに対するバージョン-性能レポートを生成する。
【0036】
ブロック1308において、ベースラインファイルが受け取られる。1つの態様において、ベースラインファイルは、前述したように、閾値126を含むことができる
図1のベースラインファイル124である。ブロック1310において、ベースラインファイルに基づいて、複数のバージョン-性能レポートが検証される。一態様において、複数のバージョン-性能レポートは、
図1のベースラインファイル124および閾値126を用いて検証される。検証された複数のバージョン-性能レポートは、システム102の性能決定122に基づいて生成される、
図1のバージョン-性能レポート130A、130B、130nに対応することができる。複数のバージョン-性能レポートを検証することは、複数のバージョンの各々について、対応するバージョンのバージョン-性能レポートにおける複数の性能尺度の各々が、特定のイベント、変数、予測、または他の性能尺度の評価のためにベースラインファイルにおいて定義されている対応するベースラインおよび/または閾値を少なくとも満たすか否かを、判定することを含むことができる。対応するベースラインおよび/または閾値は、モデル予測精度の尺度を定義することができる。さらに、方法1300は、さまざまな態様において、モデルの複数のバージョンの複数のバージョン-性能レポートにわたって複数の性能尺度の各々を比較することができる。
【0037】
ブロック1312において、複数のバージョンにおいて、他のバージョンの複数のバージョン-性能レポートに対する対応する複数の性能尺度に基づいて、リーディングバージョンが決定される。さらにまたは代替的に、複数のバージョンにおいて、ベースラインおよび/または閾値に対する対応する複数の性能尺度に基づいて、リーディングバージョンが決定される。1つの態様において、リーディングバージョンは、手動で決定してもよく、またはシステム102によって自律的に決定してもよい、
図1のリーディングバージョン134に対応する。
【0038】
複数の性能尺度がデータドリフトを含む場合、そのような態様において、対応するバージョン-性能レポートにおけるリーディングバージョンのデータドリフトを定量化する値が、複数のバージョンのデータドリフトを定量化する値と比較して性能の改善を示すか否かを判定することによって、リーディングバージョンを決定することができる。概して、データモデルバージョンの挙動を定量化する1つまたは複数の数学的手段が安定しており、変動していない(たとえば、数学的平均が、ある方向に「移動」するように経時的に変化することによって変動する)ことをデータドリフト値が実証する場合に、改善が示される。
【0039】
ドリフト計算例では、トレーニングデータから作成されたベースラインを用いてモデルの特徴が分析される。例示的なドリフト計算では、ベースラインデータに関するモデルデータの統計情報が取得される。次いで、ドリフト計算により、モデル内の特徴に対して存在する任意のドリフトを特定することができる。さらに、ドリフト計算は、各モデルについてそれぞれのベースラインを有する複数のモデルを分析するように動作することができる。複数のモデルの場合、各モデルに対してベースラインファイルが存在することができ、各モデルの特徴を、各モデルに対するそれぞれのモデルベースラインにマッピングすることができる。
【0040】
複数の性能尺度がモデルバイアスを含む場合、そのような態様では、対応するバージョン-性能レポートにおいて、リーディングバージョンのモデルバイアスを定量化する値が、複数のバージョンのモデルバイアスを定量化する値と比較して性能の改善を示すか否かを判定することによって、リーディングバージョンを決定することができる。バイアスは、特定の特徴に関するモデルの進行を理解するのに役立つ。概して、改善は、データモデルバージョンの予測出力が、トレーニングデータに基づく期待出力と同じかまたは類似していることを実証するモデルバイアス値によって示される。データモデルバイアスは、データモデルバージョンの予測の精度がトレーニングセットと一致するかまたはトレーニングセットから逸脱することを表す定量化された値を指す。そのため、データモデルバイアスは、変数について、データモデルバージョンからの変数の値の予測と、トレーニングデータを介して得られた期待された変数の値との間の差として定量化される。モデルバージョンのバイアスを計算する際、モデルデータからの予測値およびモデルのトレーニングデータからの予測値などのインサイト機能が、トレーニングデータで作成されたバイアスベースラインを用いて分析される。これは結果を生成するのに役立つ。この結果は、経時的にベースラインに対するデータの特徴レベルのバイアスの進行を記述する包括的なレポートであり得る。
【0041】
いくつかの実施形態では、(実際のラベルで特徴を評価する)トレーニング前バイアスおよび(実測値および予測ラベル値で特徴を評価する)トレーニング後バイアスがサポートされる。たとえば、モデルパイプラインデータ(実測値)が評価されると、モデルモニタリングシステムは、前処理ファイルおよびベースラインファイルをシステムにロードし、前処理アルゴリズムを実行して、モデルインサイト機能および実測値を取得する。その後、バイアスおよび構成されたメトリックを使用してベースラインファイルでデータを分析して、任意のトレーニング前バイアスを計算することができる。別の例では、モデルパイプラインデータ(実測値および予測値)が評価されると、モデルモニタリングシステムは、前処理ファイルおよびベースラインファイルをシステムにロードし、前処理アルゴリズムを実行して、モデルインサイト機能および実測値を取得する。その後、バイアスおよび構成されたメトリックを使用してベースラインファイルでデータを分析して、任意のトレーニング後バイアスを計算することができる。
【0042】
複数の性能尺度が、測定された絶対パーセント誤差(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、もしくは二乗平均平方根誤差(RMSE:Root Mean Squared Error)、またはそれらの組み合わせのメトリックを含む場合、リーディングバージョンは、そのような態様において、対応するバージョン-性能レポートにおいてリーディングバージョンのメトリックを定量化する値が、複数のバージョンの性能メトリックを定量化する値と比較して性能の改善を示すか否かを判定することによって、決定することができる。
【0043】
MAPEは、一般に、以下の例で表現することができるが、MAPEの他の表現も本明細書で考察する態様の範囲内であることが意図される。
【0044】
【0045】
一般に、MAEは、以下の例で表現することができるが、MAEの他の表現も本明細書で考察する態様の範囲内であることが意図される。
【0046】
【0047】
RMSEは、一般に、予測誤差の標準偏差である。したがって、RMSEは、以下の例で表現することができるが、RMSEの他の表現も本明細書で考察する態様の範囲内であることが意図される。
【0048】
【0049】
リーディングバージョンは、いくつかの態様において、
図1のモニタリングダッシュボードモジュール132に対応するグラフィカルユーザインターフェースを介して表示することができる。
【0050】
ブロック1314では、モデルのリーディングバージョンをデプロイすることができる。リーディングバージョンは、別のバージョン(たとえば、現在使用中のデータモデルバージョン)に対して、技術的性能尺度の改善および/または優れた予測精度を実証しているため、リーディングバージョンがデプロイされる。したがって、新たにデプロイされたリーディングバージョンは、同様に良好には機能しない別のバージョンに取って代わる。さらにまたは代替的に、リーディングバージョンは、対応するデータモデルを再トレーニングし、データモデルの追加の更新されたバージョンを生成するための入力として、使用することができる。
【0051】
図14を参照すると、本発明の一態様によるコンピューティング環境の一例が図示されている。コンピューティング環境例1400は、好適なコンピューティング環境の単なる1つの例であり、本発明の使用範囲または機能性を制限するようには意図されていないことが、当業者には理解されよう。同様に、コンピューティング環境1400は、
図14に示す各コンポーネントおよびコンポーネントの組み合わせに関して、いかなる依存関係および/またはいかなる要件も負わせるものとして解釈されるべきではない。本発明の実施態様において、
図14に示すように、コンポーネント、デバイス、システム、およびエンティティ間の通信リンクを確立するための他の方法、ハードウェア、ソフトウェア、およびデバイスを利用することができるため、
図14に示す接続も例示的なものであることが、当業者には理解されよう。接続は、1つまたは複数の実線を使用して図示されているが、
図14の例示的な接続は、ハードワイヤードであっても無線であってもよく、簡略化のために
図14に省略されているかまたは含まれていない中間コンポーネントを使用してもよいことが、当業者には理解されよう。このように、
図14からコンポーネントがないことは、追加のコンポーネントおよびコンポーネントの組み合わせを排除するように本発明を限定するものとして解釈されるべきではない。さらに、
図14では、デバイスおよびコンポーネントが、単数のデバイスおよびコンポーネントとして表されているが、いくつかの態様は、
図14がデバイスまたはコンポーネントの数を限定するものとして考慮されるべきではないように、複数のデバイスおよびコンポーネントを含んでもよいことが理解されよう。
【0052】
引き続き、
図14のコンピューティング環境1400は、コンポーネントとデバイスとが互いにリモートであってもよく、別個のタスクを実行してもよい、分散環境であるとして示されている。コンポーネントおよびデバイスは、互いに通信することができ、ネットワーク1402を使用して互いにリンクすることができる。ネットワーク1402は、無線および/または物理的(たとえば、ハードワイヤード)接続を含むことができる。例示的なネットワークは、サービスプロバイダまたは通信事業者の電気通信ネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、セルラ電気通信ネットワーク、Wi-Fiネットワーク、近距離無線ネットワーク、無線メトロポリタンエリアネットワーク(WMAN)、Bluetooth(登録商標)対応ネットワーク、光ファイバネットワーク、またはそれらの組み合わせを含む。ネットワーク1402は、一般に、コンポーネントおよびデバイスにインターネットおよびウェブベースのアプリケーションへのアクセスを提供する。
【0053】
コンピューティング環境1400は、サーバの形態のコンピューティングデバイス1404を含む。
図14では1つの構成要素として示されているが、本発明は、コンピューティング環境1400において複数のローカルサーバおよび/またはリモートサーバを利用することができる。コンピューティングデバイス1404は、処理ユニット、内部システムメモリ、およびデータベースまたはデータベースクラスタを含むさまざまなコンポーネントに連結するための好適なシステムバスなどのコンポーネントを含むことができる。いくつかの実施形態では、データベースクラスタは、クラウドベースのデータストアの形態をとり、いくつかの実施形態では、クラウドベースのコンピューティングプラットフォームによってアクセス可能である。システムバスは、種々のバスアーキテクチャのうちの任意のものを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちの任意ものであり得る。限定ではなく例として、このようなアーキテクチャとしては、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)(登録商標)ローカルバス、およびメザニンバスとしても知られるペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)バスが挙げられる。
【0054】
コンピューティングデバイス1404は、コンピュータ可読媒体を含むことができ、またはコンピュータ可読媒体にアクセスすることができる。コンピュータ可読媒体は、コンピューティングデバイス1404がアクセスすることができる任意の利用可能な媒体とすることができ、揮発性媒体および不揮発性媒体、ならびにリムーバブル媒体および非リムーバブル媒体を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体としては、限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装された、揮発性媒体および不揮発性媒体、ならびにリムーバブル媒体および非リムーバブル媒体を挙げることができる。これに関して、コンピュータ記憶媒体としては、限定されないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、コンピューティングデバイス1404がアクセスすることができる、他の任意の媒体を挙げることができる。コンピュータ記憶媒体は、一時的信号を含まない。
【0055】
通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調されたデータ信号で具現化するものであり、任意の情報送達媒体を含むことができる。本明細書で使用する場合の「変調されたデータ信号」という用語は、信号内に情報をコード化するような方法で、その属性のうちの1つまたは複数が設定または変更された信号を指す。限定ではなく例として、通信媒体としては、有線ネットワークまたは直接有線接続などの有線媒体と、音響、無線周波数(RF)、赤外線、および他の無線媒体などの無線媒体とがある。上記のうちの任意のもの組み合わせも、コンピュータ可読媒体の範囲に含めることができる。
【0056】
態様において、コンピューティングデバイス1404は、論理接続を使用して、コンピューティング環境1400内の1つまたは複数のリモートコンピュータ1406と通信する。ネットワーク1402が無線ネットワークを含む態様では、コンピューティングデバイス1404は、インターネットとの通信を確立するためにモデムを採用することができ、コンピューティングデバイス1404は、Wi-Fiまたは無線アクセスポイントを使用してインターネットに接続することができ、またはサーバは、インターネットにアクセスするために無線ネットワークアダプタを使用することができる。コンピューティングデバイス1404は、ネットワーク1402を使用して、
図14に示すコンポーネントおよびデバイスのうちの任意のものまたはすべてと双方向通信を行う。したがって、コンピューティングデバイス1404は、ネットワーク1402を介してリモートコンピュータ1406にデータを送信し、リモートコンピュータ1406からデータを受信することができる。
【0057】
単一のデバイスとして示されているが、リモートコンピュータ1406は複数のコンピューティングデバイスを含むことができる。分散型ネットワークを有する形態では、リモートコンピュータ1406は、1つまたは複数の異なる地理的な場所に配置される場合がある。リモートコンピュータ1406が複数のコンピューティングデバイスである態様では、複数のコンピューティングデバイスの各々は、キャンパス内の建物、医療複合施設の医療および研究施設、銀行/クレジット会社のオフィスまたは「支店」などのさまざまな場所にまたがって配置される場合があり、または、たとえば、ウェアラブルであるかもしくは人によって携帯されるか、または車両もしくは倉庫内の追跡可能な物品に取り付けられる、モバイルデバイスである場合もある。
【0058】
いくつかの態様では、リモートコンピュータ1406は、たとえば、研究室、入院患者室、外来患者室、病院、医療車両、獣医環境、外来環境、医療請求事務オフィス、財務もしくは管理オフィス、病院管理環境、在宅医療環境、および/または医療専門家のオフィスなどの医療環境において、物理的に配置される。例として、医療従事者としては、医師、外科医、放射線医、心臓専門医、および腫瘍専門医などの医療専門家、救急救命士、医師助手、診療看護師、看護師、看護助手、薬剤師、栄養士、微生物学者、検査専門家、遺伝カウンセラー、研究者、獣医師、学生などを挙げることができる。他の態様では、リモートコンピュータ1406は、包装および出荷施設などの非医療環境に物理的に配置されるか、配送または宅配車両のフリート内に展開される場合がある。
【0059】
引き続き、コンピューティング環境1400は、データストア1408を含む。データストア1408は、単一のコンポーネントとして示されているが、メモリデバイスの地理的または物理的な場所とは無関係に、互いに通信可能に連結された複数のデータストアを使用して実装してもよい。例示的なデータストアは、アーチファクト、サーバリスト、サーバに関連付けられたプロパティ、環境、環境に関連付けられたプロパティ、複数の異なるコンピュータプログラミング言語でコード化されたコンピュータ命令、デプロイスクリプト、アプリケーション、アプリケーションに関連付けられたプロパティ、リリースパッケージ、リリースパッケージのバージョン情報、アプリケーションに関連付けられたビルドレベル、アプリケーションの識別子、リリースパッケージの識別子、ユーザ、ユーザに関連付けられたロール、ロールに関連付けられたパーミッション、ワークフローおよびワークフロー内のステップ、クライアント、クライアントに関連付けられたサーバ、プロパティに関連付けられた属性、監査情報、および/またはワークフローの監査証跡の形式でデータを格納することができる。例示的なデータストアは、たとえば、患者の電子医療記録、取引記録、請求記録、タスクおよびワークフロー記録、時系列イベント記録などの電子記録の形式でデータを格納することもできる。
【0060】
一般に、データストア1408は、データでコード化された情報を格納するように構成された物理メモリを含む。たとえば、データストア1408は、コンピュータ可読命令、コンピュータ実行可能命令、データ構造、データ配列、コンピュータプログラム、アプリケーション、および例示的な
図14に示すコンピューティング環境1400およびコンポーネントを使用して着手される機能および動作をサポートする他のデータのためのストレージを提供することができる。
【0061】
ネットワーク1402を介して通信可能に連結される分散コンポーネントを有するコンピューティング環境において、プログラムモジュールは、単に例としてメモリ記憶デバイスを含むローカルおよび/またはリモートコンピュータ記憶媒体に配置することができる。本発明の態様は、プログラムモジュールなどのコンピュータ実行可能命令がコンピューティングデバイスによって実行されるという文脈で説明することができる。プログラムモジュールは、限定されないが、特定のタスクを実行するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含むことができる。態様において、コンピューティングデバイス1404は、プログラムモジュールを含むデータストア1408に格納された情報にアクセスし、そうした情報を取得し、通信し、受信し、更新することができる。したがって、コンピューティングデバイス1404は、本明細書に記載する態様を実行するために、プロセッサを使用して、データストア1408に格納されたコンピュータ命令を実行することができる。
【0062】
コンピューティングデバイス1404など、
図14のデバイスの内部コンポーネントは示されていないが、当業者であれば、内部コンポーネントおよびそれらの相互接続が
図14のデバイスに存在することを理解するであろう。したがって、内部構造デバイスに関するさらなる詳細は、本明細書ではこれ以上開示しない。
【0063】
本発明について特定の態様に関連して説明したが、これらの態様は、すべての点で限定的ではなく例示的であるように意図されている。さらに、本発明はこれらの態様に限定されるものではなく、本発明の範囲から逸脱することなく変形および変更を行うことができる。
【国際調査報告】