IBMニュースレター
The DX Leaders
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
エンドツーエンドの機械学習パイプラインは次の3つの段階で構成されています。
機械学習ワークフローは、機械学習オペレーション(MLOps)というより広範な分野の中核となる構成要素です。このプロセスの多くは、ステージとエンドポイント間の依存関係を管理するさまざまな自動機械学習(AutoML)テクニックを通じて自動化できます。
データ・パイプラインは、データサイエンティストによって設計および構築されたアーキテクチャーであり、さまざまなソースからデータを収集し、データウェアハウスなどの集中型データリポジトリに保管して整理します。機械学習パイプラインは、AIシステムを設計、構築、デプロイするためのワークフローです。
どちらのフレーズでもパイプラインという用語が使用されていますが、データ・パイプラインがより具体的なシステムであるのに対し、MLパイプラインは一連の理論上のステップです。ETLパイプラインは、さまざまなソースからデータを抽出し、それを統一された形式に変換して、格納先のシステムにロードするデータ・パイプラインの一例です。機械学習では、ETLパイプラインがデータを収集し、トレーニングデータセットにフォーマットします。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
MLワークフローを初期化する前に、ビジネス・リーダー、開発者、その他の利害関係者は、機械学習プロジェクトの目的について合意します。AIが必要な理由と、AIで何を達成するのかを理解することで、期待値が現実的なものとなり、利害関係者が共通の目的に沿って調整できるようになります。
AIをワークフローや製品に組み込むかどうかを決定する際、利害関係者はまず、MLモデルが解決する予定のビジネス目標を特定し、AIがそれをどのように達成できるかを実証する必要があります。一部の企業では、これとは逆の「AIを活用したいが、AIで何をすれば良いのか?」という論理でAIの導入に取り組みます。
AIの投資収益率(ROI)を最大化するには、リーダーがユースケースを理解し、その目的に合わせたMLソリューションに取り組むことが必要です。
文書化されたKPI(重要業績評価指標)など、成功のための明確なメトリクスは、MLプロジェクトが目標を達成しているかどうかを利害関係者に知らせてくれます。これらのKPIは、前の段階で設定した目標を反映している必要があります。例えば、効率化のためにデプロイされるMLモデルは、ROI(投資収益率)を優先することが考えられます。
リスクのランドスケープと潜在的なブロッカーを把握することで、チームはプロジェクトを効果的に進めることができます。このステップには、データ要件の定義と、データの収集と保存に関する規制があれば、それを評価することが含まれます。コンピューティング要件やメモリー要件など、モデル選択に影響する可能性のある制限についても同様です。
MLモデルが解決する問題の範囲を明確にした後、MLワークフローの最初のステップは、データを収集、準備、分析することです。実践者は、関連するデータ・ソースを特定し、そこからデータを収集して統合します。そして、準備されたデータセットに到達するために特徴エンジニアリングなどのデータサイエンス手法を使用してデータを準備してクリーンアップする必要があります。
通常、データ処理は最も時間がかかる段階です。しかし、MLモデルのパフォーマンスはデータが優れているかどうかにかかっています。データ・エンジニアリング・フェーズにおけるエラーや見落としは、モデルのライフサイクル全体にわたるモデルのパフォーマンスに悪影響を及ぼします。データ・オートメーション戦略により、強力なトレーニング・データセットを作成するために必要な時間と人的労力を削減できます。
データ処理には次のようなものがあります。
データ取り込み
データの前処理
データ探索
フィーチャー・エンジニアリング
データ分割
データ取り込みとは、データ・パイプラインを通じて、異種のデータ・ソースからデータを収集し、一元化されたデータ・リポジトリーにインポートすることです。データサイエンティストは、社内に保存されている独自の企業データ(販売レポート、顧客の人口統計、その他の組織に関する知識)など、適切なデータソースを特定する必要があります。
場合によっては、外部データも必要になります。外部データ・ソースには、データ・プロバイダーへのAPI接続、インターネットから取得されたデータ、 合成データなどがあります。新しいデータが常に作成されるため、データ取り込みは継続的なプロセスとなることが多いです。
データの前処理(データ準備)では、前のステップの未加工データを、分析できるクリーンなデータに変換します。データサイエンティストは、探索的データ分析(EDA)を通じてトレーニング・データを理解した後、データの前処理戦略を選択します。データの前処理には次の手順が含まれます。
データ・ラングリング(データ変換):データを適切な形式に変換する
欠損値を識別し外れ値を処理する
データ・クリーニング: データセットのエラーを修正する
データの正規化:データセットを標準化する
ノイズ除去:ランダムエラーと信号干渉を除去する
データ統合:データを統合されたデータセットに結合する
データ探索とは、データを評価し、データに含まれる情報を理解するプロセスです。EDAは、データの可視化ツールの助けを借りて、データの特性を学習し、パターンと関係性を発見し、インサイトを特定することを目的としています。
EDAの調査結果は、次に発生するモデル選択の選択肢に影響を与えます。
モデルの選択は、意図したユースケースで最高のパフォーマンスを実現する可能性が最も高いモデルのタイプを選択するプロセスです。初期のプロジェクト計画段階で、すべての利害関係者と参加者は、ビジネス・ニーズ、制限、プロジェクト目標を明確に理解しています。ML実践者は、最適化と実現可能性のバランスをとりながら、これらの要素に基づいて選択を行います。
選択肢には、線形回帰とロジスティック回帰、ランダム・フォレストと決定木、ニューラル・ネットワークと大規模言語モデル(LLM)、サポート・ベクター・マシン(SVM)、アンサンブル・モデル、エージェント型システムなどがあります。
機械学習の課題の性質に応じて、特定の種類のアルゴリズムがより適切な候補者を作成します。
たとえば、ニューラル・ネットワークは生成AIの複雑な課題に対処できますが、計算コストが高く、過剰適合が発生しやすくなります。回帰モデルは計算効率が高くなりますが、ユースケースは限られています。
モデルのハイパーパラメーターは、トレーニング中にモデルの動作を制御する外部変数です。ハイパーパラメーターは、ニューラル・ネットワークのニューロンやレイヤーの数など、アルゴリズムが構築するモデルの形状も制御します。
ハイパーパラメータの調整は、トレーニング・プロセスで最高のパフォーマンスのモデルが生成されるようにハイパーパラメータを最適化するプロセスです。データサイエンティストはハイパーパラメーターを手動で設定することもできますが、通常はさまざまなアルゴリズムやその他の手法を通じてプロセスを自動化します。
モデルのトレーニングは、モデルがデプロイされた後に処理するインプットデータに類似したデータセットを使用してモデルのパフォーマンスを最適化するプロセスです。機械学習トレーニング・パイプラインは、アルゴリズムやモデルが開発されるタスクに応じて、さまざまな形をとる広範なシステムです。
多くのトレーニング方法は、モデルの誤差、つまりモデルの出力と現実世界のデータ値との間のギャップを測定する損失関数の最小化を中心に展開しています。新しいモデルはトレーニングを行うたびにトレーニング・データに近づき、パラメーターが更新されます。各更新は、以前の成果に基づいて反復されます。
モデルのトレーニング方法には、次のものがあります。
教師あり学習: モデルは構造化データのデータセットでトレーニングされます。インプットには対応するアウトプットのラベルが付けられ、インプットの特徴を正しいアウトプット値に関連付ける方法をモデルに教えます。
教師なし学習:モデルは非構造化データでトレーニングされ、データ・ポイントと特徴間のパターンと関係を独自に識別する必要があります。
半教師あり学習:このモデルは、教師あり学習と教師なし学習を混合したハイブリッド手法でトレーニングされます。
自己教師あり学習:通常、教師あり学習を必要とするタスクに対して、ラベルのないデータでモデルがトレーニングされます。
強化学習:エラーを最小限に抑えるのではなく、可能な限り最大の報酬を生成するアクションを実行するようにモデルがトレーニングされます。
継続的学習: このモデルは、事前に組み立てられたトレーニング・データセットではなく、インプット・データのリアルタイムのストリームでトレーニングされます。
モデルがトレーニングされたと判断された後(損失関数が十分に最小化された場合など)、デプロイメント前にそのパフォーマンスが評価されます。LLM 評価プロセスでは、データ分割フェーズで準備されたテストおよび検証データセットを使用します。
検証では、モデルの予測誤差(つまり、正しい予測を行う能力)を推定します。トレーニング中に、機械学習アルゴリズムはさまざまなハイパーパラメータ構成を持つ複数のモデルを出力することがよくあります。検証により、最適なハイパーパラメータ構成を持つモデルが特定されます。
テストでは、現実世界の値をシミュレートして、最もパフォーマンスの高いモデルの一般化誤差(つまりモデルが新しい未見のデータにどの程度適応するか)などを評価します。テスト・データはトレーニング・データとは独立したもので、訓練完了後のモデルのパフォーマンスをベンチマークします。テストにより、モデルがデプロイ後に意図したとおりに動作するかどうかが明らかになります。
優れたパフォーマンスを備えた適切なモデルを開発したら、そのモデルを実際に使用してみましょう。モデルのデプロイメントでは、意図した運用環境でモデルをユーザーに提供します。これには、モバイル・アプリケーションや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年代初頭に脚光を浴びるようになりました。研究者やデータ サイエンティストは機械学習をさまざまな領域に適用し始め、体系的で自動化されたワークフローのニーズが高まっています。
統計学、データ分析、機械学習を組み合わせた学際的な分野として、「データサイエンス」という用語が普及しました。この時代には、データの前処理、モデルの選択、評価など、データサイエンスのワークフローが形式化され、これらは今や機械学習パイプラインの不可欠な部分となっている。
2010年代には、パイプラインの作成を容易にする機械学習ライブラリーとツールが開発されました。scikit-learn(Python用)やcaret(R用)のようなライブラリは、機械学習モデルの構築と評価のための標準化されたAPIを提供し、パイプラインの構築を容易にした。
DevOpsプラクティスでは、機械学習モデルの継続的な統合とデプロイメント(CI/CD)を可能にするために、機械学習パイプラインが組み込まれ始めました。機械学習オペレーション(MLOps)として知られるこの統合により、MLパイプラインにおける再現性、バージョン管理、モニタリングの必要性が強調されました。
MLOpsは、データサイエンス・チームが複雑なAI オーケストレーションの課題を効果的に乗り越えるのに役立ちます。リアルタイム・デプロイメントでは、パイプラインはミリ秒以内にリクエストに応答します。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。