It looks like I built myself a computer to try and learn ML on…

#Disclaimer: I know very little about building computers and even less about ML/AI/Deep Learning and all that. However, that doesn’t seem to stop lots of others so I thought I’d write something about it too. ;-)

No one can have missed all the talk about ML/AI/Deep Learning and all that jazz over the last couple of years. Nor did I, so I thought I’d have a look at what it entails, especially since there’s more and more talk about applying it in the field of security. That quite quickly led me to understand that once you get over the smaller examples you might need a bit more oomph in ye olde computer.

I had a look around at some good posts and articles about this[1] to get an idea about what was recommended. Things like it being quite important to have a GeForce adapter to speed up computations became obvious early on.

Having read up on the subject I started to put a list together of what I thought I needed and to get an idea of the rough budget. Me being me the end product ended up being somewhat different from where I started — especially in the budget department.

One thing that threw some spanners in the machinery was the entire Spectre/Meltdown issue. Should I go AMD instead of Intel? What impact would the patches have on the speed of this machine and so on. As you will see — in the end I stuck to Intel.

So, what did I build?

Lots of stuff on the very professional build table — time to start the build!

Hardware

Case: Thermaltake Suppressor F1 Mini ITX
Not much to say here. It looked good in the pictures, got good reviews and seemed to be built in a nice way.

CPU: Intel Core i7–7700K
I was initially looking at going down the i5 route since the hardcore computations would be done on the GPU. Then I read some more ‘build your own’ articles where people sort of hinted at wishing that they had gone for a i7 in order to speed up the data mangling and feature extraction. There was also the element of talking myself into the ‘upgrade’ with arguments like a bit more future proofing as well as buffer against the performance hits from the Spectre/Meltdown bugfixes. Talking myself into spending a bit extra to get something (supposedly) better is never a problem for me.

RAM: 2 x 8 GB Corsair Vengeance LED DDR4–3200
Getting 16 GB should be good enough according to most recommendations I found. Especially since the GeForce adapter should come with its own memory for those computations. The eagle eyed among you might pick up on the LED bit in the product name. Yes, the memory sticks have LED’s on them and acts like blinkenlights. My main defense is that they were cheaper than some other ones without LED’s. They do look cool though.

GPU: Gigabyte GeForce GTX 1080 G1
Yeah, this is where got a bit carried away. I started looking at recommendations and found that a GTX 1060 seemed to be a good starting point for a n00b like myself. Getting a 6GB 1060 was recommended by almost everyone so that is what I decided on getting. That was until I realised that the bloody bitcoin miners seemed to have bought all the 1060’s in the world. Ok, no worries. Let’s have a look at 1070’s. Hmm.. Not a bad option. Can I get hold of any? No, Siree! 1070ti’s? Even better option. But… Not much more money for a 1080. Any in stock? Amazon had a couple in stock. Time to buy. WAIT!!! Phew, almost bought one that would be 10mm too long for the case — glad I checked that. Well — another future proofed decision that increased the budget quite a bit. Never mind — better hardware makes me better at this ML malarkey, right?

Motherboard: MSI Z270I Gaming Pro Carbon AC Mini ITX
Here I relied on other peoples reviews. This seems to be a very decent motherboard with the features that I needed and at the same time compatible with the various CPU, GPU and other components I had decided on. The only thing that I don’t think I’ll be using is the built in WiFi adapter. This machine will be wired only.

Power supply: EVGA SuperNOVA G3 550W
Not much to say here. I wanted enough power for all the stuff and this seemed to be a good option. Good reviews, modular design and good build quality. The fact that the PSU comes with a bag is a bit baffling but I’m sure they had a good reason.

For a complete and proper hardware reference, have a look here, this list includes some stuff I’ve omitted to mention like CPU cooler etc: https://uk.pcpartpicker.com/user/swedishmike/saved/shb6XL


Coming up: The next post will cover the installation of the OS, necessary drivers, Anaconda and some other bits and pieces needed to make it suitable for its purpose. Hopefully there’ll be some posts covering some of my struggle to try and learn more about this very wide subject. If I get somewhere I will try and get some posts together regarding Kaggle competitions. There might also be some posts in regards to applying this to Bro network data and other security related real-life implementations. That is some time in the future though.

Running it ‘cab down’ while I check that everything is OK and that Ubuntu installs as expected.