PROFESSIONAL-MACHINE-LEARNING-ENGINEER · Question #166
You are training an object detection machine learning model on a dataset that consists of three million X-ray images, each roughly 2 GB in size. You are using Vertex AI Training to run a custom traini
The correct answer is D. Use the tf.distribute.Strategy API and run a distributed training job.. Given a very large dataset of 3 million 2GB images and slow training on a single P100 GPU, the most effective way to decrease training time without sacrificing performance is to leverage distributed training.
Question
Options
- AIncrease the instance memory to 512 GB, and increase the batch size.
- BReplace the NVIDIA P100 GPU with a K80 GPU in the training job.
- CEnable early stopping in your Vertex AI Training job.
- DUse the tf.distribute.Strategy API and run a distributed training job.
How the community answered
(23 responses)- A4% (1)
- B13% (3)
- C9% (2)
- D74% (17)
Why each option
Given a very large dataset of 3 million 2GB images and slow training on a single P100 GPU, the most effective way to decrease training time without sacrificing performance is to leverage distributed training.
Increasing instance memory and batch size might help with data loading but won't fundamentally solve the compute bottleneck of processing 6PB of image data on a single GPU, as the GPU itself is the limiting factor for processing speed.
Replacing a P100 GPU with a K80 GPU would significantly *decrease* training performance, as K80s are older and less powerful GPUs compared to P100s.
Early stopping helps prevent overfitting and saves training time by stopping training once validation performance plateaus, but it doesn't *decrease the time per epoch* or accelerate the fundamental training process itself, which is the primary bottleneck for such a massive dataset.
For a massive dataset of 3 million 2GB images (6PB total!), training on a single GPU will be extremely slow. Using the `tf.distribute.Strategy` API enables distributed training across multiple GPUs or even multiple machines, significantly accelerating training time by parallelizing computations and data processing, scaling compute resources to handle the vast data volume without compromising model performance.
Concept tested: Distributed training for large datasets
Source: https://www.tensorflow.org/guide/distributed_training
Topics
Community Discussion
No community discussion yet for this question.