Collective Mind (CM) is a small, modular, cross-platform and decentralized workflow automation framework with a human-friendly interface to make it easier to build, run, benchmark and optimize applications across diverse models, data sets, software and hardware.
CM is a part of Collective Knowledge (CK) - an educational community project to learn how to run emerging workloads in the most efficient and cost-effective way across diverse and continuously changing systems.
CM includes a collection of portable, extensible and technology-agnostic automation recipes with a common API and CLI (aka CM scripts) to unify and automate different steps required to compose, run, benchmark and optimize complex ML/AI applications on any platform with any software and hardware.
CM scripts extend the concept of cmake
with simple Python automations, native scripts
and JSON/YAML meta descriptions. They require Python 3.7+ with minimal dependencies and are
continuously extended by the community and MLCommons members
to run natively on Ubuntu, MacOS, Windows, RHEL, Debian, Amazon Linux
and any other operating system, in a cloud or inside automatically generated containers
while keeping backward compatibility.
CM scripts were originally developed based on the following requirements from the MLCommons members to help them automatically compose and optimize complex MLPerf benchmarks, applications and systems across diverse and continuously changing models, data sets, software and hardware from Nvidia, Intel, AMD, Google, Qualcomm, Amazon and other vendors:
- must work out of the box with the default options and without the need to edit some paths, environment variables and configuration files;
- must be non-intrusive, easy to debug and must reuse existing user scripts and automation tools (such as cmake, make, ML workflows, python poetry and containers) rather than substituting them;
- must have a very simple and human-friendly command line with a Python API and minimal dependencies;
- must require minimal or zero learning curve by using plain Python, native scripts, environment variables and simple JSON/YAML descriptions instead of inventing new workflow languages;
- must have the same interface to run all automations natively, in a cloud or inside containers.
- CM v2.x (stable version 2022-cur): installation on Linux, Windows, MacOS ; docs ; popular commands ; getting started guide
- CM v3.x (prototype 2024-cur): docs
- MLPerf inference benchmark automated via CM
- Examples of modular containers and GitHub actions with CM commands:
If you found CM useful, please cite this article: [ ArXiv ], [ BibTex ].
You can learn more about the motivation behind these projects from the following articles and presentations:
- "Enabling more efficient and cost-effective AI/ML systems with Collective Mind, virtualized MLOps, MLPerf, Collective Knowledge Playground and reproducible optimization tournaments": [ ArXiv ]
- ACM REP'23 keynote about the MLCommons CM automation framework: [ slides ]
- ACM TechTalk'21 about Collective Knowledge project: [ YouTube ] [ slides ]
The Collective Mind framework (CM) was created by Grigori Fursin, sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons to benefit everyone. Since then, this open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc) is being developed as a community effort thanks to all our volunteers, collaborators and contributors!