Ask HN: Is Macbook Pro or Gaming Laptop Better for Machine Learning?
Also, I learn ML on the side. CUDA seems to be the current popular tech for GPU-accelerated DL programming. I have not used OpenCL much at all to know if Mac's AMD can do the same or not.
So far, I think if I continue on studying ML, I'd better get a laptop with a good nvidia graphics card like MSI GS65 stealth with GTX 1070/RTX 2070. I'd use it for tuning models before pushing work to ec2 instance. Macbook cannot do that. Matlab also works a lot better on Windows.
I have hard time letting go Mac OS, however, like the old saying "it just works." No BSOD, no crapware, blazing fast due to software optimization, clean packaging of applications, and I really like Scrivener, brew, and super-fantastic trackpad. If I get a Mac again, it's probably gonna be end of the year, because I'm waiting for the redesign and scissor switch keyboard. I might either get a 13" MBA, or 15" MBP with maxed out specs.
Biggest thing that held me back from Windows laptop is also the quality control. Granted, Macbook repair and Apple Care is not cheap at all. Repairability of Mac sucks, but I have very bad experience with Windows laptop vendors, too, and windows laptops have much higher chance of breakage within 3 years in my experience.
Please give me your advice, assuming I can only get one of them... it'd be much appreciated.
18 comments
[ 3.4 ms ] story [ 49.6 ms ] threadWith the money left over from the price difference between air and maxed-out 15" MBP, you can buy extra hours of GPU online, or just get a cheap box to put in your closet.
I had macs for five years, I ended up getting this alienware half off (which is why I bought it, never would have otherwise), and I'll never go back to mac. Completely overrated. Again, linux command line on a windows laptop is amazing. Really surprised it hasnt caught on more yet with developers. Also google colab and anything cloud can be really annoying for ML experiements. Its cheaper to hack things together all day on your laptop and only move to the cloud when you need to.
I work (full time-ish) freelance for 3 to 12 months at a time. I upload my work in git, and save my data in Dropbox. After each project I make sure everything I need is in the cloud, and clear the hard-drive and do a clean re-install of the OS (Linux; last 3 installations were regular Ubuntu, Manjaro, and currently on Xubuntu). I switch between hardwares a lot (sometimes I even use an Intel NUC with an i5 + good SSD + enough RAM, which can be really fast on a light-weight Linux). So I'm less dependent on the hardware and I get faster at setting up what I need. Last time I needed about 1,5 hours to re-install a new Linux distro, setup my ssh keys and get the programs I need to be 98% productive again.
I feel none of the OSes (e.g. Mac OS, Windows, Linux... Linuces?) always "just work". After some time of usage, they seem to always break down somewhere. I try to reduce the risk of failure by having exchangeable hardware + software, a re-installation routine and online-synced data.
Add a nice mechanical keyboard and a decent mouse that fits your hand - and you gain control of your computer and have more freedom in your choices.
So far I’m loving it. It weighs a lit bit more than 5 lbs.
Eg: Gigabyte Aero 15 OLED or MSI GS65 Stealth
Or, buy a Intel ULV processor based laptop like the Thinkpad and get a beefy machine in place like Hetzner Cloud
ML these days has all sorts of scale and scope. For instance, what used to take a few days baking on a GPU server can now be run in a few lines of codes on a CPU. The ecosystem moves very quickly, so it's better to be adaptable than to consign yourself to a specific paradigm of computation.
That being said: Yeah, a lot of stuff is in CUDA or nvidia world. AMD and OpenCL support is usually late and usually lackluster.
These days you can do a lot free to get started. Get started with Kaggle kernels and Colab for free. They give you access to nice GPUs. Learn a little bit of how to do things on AWS/GCP, because almost always people are just trying to burn their free credits as part of their investment package or something.
If you're utterly concerned with performance, most workstations I know of usually run Ubuntu. Performance is far superior. Owning or building a GPU workstation is still remarkably cheaper than renting to some degree. A key idea I'd like to highlight here is that with ML/AI, regardless if your data is small or your batch processes "doable", you should be automating your pipeline so you don't have to worry about it. In the same sense that a GROUP-BY SQL statement is also machine learning speaking roughly. Being able to get your data into workable shape is more important than having nice hardware. Get the data to work for you first before you think about performance or speed.