(57)【要約】【課題】モデル開発技法の標準化を図ることができる情報処理システムおよび情報処理方法を提供することである。【解決手段】実施形態の情報処理システムは、取得部と環境設定部とモデル処理部と管理部とインターフェース提供部と制御部とを持つ。取得部は機械学習の設計情報および対象データを取得する。環境設定部は設計情報を実行するフレームワーク環境およびライブラリ情報と機械学習の実行を補助するソフトウェア構成とを設定する。モデル処理部は対象データに対する学習を設計情報とフレームワーク環境を用いて実行してモデルを生成または更新する。管理部は設計情報、フレームワーク環境に関する情報およびモデルに関する情報を開発履歴情報として管理する。インターフェース提供部は利用者からの環境設定情報の出力指示を受け付けて利用者に推奨する設定情報等を提示する。制御部は取得部と環境設定部と管理部とインターフェース提供部とを連携させる。【選択図】図１
2020086705.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を行う設計情報、および前記機械学習の対象データを取得する取得部と、
前記取得部が取得した前記設計情報を実行するフレームワーク環境およびライブラリ情報と、前記フレームワーク環境およびライブラリ情報のバージョン情報に応じた、前記フレームワーク環境における前記機械学習の実行を補助するソフトウェア構成とを設定する環境設定部と、
前記対象データに対する学習を、前記取得部により取得された前記設計情報と前記環境設定部により設定された前記フレームワーク環境を用いて実行することで、モデルを生成または更新するモデル処理部と、
前記取得部が取得した前記設計情報、前記環境設定部が設定した前記フレームワーク環境に関する情報、および前記モデル処理部により生成または更新された前記モデルに関する情報を開発履歴情報として管理する管理部と、
自システムの利用者からの環境設定情報の出力指示を受け付けて前記利用者に推奨する設定情報を提示し、前記利用者により選択された設定情報に基づいて前記環境設定部に環境設定させるインターフェース提供部と、
前記取得部と前記環境設定部と前記管理部と前記インターフェース提供部とを連携させる制御部と、
を備える情報処理システム。
【請求項２】
前記環境設定部は、前記情報処理システムの利用者による前記設定の変更の要求を受け付け、受け付けた変更内容を反映した環境設定を提供し、
前記管理部は、前記設定の変更の有無を併せて管理する、
請求項１に記載の情報処理システム。
【請求項３】
前記管理部は、前記情報処理システムの利用者に対して設定されたアクセス権限に応じて、前記開発履歴情報の前記利用者への開示可能範囲を認識し、認識した開示可能範囲の前記開発履歴情報を前記利用者にレコメンド情報として提供する、
請求項１または２に記載の情報処理システム。
【請求項４】
コンピュータが、
機械学習を行う設計情報、および機械学習の対象データを取得し、
取得した前記設計情報を実行するフレームワーク環境およびライブラリ情報と、その実行を補助するソフトウェア構成とを設定し、
前記対象データに対する学習を、取得した前記設計情報と設定された前記フレームワーク環境を用いて実行することで、モデルを生成または更新し、
取得した前記設計情報、設定した前記フレームワーク環境に関する情報、および生成または更新された前記モデルに関する情報を開発履歴情報として管理する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
従来、ニューラルネットワークを活用したディープラーニングにより生成した共通モデルに基づいて、モデルを更新したり、モデルの精度を上げるためのモデル統合システムに関する技術が公開されている。
【０００３】
また近年、日々新たな学習モデルの生成モジュールやライブラリ情報が、オープンソース等の形態で公開されている。それらの生成モジュールやライブラリ情報などは、有志により正しく機能する状態に組み合わされてパッケージングされた後に、多数の開発者に公開されることがあり、個々の開発者の環境構築の手間を省いたり、開発の効率化を図ろうしたりする動きがみられる。
【０００４】
従来の技術では、新たな生成モジュールやライブラリ情報を取り入れつつ、モデル開発技法の標準化を図ることについては十分に考慮されていない可能性があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１４７２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が生まれた背景として、機械学習を用いたサービスを開発する際に、開発者間で設計が統一されておらず品質が均一化されない点、開発手法や開発環境が異なることにより他の開発者が作成した部品等の再利用が困難である点が問題であった。これらの問題を解決するには、インターフェースを定義した「開発フレームワーク」、ソフトウェアの部品群である「開発コンポーネント」、開発物の実行環境である「開発環境」の３つのコアアセットが、開発作業シーケンスの中で人手を介さず、シームレスに連動して、機械学習が実行されることが望ましい。その際、そのアウトプットが、変更履歴も含めて構成管理されていることが望ましい。各アセットの概念そのものは、既存技術にあるが、開発者がやりたいことを選択し、所望のモデルを実装および学習して、出力のモデル情報を蓄積するまでを一気通貫で終わらせる仕組みはない。本発明が解決しようする課題は、組織内で、高品質で、効率よくモデルを開発するために、その開発に纏わる一連の人手による作業を一気通貫で終わらせるモデル開発基盤を提供することである。そして、それを実現するモデル開発技法の標準化を図ることができる情報処理システムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態の情報処理システムは、取得部と、環境設定部と、モデル処理部と、管理部と、インターフェース提供部と、制御部とを持つ。取得部は、機械学習を行う設計情報、および機械学習の対象データを取得する。環境設定部は、前記取得部が取得した前記設計情報を実行するフレームワーク環境およびライブラリ情報と、前記フレームワーク環境およびライブラリ情報のバージョン情報に応じた、前記フレームワーク環境における前記機械学習における処理の実行を補助するソフトウェア構成とを設定する。モデル処理部は、前記対象データに対する学習を、前記取得部により取得された前記設計情報と前記環境設定部により設定された前記フレームワーク環境を用いて実行することで、モデルを生成または更新する。管理部は、前記取得部が取得した前記設計情報、前記環境設定部が設定した前記フレームワーク環境に関する情報、および前記モデル処理部により生成または更新された前記モデルに関する情報を開発履歴情報として管理する。インターフェース提供部は、自システムの利用者からの環境設定情報の出力指示を受け付けて前記利用者に推奨する設定情報を提示し、前記利用者により選択された設定情報に基づいて前記環境設定部に環境設定させる、または前記管理部に前記開発履歴情報を出力させる。制御部は、前記取得部と前記環境設定部と前記管理部と前記インターフェース提供部とを連携させる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る情報処理システム１の構成を示す図。
【図２】情報処理システム１において実施されるモデルの学習・推論処理フローの一例を示す図。
【図３】情報処理システム１の処理の概要を説明する図。
【図４】情報処理システム１の利用ケースを説明するための図。
【図５】情報処理システム１の利用ケースの具体例を示す図。
【図６】モデル処理部１５０による学習処理の流れの一例を示すフローチャート。
【図７】仮想化基盤Ｃ−１の処理の流れの一例を示すフローチャート。
【図８】学習済みモデル１８７の内容の一例を示す図。
【図９】利用者情報１８４の内容の一例を示す図。
【図１０】管理部１６０およびインターフェース提供部１７０による、インターフェース提供処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下では、実施形態の情報処理システムおよび情報処理方法を、図面を参照して説明する。
【００１０】
図１は、実施形態に係る情報処理システム１の構成を示す図である。情報処理システム１は、例えば、通信部１１０と、制御部１２０と、取得部１３０と、環境設定部１４０と、モデル処理部１５０と、管理部１６０と、インターフェース提供部１７０と、記憶部１８０とを備える。モデル処理部１５０と記憶部１８０を除くこれらの構成要素の一部または全部は、ＣＰＵ（Central Processing Unit）等のプロセッサが記憶部１８０に記憶されたプログラムを実行することにより実現されてよい。また、制御部１２０の構成要素の一部または全部は、ＬＳＩ（Large ScaleIntegration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置（非一過性の記憶媒体を備える記憶装置）に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体（非一過性の記憶媒体）に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。プロセッサが記憶部１８０に記憶されているプログラムを実行することによって、制御部１２０の機能が実現される。
【００１１】
通信部１１０は、情報処理システム１の利用者（一般的なシステムの開発者を指し、本願で同様とする）の端末装置（例えば、パーソナルコンピュータやタブレット端末）などの外部装置とネットワークを介して通信を行い、情報の送受信を行う。ネットワークは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）インターネット、専用回線、無線基地局、プロバイダなどのうちの一部または全部を含む。通信部１１０は、利用者の端末装置（不図示）により送信された、設計情報（例えば、利用者により作成されたコーディングプログラム）や、対象データなどを取得する。また、通信部１１０は、制御部１２０により出力された学習済みモデル等を利用者の端末装置等の外部装置に出力する。
【００１２】
制御部１２０は、各構成要素の情報の出入力を制御するものであり、より具体的には取得部１３０と環境設定部１４０と管理部１６０とインターフェース提供部１７０とを連携させる。制御部１２０は、例えば、通信部１１０により受信された情報を取得部１３０や管理部１６０に出力する。また、制御部１２０は、例えば、モデル処理部１５０により生成された学習済みモデルや、インターフェース提供部１７０により提供される学習済みモデルを生成する開発環境の設定や開発環境のコピーを通信部１１０に出力して、外部装置に送信させる。
【００１３】
また、制御部１２０は、通信部１１０を介して受信した情報処理システム１の利用者の指示を、各構成要素に出力する。更に、制御部１２０は、インターフェースを定義した「開発フレームワーク」、ソフトウェアの部品群である「開発コンポーネント」、開発物の実行環境である「開発環境」という３つのコアアセット（各々のコアアセットの詳細は後述する）を連携している。制御部１２０は取得部１３０や環境設定部１４０が設定した学習環境の上で、取得部１３０が取得する学習データや評価データをモデル処理部１５０に引渡し、学習を実行する。
【００１４】
取得部１３０は、制御部１２０により出力された機械学習を行う設計情報、および対象データを取得する。
【００１５】
なお、取得部１３０は、「他の機能部から取得する」ものであってもよいし、取得した情報を「自ら生成・加工して取得する」ものであってもよい。取得部１３０は、例えば、後述するソフトウェア情報１８５を呼び出して、対象データをクレンジングしたり、デノイズしたりするといった加工を行い、必要な対象データを取得する。
【００１６】
環境設定部１４０は、制御部１２０により出力された環境設定に関する利用者の指示に基づいて、環境設定を行う。ここで、環境設定とは、例えば、利用するプログラム言語の種類や、機械学習を行うＯＳＳ（Open Source Software）、機械学習を行うためのホストＯＳ（Operating System）などの組み合わせ（以下、フレームワーク環境と称する場合がある）や、フレームワーク環境において参照させるライブラリ情報、パラメータ等の変更内容を含む。環境設定部１４０は、設定した開発環境を、例えば、コンテナ形式（イメージコピー）で環境設定情報１８６として記憶部に記憶させる。なお、ホストＯＳは必須ではなくてもよい。
【００１７】
環境設定部１４０は、環境設定において、フレームワーク環境およびライブラリ情報のバージョン情報に基づいて、フレームワーク環境およびライブラリ情報に応じたＯＳＳ構成を設定するものであってもよい。一般に、機械学習のＯＳＳライブラリ情報は種類が多く、採用するライブラリやそのバージョンに応じて、必要なソフトウェア構成が異なるものである。環境設定部１４０は、そのようなソフトウェア構成を利用者の手を介さずに（または、利用者の操作を省略して）実現するものである。
【００１８】
環境設定部１４０は、利用者により特に希望を受け付けなかった場合には、情報処理システム１の管理者により推奨する標準化された開発環境を提供するものであってもよい。その際、環境設定部１４０は、利用者による設定の変更の要求を受け付け、受け付けた変更内容を反映した環境設定を提供してもよい。推奨する開発環境については後述する。
【００１９】
モデル処理部１５０は、環境設定部１４０により設定された環境において、取得部１３０により取得された機械学習を行う設計情報と対象データを学習するモデルを生成し、生成したモデルを学習済みモデル１８７として記憶部１８０に記憶させる。以下、モデル処理部１５０によるこれらの処理を「学習処理」と称する場合がある。
【００２０】
また、モデル処理部１５０は、生成した学習済みモデル１８７を用いた推論処理を実施する。推論処理については後述する。
【００２１】
モデル処理部１５０による学習処理や推論処理といった演算は、例えば、高速な学習処理を可能とするＧＰＵ（Graphic Processing Unit）を搭載したサーバ（以下、ＧＰＵサーバ）のプロセッサが記憶部１８０に記憶されたプログラムを実行することにより実現される。
【００２２】
管理部１６０は、設計情報と、設計情報を実行させた環境設定、その環境で設定情報を実行させた結果である学習済みモデルとの対応関係を管理する。管理部１６０は、例えば、環境設定部１４０により標準化された開発環境を提供した場合に、その環境に対して利用者がどのような変更をおこなったかを管理する。
【００２３】
インターフェース提供部１７０は、制御部１２０により出力された利用者の指示に基づいて、開発環境を利用者に提供する。詳細は後述する。
【００２４】
記憶部１８０は、例えば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＤカード、ＭＲＡＭ（Magnetoresistive Random Access Memory）等の不揮発性の記憶媒体と、ＲＡＭ（Random Access Memory）、レジスタ等の揮発性の記憶媒体とによって実現されてよい。記憶部１８０は、プロセッサが実行するプログラムを記憶する他、制御部１２０による処理結果等を記憶する。
【００２５】
記憶部１８０は、例えば、モデル開発プロセス標準１８１、モデル設計標準１８２、モデル設計書テンプレート１８３、利用者情報１８４、ソフトウェア情報１８５、環境設定情報１８６、学習済みモデル１８７などが記憶される。記憶部１８０に記憶される各種情報、特にソフトウェア情報１８５は、例えば、情報処理システム１の管理者によって新しいＯＳＳが追加・更新されたり、情報処理システム１の利用者に提供する独自のソフトウェアが記憶される。
【００２６】
なお、以下の説明において、モデル処理部１５０による学習処理は、多層構造のニューラルネットワークにより実現されるものとして説明するが、これに限定されるものではない。多層構造のニューラルネットワークは、例えば、入力層、出力層、隠れ層などから構成され、各層は複数個のノードを持ち、各層の間は、ノード同士のつながりの強さを表す重み付きのエッジで結ばれるものである。
【００２７】
［学習・推論処理の流れ］
図２は、情報処理システム１において実施される機械学習モデルの学習・推論処理フローの一例を示す図である。
【００２８】
開発フレームワークにおける機械学習の学習・推論処理は、例えば、以下に示すように（ＭＬ１）〜（ＭＬ５）の５ステップの処理により実現される。図２に示す（ＭＬ１）、（ＭＬ４）および（ＭＬ５）は学習処理を説明するステップにあたる。また、図２に示す（ＭＬ２）および（ＭＬ３）は推論処理を説明するステップにあたる。
【００２９】
（ＭＬ１）  クレンジングステップ
取得部１３０は、取得した対象データに対するクレンジングを行う。クレンジングとは、例えば、異質なデータを検出して取り除く除去処理や、対象データにおける誤りを解消するための補正処理、不足データの補間処理などを実施することである。
【００３０】
（ＭＬ２）  前処理ステップ
取得部１３０は、対象データの値を正規化する処理などを行うことで、機械学習に適した対象データを取得する。
【００３１】
（ＭＬ３）  推論ステップ
モデル処理部１５０は、クレンジングおよび前処理が行われた対象データを取得部１３０より取得し、さらに環境設定部１４０において利用者により設定された環境やモデル定義等を設定した上で推論処理を行う。モデル処理部１５０は、例えば、対象データの種類（例えば、画像、センサデータなど）や分析問題（例えば、回帰、分類など）に応じて、あらかじめ定義されたモデル定義に対して対象データを与えることで、推論結果を出力する。
【００３２】
（ＭＬ４）  モデル評価ステップ
モデル処理部１５０は、学習済みモデル１８７からの出力データと入力データに対する教師データ（正解）との誤差を計算し、学習済みモデル１８７の正確性を評価する指標を設定する。
【００３３】
（ＭＬ５）  重み更新ステップ
モデル処理部１５０は、モデル評価ステップにおいて計算した誤差が少なくなるように、各エッジの重みを少しずつ適正な値に更新する。
【００３４】
モデル処理部１５０は、上記の（ＭＬ３）から（ＭＬ５）のステップに該当する処理を繰り返し実施することで、最適な学習済みモデル１８７を生成する。
【００３５】
情報処理システム１は、上記の（ＭＬ１）から（ＭＬ５）に示した処理フローと、その処理フローに対応付いた開発標準（後述する）とを利用者に提供することで、設計の均一化を図るものである。また、情報処理システム１は、学習処理と推論処理の両方で共通に使用するモデル定義や前処理等のモジュールを共通管理することで、各種モジュールの保守性や拡張性を向上させることができる。
【００３６】
[情報処理システム１の処理概要]
図３は、情報処理システム１の処理の概要を説明する図である。情報処理システム１における処理は、例えば、図３に示す（Ａ）から（Ｄ）の工程で説明することができる。
【００３７】
[開発フレームワーク]
図３に示す（Ａ）開発フレームワークは、図２に示した機械学習における学習と推論の各処理を実装するモジュールのインターフェースを定義する。開発フレームワークは、例えば、学習処理Ａ−１と、前処理Ａ−２と、推論処理Ａ−３と、モデル生成処理Ａ−４とにより構成される。開発フレームワークを用いて利用者はモデルの実装を行う。開発フレームワークの各処理は、例えば、取得部１３０、環境設定部１４０、およびモデル処理部１５０により実現される。さらに、開発フレームワークにより生成された学習済みモデルによる学習処理Ａ−１は、制御部１２０により、記憶部１８０に記憶された学習済みモデル１８７等が呼び出されてモデル処理部１５０において実行される。
【００３８】
情報処理システム１は、後述する（Ｄ）開発標準を提供することにより、開発フレームワークにおける典型的な処理の設計の均一化を促す。また、情報処理システム１は、学習処理Ａ−１と推論処理Ａ−３の両処理において共通利用することができるモデル定義や前処理のモジュールを、両処理から分離し共通化することで、保守性や拡張性を向上させることができる。
【００３９】
[開発コンポーネント]
図３に示す（Ｂ）開発コンポーネントは、上述の開発フレームワークにおいて機械学習を行う上での対象データのコンディショニングや、学習方法の設定といった、学習済みモデルが生成されるための事前準備にあたる工程において提供する機能群である。開発コンポーネントは、例えば、制御部１２０によりソフトウェア情報１８５のソフトウェアが呼び出されることで実現される。
【００４０】
開発コンポーネントでは、例えば、対象データに対する前処理Ｂ−１として、デノイズ処理（ノイズを除去する処理）や、クレンジング処理（異質なデータを取り除き、誤りの補正や不足データの補間などのデータの整理などの処理）等の処理を行ったり、対象データの教示／増強処理Ｂ−２として、データの水増しや、ＧＡＮｓ（Generative Adversarial Networks： 敵対的生成ネットワーク）による特徴抽出、能動学習フレームワークを用いたデータ整理等を行ったりする。
【００４１】
また、開発コンポーネントでは、例えば、モデル学習の手法Ｂ−３（例えば、教師あり学習、半教師あり学習、自己教師あり学習など）の選択、モデル再利用Ｂ−４の条件設定、利用者によるモデル定義Ｂ−５（例えば、ＧｏｏｇＬｅＮｅｔモデル、ＲｅｓＮｅｔモデル、ＶＧＧ−１６モデル等）の選択といった利用者による指示を受け付ける。条件設定とは、例えば、既存の学習済みモデル１８７の一部を再利用して、新しいモデルを構築する手法であるファインチューニングや、あらかじめ学習を行った学習済みモデル１８７を別の学習においても利用する転移学習、学習済みモデル１８７の精度を落とさない程度に圧縮して利用するモデル圧縮などの機能を提供することである。
【００４２】
なお、開発コンポーネントの設定は、情報処理システム１の管理者によりあらかじめ推奨の組み合わせを設定し、その組み合わせを学習効率化Ｂ−６という設定情報として利用者に提供されてもよい。例えば、学習効率化Ｂ−６のうち「教示データ不足対応」が利用者により選択された場合、教示データ不足時に推奨すると管理者により設定されたＢ−１〜Ｂ−５の各種処理をそれぞれ選択した状態と同等の設定を提供する。推奨の組み合わせは、例えば、これまでの情報処理システム１における開発をこれまでのモデル開発で実績のある各学習ステージのコア技術をアセット化した組み合わせである。
【００４３】
開発コンポーネントにより設定された情報は、例えば、環境設定情報１８６として記憶部１８０に記憶される。
【００４４】
［開発環境］
図３に示す（Ｃ）開発環境は、環境設定部１４０により設定された開発環境の具体例である。
【００４５】
一般に、機械学習の処理を実行するには、ＧＰＵサーバのホストＯＳ上に、ＧＰＵドライバや、ランタイム環境、統計・機械学習ライブラリ情報、機械学習に用いるＯＳＳのライブラリ情報などをインストールした開発環境を用意する必要がある。ＧＰＵサーバ上で多種のＯＳＳを実行可能にするためには、多数のＯＳＳライブラリ情報を管理する必要があり、採用するＯＳＳライブラリ情報やそのバージョン情報に応じて、必要なソフトウェア構成が異なる。
【００４６】
そこで、仮想化基盤を利用して、開発環境の標準化を図る。例えば、開発実績のあるソフトウェア構成を標準の仮想環境イメージとして情報処理システム１の管理者があらかじめ設定することで、情報処理システム１の利用者は、開発の度に発生する環境構築に係る作業を省略することができる。また、情報処理システム１の利用者は、例えば機械学習に不慣れであったり、特定のＯＳＳに不慣れな場合であっても、他の利用者による開発実績や開発環境を参照したり、再利用したりすることができるため、開発に着手するまでの準備時間を削減することができる。
【００４７】
開発環境は、例えば、仮想化基盤Ｃ−１と、標準仮想環境イメージストアＣ−２と、モデル管理ストアＣ−３とを併せた環境を示すものである。
【００４８】
仮想化基盤Ｃ−１は、例えば、ＧＰＵサーバと、ＧＰＵサーバのホストＯＳと、標準仮想環境と、モデル開発コードとにより構成される。標準仮想環境は、例えば、機械学習用のライブラリ情報や、数理解析用のライブラリ情報、ランタイム環境などにより構成されるものである。標準仮想環境の詳細については後述する。モデル開発コードは、情報処理システム１の利用者により作成されたプログラミングコードである。
【００４９】
標準仮想環境イメージストアＣ−２は、上述の仮想化基盤における標準仮想イメージを保存するストアである。ここで、標準仮想環境イメージは、例えば、Ｄｏｃｋｅｒ（登録商標）等の特定のＯＳＳにより提供されるコンテナと呼ばれる仮想環境を用いることにより実現される。環境設定部１４０は、例えば標準仮想環境イメージストアＣ−２を、環境設定情報１８６として記憶部１８０に記憶させる。
【００５０】
モデル管理ストアＣ−３は、例えば、モデル開発コードと、モデル開発コードが実装されて、機械学習が実行された結果として生成された学習済みモデル１８７、および仮想環境イメージの組み合わせである。仮想環境イメージは、標準仮想環境イメージストアＣ−２であってもよいし、標準仮想環境イメージストアＣ−２に対して情報処理システム１の利用者が設定変更を加えた開発環境のイメージをストア（保存）するものであってもよい。
【００５１】
[開発標準]
図３に示す（Ｄ）開発標準は、全行程において情報処理システム１の利用者に提供される指針や規約である。開発標準には、例えば、モデル開発プロセス標準１８１、モデル設計標準１８２、モデル設計書テンプレート１８３が含まれる。
【００５２】
モデル開発プロセス標準１８１には、例えば、モデルの開発手順と、各手順で作成されるべき成果物の定義指針が格納される。モデルの開発手順は、例えば、作業項目名、目的、開始条件、終了条件、入力となる成果物、作業内容、出力となる成果物、利用するモデル設計書テンプレート等により定義される。
【００５３】
モデル設計標準１８２には、例えば、上述のモデル開発プロセス標準の作業項目とその成果物について、用いるＯＳＳソフトウェアや開発環境の事例に基づいて具体的に説明したガイドラインである。
【００５４】
モデル設計書テンプレート１８３には、例えば、モデル設計書の目次構成や、記述すべき内容を定義したドキュメントテンプレートから成る。開発プロセスの作業ごとに作成すべき成果物が決まっており、それらのテンプレートが定義されている。
【００５５】
これらの開発標準を提供することにより、情報処理システム１の利用者は、モデル開発における試行錯誤に要する時間を削減したり、設計作業における抜けや漏れを回避したりすることができる。また、これらの開発標準を提供することにより、機械学習開発基盤（機械学習のモデルを開発するための基盤）のほかの構成要素において利用すべきポイントをさらに定義することで、モデル開発ノウハウの蓄積や機械学習開発基盤の利用促進を図ることができる。
【００５６】
［利用ケース］
図４は、情報処理システム１の利用ケースを説明するための図である。情報処理システム１の利用ケースは、図４に示すように、導入フェーズＰ１、構築フェーズＰ２、運用フェーズＰ３、保守フェーズＰ４の４段階のフェーズで表現することができる。
【００５７】
導入フェーズＰ１では、例えば、情報処理システム１の利用者により収集されたサンプルデータを用いてモデル設計が行われる。モデル処理部１５０は、その設計結果を用いて学習処理を実施し、さらに推論性能評価を行うことによって学習済みモデル１８７を生成する。
【００５８】
構築フェーズＰ２では、例えば、情報処理システム１の利用者により収集された大規模データを用いて学習処理が進められる。モデル処理部１５０は、導入フェーズＰ１で生成した学習済みモデル１８７にさらに大規模データを用いた学習処理結果を反映することで、学習済みモデル１８７の学習精度を高める。
【００５９】
運用フェーズＰ３では、例えば、情報処理システム１の利用者がモデルデータと観測データに基づいて推論処理を行い、推論結果に基づいてモデル評価を実施する。モデル処理部１５０は、モデル評価の結果に応じて各エッジに重み付けを行い、その重み付けを学習済みモデル１８７のパラメータとして反映して、学習済みモデル１８７の学習精度をさらに高める。この時点の学習済みモデル１８７が、例えば、顧客に納品する成果物モデルとして別途保存される。
【００６０】
保守フェーズＰ４では、例えば、運用フェーズＰ３で生成した学習済みモデル１８７の推論精度を監視することで、学習済みモデル１８７の更新要否を判断する。情報処理システム１の利用者は、学習済みモデル１８７の更新を行った方がよいと判断した場合には、構築フェーズＰ２や運用フェーズＰ３と同様に、モデル処理部１５０により学習済みモデル１８７を更新する処理を行う。
【００６１】
［利用ケースの具体例］
以下、情報処理システム１の利用者により生成された学習済みモデル１８７が、顧客に提供されるまでの利用ケースに沿って情報処理システム１の処理の流れの一例を説明する。図５は、情報処理システム１の利用ケースの具体例を示す図である。
【００６２】
［導入フェーズＰ１］
情報処理システム１の利用者である案件Ａのサービス開発チームの開発者Ｕ１は、案件Ａに即したモデル設計を行う。取得部１３０は、通信部１１０を介して、開発者Ｕ１が生成した開発コードを取得する（図５（１））。
【００６３】
次に、環境設定部１４０は、開発コードを実行するための環境構築を行う。環境設定部１４０は、例えば、開発者Ｕ１により送信された開発コードを実行する開発環境として、開発者Ｕ１により選択された標準仮想環境の構築を開始する（図５（２−１））。
【００６４】
次に、環境設定部１４０は、例えば、開発者Ｕ１による設定操作を受け付けることにより環境設定を行い、標準仮想環境に対して案件Ａにおける対象データの特徴を反映した開発コンポーネントを適用して、仮想化基盤Ｃ−１上に仮想環境を構築する（図５（２―２））。
【００６５】
なお、図５（２−１）および（２―２）において、開発者Ｕ１により特段の指定を受け付けなかった場合や、開発者Ｕ１による情報処理システム１に標準的な仮想環境を設定することを示す操作を受け付けた場合には、インターフェース提供部１７０が標準仮想環境イメージストアから選択した標準仮想環境を出力するものであってもよい。
【００６６】
次に、モデル処理部１５０は、仮想化基盤Ｃ−１に案件Ａの開発コードを配置する。次に、モデル処理部１５０は、案件Ａの開発コードに対する学習処理のためのＧＰＵサーバの割り当てを行い、サンプルデータを用いて学習処理を開始する。モデル処理部１５０は、学習処理の結果として学習済みモデル１８７を生成する（図５（２−３））。この段階での開発コードや、学習済みモデル１８７、仮想化基盤Ｃ−１は、モデル管理ストアＣ−３に保存される。仮想化基盤Ｃ−１はイメージ形式で保存されるものであってもよい。
【００６７】
〔構築フェーズＰ２］
モデル処理部１５０は、さらに大規模データを用いて図５（２−３）に示す学習処理を行い、さらに推論処理による重み付け更新等を反映して、学習済みモデル１８７を更新する（図５（３））。更新された学習済みモデル１８７や、重み付け等の設定情報は、モデル管理ストアＣ−３に逐次上書き保存されてもよいし、それぞれの更新段階毎に保存されてもよい。
【００６８】
〔運用フェーズＰ３〕
開発者Ｕ１は、案件Ａの学習済みモデル１８７の学習が進み、学習済みモデル１８７の出力精度が十分高まったと判断した場合に、サービス構築担当者Ｕ２に学習済みモデル１８７が受け渡される（図５（４−１））。管理部１６０は、例えば、開発者Ｕ１による運用フェーズＰ３にフェーズを移動することを示す（利用者情報１８４のサービス構築担当者Ｕ２を案件Ａに紐付けしたり、該当環境の環境設定情報１８６にサービス構築担当者Ｕ２への開示権限を付与する等の）操作を受け付ける。それにより、管理部１６０は、サービス構築担当者Ｕ２に対して、モデル管理ストアＣ−３に保存された案件Ａの開発コードや、学習済みモデル１８７、および仮想化基盤Ｃ−１にアクセスできるようにする。
【００６９】
サービス構築担当者Ｕ２は、例えば、モデル管理ストアＣ−３に保存された案件Ａの開発コードや、学習済みモデル１８７、および仮想化基盤Ｃ−１を案件Ａの顧客用の専用環境に適用してサービス構築を行い（図５（４−２））、案件Ａの顧客への運用・保守サービスの提供を開始する（図５（４−３））。
【００７０】
〔保守フェーズＰ４〕
サービス構築担当者Ｕ２は、例えば、案件Ａの顧客に提供した学習済みモデル１８７の推論精度を監視する。
【００７１】
［処理フロー  学習済みモデル１８７の生成］
図６は、モデル処理部１５０による学習処理の流れの一例を示すフローチャートである。図６に示す処理は、例えば、図４に示す各フェーズＰ１〜Ｐ４において学習済みモデル１８７の生成・更新時に行われる処理である。
【００７２】
通信部１１０は、情報処理システム１の利用者による学習実行指示を受け付ける（ステップＳ１００）。取得部１３０は、例えば、ステップＳ１００の時点で開発コードや対象データを取得してもよい。次に、モデル処理部１５０は、ＧＰＵサーバのリソースを確認し、十分な空きリソースがあるか否かを判定する（ステップＳ１０２）。モデル処理部１５０は、十分な空きリソースがあると判定しなかった場合、所定時間待機し、再度ステップＳ１０２を実行する。モデル処理部１５０は、十分な空きリソースがあると判定した場合、学習を行うためのＧＰＵサーバの割り当てを行う（ステップＳ１０４）。次に、モデル処理部１５０は、学習実行環境である仮想化基盤Ｃ−１を立ち上げ（ステップＳ１０６）、学習処理を開始する（ステップＳ１０８）。次に、モデル処理部１５０は、学習処理の結果として生成または更新された学習済みモデル１８７を記憶部１８０に記憶させる（ステップＳ１１０）。以上、本フローチャートの処理の説明を終了する。
【００７３】
［処理フロー  仮想化基盤立ち上げ］
図７は、学習実行環境である仮想化基盤Ｃ−１の処理の流れの一例を示すフローチャートである。図７は、図６のステップＳ１０６の処理内訳に該当する。
【００７４】
まず、モデル処理部１５０は、標準仮想環境イメージストアＣ−２を展開し、仮想化基盤Ｃ−１を設ける（ステップＳ２００）。次に、モデル処理部１５０は、仮想化基盤Ｃ−１を起動する（ステップＳ２０２）。次に、環境設定部１４０は、パラメータ等の変更を設定することで仮想化基盤Ｃ−１を整備する（ステップＳ２０４）。次に、モデル処理部１５０は、整備された仮想化基盤Ｃ−１に開発コードを取り込む（ステップＳ２０６）。以上、本フローチャートの処理の説明を終了する。
【００７５】
［インターフェース提供］
以下、インターフェース提供部１７０による処理について説明する。インターフェース提供部１７０は、管理部１６０により出力された情報処理システム１の利用者のアクセス権限や、学習済みモデル１８７に設定された公開範囲を参照して、利用者が容易に開発に着手できるよう、開発インターフェースを出力する。開発インターフェースとは、例えば、環境設定部１４０により設定されたフレームワーク環境およびライブラリ情報、開発コードを含む仮想化基盤Ｃ−１のイメージストア、学習済みモデル１８７、各種ドキュメント情報の一部または全部である。
【００７６】
以下、具体例を挙げて説明する。開発者Ｕ１は、図５に示した案件Ａの開発を終了し、他の案件Ｂの開発を行っているものとする。また、サービス構築担当者Ｕ２は、図５に示した案件Ａの保守を実施しているものとする。また、他の利用者Ｕ３は、情報処理システム１の利用を開始したばかりであり、管理部１６０により得られる情報を参考に、開発に着手しようとしているものとする。なお、利用者Ｕ３は、案件ＡおよびＢの関係者ではないものとして説明する。
【００７７】
図８は、環境設定情報１８６の内容の一例を示す図である。環境設定情報１８６は、例えば、各学習済モデルを識別するための番号に、そのモデルの開発者、案件、モデルの公開範囲、利用モデル、対応する標準仮想化基盤Ｃ−１、環境設定の変更の有無と変更内容、モデルの保存先等の情報などを対応付けた情報である。
【００７８】
図９は、利用者情報１８４の内容の一例を示す図である。利用者情報１８４には、例えば、利用者毎に案件と、案件の環境設定情報１８６等に対するアクセス権限等が記憶される。
【００７９】
管理部１６０は、例えば、利用者Ｕ３により参照可能なインターフェース情報を出力するよう操作指示を受け付ける。管理部１６０は、環境設定情報１８６と利用者情報１８４とを参照して、利用者Ｕ３に提供可能なインターフェース情報を検索する。
【００８０】
管理部１６０は、図８および図９を参照して得られた検索情報として、例えば、モデルＮｏ．４の学習済みモデル１８７のインターフェース情報を利用者Ｕ３に提供する。利用者Ｕ３は、これらの情報や、インターフェース提供部１７０により提供される開発インターフェース、モデル開発プロセス標準１８１、モデル設計標準１８２、モデル設計書テンプレート１８３等の開発標準を参考に、開発に着手することができる。
【００８１】
インターフェース提供部１７０が提供するインターフェース情報とは、例えば、利用者Ｕ３に対して、モデルＮｏ．４に関する情報の一部または全部であってもよいし、モデルＮｏ．４を開発する仮想化基盤Ｃ−１を参照させるものであってもよい。インターフェース提供部１７０は、例えば、過去の案件で用いられた仮想化基盤Ｃ−１を参照させるものである場合、利用者Ｕ３は、他の利用者により開発実績のあるソフトウェア構成が反映された仮想化基盤Ｃ−１を使用することができ、環境構築作業が容易に行えるようになったり、実績のある開発環境で学習処理を試したりすることができる。また、利用者Ｕ３は、少なくとも仮想化基盤Ｃ−１に適用された開発者Ｕ１の作成した開発コードを参考にしてコーディングに着手することができる。
【００８２】
また、管理部１６０は、例えば、他の利用者に優先的に参照させたい仮想化基盤Ｃ−１や、環境設定情報１８６を情報処理システム１の管理者によって設定させるものであってもよい。
【００８３】
また、管理部１６０は、例えば、対象データの種別や問題特性をインプット情報として利用者より受け付け、そのインプット情報を参照して適切な仮想化基盤Ｃ−１や学習済みモデル１８７をレコメンド情報として表示するものであってもよい。インターフェース提供部１７０は、例えば、「入力データが画像データである」、「入力データがセンサデータである」等の情報を利用者より受け付け、同様の入力データを用いた仮想化基盤Ｃ−１や環境設定情報１８６をレコメンド情報として表示する。
【００８４】
［処理フロー  インターフェース提供］
図１０は、管理部１６０およびインターフェース提供部１７０による、インターフェース提供処理の流れの一例を示すフローチャートである。
【００８５】
まず、管理部１６０は、利用者によるレコメンド情報の提供要求を受け付ける（ステップＳ３００）。次に、管理部１６０は、利用者情報１８４と環境設定情報１８６とを検索し、利用者のアクセス権限に応じた開示可能範囲の開発履歴情報に該当する、環境設定情報１８６の検索結果を得る（ステップＳ３０２）。次に、管理部１６０は、検索結果の開発履歴情報を利用者に提示する（ステップＳ３０４）。次に、インターフェース提供部１７０は、利用者によるインターフェース提供要求を受け付ける（ステップＳ３０６）。ここで受け付けるインターフェース提供要求は、利用者により選択された開発履歴情報のいずれかのコピー環境を要求するものであってもよいし、標準仮想環境の提供を要求するものであってもよい。次に、インターフェース提供部１７０は、要求された開発インターフェースを利用者に提供する（ステップＳ３０８）。以上、本フローチャートの処理の説明を終了する。
【００８６】
以上で説明した少なくとも一つの実施形態によれば、機械学習を行う開発コード等の設計情報、および機械学習の対象データとなる大規模データやサンプルデータを取得する取得部１３０と、取得部１３０が取得した設計情報を実行するフレームワーク環境およびライブラリ情報にあたる仮想化基盤Ｃ−１と、フレームワーク環境およびライブラリ情報のバージョン情報に応じて、機械学習の処理の実行を補助するソフトウェア情報１８５のソフトウェア構成とを設定する環境設定部１４０と、対象データに対する学習を、取得部１３０により取得された設計情報と環境設定部１４０により設定されたフレームワーク環境とが反映された仮想化基盤Ｃ−１を用いて実行することで、学習済みモデル１８７を生成または更新するモデル処理部１５０と、取得部１３０が取得した設計情報、環境設定部１４０が設定したフレームワーク環境に関する情報、およびモデル処理部１５０により生成または更新された学習済みモデル１８７に関する情報を開発履歴情報としてモデル管理ストアＣ−３等として管理する管理部１６０と、情報処理システム１の利用者からの環境設定情報の出力指示を受け付けて利用者に推奨する設定情報を提示し、利用者により選択された設定情報に基づいて標準となる仮想化基盤Ｃ−１を利用させるインターフェース提供部１７０と、取得部１３０と環境設定部１４０と管理部１６０とインターフェース提供部１７０との各構成要素の情報の入出力を制御して連携させる制御部１２０とを持つことにより、情報処理システム１の利用者によるモデル開発技法の標準化を図ることができる。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００８８】
１…情報処理システム、１１０…通信部、１２０…制御部、１３０…取得部、１４０…環境設定部、１５０…モデル処理部、１６０…管理部、１７０…インターフェース提供部
【図１】
2020086705.tif 000003
【図２】
2020086705.tif 000004
【図３】
2020086705.tif 000005
【図４】
2020086705.tif 000006
【図５】
2020086705.tif 000007
【図６】
2020086705.tif 000008
【図７】
2020086705.tif 000009
【図８】
2020086705.tif 000010
【図９】
2020086705.tif 000011
【図１０】
2020086705.tif 000012