AI/MLパイプライン入門
| Javadoc |
機械学習の実務家として生産性を高め、成功するには、利用可能なリソース、要件、予算に合わせて調整された方法で、大量のデータを効率的に活用できる能力に大きく依存することがよくあります。次のAI/MLプロジェクトの開始時でも、既存のプロジェクトの規模を拡大する場合でも、Apache Beamをプロジェクトに追加することを検討してください。
Beam MLの使用
Beam MLを使用して実行したいこと
予測と推論
Beamは、パイプラインの一部として推論を実装するためのさまざまな方法を提供します。バッチとストリーミングの両方のパイプラインで、大規模なデータセットにMLモデルを直接パイプライン内で実行して適用できます。
RunInference
RunInference APIは、Beam Python SDKバージョン2.40.0以降で使用できます。Apache BeamとRunInference APIを使用すると、機械学習(ML)モデルを使用して、バッチとストリーミングのパイプラインでローカルおよびリモート推論を実行できます。Apache Beam 2.40.0以降、PyTorchとScikit-learnフレームワークがサポートされています。Tensorflowモデルは`tfx-bsl`を介してサポートされています。RunInferenceの使用の詳細については、Beam MLについてを参照してください。
RunInference APIは、Apache Beamの多言語パイプラインフレームワークを通じて、Beam Java SDKバージョン2.41.0以降で使用できます。Javaラッパー変換に関する情報は、RunInference.javaを参照してください。試してみるには、Java Sklearn Mnist分類の例を参照してください。
RunInference APIを使用して、複数のタイプのトランスフォームを作成できます。APIはモデルハンドラーから複数のタイプのセットアップパラメーターを受け取り、パラメーターのタイプによってモデルの実装が決まります。
| タスク | 例 |
|---|---|
| RunInferenceトランスフォームを使用したい | MLモデルを使用するようにPythonパイプラインを変更する |
| PyTorchでRunInferenceを使用したい | PyTorchでRunInferenceを使用する |
| SklearnでRunInferenceを使用したい | SklearnでRunInferenceを使用する |
| 事前トレーニング済みのモデル(PyTorch、Scikit-learn、またはTensorFlow)を使用したい | 事前トレーニング済みのモデルを使用する |
| 本番環境でモデルを更新したい | WatchFilePatternを使用してRunInferenceでMLモデルを自動更新する |
予測と推論の例
| タスク | 例 |
|---|---|
| 複数のモデルを含むパイプラインを構築したい | マルチモデルパイプライン |
| TensorRTを使用してカスタムモデルハンドラを構築したい | RunInferenceでTensorRTを使用する |
| LLM推論を使用したい | 大規模言語モデル推論 |
| 多言語推論パイプラインを構築したい | Java SDKからのRunInferenceの使用 |
データ処理
データをトランスフォームしてデータから計算されたメトリクスを出力するデータパイプラインを設定することで、Apache Beamを使用してデータの検証と前処理を行うことができます。Beamには、データの取り込みと書き込みのための豊富なI/Oコネクタがあり、既存のファイルシステム、データベース、またはメッセージキューとの統合が可能です。
| タスク | 例 |
|---|---|
| 前処理のためにデータをトランスフォームしたい | MLTransformでデータの前処理を行う |
| データを探索したい | データ探索ワークフローと例 |
| データをエンリッチしたい | Enrichmentトランスフォームによるデータエンリッチメント |
ワークフローオーケストレーション
プロジェクト全体でAI/MLワークフローを自動化して追跡するには、Kubeflowパイプライン(KFP)やTensorFlow Extended(TFX)などのオーケストレータを使用できます。これらのオーケストレータは、さまざまな構成要素を自動化し、それらの間の移行を処理します。
| タスク | 例 |
|---|---|
| ML-OPSワークフローオーケストレータを使用したい | ワークフローオーケストレーション |
| BeamとTensorFlow Extended(TFX)を使用したい | TensorFlow Extended(TFX) |
| BeamとKubeflowを使用したい | Kubeflowパイプライン(KFP) |
Apache Beamをプロジェクトの構成要素の1つとして使用する場合、これらのオーケストレータはApache Beamジョブを起動し、パイプラインの入出力の追跡を行うことができます。これらのタスクは、AI/MLソリューションを本番環境に移行する際に不可欠です。なぜなら、これにより、時間の経過とともにモデルとデータを処理し、結果の品質と再現性を向上させることができるからです。
モデルのトレーニング
| タスク | 例 |
|---|---|
| エンティティごとのトレーニングを使用したい | エンティティごとのトレーニング |
| テキストをクラスタリングしたい | オンラインクラスタリングの例 |
| モデルのパフォーマンスをベンチマークしたい | MLモデルの評価 |
ユースケース
| タスク | 例 |
|---|---|
| 異常検知パイプラインを構築したい | 異常検知の例 |
参考資料
最終更新日:2024/10/31
お探しのものが見つかりましたか?
すべて役に立ち、分かりやすかったでしょうか?変更したい点があればお知らせください!


Pydoc
Javadoc