How to succeed as a Machine Learning Engineer in the industry | By Kartik Singhal | July 2024

Machine Learning


5 tips to help you consistently exceed expectations in BigTech

Kartik Singhal
Towards Data Science

Have you ever wondered what it takes to be a successful Machine Learning Engineer? Are you struggling to define your role in this dynamic field? I've been there too!

Hi! I'm Kartik Singhal, a Senior Machine Learning Engineer at Meta. With 6 years of experience in the field, I still keep learning every day. Today, I'll share with you 5 tips that helped me achieve “Exceeds Expectations” recognition as a Senior Machine Learning Engineer at BigTech.

Image by the author and taken from ChatGPT 4o.

You need to have a solid understanding of the fundamentals of machine learning and be aware of its limitations in real-world applications.

Understanding the core concepts:

  • Understand the fundamentals of supervised and unsupervised learning, classification and regression, and deep learning.
  • Knowing the error metric, objective function, and limitations of each approach is crucial.

Pro Tip:

Start with Coursera's Machine Learning, which introduces all the core concepts.

100-page machine learning book” and “Machine Learning Engineering” by Andriy Burkov Learn more about applied machine learning.

If you are interested in learning more about deep learning, check out Coursera's Deep Learning Specialization. Before taking this course, we recommend you get a basic understanding of ML through our Foundations course.

Learn about libraries:

  • Gain knowledge of core ML libraries such as TensorFlow, PyTorch, and scikit-learn.
  • Working on small projects on platforms like Kaggle can help you become familiar with these libraries early on in your career.

Pro Tip:

I highly recommend the Machine Learning Engineer course from educative.io, which introduces you to most of the libraries and features.

Stay up to date with cutting edge research

Keep up with the latest research in your field by reading recent papers and attending conferences such as KDD, as this will boost your confidence and help you stay on top of current trends.

I'm interested in applications of NLP in search, so I read some groundbreaking papers like this one: Word 2 Vector, Bart The latest developments in large-scale language models.

As an MLE, focus on your strengths and ask for help in areas where you have less experience. Below are some of the main responsibilities you may perform:

1) Data and feature engineering: You often need to find and prepare your own data, which can include:

  • Understanding the problem: Understand your problem statement and determine what data is most important.
  • Identifying Data SourcesFind relevant sources of raw data
  • Data Preprocessing: Cleans and formats the data, making it usable.

2) Modeling: This involves using ML models to transform data into actionable insights. The main steps are:

  • Understanding domains: Do your research on the field you are working in. Each field has its own challenges.
  • Problem formulation: Define what you want to optimize and what objective function you need to use.
  • Create a baseline: Determine the minimum acceptable performance for your project.
  • Training Model: Find and train a suitable model.

3) Model deployment and scalability:

  • Understanding scale: Understand the scale at which your model will operate and the technologies required to meet those requirements. There are several technologies, such as Amazon Sagemaker and Tensorflow Serving, that provide large-scale model deployment frameworks.
  • Robustness: Ensure that model inference integrates well with existing systems and can handle real traffic.
  • Pro Tip: For deployment with Sagemaker, check out the Machine Learning Engineer Nanodegree from Udacity. For Tensorflow Serving, the user guide is very good.

I personally struggle with this, and I know many MLEs struggle with it too. They often improve their models without considering the business goals. Aligning with these goals will ensure that your project meets expectations and delivers value.

  • Identify business or user goals: Understand your business objectives, such as revenue, user experience, and fraud reduction.
  • Problem definitionCreate a problem statement that aligns with your business objectives.

example: Increase the number of user sessions on your streaming service (business objective) and improve user engagement by optimizing click-through rates (problem statement).

  • Test your hypotheses with data: Support the problem statement with data analysis.

example: For recommendation systems that optimize click-through rates, analyze user interaction data to identify patterns and preferences.

  • Understand the limitations: Choose the model that suits your domain and business needs.

example: If your goal is to provide transparency to sellers about which product features are driving sales on your e-commerce platform, a simpler, more interpretable model like a decision tree may be more appropriate than a deep learning model.

Can you deploy a Large Language Model (LLM) with millions of parameters in a user-facing app with 100ms latency? Probably not. Resource constraints are an important consideration, but one that is often overlooked.

  • trade offUnderstand project trade-offs and set clear milestones. Balance time, resources, and model performance.

example: Based on the project goals and deliverables, choose between a one-year four-engineer project to develop a complex model that achieves high performance, or a six-month two-engineer project where the model performs slightly less well.

  • Return on InvestmentEvaluate the return on investment of your models. Choose a model that balances performance and budget constraints.

exampleState-of-the-art models require hundreds of GPUs, while simpler models can run efficiently with fewer resources, making the latter more practical.

  • Iterative processStart with a resource-efficient model and improve iteratively.

Machine learning is experimental and iterative: you start with a fuzzy problem, develop a hypothesis, develop a solution, learn and improve.

  • due diligence: Research and analyze your domain thoroughly to anticipate and mitigate potential surprises.
  • Learn from feedback: Use user feedback and performance metrics to continuously improve your models.
  • Learn from mistakes: Analyze your own failures and those of others to identify weaknesses, improve your model architecture, and understand issues with your dataset.

Building connections within the industry can accelerate your learning, open up new opportunities, and provide valuable support throughout your career.

  • Find a mentor and become a mentor: Seek out mentors for guidance and mentor others to strengthen your knowledge. Having the support of a strong mentor early on in my career helped me overcome obstacles.
  • Actively build a network: Attend conferences, meetups, and webinars. Join our online community to stay up to date and share your knowledge.

Finally, I don't claim to have all the answers, but I do believe in the power of continuous learning and sharing knowledge. This article is my way of doing exactly that. I am committed to publishing articles that will be a valuable resource for anyone interested in machine learning, from beginners to early-stage experts. Your support and feedback is invaluable. Thank you for reading.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *