正解: C
The best option for developing an image classification model by using a large dataset that contains labeled images in a Cloud Storage bucket is to import the labeled images as a managed dataset in Vertex AI and use AutoML to train the model. This option allows you to leverage the power and simplicity of Google Cloud to create and deploy a high-quality image classification model with minimal code and configuration. Vertex AI is a unified platform for building and deploying machine learning solutions on Google Cloud. Vertex AI can create a managed dataset from a Cloud Storage bucket that contains labeled images, which can be used to train an AutoML model. AutoML is a service that can automatically build and optimize machine learning models for various tasks, such as image classification, object detection, natural language processing, and tabular data analysis. AutoML can handle the complex aspects of machine learning, such as feature engineering, model architecture, hyperparameter tuning, and model evaluation. AutoML can also evaluate, deploy, and monitor the image classification model, and provide online or batch predictions. By using Vertex AI and AutoML, users can develop an image classification model by using a large dataset with ease and efficiency.
The other options are not as good as option C, for the following reasons:
* Option A: Using Vertex AI Pipelines with the Kubeflow Pipelines SDK to create a pipeline that reads the images from Cloud Storage and trains the model would require more skills and steps than using Vertex AI and AutoML. Vertex AI Pipelines is a service that can orchestrate machine learning workflows using Vertex AI. Vertex AI Pipelines can run preprocessing and training steps on custom Docker images, and evaluate, deploy, and monitor the machine learning model. Kubeflow Pipelines SDK is a Python library that can create and run pipelines on Vertex AI Pipelines or on Kubeflow, an open-source platform for machine learning on Kubernetes. However, using Vertex AI Pipelines and Kubeflow Pipelines SDK would require writing code, building Docker images, defining pipeline components and steps, and managing the pipeline execution and artifacts. Moreover, Vertex AI Pipelines and Kubeflow Pipelines SDK are not specialized for image classification, and users would need to use other libraries or frameworks, such as TensorFlow or PyTorch, to build and train the image classification model.
* オプション B: Vertex AI Pipelines を TensorFlow Extended (TFX) とともに使用して、Cloud Storage から画像を読み取ってモデルをトレーニングするパイプラインを作成するには、Vertex AI と AutoML を使用する場合よりも多くのスキルと手順が必要になります。TensorFlow Extended (TFX) は、ディープラーニング モデルの構築とトレーニングによく使用されるライブラリである TensorFlow 上でエンドツーエンドの機械学習パイプラインを作成して実行できるフレームワークです。TFX では、データの前処理、モデルのトレーニングと評価、モデルの検証とプッシュ、オンライン予測またはバッチ予測用のモデルの提供を行うことができます。ただし、Vertex AI Pipelines と TFX を使用するには、コードの記述、Docker イメージの構築、パイプラインのコンポーネントと手順の定義、パイプラインの実行と成果物の管理が必要になります。さらに、TFX は画像分類用に最適化されていないため、ユーザーは TensorFlow Data Validation、TensorFlow Transform、TensorFlow Hub などの他のライブラリやツールを使用して、画像データとモデル アーキテクチャを処理する必要があります。
* オプション D: Dataflow を使用して画像データセットを表形式に変換し、そのデータを BigQuery に読み込み、BigQuery ML を使用してモデルをトレーニングすると、画像データが適切に処理されず、モデルのパフォーマンスが低下する可能性があります。Dataflow は、さまざまなソースからの大量のデータを処理するためのスケーラブルで信頼性の高いパイプラインを作成できるサービスです。Dataflow は、データ処理ワークフローを定義および実行するためのプログラミング モデルである Apache Beam を使用してデータを前処理できます。
BigQuery は、大規模なデータセットに対して高速かつインタラクティブなクエリを実行できる、サーバーレスでスケーラブル、かつコスト効率に優れたデータ ウェアハウスです。BigQuery ML は、BigQuery で SQL クエリを使用して機械学習モデルを作成およびトレーニングできるサービスです。ただし、画像データを表形式に変換すると、画像分類に不可欠な画像の空間情報と意味情報が失われます。さらに、BigQuery ML は画像分類に特化していないため、カテゴリ特徴を処理するには、特徴ハッシュ、埋め込み、ワンホット エンコーディングなどの他のツールや手法を使用する必要があります。