機械学習パイプラインとは

執筆者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

MLパイプラインとは

機械学習パイプライン(ML パイプライン)は、機械学習モデルを設計、開発、デプロイする体系的なプロセスです。MLパイプラインまたはMLワークフローは一連の手順に従い、開発者とビジネス・リーダーをより効率的なモデル開発に導きます。

エンドツーエンドの機械学習パイプラインは次の3つの段階で構成されています。

  1. データ処理:データサイエンティストが、MLモデルのトレーニングに使用するデータを収集して準備します。この段階のフェーズには、データの収集、前処理、クリーニング、探索が含まれます。

  2. モデル開発:データ担当者は、プロジェクトのニーズに合った機械学習アルゴリズムを選択または作成します。アルゴリズムは前のステップのデータをもとにトレーニングされ、その結果として得られたモデルは、使用準備が整うまでテスト/検証されます。

  3. デプロイメント:開発者とソフトウェア・エンジニアは、実際に使用できるようにモデルをデプロイし、本番環境に統合して、その性能を監視します。

機械学習ワークフローは、機械学習オペレーション(MLOps)というより広範な分野の中核となる構成要素です。このプロセスの多くは、ステージとエンドポイント間の依存関係を管理するさまざまな自動機械学習(AutoML)テクニックを通じて自動化できます。

データ・パイプラインとMLパイプラインの違いは?

データ・パイプラインは、データサイエンティストによって設計および構築されたアーキテクチャーであり、さまざまなソースからデータを収集し、データウェアハウスなどの集中型データリポジトリに保管して整理します。機械学習パイプラインは、AIシステムを設計、構築、デプロイするためのワークフローです。

どちらのフレーズでもパイプラインという用語が使用されていますが、データ・パイプラインがより具体的なシステムであるのに対し、MLパイプラインは一連の理論上のステップです。ETLパイプラインは、さまざまなソースからデータを抽出し、それを統一された形式に変換して、格納先のシステムにロードするデータ・パイプラインの一例です。機械学習では、ETLパイプラインがデータを収集し、トレーニングデータセットにフォーマットします。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

ステージ0:プロジェクトの開始

