Working Groups/Zen of ML

From MozillaWiki
Jump to: navigation, search

Zen of ML


The Zen of Machine Learning was launched in the pilot cohort of Mozilla’s building trustworthy AI working group.

The Zen of ML is a set of design principles that helps ML educators and self-learners prioritise responsible machine learning practices. The principles consider the end-to-end machine learning development cycle, from data collection to model evaluation and continuous deployment. Inspired by the Zen of Python, the Zen of ML can be viewed as a culture code that promotes the responsible development of ML products and projects. It is not binding or enforceable, but is intended to shape industry norms and offer a practical guide to building trustworthy AI.

This project is collecting, refining, publishing, and disseminating the Zen of ML design principles so that machine learning (ML) practitioners can develop and deploy ML code responsibly.

Problem
Machine learning (ML) tools are freely and widely available, and can be accessed with simple API calls and standard development pipelines. This has made it possible for anybody who wants to use ML to learn the skills and access the tools to do so. When using ML as a code component, the data-dependent and probabilistic nature of its outputs is hidden and often overlooked. This can have undesirable and even harmful consequences. Thus, while democratising ML tools has increased the inclusiveness of ML, it has created a new challenge as the responsible use of ML tools cannot be guaranteed or controlled. This presents a particular risk for people that are adversely affected by the outcomes of decisions backed by ML predictions.

Solution
A list of statements that can be disseminated to ML educators and self-learners to embed the responsible development of ML artifacts and products into the design cycle from the get-go. We draw inspiration from the Zen of Python, which can be accessed from any python shell with import this. Similarly, we would like to see the Zen of ML included as an import statement in scikit-learn, the entry point to machine learning for many people.

The Zen of ML should:
1. Focus on decision making and identify decisions that arise in building and maintaining machine learning pipelines (from data collection to evaluation)
2. Be a useful starting point for beginner pedagogy (both self-learning and teaching)
3. Be a useful critical reflection tool to revisit for practitioners
4. Language must connect to the technical domain, but remain accessible and comprehensible - i.e. make sense to human beings, minimal jargon
5. Be neither a checklist, nor a specification:

  • Comprehensive but non-exhaustive
  • General, not custom built for specific ML project types.
  • What we love
  • What we prefer
  • If … then …
  • Shame on you! (i.e. what we don't like)

6. Should not be specific to a particular framework (e.g. PyTorch, Scikit-learn)
7. Be as short as possible while being thorough; possible to process at a glance (or three). 18 - 20 short sentences are nice
8. Resonate with responsible ML best practice

The project held a workshop and hosted a hackathon at MozFest 2021.

Contributors
Andy Forest, Bernease Herman, Borhane Blili-Hamelin, Dessalegn Yehuala, Gaurav Jain, Jenine Carron, Jessica Zhou, Kyle Smith, Kyle Meenehan, Vanja Skoric

Resources
Website MozFest Hackathon Miro Board password: zen202!ml