MLS-C01 Question 166
Single answerYou are building a machine learning model for image classification using a convolutional neural network (CNN) on a large dataset of high-resolution images. The training process involves complex matrix operations and is expected to take several hours. Which compute resource would be the most appropriate to use in this scenario?
- A
A CPU instance with multiple cores
- B
A GPU instance with high memory and CUDA support
- C
An instance with a large amount of storage but no GPUs
- D
A serverless compute service like AWS Lambda
Show answer and explanation
Correct answer: B
Explanation
Training convolutional neural networks (CNNs) on large, high-resolution datasets involves intensive mathematical computations, such as matrix multiplications, which are highly parallelizable. GPUs (Graphics Processing Units) are specifically optimized for such tasks and provide significant performance improvements compared to CPUs. Therefore, a GPU instance with high memory and CUDA support is the most appropriate choice for this scenario.
- A. Incorrect.
Using a CPU instance with multiple cores can handle the training but will be significantly slower than using GPUs for tasks involving large matrix operations, such as training a CNN on high-resolution images.
- B. Correct.
A GPU instance with high memory and CUDA support is optimal for training CNNs on large datasets. GPUs are specifically designed to handle parallel computations required in deep learning tasks efficiently.
- C. Incorrect.
An instance with a large amount of storage might be useful for storing the dataset but is irrelevant for improving computational efficiency during training. Without GPUs, training on high-resolution images would still be slow.
- D. Incorrect.
AWS Lambda is a serverless compute service suitable for lightweight or event-driven tasks, but it is not appropriate for long-running, resource-intensive tasks like training a CNN.