Google Professional Machine Learning Engineer Question 175
Select 2Google Cloud PlatformYou are designing a distributed machine learning pipeline for a financial services company that processes large volumes of transactional data. The pipeline involves preprocessing the data, training a deep learning model, and performing hyperparameter tuning. Given the following requirements:
- The data preprocessing needs to scale to terabytes of data.
- The deep learning model should leverage GPU-accelerated training.
- Hyperparameter tuning should be integrated with Google Cloud AI services.
Which combination of tools is most appropriate for this pipeline?
- A
Apache Spark for data preprocessing, TensorFlow for model training, and Vertex AI for hyperparameter tuning
- B
scikit-learn for data preprocessing, PyTorch for model training, and Vertex AI for hyperparameter tuning
- C
JAX for data preprocessing, TensorFlow for model training, and Vertex AI for hyperparameter tuning
- D
Apache Spark for data preprocessing, PyTorch for model training, and AI Platform Jobs for hyperparameter tuning
- E
Apache Spark for data preprocessing, TensorFlow for model training, and AI Platform Jobs for hyperparameter tuning
Show answer and explanation
Correct answers: A, E
Explanation
The two correct combinations (1 and 5) meet all the requirements of the pipeline. Apache Spark is the best choice for scalable preprocessing of large datasets. TensorFlow, with its strong support for GPU acceleration, is a solid choice for model training. Both Vertex AI and AI Platform Jobs provide excellent support for TensorFlow and hyperparameter tuning on Google Cloud. The other options fail to meet one or more of the requirements, such as scalability for data preprocessing or tight integration with Google Cloud services.
- A. Correct.
This option is correct because Apache Spark is well-suited for scalable data preprocessing, TensorFlow provides GPU-accelerated training, and Vertex AI integrates seamlessly with hyperparameter tuning workflows.
- B. Incorrect.
This option is incorrect because while scikit-learn is useful for small to medium-sized data preprocessing tasks, it does not scale well to terabytes of data. PyTorch is suitable for GPU-accelerated training, but this option does not integrate with Google Cloud’s hyperparameter tuning services.
- C. Incorrect.
This option is incorrect because JAX is primarily used for numerical computing and does not offer native support for distributed data preprocessing at scale. TensorFlow and Vertex AI are suitable for model training and hyperparameter tuning, but the preprocessing choice here is not appropriate.
- D. Incorrect.
This option is partially correct but not ideal because while Apache Spark and PyTorch are suitable for preprocessing and model training, AI Platform Jobs (now part of Vertex AI) is not as tightly integrated with PyTorch as TensorFlow. AI Platform Jobs is better suited for TensorFlow workflows.
- E. Correct.
This option is correct because Apache Spark is a strong choice for scalable preprocessing, TensorFlow works well for GPU-accelerated training, and AI Platform Jobs (part of Vertex AI) supports hyperparameter tuning and TensorFlow integration effectively.