Ask HN: Is Macbook Pro or Gaming Laptop Better for Machine Learning?

7 points by ConfusedDog ↗ HN
I'm on the verge of buying a new laptop to replace my broken MBP 13" 2015. I dropped my old laptop and broke the screen, the cost is over $500, so I sold it on eBay. I loved that machine. It worked fine and I was hesitant on new Macbook because of product quality concerns.

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 ] thread
I'd get a MacBook Air and learn on colab or Kaggle kernel.

With 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.

You can get a cheap gaming laptop with 1070GTX for the price of Air and have Ubuntu on it. Moreover price of cloud minutes with GPU quickly stacks up.
Yeah. Second this. Apple is useless for machine learning. Get anything that can legit run CUDA and has Linux on it.
Google colab is really slow and unreliable.
I have considered Air. Only thing I don’t like about it is dual-core. I know ML use GPU, but come on... dual core...
the best OS for machine learning is Linux IMO, No BSOD, no crapware. (but the trackpad experience is poor)
Call me crazy but I would get an alienware (which is what I have). Gamers will say that its overpriced compared to other gaming laptops, but I love mine. The trackpad, keyboard, and over all build are extremely solid. Along with that I've got a GTX 1080 and 32 mb of RAM. Windows subsystem linux is actually really great once you get used to it. You can run everything you need, I never have problems like I used to. Command line is all linux, but then you get all the great drivers on windows (linux OS drivers for things like speakers and monitors can be terrible).

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.

Alienware specs are good, but a Alienware 15 is 7.69lbs... I have a work computer Dell Precision M6300 is about that weight... I hate having to carry that around...
ha yeah its like a desktop, but if you need a GPU, its gonna be heavy
There's Alienware's m15 notebook, which is lighter and can also come with the RTX 2060. If you work mostly at home / at a certain place, perhaps a desktop computer will be more cost-efficient. Maybe paired with one of the new Ryzens (12 or 16 core) that even beat the i9 9900K in many benchmarks ;-).

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.

I just picked up a Dell G5 Core i7 9750H, 16gb and RTX for less 1300 at Microcenter. 200 cheaper than Dells website.

So far I’m loving it. It weighs a lit bit more than 5 lbs.

I can see it is pretty good value. I kinda hope it comes with 2070 though because of 8GB. Also it is a bit heavy for me, but still better than my current ~7 lbs laptop...
I would recommend you look at the current crop 9750H + 1660Ti laptops with relatively larger battery.

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

Don't prematurely optimize.

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.

A lot of the downsides you mention of Windows is quite rare these days. There's much less viruses, crapware, BSOD, and so on. A lot of friends say that they bought a Mac because they never have to shut it down; you can do similar with Windows as well. I seriously considered getting a Macbook last year for iOS dev, but it was too hard to give up some of the things on Windows.