Clean Machine Learning Code
What you'll learn
- The studens will learn how to apply practical software engineering principles to prevent failures in their machine learning software projects.
- Fundamental software engineering concepts applied to ML code to boost maintainability, collaboration, and production-readiness.
- Principles of ML Software Architecture.
- Test-Driven Machine Learning Concepts.
- How to optimize ML code for readability and testability.
- How to protect ML projects from the tyranny of ML frameworks.
Requirements
- Basic knowledge of Python
- Basic knowledge of ML concepts and business goals
- Basic understanding of the Software lifecycle
- Basic exposure to business use cases that benefit from ML solutions
Description
And now with the companion book: Leanpub + search("cleanmachinelearningcode")
Machine Learning (ML) pipelines are software pipelines after all.
This course will you apply practical software engineering principles to prevent failures in your machine learning software craftsmanship journey.
There is no useful Machine Learning (ML) without extensive software.
Building complex software comes with many challenges.
ML software is explicitly full of needless complexity and repetition. Thick opacity, rigidity, and viscosity of design magnify this brew of complexity. With these issues, ML failures are growing in importance at an unprecedented pace.
It does not have to be this way.
As a global data science community, the autonomous systems we build can be costly, dangerous, and even deadly. Adding to the problem is the inexperienced workforce of this 5 to 10 years old craft. As of 2019-2020, 40% of data scientists in the USA have less than 5 years of experience.
The software industry is experiencing a boom in ML development and usage. This is not unlike previous software engineering booms in the early 2000s. The current boom manifests itself with a menagerie of constructs, abstractions, frameworks, and workflows. This multitude of integration challenges remind us of old and classical software problems. Some of the issues present in the ML software engineering practice are new. But the majority of the software engineering concerns have a historical smell. Going back to the early days of software engineering can help with today’s ML problems.
For us, ML engineers, it is time to stop reinventing the wheel, making the same old mistakes, and start using the decades of successful software engineering practices by replacing “Software” with “Machine Learning Software”.
This course can help with that.
Who this course is for:
- Data scientists that are asked to deploy and maintain their code in production
- Machine learning engineers that are asked to deploy and maintain their code in production
- Data science enthusiasts
- Machine learning enthusiasts
Instructor
Machine learning architect focused on data science productivity, reliability, performance, and cost.
Working on designing and implementing large scale AI products through data collection, analysis, and warehousing.
Passionate about building scalable machine learning pipeline architectures with high business impact.
Over the years, he led the architectural design, implementation, and maintenance of multiple Data Science Platforms used by hundreds of data scientists, business analysts, and product owners.
He led the design and implementation of a large-scale web advertisement click prediction system, that handles 100s of billions of daily impressions with millions of dollars of daily spend.
He also guided the design of a set of classical and deep machine learning systems, related to business-critical ad-tech products such as: ad-creative image classification, website content categorization, and embeddings-based audience recommender systems.
He was involved in the design, architecture, and technical implementation of hundreds of data reporting pipelines and webapps/APIs, to deliver critical financial and product metrics through dashboards for hundreds of stakeholders.
He enjoys teaching and he has mentored, trained and supported 100+ data scientists and business analysts on software engineering best practices, based on the Clean Code design methodology.
He holds a PhD in Computer and Information Science from Temple University, USA. He graduated with a Master in Information Technology from Lappeenranta University of Technology, Finland, with a major in communication engineering and a minor in marketing and information processing.