3 ms·
If you just mean building something that uses AI then any generic tutorial online will get you started. But that’s uninteresting, so I’m going to assume you wan
by cgearhart 4y ago
If you just mean building something that uses AI then any generic tutorial online will get you started. But that’s uninteresting, so I’m going to assume you want to know what it would take to be on the teams inventing this stuff. For the most part today that means working on deep learning at a big company that has the data and compute resources required. At my work I sometimes hire AI/ML applied research scientists to work on the kind of problems you described, so I’ll explain what it takes for them to get hired and maybe that will help you figure out a plan to get there.
The interview panel is basically a phone screen with some coding (a math-centric generic problem), then an on-site that involves an hour deep dive discussion on ML fundamentals, an hour discussion on NLP, an hour on ML system design, an hour discussion on deep learning, and an hour coding up a neural network from scratch (you can import numpy), a behavioral interview, and time for the candidate to ask questions. Notice how much of the interview is discussion/theoretical; it doesn’t scale to do practical tests on all these domains during and onsite, so we fall back on these discussions. If you have only used ML libraries or only used ML services then you will likely struggle in these interviews.
From that perspective you should look for training and experience that prepares you for both theoretical and practical interviews. As basic courses, I like Andrew Ng’s ML course on Coursera and the fast.ai course is pretty useful early on too; I also like this book https://d2l.ai/ https://d2l.ai/ However, none of these resources is really sufficient—there’s a lot of stuff you will need to learn on the job.
Getting a first job coding is the hardest. Be willing to take lower pay if the experience will help you open doors. Take jobs that let you work with tools and tech that cover gaps in your skill set. If you have previous experience coding and you want to switch to AI/ML then you may need to take a pay cut at some point (and briefly). For some reason it’s rare that companies will value software experience in ML engineers or researchers, so they’ll downlevel when you’re hired and then scramble to promote you in six months if you’re successful on the team.
An undergrad degree in CS is very good; and a graduate degree in CS/math/stats/similar is even better. Do you need degrees? No, but your odds without them are kinda like the odds of making it into the NFL as a walk-on — low. If you already have an undergrad degree, you can check out Georgia Tech, UT Austin, UIUC and other schools that have online MSCS programs (all pretty fast and cheaper than resident programs).
Overall, if you’re serious about this then your plan should be to get to that level in like 10 years. I’m not saying you can’t even start until then—there’s lots you can do along the way. But I’m trying to create an expectation that other people who are also really smart, motivated, and interested in these problems—just like you—take about 10 years to get where they are. There’s no good shortcuts, otherwise we’d all be using them already.