MLワークフローを初期化する前に、ビジネス・リーダー、開発者、その他の利害関係者は、機械学習プロジェクトの目的について合意します。AIが必要な理由と、AIで何を達成するのかを理解することで、期待値が現実的なものとなり、利害関係者が共通の目的に沿って調整できるようになります。

    目標は?

    AIをワークフローや製品に組み込むかどうかを決定する際、利害関係者はまず、MLモデルが解決する予定のビジネス目標を特定し、AIがそれをどのように達成できるかを実証する必要があります。一部の企業では、これとは逆の「AIを活用したいが、AIで何をすれば良いのか?」という論理でAIの導入に取り組みます。

    AIの投資収益率(ROI)を最大化するには、リーダーがユースケースを理解し、その目的に合わせたMLソリューションに取り組むことが必要です。

    成功の基準は?

    文書化されたKPI(重要業績評価指標)など、成功のための明確なメトリクスは、MLプロジェクトが目標を達成しているかどうかを利害関係者に知らせてくれます。これらのKPIは、前の段階で設定した目標を反映している必要があります。例えば、効率化のためにデプロイされるMLモデルは、ROI(投資収益率)を優先することが考えられます。

    障壁になる要素は?

    リスクのランドスケープと潜在的なブロッカーを把握することで、チームはプロジェクトを効果的に進めることができます。このステップには、データ要件の定義と、データの収集と保存に関する規制があれば、それを評価することが含まれます。コンピューティング要件やメモリー要件など、モデル選択に影響する可能性のある制限についても同様です。

    オフィスでミーティングをするビジネスチーム

    IBMお客様事例

    お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

    ステージ1:データ処理

    MLモデルが解決する問題の範囲を明確にした後、MLワークフローの最初のステップは、データを収集、準備、分析することです。実践者は、関連するデータ・ソースを特定し、そこからデータを収集して統合します。そして、準備されたデータセットに到達するために特徴エンジニアリングなどのデータサイエンス手法を使用してデータを準備してクリーンアップする必要があります。

    通常、データ処理は最も時間がかかる段階です。しかし、MLモデルのパフォーマンスはデータが優れているかどうかにかかっています。データ・エンジニアリング・フェーズにおけるエラーや見落としは、モデルのライフサイクル全体にわたるモデルのパフォーマンスに悪影響を及ぼします。データ・オートメーション戦略により、強力なトレーニング・データセットを作成するために必要な時間と人的労力を削減できます。

    データ処理には次のようなものがあります。

    • データ取り込み

    • データの前処理

    • データ探索

    • フィーチャー・エンジニアリング

    • データ分割

      データ取り込み

      データ取り込みとは、データ・パイプラインを通じて、異種のデータ・ソースからデータを収集し、一元化されたデータ・リポジトリーにインポートすることです。データサイエンティストは、社内に保存されている独自の企業データ(販売レポート、顧客の人口統計、その他の組織に関する知識)など、適切なデータソースを特定する必要があります。

      場合によっては、外部データも必要になります。外部データ・ソースには、データ・プロバイダーへのAPI接続、インターネットから取得されたデータ、 合成データなどがあります。新しいデータが常に作成されるため、データ取り込みは継続的なプロセスとなることが多いです。

      データの前処理

      データの前処理(データ準備)では、前のステップの未加工データを、分析できるクリーンなデータに変換します。データサイエンティストは、探索的データ分析(EDAを通じてトレーニング・データを理解した後、データの前処理戦略を選択します。データの前処理には次の手順が含まれます。

      • 欠損値を識別し外れ値を処理する

      • データの正規化:データセットを標準化する

      • ノイズ除去:ランダムエラーと信号干渉を除去する

      • データ統合データを統合されたデータセットに結合する

      データ探索

      データ探索とは、データを評価し、データに含まれる情報を理解するプロセスです。EDAは、データの可視化ツールの助けを借りて、データの特性を学習し、パターンと関係性を発見し、インサイトを特定することを目的としています。

      EDAの調査結果は、次に発生するモデル選択の選択肢に影響を与えます。

      フィーチャー・エンジニアリング

      特徴選択は、データ・ポイントの最も関連性の高い特徴または特性を識別するクリティカルなデータ前処理手順です。データの特徴は、モデルが現実世界の課題を解決する可能性を最大限に高めるものとして抽出および選択されます。

      間違った主要な特徴に焦点を当てると、モデルが意図したとおりに動作しない可能性があります。データサイエンティストは、特徴抽出技術を適用してデータを合理化した後、最も強力なモデル予測につながる主要な特徴を選択します。

      ステージ2:モデル開発

      トレーニング用データが準備できたら、MLワークフローの次のステップは機械学習モデルの構築です。ディープラーニング・モデルを作成するプロセスには、適切な機械学習アルゴリズムを選択し、それをトレーニング・データセットに公開することが含まれます。このプロセスの結果、類似の未知のデータを使用して、現実世界での使用に適したAIモデルが作成されます。

      モデル開発プロセスには以下が含まれます。

      • モデル選択

      • ハイパーパラメーター・チューニング

      • モデル・トレーニング

      • モデル評価

      モデルの選択

      モデルの選択は、意図したユースケースで最高のパフォーマンスを実現する可能性が最も高いモデルのタイプを選択するプロセスです。初期のプロジェクト計画段階で、すべての利害関係者と参加者は、ビジネス・ニーズ、制限、プロジェクト目標を明確に理解しています。ML実践者は、最適化と実現可能性のバランスをとりながら、これらの要素に基づいて選択を行います。

      選択肢には、線形回帰ロジスティック回帰ランダム・フォレスト決定木ニューラル・ネットワーク大規模言語モデル(LLM)サポート・ベクター・マシン(SVM)アンサンブル・モデルエージェント型システムなどがあります。

      機械学習の課題の性質に応じて、特定の種類のアルゴリズムがより適切な候補者を作成します。

      たとえば、ニューラル・ネットワークは生成AIの複雑な課題に対処できますが、計算コストが高く、過剰適合が発生しやすくなります。回帰モデルは計算効率が高くなりますが、ユースケースは限られています。

      ハイパーパラメーター・チューニング

      モデルのハイパーパラメーターは、トレーニング中にモデルの動作を制御する外部変数です。ハイパーパラメーターは、ニューラル・ネットワークのニューロンやレイヤーの数など、アルゴリズムが構築するモデルの形状も制御します。

      ハイパーパラメータの調整は、トレーニング・プロセスで最高のパフォーマンスのモデルが生成されるようにハイパーパラメータを最適化するプロセスです。データサイエンティストはハイパーパラメーターを手動で設定することもできますが、通常はさまざまなアルゴリズムやその他の手法を通じてプロセスを自動化します。

      モデル・トレーニング

      モデルのトレーニングは、モデルがデプロイされた後に処理するインプットデータに類似したデータセットを使用してモデルのパフォーマンスを最適化するプロセスです。機械学習トレーニング・パイプラインは、アルゴリズムやモデルが開発されるタスクに応じて、さまざまな形をとる広範なシステムです。

      多くのトレーニング方法は、モデルの誤差、つまりモデルの出力と現実世界のデータ値との間のギャップを測定する損失関数の最小化を中心に展開しています。新しいモデルはトレーニングを行うたびにトレーニング・データに近づき、パラメーターが更新されます。各更新は、以前の成果に基づいて反復されます。

      モデルのトレーニング方法には、次のものがあります。

      • 教師あり学習 モデルは構造化データのデータセットでトレーニングされます。インプットには対応するアウトプットのラベルが付けられ、インプットの特徴を正しいアウトプット値に関連付ける方法をモデルに教えます。

      • 教師なし学習モデルは非構造化データでトレーニングされ、データ・ポイントと特徴間のパターンと関係を独自に識別する必要があります。

      • 半教師あり学習:このモデルは、教師あり学習と教師なし学習を混合したハイブリッド手法でトレーニングされます。

      • 自己教師あり学習:通常、教師あり学習を必要とするタスクに対して、ラベルのないデータでモデルがトレーニングされます。

      • 強化学習:エラーを最小限に抑えるのではなく、可能な限り最大の報酬を生成するアクションを実行するようにモデルがトレーニングされます。

      • 継続的学習: このモデルは、事前に組み立てられたトレーニング・データセットではなく、インプット・データのリアルタイムのストリームでトレーニングされます。

      モデルの評価

      モデルがトレーニングされたと判断された後(損失関数が十分に最小化された場合など)、デプロイメント前にそのパフォーマンスが評価されます。LLM 評価プロセスでは、データ分割フェーズで準備されたテストおよび検証データセットを使用します。

      検証

      検証では、モデルの予測誤差(つまり、正しい予測を行う能力)を推定します。トレーニング中に、機械学習アルゴリズムはさまざまなハイパーパラメータ構成を持つ複数のモデルを出力することがよくあります。検証により、最適なハイパーパラメータ構成を持つモデルが特定されます。

      テスト

      テストでは、現実世界の値をシミュレートして、最もパフォーマンスの高いモデルの一般化誤差(つまりモデルが新しい未見のデータにどの程度適応するか)などを評価します。テスト・データはトレーニング・データとは独立したもので、訓練完了後のモデルのパフォーマンスをベンチマークします。テストにより、モデルがデプロイ後に意図したとおりに動作するかどうかが明らかになります。

      ステージ 3: モデルのデプロイメント

      優れたパフォーマンスを備えた適切なモデルを開発したら、そのモデルを実際に使用してみましょう。モデルのデプロイメントでは、意図した運用環境でモデルをユーザーに提供します。これには、モバイル・アプリケーションやAPI接続から、医薬品開発やロボティクス研究施設まで、あらゆるものが該当します。

      モデルは、アクティブにデプロイされるまで動作を開始しません。機械学習プロジェクトから強力な結果を達成するには、消費者、ビジネス・リーダー、または他のコンピューター・システムにとって使いやすい方法でモデルをデプロイする必要があります。

      モデルのデプロイメントには以下が含まれます。

      • モデルのシリアル化

      • 統合

      • アーキテクチャー

      • モニタリング

      • アップデート

      • コンプライアンス

      モデルのシリアル化

      シリアル化は、モデルを保管および送信できる形式に変換し、本番環境でデシリアル化する一般的なデプロイメント方法です。これは例えて言うと、部屋いっぱいの持ち物を箱に詰めて、その箱を新しい家に移動させて中身を出して新しい部屋を整えるような感じです。

      たとえば、ML開発で人気のコーディング言語であるPythonは、デプロイメントにピクル・フレームワークを推奨しています。

      統合

      統合では、モデルをモバイル・アプリケーションのような運用環境に組み込みます。モデルは、AWSやAzureなどのクラウド・コンピューティング・プロバイダーを通じて提供することも、オンサイトでホストすることもできます。あるいは、KubernetesやDockerなどのコンテナ化されたソリューションを使用する方が適している場合があります。

      開発者は、モデルの提供方法に応じて、PyTorchやTensorFlow Servingなどの適切な機械学習ライブラリーやフレームワークを使用してモデルにアクセスできるようにする必要があります。

      アーキテクチャー

      MLのデプロイメント中に考慮すべき2つの主要な懸念事項は、ポータビリティーと拡張性です。

      • ポータビリティーとは、モデルをシステム間で簡単に移行できることです。

      • 拡張性は、ユーザーベースの増加など、増大するワークロードを、再設計の必要なしに処理できるモデルの能力です。

      モデルの本番環境は、機械学習プロジェクトの予測される成長をサポートできる必要があります。自動スケーリング・ツールとオーケストレーション・ツールは、時間の経過とともに増大する需要に対応するのに役立ちます。

      監視

      MLワークフローは、モデルがデプロイされただけでは完了しません。モデルのドリフト(データ分布の変化によってパフォーマンスが低下すること)を回避するには、AIライフサイクル全体にわたってモデルのパフォーマンスを監視する必要があります。他の多くのメトリクスは、トークン(インプットまたはアウトプットの単一単位)を生成および処理するモデルの能力に関係しています。これらのメトリクスには次のようなものがあります。

      • アウトプット・トークンあたりの時間(TPOT)/トークン間レイテンシー(ITL): モデルがトークンを生成するのにかかる時間。

      • 最初のトークン生成までの時間(TTFT): モデルが応答の最初のトークンを生成するまでにかかる時間。

      • スループット: モデルの全体的なトークン生成能力の尺度で、トークン/秒 (TPS) で測定されます。

      • レイテンシー: ユーザーのインプットを受け取った後、モデルが完全なアウトプットを生成するまでにかかる時間。

      アップデート

      モデルが継続的学習でトレーニングされていない限り、そのトレーニング・データセットは有限です。モデルのナレッジ・カットオフとは、モデルのナレッジ・ベースが新しいデータで更新された最終日を指します。時間の経過とともに、ナレッジ・ベース内の情報が古くなればなるほど、モデルの関連性が低くなります。

      モデル・ドリフトを軽減し、エラー率を許容最小限に抑えるために、モデルを定期的に更新する必要があります。新しいデータ、新しい特徴、アルゴリズムの更新のいずれも、モデルのパフォーマンスを最適化できます。再トレーニングは、モデルを最新の状態に保つのにも役立ちます。

      コンプライアンス

      データ収集に関しては、モデル運用者はプライバシー、知的財産、著作権などの懸念事項に関するすべての関連する法規制や要件を考慮する必要があります。例えば、HIPAAは米国の医療データを保護し、GDPRは欧州連合の人々に特定のデータ保護を提供します。

      規制の厳しい業種で使用するために構築されたモデルも、より厳格な運用管理の対象となる可能性があります。企業環境で使用されるモデルは機密性の高い内部データを処理する可能性が高く、強力なサイバーセキュリティー対策が必要です。

      モデル運営者は、ユーザー・データを保護するとともに、詐欺や誤情報などの悪意のある目的でモデルが使用されるのを防ぐ義務があります。オープンソース・モデルの利点の1つは、誰でもモデルを評価して、モデルがどのように機能するか、関連するすべての規制を遵守しているかどうかを確認できることです。

      機械学習ワークフローのメリット

      機械学習パイプラインには、次のような多くのメリットがあります。

      • モジュール

      • 再現性

      • 効率性

      • 拡張性

      • 実験

      • 導入

      • コラボレーション

      • バージョン管理とドキュメント化

      モジュール化

      パイプラインは、機械学習プロセスをモジュール化し、明確に定義されたステップに分解します。各ステップを個別に開発、テスト、最適化できるため、ワークフローの管理と保守が容易になります。

      再現性

      機械学習パイプラインは実験の再現を容易にします。パイプラインで一連のステップとそのパラメーターを定義することで、一貫した成果を確保することができます。ステップに失敗した場合や、モデルのパフォーマンスが低下した場合、パイプラインはアラートを発したり、是正措置を取るように設定できます。

      効率性

      パイプラインは、データの前処理、特徴量エンジニアリング、モデル評価など、多くの日常的なタスクを自動化します。この効率化により、時間を大幅に節約し、エラーのリスクを減らすことができます。

      拡張性

      パイプラインは、大規模なデータセットや複雑なワークフローを処理するために拡張できます。データとモデルの複雑さが増すにつれて、すべてを最初から再構成することなく、パイプラインを調整することができます。

      実験

      パイプライン内の個々のステップを変更することで、さまざまなデータ前処理技術、特徴の選択、モデルを使用した実験への扉が開かれます。この柔軟性により、迅速な反復と最適化が可能になります。

      導入

      パイプラインは、機械学習モデルの運用環境へのデプロイを容易にします。モデルのトレーニングと評価のための明確に定義されたパイプラインにより、アプリケーションやシステムへのデプロイメントがより簡単になります。

      コラボレーション

      パイプラインは、データサイエンティストやエンジニアのチームのコラボレーションを容易にします。ワークフローが構造化され、文書化されているため、チームメンバーは理解しやすく、プロジェクトに貢献しやすくなります。

      バージョン管理とドキュメンテーション

      バージョン管理システムは、パイプラインのコードと設定の変更を追跡し、以前のバージョンへのロールバックを可能にします。適切に構造化されたパイプラインにより、各ステップのより適切な文書化が促進されます。

      機械学習パイプラインの歴史

      機械学習パイプラインの歴史は、機械学習とデータ サイエンスの両方の分野の進化と密接に関係しています。 データ処理ワークフローの概念は機械学習よりも前からありましたが、機械学習パイプラインの形式化と広範な使用は、より最近になって開発されました。

      機械学習パイプラインの歴史には、以下の開発が含まれます。

      • 初期のデータ処理ワークフロー(2000年代以前)

      • 機械学習の登場(2000年代)

      • データサイエンスの台頭(2000年代後半から2010年代初頭)

      • 機械学習ライブラリとツールの開発(2010年代)

      • AutoMLの台頭(2010年代)

      • DevOpsとの統合(2010年代)

      初期のデータ処理ワークフロー(2000年代以前)

      機械学習が広く採用される前は、データのクリーニング、変換、分析などのタスクにデータ処理ワークフローが行われていました。これらのワークフローは通常手動であり、スクリプト作成やスプレッドシート・ソフトウェアなどのツールの使用が必要でした。しかし、この時期、機械学習はこれらのプロセスの中心的な部分ではなかった。

      機械学習の出現(2000年代)

      機械学習は、アルゴリズム、計算能力、大規模データセットの利用可能性の進歩に伴い、2000年代初頭に脚光を浴びるようになりました。研究者やデータ サイエンティストは機械学習をさまざまな領域に適用し始め、体系的で自動化されたワークフローのニーズが高まっています。

      データサイエンスの台頭(2000年代後半から2010年代前半)

      統計学、データ分析、機械学習を組み合わせた学際的な分野として、「データサイエンス」という用語が普及しました。この時代には、データの前処理、モデルの選択、評価など、データサイエンスのワークフローが形式化され、これらは今や機械学習パイプラインの不可欠な部分となっている。

      機械学習ライブラリとツールの開発(2010年代)

      2010年代には、パイプラインの作成を容易にする機械学習ライブラリーとツールが開発されました。scikit-learn(Python用)やcaret(R用)のようなライブラリは、機械学習モデルの構築と評価のための標準化されたAPIを提供し、パイプラインの構築を容易にした。

      AutoMLの台頭 (2010 年代)

      機械学習パイプラインの構築プロセスを自動化することを目的とした、自動機械学習(AutoML)ツールとプラットフォームが登場しました。これらのツールは通常、ハイパーパラメーターの調整、特徴量選択、モデルの選択などのタスクを自動化し、視覚化やチュートリアルを使用して専門家でなくても機械学習を利用しやすくしています。

      DevOpsとの統合(2010年代)

      DevOpsプラクティスでは、機械学習モデルの継続的な統合とデプロイメント(CI/CD)を可能にするために、機械学習パイプラインが組み込まれ始めました。機械学習オペレーション(MLOps)として知られるこの統合により、MLパイプラインにおける再現性、バージョン管理、モニタリングの必要性が強調されました。

      MLOpsは、データサイエンス・チームが複雑なAI オーケストレーションの課題を効果的に乗り越えるのに役立ちます。リアルタイム・デプロイメントでは、パイプラインはミリ秒以内にリクエストに応答します。

      関連ソリューション
      IBM watsonx.ai

      AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

      watsonx.aiをご覧ください。
      人工知能ソリューション

      業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

      AIソリューションはこちら
      AIコンサルティングとサービス

      AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

      AIサービスはこちら
      次のステップ

      AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

      watsonx.aiの詳細はこちら デモを予約