Build Deep Learning Machine in Budget : Complete Guide
Deep Learning is the new era, a new revolution in the field of computer science. In fact, it is now safe to say, it is touching each field of research, be it medicine, surveillance, utility and even luxury. With such high advances, the young or even old enthusiast in machine learning often itch to wet their feet in this excellent and rapidly growing technology.
But, suddenly comes a blow to such dreams of developing their own deep learning solutions when we see how long its development phase becomes with the current hardware in our machine which such tiny GPU’s. Yeah! I am calling even the so called gaming 2GB graphics as ‘tiny’. And more worst, nightmare for those with no dedicated GPU’s. Dude, it will take months to get a small 75MB model to be trained.
Well, if you have been spinning your head around watching slowly progressing epochs on your old machine; it’s the right time to upgrade. You must be saying, “Hahaha, Will you invest the bucks for me?”. Then, I must reply, “Definitely not, but you can”. I promise that you can.
In this very post, I will deal comprehensively on choosing the components to build deep learning machine for the persons in tight budget. This post will guide you to choose your own components, apart from the recommended here as well. This will build necessary intuitions to choose all the parts necessary for a machine that will get your job done.
Without much further-a-do, let’s get started component wise. We will focus here on a Single-GPU Desktop PC build.
Choose a decent CPU
Why I prepended ‘decent’ in front of CPU has significance. As the workload while working upon deep learning algorithms is dominantly rests upon the graphics card, not much powerful central processing unit is needed. It doesn’t mean, that we can plug in an Intel Pentium chip and it should work best. Even, the strongest i7 or i9 will be a waste of bucks.
We should make a balance between the both of the worlds. The main role of CPU will be during handling of data, be it images, time sequences or words. I will be responsible for delivering file chunks to GPU meanwhile performing data augmentations (if any). Such requires good computing power per thread in a CPU. Generally, it’s better to have as much threads as their are GPU’s, as the CPU often dedicates a single thread to a single GPU. We are much on the safe side in this regard, starting from Pentium Dual Core chips, all processors possess at least 2 threads. Wait. Does that mean, you can buy a cheap pentium chip? Of course not, because all those processors lack AVX instruction set, which can help boost deep learning libraries such as TensorFlow by massive 20%.60
Choose an i3 chip wisely, it has all the things you need along with crucial AVX instructions. Now-a-days, the latest 8th generation series is out. According to me i3 8100 is the best bang for the buck. It has real 4 cores (with 4 threads) to give you nearly 90% of the performance of 7th generation i5. I am not stopping you from purchasing 7th gen or even 8th gen i5, but it is not essential for this build. It will give better boost of course.
You can choose 7th gen i3 as well. An i3 7100 will work fine. I will not recommend downgrading much towards the 6th generation i3 as it supports DDR3 memory only, which could possibly bottleneck the performance.
Choose powerful GPU
Since the post is concerned with building inside a very tight budget. Hence, I won’t recommend costly 1070 or 1080 Ti’s. But, you can confidently get an NVIDIA GTX 1060 6GB or more comfortably the best-in-budget 1050 Ti 4 GB graphics card.
Choose appropriate RAM
Choosing the RAM that suits the system is crucial. Don’t waste your money buying DDR4 3200 or 3000 MHz memory expecting it to give blazing fast experience as compared to ones with tag of 2133 MHz. The memory bandwidth of RAM doesn’t decide the PC performance alone; the specs of motherboard and CPU also matter equally. If CPU comes with memory support for 2400 MHz, it won’t go any faster with 3200 MHz memory stick until it is overclocked (BTW, overclocking has its own associated risks). I would recommend buying 2400 MHz DDR4 RAM. It will be good to go for 7th and 8th Generation Intel processors. But, if you get 2133 MHz at much lower price, go for it. There won’t be much noticeable difference. But again, 2400 MHz ones make you much future proof; who knows you may upgrade your processor to ninth generation one soon.
If you decide on your RAM capacity requirement, always try to fetch that capacity in a single stick. This gives you better flexibility to add more sticks in the future. I would recommend 8 GB RAM as sufficient for our build. It is often safe to have twice the RAM as the VRAM inside the graphics card. If you are buying 16 GB stick, it will be highly wastage with a build containing a 4 GB graphics card. However, it becomes essential with 1080 Ti.
Choose compatible motherboard
With the choice of above components, we have narrowed down on the selection of motherboard. Depending upon the socket type of CPU, you will be guided to a generation of chipsets. Like, Intel 3xx chipsets support 8th generation CPU’s with LGA1151 socket.
Intel Z series chipsets support overclocking and mostly multiple GPU’s by providing x8 *2 configurations for CPU PCI lanes. But if you are not an overclocking enthusiast and don’t plan to work with multiple GPU’s at a time, the B-series is best to go. You will be advantage of saving few bucks during purchase and further savings in terms of electricity costs (at least this is is the case with Intel B 3xx series which saves around 20% power compared to their Z series counterparts).
Following is the table comparing the essential specifications of different Intel chipset models.
|Series||Chipset Name||Supported Processor PCI E Configurations||Processor PCIE port Revision|
|Z Series||Z370||1x16 or 2x8 or 1x8+2x4||3.0|
|Z270||1x16 or 2x8 or 1x8+2x4||3.0|
Going by the specifications given above, I would recommend going with B360 with 8th generation CPU’s or B250 for 7th or 6th generation support. B series serves to be a reasonable blend of performance and budget. H370 may be chosen but many features are further stripped off, like Intel Rapid Storage, faster USB’s and VRM cooling to adjust budget by few bucks only.
Please note that B and H series don’t support Dual GPU configuration.
Choose storage wisely
This component doesn’t require to much rigor. There is no need to spend on costlier but smaller Solid State Drives (SSD). Although they will definitely speed up program installation, OS load times, but there will be no significant speed ups during machine learning algorithm implementation.
Just choose a 7200 rpm hard disk according to your storage needs, but going below 500 GB is not recommended. 1 tera bytes is a descent choice. 2 TB will do the best when dealing with largest datasets of computer vision such as ImageNet.
Find a good power supply
I should write it at first. Don’t waste your system with a poor SMPS! Choose at least 80+ efficiency rating power supply with wattage according to your machine power requirement. Use this link for power calculation and arrive at a number such as 450 or 550 watts after adding 20% overheads to the calculation.
My recommendation is to purchase SMPS from a trusted vendor such as Cooler Master or Corsair.
Grab a Cheap Cabinet
Despite availability of large but costly cabinets with adjustable bays for putting hard drives and coolers, I would recommend to get a cabinet cheap enough but big enough to put your motherboard. Make sure, it has ventilation on at least two walls, so as to let the air flow easily while our sweet GPU is at work.
Buy a budget monitor, keyboard and mouse
Monitors don’t easily go faulty as long as they aren’t stuck at the screen obviously. Buy any new affordable monitor or a good old one if you can find. Don’t waste up on large screens above 19-20 inches except you are planning to watch Television on the same to adjust for cost. If you can somehow use your LED TV with your CPU, Congrats you have heavily saved your time and money. Don’t forget to buy keyboard and mouse!
I have written this post as per my experience of 2 weeks research in to building a deep learning machine for my laboratory. For your further assistance I am attaching my actual choosen components while doing so.
|Processor||Intel i3 8100
(4 cores @ 3.60 GHz)
|Graphics Processor||Zotac GTX 1050 Ti mini (4GB VRAM, single fan) with 5 yrs warranty|
|RAM||8GB DDR4 2400 MHz
Corsair Vengeance (with heat sink)
|Motherboard||Gigabyte B360M D3H
(with VRM cooling, 3.1 USB ports)
|Hard Disk||1 Terabyte WD Blue (7200 rpm)|
|Cabinet||Regular non-gaming cabinet with good number of vents|
|Monitor||Dell 19 inch WLED monitor|
|Keyboard||The cheapest available|
|Mouse||The cheapest available|
|Cooling Fans||2x 80mm fans to get ample air-circulation through the cabinet|
Thanks for reading this post to build deep learning machine.
I wish you a very happy deep learning 🙂