Smaller companies and researchers do usually not have the money to invest thousands of dollars or euros into specialized deep learning hardware. You might think cloud instances like AWS EC2 or Google compute are the straightforward cheap solution, but if you compare the costs, you will realize that they are quite expensive. In this post, I will show how to build a deep learning system for 2100€ with almost the same performance as a cloud instance.
Nvidia hardware and cloud instances
Nvidia´s specialized deep learning DGX station costs at least 50.000 $ and therefore only affordable by big corporations. For single GPU cloud instances, you pay between 2.50 $ and 3.00 $ per hour, therefore in one month you pay around 1800 -2200 $. The reason why these instances are that expensive, is that data centers are not allowed to use consumer hardware like RTX and GTX cards in their servers. Nvidia was never famous for their fairness and we should really hope that AMD ends the GPU monopole soon!
At least they can not prohibit the usage of gaming hardware for deep learning in general. Building such a machine is nothing else, then building a gaming PC.
Building a gaming PC is not rocket science and almost everyone, who is tech-savvy should be able to assemble such a computer. There are also a lot of configurators out there, where you can basically put together every part on your own and let the seller assemble the pc for an additional fee. The biggest challenge is the selection of parts.
Gigabyte X470 Aorus Ultra Gaming AMD X470 So.AM4 – 135€
Should be capable of the number of GPUs you want to use, for me 2 GPUs is enough, and I start with one RTX 2080 Ti. Furthermore, the Mainboard supports either AMD or Intel CPUs, so choose the right chipset.
AMD Ryzen 7 3700X 8x 3.6 GHz boxed – 320€
The CPU should be fast enough but is not that important for for a deep learning configuration. I choose this powerful Ryzen CPU, because it does not really make a huge difference, when the GPU itself costs around 1000 $. When choosing the CPU make sure, it can handle the number of GPUs (number of PCIe lanes). The 3700x can could be used with 2 GPUs (2x 8x PCIe).
Graphics Card (GPU)
MSI 11GB GeForce RTX 2080 Ti PCIe 3.0 x16 – 1200€
I choose the RTX 2080 Ti because it has 11 GB memory and my previous configuration was almost limited by neural networks, which did not fit into memory (GTX 970). A cheaper and even more cost-efficient alternative is the RTX 2070.
You can also easily use two of them and connect them with NVLink. According to this post memory can be even shared, which gived you 22 GB in total. In this case take a more powerfull PSU (> 800 W)
Power Supply (PSU)
600 Watt be quiet! PURE POWER 11 600W – 70€
Don´t buy cheap power supplies with low efficiency to avoid blue screens and more! 600W is enough for a single GPU, if you want to use two, go for at least 1000 W.
32GB G.Skill Aegis DDR4-3000 DIMM CL16 Dual Kit – 130€
Doesn´t really matter much. It´s enough to use DDR4-3000 Rams and 32 GB seems to be a good starter, while there are two free slots left to add 32 GB more.
Hard Disk (SSD)
1000GB Crucial MX500 2.5″ (6.4cm) SATA 6Gb/s 3D-NAND – 120€
Depends on your data sets and how much IO do you need. For me 1TB is enough.
Inter-Tech M-908 – 90€
Be sure to use a case, which can handle the length of the graphics card!
In sum the configuration is about 2.100€ and you can even get cheaper! Two months of any comparable AWS instance will cost around the same.