I'm fairly new to coding, with about a year of experience, and I'm considering a switch to machine learning performance engineering. My plan is to dive into Python and PyTorch first, then optimize my work with C and CUDA. I already have a solid grasp of system C, including threading and memory management, and I also know a bit about assembly and Golang. I'm contemplating a few career paths: embedded systems (not too keen on electronics), distributed systems (still weighing my options), and ML performance engineering. I'm interested in people's opinions on this career path and any advice for someone starting out in this field.
3 Answers
Getting into ML performance engineering is a solid choice, especially with your background. I'd recommend starting by building a neural network library from scratch. Familiarize yourself with MLPerf and learn about AMD/ROCm or the NVIDIA tools. The field is growing rapidly, and with your skills, you could really excel.
If you enjoy systems work and performance tuning, ML performance engineering could be an amazing niche for you! While distributed systems are also a good option, ML performance is really taking off right now, so it could be a great time to jump in.
Given your knowledge of C, memory management, and a bit of CUDA, you're set up well for this kind of work. Many who come from strictly ML backgrounds struggle with system optimization. I'd suggest starting with Python and PyTorch to get a feel for the ML workflow, then focus on identifying performance bottlenecks. A lot of optimization comes from figuring out where the model is slowing down and offloading those parts to optimized C or CUDA.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically