5 ms·
Reading HN I worry that we're going to have the opposite problem - a glut of people will try and (badly?) learn ML and then realize there aren't enough ML jobs.
by feral 10y ago
Reading HN I worry that we're going to have the opposite problem - a glut of people will try and (badly?) learn ML and then realize there aren't enough ML jobs.
I've a PhD and held ML-engineer positions in a few different companies - I've good industry awareness.
Most applied ML, for most companies, right now, is actually relatively simple models (hand-coded rules! logistic regression! You'd be shocked how common these are.) The bulk of the work is data cleaning, gathering, integration, deployment, productisation, reliability, avoiding pathological cases, special-casing, Product, UX. You do need ML specialists who understand the stuff, to make it all work and come together - but the ratio of ML specialists to the wider team is low. Maybe 1 or 2 specialist on a team of 10 for an ML heavy product.
This is going to remain the case IMO. Yes, there will be small teams, in highly resourced organizations (GOOG, FB etc), academic research labs, or occasional hard-tech startups, who do new model development. Maybe if AI becomes huge, you'll see more traditional Fortune 500s spin up similar efforts.
But there'll be a much wider set of people&businesses applying and tuning well understood approaches, rather than doing new model development. And you just don't need as many ML specialists, for that approach.
Even with deep learning, the tooling will advance. I mean, even look at all the research papers describing applications at the moment - so many of them are using pre-trained models. Industry will be similar. Tooling will advance, and you'll be able to do increasingly more with off-the-shelf pieces.
I think ML is absolutely going to have a big impact - I buy at least some of the hype. But should all developers, or even a substantial minority of developers, start learning ML as a career imperative? I don't think so.
Finally, it takes serious time to learn this stuff.
Its easy to dabble (and worthwhile doing - its fun; and sometimes you can do powerful things in a using tools in a very blackbox manner!). But actually thoroughly learning it takes time. It takes serious time to build statistical intuition, as just one example.
We could easily end up with a great many career developers who have a specialization in ML, frustrated they never get to use it.
- ylem 10y agoThis is not my field, but a serious question--I once read that part of the motivation of pharmaceutical companies in hiring researchers was not so that they would all produce ground breaking independent research, but rather because they would be capable of reading the literature (again, not my field). Is that true at all for machine learning? Would companies hire people who would be up to date with the literature so that they could implement algorithms that others have developed in an academic context and put them into production?
- feral 10y agoYes, I think that's true. Basically, the interfaces of the models/tools/abstractions people will use will be 'leaky'. For example, you can take a machine learning method from scikit learn, which works really well on the scikit learn example, and apply it to your problem. Any developer can do this pretty quickly. If it works, and gets good accuracy out-of-the-box, then great. But if it doesn't work, what do you do? How do you know where to look, what could trip it up? Are your features OK, or is it a problem with your model? Or maybe you framed the problem wrong? When you get into this sort of area, that's when you need an ML expert, who knows whats actually going on under the hood - or can at least learn the particularly model quickly - and can make progress faster. A more general developer will slow down drastically once they start reading the documentation for how the model/system actually works. And hopefully the expert will frame the project better from the very start, solving issues before they even arise, because they know the kind of issue that can occur, or suggest easier paths to solutions. So, agree with your point there. But how many such experts do you need? In my experience, only a small number on a bigger team. ML folk are highly leveraged, but need a lot of support to get their product into production - to manage the data (if its worth applying ML to, there's probably a lot of data, so a big data engineering task, maybe connected to a live system), to think about the UX etc. This will all evolve on several levels of course: - The tooling will get better; model/data deployment/management will get easier. But also and non-experts will be able to get more done as ML becomes more robust out-of-the-box. - We'll get better at building ML products (e.g. team structure, data infrastructure, UX (designers learning how these things work), company org (e.g. a lot of friction between Agile and ML)) - Businesses will want to do bigger things But if I had to guess, we'll be picking up low-hanging fruit for a while, and most of the work, for most companies, will be in the support infrastructure and application, with just a minority of specialist ML roles.
- ska 10y agoAbsolutely they will, and should. But they'll need relatively few people on the team(s) who can do this.
- ska 10y agoI mean, even look at all the research papers describing applications at the moment - so many of them are using pre-trained models. Which is probably going to blow up in their collective faces at some point - it's at best a problematic technique. Many of these papers have little or no serious analysis of generalization issues or validation. I think to the broader point that generally learning how to validate a ML technique is going to be very useful to a lot of people, implementing them less so.