Background: I am a Software Engineer and over the years got opportunity to work on different areas (Frontend, Backend, etc). For past 1 year I had started developing Co-pilots using Langchain, OpenAI, RAG. Now my query is if I want to build expertise in this areas what courses/books I should read so as to build knowledge around this area? I am looking for suggestions.
What math do you know? You can quickly get started with PyTorch but usually people employed as AI/ML engineers have a heavy math background.
That said, it’s nothing too crazy. Most of deep learning is just linear algebra and optimization. For general data science, statistics and probability should be your main focus in my opinion.
+1 for the linear algebra recommendation. Optimization is good to know, but might not be essential, since there are good implementations of most of the cutting edge algorithms in the ML libraries.
I'm going to suggest not reading books or taking courses. Things are moving so fast, the concepts of RAG as one example, that any coursework being prepared is going to be out of date quickly.
I do recommend reading academic papers coming out on AI/ML topics, however. There are some really interesting things happening in and around vector storage of documents that will be impactful for years to come.
Past that, build something cool that you are passionate about. I'm not sure your preference for size of company, but any startup that is likely to succeed will hire based on diverse work experience. Being who you are is the most important thing to remember when changing your course!
I did a similar transition as a freelance, it was not a simple task. I started 7 years ago.
First, I got lucky to be doing data close to where a business case allowed it. Then had to fight my client so that I could _improve_ his best selling marketing campaign. I had to resort to implement explainable ML to convince him the back box was taking the same decisions, and only then adding long tail signals. At the time SHAP did not exist, but its precursor did (interpretableTree by Saabas, I ported it from Python to Scala/Spark because Python scared the client)
This was one-shot. Back to data integration after that.
I participated in an ML challenge, nights and weekends. And developed ideas from there, and personal techniques that I showcased here: http://explicable.ai . Although I didn't make any money from it (I tried, but while people like nice pixels, they don't need them; and I interest mostly engineers, who won't/can't buy it but will definitely want to do the same for themselves)
But it did act as a great portfolio piece. And landed me my first full ML project. It was a very small fixed time contract and ended recently, but I had a lot of fun doing it.
Anyway, this doesn't garantee you the greenest grass. For example, I'm currently looking for a salaried position for personal reasons and it's still tough. Btw if anyone wants to hire an MLE in Paris or remote worldwide, here is my resume: https://benoit.paris/CV_Benoit_Paris_EN.pdf
Now for your question: MOOCs can help a lot, and it's definitely something to put on your CV. Lots of good resources on YouTube as well. Karpathy's stuff is awesome for intuition (see for example LSTMs https://karpathy.github.io/2015/05/21/rnn-effectiveness/). You may also want to widen your focus to breakthroughs in other domains, reading papers and code as they come (UMAP, Nerfs/GaussianSplats). https://paperswithcode.com/ is awesome for that.
Also be sure to continue doing projects you can show a prospective employer in parallel.
TL;DR: Keep at it, but make sure you produce something, even if it's just nice pixels.
- [The Elements of Statistical Learning](https://link.springer.com/book/10.1007/978-0-387-84858-7)
- [The Little Learner: A Straight Line to Deep Learning](https://mitpress.mit.edu/9780262546379/the-little-learner/)
- [The StatQuest Illustrated Guide To Machine Learning](https://www.amazon.com/dp/B0BLM4TLPY)
# Online Videos / Courses
- [Karpthy's Zero to Hero](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...)
- [fast.ai](https://www.fast.ai/)
- [3blue1brown Neural Network Course] (https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...)
- [Andrew Ng's Courses](https://www.deeplearning.ai/)
# Fun Projects
- These will teach you data-wrangling things that unfortunately eat up a lot of time.
What do you want to build? I'd love to spitball ideas here.