4 Mar 2020, 14:26

What to consider when choosing a laptop for machine learning

Artificial intelligence technologies such as machine learning and deep learning involve use of large amounts of data and complex algorithms that require powerful computation hardware. This makes selecting the best machine for such tasks challenging because you have to consider many factors such as portability, processing speed, and the graphics processing capability among others. This article will help you through the grueling decision-making process.

Important components to consider when selecting a laptop for machine learning

GPU

One of the most important factors to consider when choosing a deep learning machine is the general processing unit (GPU). GPUs are microprocessing chips primarily designed for handling graphics. GPUs have become popular in deep learning field mainly due to their ability to handle simultaneous computations faster than CPUs. Essentially, GPUs have a large number of cores and high memory bandwidth and are thus suited for multiple parallel processing of large amounts of data. This has been boosted by efforts to develop AI-based GPU frameworks such as CuDNN and parallel computation APIs like CUDA by NVIDIA. Such frameworks and APIs allow scientists to leverage GPU parallelism for deep learning tasks.

Here is what to look for in a GPU:

  • Opt for a higher memory bandwidth (speed of video RAM) within your budget
  • If you will be dealing with large amounts of data, go for a higher number of cores as it dictates the speed of processing data
  • Consider the processing power of the GPU if computation time is a factor
  • Video RAM size should also be considered for faster processing

An NVIDIA GPU is preferable because of the available frameworks and APIs (CUDA and CuDNN) compatible with major deep learning frameworks such as TensorFlow and PyTorch. The latest generations of NVIDIA GPUs such as the GeForce RTX based on Turing architecture are AI-enabled with Tensor cores which makes them suitable for deep learning.

RAM

RAM is another important factor to consider when purchasing a deep learning laptop. The larger the RAM the higher the amount of data it can handle, leading to faster processing. With more RAM you can use your machine to perform other tasks as the model trains. Although a minimum of 8GB RAM can do the job, 16GB RAM and above is recommended for most deep learning tasks.

CPU

When it comes to CPU, a minimum of 7th generation (Intel Core i7 processor) is recommended. However, getting Intel Core i5 with Turbo Boosts can do the trick. If one opts for a desktop then selecting the right combination of CPU and motherboard that match your GPU specifications is recommended. In that case, the choice of the number of PCIe lanes ( PCIe lanes determine the speed of transferring data from CPU RAM to GPU RAM) should also be taken into consideration (4-16 PCIe lanes is best for most deep learning tasks).

Storage

Storage is also an important factor, specifically due to the increasing size of deep learning datasets requiring higher storage capacity. For example, Imagenet, one of the most popular datasets for deep learning, is 150 GB in size and consists of more than 14 million images across 20,000 categories. Although SSD is recommended for its speed and efficiency, you can get an HDD at a relatively cheaper price to do the job. However, if you value speed, price and efficiency then a hybrid of the two is the best option.

How others go about selecting computation resources for deep learning

There are various opinions as to how to select the best computation resources for deep learning tasks. Here are some views from Reddit and Quora users:

  • Most deep learning libraries require GPU-based parallelism, multi-threading and some time working on multiple machines and therefore laptops are not suitable. Deep learning tasks are better handled by cloud services such as Google Cloud, Azure, and AWS.
  • Using deep learning on real-world data involves spending a significant amount of time cleaning and preparing the data for training. Moreover, deep learning involves a lot of runtime debugging, which takes longer and is more expensive to carry out on cloud services. Therefore, it is advisable to use a laptop for preprocessing and debugging, and train on the cloud where GPU instances now go for as low as $0.7/hour on AWS.
  • If you have limited resources then you can develop, preprocess your data and train the model on your local machin,e either a laptop or desktop with a GPU, even though this may take relatively longer
  • GPU technology changes quickly and any technology you buy is likely to be obsolete within 18 months; therefore it is better to run all the computations on the cloud.
  • If dealing with larger datasets cloud computing is advisable because you will need multiple GPUs, which is not possible on laptops.
  • The use of GPUs for deep learning in laptops is not a good investment because tasks that utilize GPU computation take longer to run, which can lead to faster wearing due to intensive use and are also heavy to carry around. Therefore, it’s advisable to invest in a good processor and enough RAM to run a considerable number of cycles.
  • You can set up a desktop machine with enough RAM and the right GPU in your local network, and connect via remote access from your laptop. This way you can use your laptop for small experiments and other tasks and the desktop for training your models.
  • The current cloud service GPU offerings are expensive compared to setting up a desktop for deep learning tasks. Moreover, the desktop also offers great flexibility compared to cloud options, especially when dealing with debugging. However, it is important to consider the time factor and electricity cost because large models will take longer to run, hence more electricity consumption.

What are the criteria for selecting the best machine for deep learning?

  • If you are going to work on low-computation machine learning tasks that can be easily handled through complex sequential processing then you don’t need a GPU. For such tasks, a laptop with a minimum of 8GB ram, 500HDD and turbo boost core i5 Intel processor will do fine.
  • If you intend to work on slightly computationally-intensive deep learning tasks and large datasets, then it is advisable that you consider a GPU. There are two options to this: (1) you can buy a powerful laptop with GPU if portability is critical; (2) If portability is not an issue then you can set up a desktop and connect it with your laptop for remote access. For such tasks both old and new Nvidia GPUs such as Nvidia NVS 310, GT, GTS, and RTS with a minimum of 2GB VRAM, 8-16GB RAM aare recommended.
  • If you are a firm regularly working on complex deep learning problems then it is advisable to set up a deep learning system or invest in cloud services like Azure, AWS and Google Cloud.
  • For big-scale deep learning tasks, a GPU cluster for multiple-GPU computing is the best option.

Here is Kenya AI's tested list of some of the best laptops for machine learning.

About the Author

Eugene Oduma is an artificial intelligence enthusiast and a member of AI Kenya. He is also involved in digital marketing, content creation, machine learning and data science.

You can read the original blog post here.