Team Data Science Process (TDSP) は、予測分析ソリューションとインテリジェント アプリケーションを効率的に実現するアジャイルで反復的なデータ サイエンス手法です。 TDSP を使うと、チームの役割が最適に連携する方法が提案されるため、チームのコラボレーションと学習の改善に役立ちます。 TDSP には、データ サイエンス イニシアチブの実装を成功させるために役立つ Microsoft やその他の業界リーダーのベスト プラクティスと構造が含まれています。 分析プログラムの利点を完全に実現できるよう企業を支援するのがその目標です。
この記事では、TDSP とその主な構成要素について概要を紹介します。 ここでは、さまざまなツールを使って導入できるプロセスを包括的に説明します。 プロセスのライフサイクルに携わる役割やプロジェクトのタスクについてのより詳しい説明については、別途リンク先のトピックを参照してください。 Microsoft は、そのチーム内で TDSP を導入するために特定のツールとインフラストラクチャを使用しています。ここでは、そうした一連のツールとインフラストラクチャを使って TDSP を導入する方法の指針についても触れています。
TDSP の主な構成要素
TDSP の主な構成要素は次のとおりです。
- データ サイエンス ライフサイクルの定義
- 標準プロジェクト構造
- データ サイエンス プロジェクトに推奨されるインフラストラクチャとリソース
- プロジェクト実行に推奨されるツールとユーティリティ
データ サイエンス ライフサイクル
Team Data Science Process (TDSP) には、データ サイエンス プロジェクトの開発を体系化するライフサイクルが用意されています。 ライフサイクルには、正常なプロジェクトが従う完全な手順の概要が示されます。
CRISP-DM、KDD、所属する組織独自のカスタム プロセスなど、別のデータ サイエンス ライフサイクルを利用している場合は、それらの開発ライフサイクルにタスクベースの TDSP を組み込んで使用することもできます。 大局的に見ると、これらの各種の手法には多くの共通点があります。
このライフサイクルは、インテリジェント アプリケーションの一部として出荷されるデータ サイエンス プロジェクト向けに設計されています。 このようなアプリケーションでは、機械学習モデルや人工知能モデルをデプロイして予測分析に使用します。 このプロセスは、探索的データ サイエンス プロジェクトや、即席の分析プロジェクトに利用しても効果的ですが、 そのような場合、ここで説明する一部のステップは不要になります。
ライフサイクルは、プロジェクトで通常 (多くの場合に繰り返し) 実行される主要なステージのアウトラインを示します。
- ビジネスの把握
- データの取得と理解
- モデリング
- デプロイ
次の図は、Team Data Science Process ライフサイクルを視覚的に表したものです。
TDSP におけるライフサイクルの各ステージの目標、タスク、ドキュメント アーティファクトについては、「Team Data Science Process ライフサイクル」のトピックで説明しています。 これらのタスクとアーティファクトは、プロジェクトの各種役割に関連付けられます。
- ソリューション アーキテクト
- プロジェクト マネージャー
- データ エンジニア
- データ サイエンティスト
- アプリケーション開発者
- プロジェクト リード
次の図は、これらの役割 (縦軸) ごとにライフサイクルの各ステージ (横軸) に関連付けられたタスク (青色) とアーティファクト (緑色) をグリッド形式で示したものです。
標準プロジェクト構造
すべてのプロジェクトでディレクトリ構造を共有すると共に、プロジェクト ドキュメントにテンプレートを使用すれば、チーム メンバーがそのプロジェクトに関する情報を見つけやすくなります。 すべてのコードとドキュメントを Git、TFS、Subversion などのバージョン管理システム (VCS) に格納すれば、チームでのコラボレーションが可能になります。 各機能のコードも、Jira、Rally、Azure DevOps などのアジャイル プロジェクト追跡システムでタスクと機能を追跡することによって綿密に追跡することができます。 こうした追跡が、チームによるコスト見積もりの精度を高めることにもつながります。 TDSP では、バージョン管理、情報セキュリティ、コラボレーションの観点から、プロジェクトごとに独立したリポジトリを VCS に作成することが推奨されています。 全プロジェクトの構造を標準化することで、組織横断的に体系化された知見を構築することができます。
Microsoft では、必要なドキュメントとフォルダー構造のテンプレートを標準的な場所で提供しています。 このフォルダー構造によって、データ探索と特徴抽出のコードを含んだファイルや、モデルの反復を記録するファイルが体系化されます。 これらのテンプレートによって、チーム メンバーは、他のメンバーの作業を把握しやすくなり、容易に新しいメンバーを迎え入れることができます。 ドキュメントのテンプレートは、マークダウン形式で簡単に閲覧、更新することができます。 各プロジェクトのチェックリストには、問題を明確に定義し、必要な品質を成果物に確保するために、テンプレートを使用して重要な問いを盛り込みます。 たとえば、次のようになります。
- ビジネスの問題やプロジェクトの範囲を文書化するプロジェクト憲章
- 生データの構造と統計を文書化するデータ レポート
- 導き出された特徴を文書化するモデル レポート
- モデルのパフォーマンス メトリック (ROC 曲線、MSE など)
このディレクトリ構造は、GitHub から複製することができます。
データ サイエンス プロジェクトのインフラストラクチャとリソース
TDSP には、共有の分析およびストレージ インフラストラクチャを管理するうえでの推奨事項が示されています。その例を次に示します。
- データセットを格納するためのクラウド ファイル システム
- databases
- ビッグ データ (SQL または Spark) クラスター
- Machine Learning サービス
未加工と加工済みのデータセットが保存される分析およびストレージ インフラストラクチャは、クラウドまたはオンプレミスに配置できます。 このインフラストラクチャによって分析の再現性が得られます。 また、重複は不整合や不要なインフラストラクチャ コストの原因ともなりますが、そのような重複も排除されます。 共有リソースをプロビジョニングするための手段や、それらを追跡するための手段、また、それらのリソースに各チーム メンバーが安全に接続できるようにするための手段も用意されています。 また、プロジェクト メンバーには、一貫性のあるコンピューティング環境を作成してもらうことをお勧めします。 そうすれば、異なるチーム メンバーが実験を再現して検証することができます。
以下に示したのは、クラウド分析インフラストラクチャのさまざまな構成要素を共有しながら複数のプロジェクトに取り組むチームの例です。
プロジェクト実行のツールとユーティリティ
プロセスの導入は、ほとんどの組織にとって困難を伴う作業です。 データ サイエンスのプロセスとライフサイクルを導入することを目的としたツールによって、受け入れの障壁を下げると共に、その一貫性を高めることができます。 TDSP には、チーム内に TDSP を速やかに導入するうえでまず必要となる一連のツールとスクリプトが用意されています。 また、データ探索やベースライン モデリングなど、データ サイエンス ライフサイクルにおいて一般的ないくつかのタスクも自動化することができます。 そこに用意されている明確に定義された構造を利用して、それぞれの人員が、そのチームの共有コード リポジトリに対し、共有のツールやユーティリティを提供することができます。 それらのリソースはさらに、チーム内または組織内の他のプロジェクトで活用することができます。 Microsoft の Azure Machine Learning では、オープンソースのツール (Python、R、ONNX、および一般的なディープラーニング フレームワーク) と Microsoft 独自のツール (AutoML) の両方をサポートする、豊富なツールが用意されています。
次のステップ
「Team Data Science Process:Roles and tasks (Team Data Science Process: 役割とタスク)」に、このプロセスを標準化するデータ サイエンス チームの主な人員の役割とそれに関連したタスクが概説されています。