For those who aren’t familiar the term “sleeper” it’s something that looks ordinary but is anything but stock under the hood.
The reason I built this machine is that I often find myself wanting more power to test my machine learning models, but also not wanting to pay for/deal with the spinning-up and spinning-down of clusters in the cloud. Don’t get me wrong; I’m a huge fan of the cloud, especially, when it comes to machine learning and artificial intelligence. Therefore, what I need is an in-between solution, something affordable I could run at home but still had more power than my Lenovo yoga 14. And it needed to be a “sleeper” because I didn’t want a machine that sounded like a jet engine in my living-room.
And so, I set out to build a more powerful machine that I could run from home, deploy my models too, and not break the bank. A few requirements that I set out for myself are as follows:
- It needs to be affordable and pay for itself in less than a year.
- It needs to have a robust GPU capable of handling ML/AI workloads.
- It needs to be quiet and small enough to not to be noticeable.
Another thing I wanted to keep in mind before I got started was, by building such a machine, I knew that I was going to be adding in an additional step to my machine learning development process. It’s going to be another environment that will require systems administration work, troubleshooting when things break, which meant less time to work on my models. Therefore, to optimize my level of utility, I needed to build something that wouldn’t get in the way and wouldn’t end up ultimately cost me more time and money.
Thankfully, after a lot of research and hacking, I was able to come up with a pretty damn close to a perfect solution. I say pretty damn close because the software side of it still needs some work (more of that in a future post). But for now, let’s start with the hardware. It’s the foundation of the project, and therefore everything needed careful consideration. This is what I ended up deciding on:
Processor: AMD Ryzen 7 1700X ~ $278
Motherboard: ASRock Mini-ITX X370 ~ $175
RAM: G.Skill 16GB (Dual Channel Kit) 3200MHz DDR4 ~ $200
Video Card: EVGA GeForce GTX 1080 Ti ~ $1000
Disk: SanDisk SSD PLUS 480GB Solid State Drive ~ $125
Power Supply: Corsair CX Series 750 Watt ~ $80
CPU Liquid-Cooling (Optional): NZXT Kraken X52 — $130
Case: Corsair Obsidian 250D Mini ITX Case ~ $80
Not bad…. For around ~2000 bucks you can have a pretty badass machine learning rig that’s small enough to put under your desk, yet quiet enough not to wake the neighbors. Now, before you say it… yes, there’s newer/better hardware out there but, it’s also more expensive. However, If budget isn’t a concern for you, feel free to expand and tweak the GPU / CPU accordingly.
I found that this particular combo gave me the power I was looking for at a price that was more affordable than those ultra-powerful laptops out there. The Ryzen 7 1700x CPU provides plenty of processing power and I find myself hardly ever maxing this thing out. The EVGA 1080ti is a beast of a card for sure and 3584 cuda cores means this machine walks tall and carries a big stick. Having 16 GB of DDR4 ram makes loading larger datasets a breeze. And the whole thing stays pretty cool and quite with the liquid-cooling for the CPU and plenty of airflow for the GPU. Needless to say; I’m thrilled with the results.
So, for $2068 dollars, I now have a machine learning rig that’s powerful and damn near perfect for the early/intermediate testing of models . If you’re interested in the benchmarks, Slav Ivanov wrote an excellent article diving into the benchmarks of the1080ti and a few other cards. Definitely check it out if you’re interested in the numbers ( I certainly was).
I started this blog post a couple of weeks ago, and since then I was fortunate enough to win a Titan V from Nvidia at their last GTC conference in San Jose. Needless to say I was shocked about wining, and as soon as that thing showed up on my doorstep I dropped it into my machine. Surprisingly, it actually fits better than the 1080ti and it used the same drivers, lucky me! You can count on a separate post about this best of a card coming very soon.
Now the hardware is complete, next up comes the software….