ホームページ > 記事 > テクノロジー周辺機器 > 機械学習システムアーキテクチャの 10 の要素
今は AI エンパワーメントの時代であり、機械学習は AI を実現するための重要な技術手段です。では、普遍的な機械学習システム アーキテクチャは存在するのでしょうか?
ベテラン プログラマの認識範囲内では、特にシステム アーキテクチャに関しては何でもありません。ただし、ほとんどの機械学習駆動システムまたはユースケースに適用できる場合、スケーラブルで信頼性の高い機械学習システム アーキテクチャを構築することは可能です。 機械学習のライフサイクルの観点から見ると、このいわゆるユニバーサル アーキテクチャは、機械学習モデルの開発から、トレーニング システムやサービス システムの運用環境への展開まで、主要な機械学習段階をカバーします。 このような機械学習システム アーキテクチャを 10 要素の次元から記述してみることができます。
一定時間内に高品質のデータを提供し、スケーラブルかつ柔軟な方法で有用なデータを生成する機械学習機能。一般に、データ パイプラインは特徴エンジニアリング パイプラインから分離できます。データ パイプラインは、抽出、変換、読み込み (ETL) パイプラインを指します。このパイプラインでは、データ エンジニアがオブジェクト ストレージ上に構築されたデータ レイクなどのストレージ場所にデータを転送する責任を負い、機能エンジニアリング パイプラインは生データをデータに変換することに重点を置いています。機械学習アルゴリズムがより高速かつ正確に学習する機械学習機能に役立ちます。
特徴量エンジニアリングは通常 2 つの段階に分かれています。第 1 段階では、通常、特徴量エンジニアリング ロジックは、最適な特徴セットを見つけるために、開発段階でさまざまな実験を通じてデータ サイエンティストによって作成されます。一方、データ エンジニアまたは機械学習エンジニアは、モデル トレーニング用の特徴量エンジニアリング パイプラインの作成を担当します。環境内の本番サービスは高品質の特徴データを提供します。
機械学習特徴データを保存し、バージョン管理を実行し、検出、共有、再利用に使用され、モデルのトレーニングとサービスに一貫したデータと機械学習機能を提供します。機械学習システムの信頼性を向上させます。
機械学習の特徴データに対して、特徴ストレージは特徴エンジニアリング パイプラインによって作成された永続ストレージ ソリューションです。特徴ストレージはモデルのトレーニングと提供をサポートします。したがって、これはエンドツーエンドの機械学習システム アーキテクチャの非常に重要な部分であり、重要なコンポーネントです。
機械学習トレーニング用のさまざまなパラメーターとハイパーパラメーターを実行し、シンプルで構成可能な方法で実験を実施し、これらのトレーニングを記録しますさまざまなパラメーターとモデルのパフォーマンス指標走る。最もパフォーマンスの高いモデルを自動的に評価、検証、選択し、機械学習モデル ライブラリに記録します。
パラメーター、インジケーター、コード、構成結果、トレーニング済みモデルを含む機械学習操作を保存および記録し、モデルのライフサイクル管理、モデルの注釈、モデルを提供します。発見とモデルの再利用、その他の機能。
エンジニアリング、モデル トレーニング、モデル サービスを特徴とする完全な機械学習システムの場合、データから大量のメタデータを生成できます。これらすべてのメタデータは、システムがどのように動作するかを理解するのに非常に役立ち、データ -> 機能 -> モデル -> サーバーの追跡可能性を提供し、モデルが動作しなくなったときにデバッグに役立つ情報を提供します。
フルサービスとレイテンシーの両方を考慮して、実稼働環境で機械学習モデルを使用するための適切なインフラストラクチャを提供します。
一般的に、サービス モードにはバッチ サービス、ストリーミング サービス、オンライン サービスの 3 つがあります。サービスの種類ごとに、まったく異なるインフラストラクチャが必要になります。さらに、インフラストラクチャは耐障害性があり、特にビジネス クリティカルな機械学習システムの場合、リクエストやスループットの変動に応じて自動的にスケールする必要があります。
本番環境では、データ収集、モニタリング、分析、可視化、およびデータとモデルのドリフトや異常が発見された場合の通知機能を提供し、必要な情報を提供します。システムのデバッグを支援します。
特定の機械学習ワークフローと比較して、機械学習パイプラインは、データ サイエンティストが高品質のコードを維持し、生産時間を短縮しながら、より迅速に開発および反復できるようにする再利用可能なフレームワークを提供します。一部の機械学習パイプライン フレームワークは、オーケストレーション機能とアーキテクチャ抽象化機能も提供します。
ワークフロー オーケストレーションは、エンドツーエンドの機械学習システムを統合し、これらすべての主要コンポーネントの依存関係を調整および管理するための重要なコンポーネントです。ワークフロー オーケストレーション ツールは、ログ、キャッシュ、デバッグ、再試行などの機能も提供します。
継続的テストと継続的インテグレーションは、新しいデータを使用して新しいモデルを継続的にトレーニングし、必要に応じてモデルのパフォーマンスをアップグレードすることを指します。継続的に実稼働環境にサービスを提供し、安全かつ俊敏かつ自動化された方法でモデルをデプロイします。
エンドツーエンドの機械学習ワークフローの各段階で、信頼性の高いデータ品質チェック、モデル品質チェック、データとコンセプトのドリフトが行われます。機械学習システム自体が信頼できるものであることを保証するために、検出機能を組み込む必要があります。これらの品質管理チェックには、記述統計、全体的なデータ形状、欠損データ、重複データ、ほぼ一定の特徴、統計検定、距離メトリック、モデル予測品質などが含まれます。
上記は機械学習システムのアーキテクチャの10要素と言えます。私たちの実践では、全体的なワークフローはほぼ同じままであるはずですが、その一部の要素は微調整およびカスタマイズする必要がある場合があります。
機械学習のシステム アーキテクチャを調整するにはどうすればよいですか?
製品設計の開始時にアーキテクチャ要素を合理化するにはどうすればよいですか?
機械学習システムを導入する際に、元のシステム アーキテクチャの継続性を維持するにはどうすればよいですか?
以上が機械学習システムアーキテクチャの 10 の要素の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。