Just Build It! Tips for Making ML Engineering and MLOps Real - MLOps Community Talk

Last night I spoke at the MLOps Community meetup on 'Just Build It! Tips for Making ML Engineering and MLOps Real', where I shared some thoughts and ideas around 'bootstrapping' your capability as an ML team.

In particular I spoke about some of the initial topics you could consider building into your projects so that you gradually increase the sophistication of your ML solutions.

  • Slides are on GitHub.
  • Link to MLOps Community episode page.

Hope you enjoy!

DecisionForest Appearance!

I was super excited to be invited onto the DecisionForest show run by the excellent (and extremely nice) Radu Fotolescu.

We chatted about the book, about my experience of financial services, some of the main challenges I think teams trying to work on MLEng and MLOps face. We also discussed some wider points about ML, technology and ways of working.

Was a really fun chat and would really encourage you to check out the DecisionForest show - there are some amazing guests on there so I felt very humbled to be asked on by Radu!

A whirlwind tour of Machine Learning Engineering

In May last year (2021) I spoke at DATA:Scotland's Scottish Summer 2021. I have a brief view of the main topics I think are important to consider in machine learning teams (some overlap with some of my other recent talks, in particular 'The 4P's ...' talk.

 

Machine Learning Engineering with Python - Published on 5th Nov!

Not long to go now until Machine Learning Engineering with Python is published on 5th November, which happens to be Bonfire Night in the UK. I look forward to seeing lots of fireworks and pretending its to celebrate my book being finally out!

Ahead of publication I wanted to thank so many of you for your kind words of encouragement and for, of course, supporting the book. I really hope it does help people working in the machine learning space in some small way .

Ahead of publication, I wanted to share a little teaser from Chapter 1: Introduction to ML Engineering, where I talk about what I believe is important to consider when doing machine learning 'in the real world'. I hope you enjoy the snippet and that you enjoy the book!

"The majority of us who work in machine learning, analytics, and related disciplines do so for for-profit companies. It is important therefore that we consider some of the important aspects of doing this type of work in the real world.

First of all, the ultimate goal of your work is to generate value. This can be calculated and defined in a variety of ways, but fundamentally your work has to improve something for the company or their customers in a way that justifies the investment put in. This is why most companies will not be happy for you to take a year to play with new tools and then generate nothing concrete to show for it (not that you would do this anyway, it is probably quite boring) or to spend your days reading the latest papers and only reading the latest papers. Yes, these things are part of any job in technology, and especially any job in the world of machine learning, but you have to be strategic about how you spend your time and always be aware of your value proposition.

Secondly, to be a successful ML engineer in the real world, you cannot just understand the technology; you must understand the business. You will have to understand how the company works day to day, you will have to understand how the different pieces of the company fit together, and you will have to understand the people of the company and their roles. Most importantly, you have to understand the customer, both of the business and of your work. If you do not know the motivations, pains, and needs of the people you
are building for, then how can you be expected to build the right thing?

Finally, and this may be controversial, the most important skill for you being a successful ML engineer in the real world is one that this book will not teach you, and that is the ability to communicate effectively. You will have to work in a team, with a manager, with the wider community and business, and, of course, with your customers, as mentioned above. If you can do this and you know the technology and techniques (many of which are
discussed in this book), then what can stop you?"

 

 

Machine Learning Engineering with Python - available for pre-order!

Machine Learning Engineering with Python: Manage the production life cycle of machine learning models using standard processes and designs by [Andrew McMahon]

After many months of writing, developing, designing and researching after work and at weekends, my book is now available for pre-order on Amazon!

I'm really excited as I've always wanted to write books and I had set myself a goal of writing at least one book by the time I was 30. So as long as the book is fully available for order in October as planned I would say challenge completed (my birthday is at the end of November).

Why did I write this book?

I have been working for a few years in a variety of roles in data science and machine learning (ML), and my career has now strongly went in the direction of focussing on productionization. A totally made up word that we all now use to mean 'taking ML proof-of-concepts and making them into working software solutions'. I've found this to be the hardest problem in industrial data science and machine learning, or at least the hardest problem that comes up often enough to justify focussing on it.

So given this focus and how much I know teams can struggle to understand some of the things they need to go from cool idea or draft model through to working solution, I decided to write this book. It's by no means perfect, but I hope it's a good collection of some of the ideas, tools and techniques that I think most important when it comes to ML engineering.

What's in it?

The book consists of 8 chapters:

  1. Introduction to ML Engineering
  2. The Machine Learning Development Process
  3. From Model to Model Factory
  4. Packaging Up
  5. Deployment Patterns and Tools
  6. Scaling Up
  7. Building an Example ML Microservice
  8. Building an Extract Transform Machine Learning Use Case

The book will kick off with more strategic and process directed thinking. This is where I talk about what I think ML engineering means and what is so different about building ML solutions vs traditional programming.

We then move onto learning about how to create models again and again by building training services and then how to monitor models for important changes like concept or data drift. I then discuss strategies for triggering retraining of your models and how this all ties together.

Moving on there's more of an emphasis about some important foundational pieces like how to create good Python packages that wrap your ML functionality and what architecture patterns you can build against.

The last piece of the book focusses on deep dives on a specific topic covers mechanisms for scaling up your solution, with a particular focus on Apache Spark and serverless infrastructure on the Cloud.

Finally, the book finishes with 2 chapters on worked examples that bring together a lot of what's been discussed earlier in the book, with a particular focus on how to make the relevant choices to be successful when executing a real-life ML engineering project.

What's next?

First of all, I'm just super excited this is real. As I mentioned at the top of the article this has been a dream of mine for a long time and I think the topics are important ones to discuss. Hopefully the book can help people in data science, software development, machine learning and analytics roles be successful. That would make me happy too.

In terms of what's next I'm thinking that it would also be beneficial to expand the topics of the book into an online course. That way, people who would like the material structured in a slightly different way can also get the benefit. It would also allow me to expand on some of the material a bit more, giving a more conversational flavour to the material. I like the sound of that, hopefully you do too!

All in all, I just hope people enjoy the book and get benefit from it. I benefited immensely from technical books in this space when I was starting out (and I still do) so I'm really glad I can make my own small contribution to that body of learning.

 

 

 

Insight Through Innovation Talk

In August I spoke at an MBN Data Technology meetup event on 'Insight Through Innovation: Delivering Scalable Data Products Through The Latest Cloud Tech'.

My section focussed on how to use Databricks and surrounding technologies on the cloud to deliver machine learning services that are robust and drive value day in and day out.

Data Science Conference Europe 2020

In November 2020 I spoke at Data Science Conference Europe. I spoke about working in extended and multi-faceted data teams and using modern data platforms and technologies to deliver value for your organisation.

The conference didn't share videos of the talks publicly but I was featured by the conference on LinkedIn.