AI&アナリティクス活用 on コンテナ環境でモデルオーケストレーションを実現
多くの企業のモデル開発環境では、データサイエンティストごとに好みの言語、好みのバージョンが使用され、混在している。その結果、異なるバージョン間における互換性の問題や、最新版に移行させるべきなのか旧版のまま塩漬けなのか、いくつかの課題を抱えている。異なるバージョン環境混在時の対応について、畝見氏は3つのパターンについて、メリットとデメリットを示した。「最新バージョンへの移行」、「異なる言語バージョンのVM環境の保持」、「異なる言語バージョンのコンテナの保持」である。
最新版に移行させる場合、データサイエンティストのメリットは特にない。デメリットは移行の難易度が高く、多大な工数がかかってしまうし、特定のバージョンしか使えなくなってしまうため、データサイエンティストは辞めてしまうかもしれない。IT側では、最新の環境だけを保守すればいいことになるので、運用管理コストを低く抑えることができる。
異なる言語バージョンのVM環境を保持する場合、データサイエンティストは、好みの環境を利用できる。ただし、その環境の起動にはある程度の時間がかかってしまうので、すぐには使えない。IT側では、数多くのVM環境を構築していかなければならないため、ITリソースの消費、運用管理コストが増大する。
そして、コンテナで実装し運用する場合は、データサイエンティストは好みの環境を使いたいと思った時に、スピンアップし、即座に使用できるようになる。IT側では、VM環境と比べればリソース消費を抑えられる。つまり、リソースの効果的な活用が可能になるし、運用管理コストも抑え、ITガバナンスも効かせられる。これにより、データサイエンティストの自由度とITガバナンスを確保できる。ただし、この環境には非常に重要な要素が一つ欠けている。それは数多く開発されるモデルの管理、モデルガバナンスであると畝見氏は指摘する。
ITガバナンスの確保では、異なる言語の異なるバージョンの異なる用途別(モデル開発用やスコアリング用)の数多くのコンテナを用意していくという形態になる。たとえば、DockerコンテナであればKubernetesによるオーケストレーションによって数多くのコンテナ環境に対してITガバナンスを効かせることができる。では、数多く開発されるモデルの管理はどうすれば良いのか。ここでもSAS Viyaが活躍する。
① データサイエンティストは、好みの言語の好みのバージョンのモデル開発用のDockerコンテナをスピンアップし、モデルを開発していく。モデルが出来上がったら、REST APIを通じてSAS Viyaのモデルリポジトリにそのモデルの情報や関連ファイルを登録する。
② 登録した情報はSAS Viyaのモデル管理のGUI上で共有し確認し、管理できる。
③ そしてデプロイ時には、スコアリング用のDockerコンテナがスケジュール指定等で自動的にスピンアップされ、その中でスクリプトが自動実行される。そのスクリプトでは、REST APIを通じてSAS Viyaのモデルリポジトリから実行対象のスコアコードが読み取られ、スコアリングが実行され、
④ その結果の精度情報がSAS Viyaにアップロードされる。
⑤ この精度情報に基づき、SAS Viya上でビジュアルに精度のモニタリングまでが可能になる。
SAS Viyaのモデルオーケストレーションはビジネス側とIT側、つまりDepとOpsの橋渡し役を担うことになる。
畝見氏は続いて、SAS ViyaはエンタープライズセキュリティやITガバナンスの効いた環境であり、ユーザー単位、ユーザーグループ単位で各種コンテンツに対するきめ細かなアクセス制限設定、サーバー管理、監査、モニタリング、統合メタデータ管理、アクセス管理などの全てが一元管理できると強調。メタデータを統合的に管理できることは企業にとって強力な武器になるとした。