Skip to main content

Collective Mind automation framework (CM)

Project description

PyPI version Python Version License Downloads

arXiv CM test CM script automation features test

Collective Mind (CM)

Collective Mind (CM) is a very lightweight Python-based framework featuring a unified CLI, Python API, and minimal dependencies. It is available through PYPI.

CM is designed for creating and managing portable and technology-agnostic automations for MLOps, DevOps and ResearchOps. It aims to assist researchers and engineers in automating their repetitive, tedious and time-consuming tasks to build, run, benchmark and optimize various applications across diverse and continuously changing models, data, software and hardware.

Collective Mind is a part of Collective Knowledge (CK) - an educational community project to learn how to run AI, ML and other emerging workloads in the most efficient and cost-effective way across diverse and ever-evolving systems using the MLPerf benchmarking methodology.

CMX automation framework

CMX - the next evolution of the Collective Mind framework designed to enhance simplicity, flexibility, and extensibility of automations based on user feedback. It is backwards compatible with CM, released along with CM in the cmind package and can serve as drop-in replacement for CM.

The CM/CMX architecture diagram is available for viewing here.

CM and CMX architecture

The diagram below illustrates the primary classes, functions, and internal automations within the Collective Mind framework:

The CM API documentation is available here.

Projects powered by Collective Mind

Collective Mind is continuously enhanced through public and private Git repositories, which serve as the unified interface for various collections of reusable automations and artifacts.

The most notable projects and repositories powered by CM are:

Automations for MLOps and MLPerf

CM4MLOPS repository powered by CM - a collection of portable, extensible and technology-agnostic automation recipes with a common CLI and Python API (CM scripts) to unify and automate all the manual steps required to compose, run, benchmark and optimize complex ML/AI applications on diverse platforms with any software and hardware.

The two key automations are *script" and cache: see online catalog at CK playground, online MLCommons catalog.

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.

See the online documentation at MLCommons to run MLPerf inference benchmarks across diverse systems using CM.

CM4ABTF

CM4ABTF repository powered by CM - a collection of portable automations and CM scripts to run the upcoming automotive MLPerf benchmark across different models, data sets, software and hardware from different vendors.

CM4MLPerf-results

CM4MLPerf-results powered by CM - a simplified and unified representation of the past MLPerf results in the CM format for further visualization and analysis using CK graphs.

CM4Research

CM4Research repository powered by CM - a unified interface designed to streamline the preparation, execution, and reproduction of experiments in research projects.

Projects powered by Collective Mind

Collective Knowledge Playground

Collective Knowledge Playground - a unified and open-source platform designed to index all CM scripts similar to PYPI, assist users in preparing CM commands to:

These initiatives aim to help academia and industry collaboratively enhance the efficiency and cost-effectiveness of AI systems.

Artifact Evaluation

Artifact Evaluation automation - a community-driven initiative leveraging the Collective Mind framework to automate artifact evaluation and support reproducibility efforts at ML and systems conferences.

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.

Author and maintainer

Repositories powered by CM

  • CM4MLOPS / CM4MLPerf - a collection of portable, extensible and technology-agnostic automation recipes with a common CLI and Python API (CM scripts) to unify and automate all the manual steps required to compose, run, benchmark and optimize complex ML/AI applications on diverse platforms with any software and hardware: see online catalog at CK playground, online MLCommons catalog

  • CM interface to run MLPerf inference benchmarks

  • CM4ABTF - a unified CM interface and automation recipes to run automotive benchmark across different models, data sets, software and hardware from different vendors.

  • CM4Research - a unified CM interface an automation recipes to make it easier to reproduce results from published research papers.

Resources

License

Apache 2.0

Citing Collective Mind project

If you found CM automations help, please cite this article: [ ArXiv ], [ BibTex ].

History: CM and CM automations for MLOps and MLPerf.

You can learn more about the motivation behind these projects from the following 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 ]

Acknowledgments

Collective Mind (CM) was originally developed by Grigori Fursin, as a part of the Collective Knowledge educational initiative, sponsored by cTuning.org and cKnowledge.org, and contributed to MLCommons for the benefit of all.

This open-source technology, including CM4MLOps and MLPerf automations, CM4ABTF, CM4Research, and more, is a collaborative project supported by MLCommons, FlexAI, cTuning and our amazing volunteers, collaborators, and contributors!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmind-3.5.3.tar.gz (80.8 kB view details)

Uploaded Source

Built Distribution

cmind-3.5.3-py3-none-any.whl (84.4 kB view details)

Uploaded Python 3

File details

Details for the file cmind-3.5.3.tar.gz.

File metadata

  • Download URL: cmind-3.5.3.tar.gz
  • Upload date:
  • Size: 80.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.11

File hashes

Hashes for cmind-3.5.3.tar.gz
Algorithm Hash digest
SHA256 a1e1d2e4260953251eee1827f79c66dbea5981d86f063a915e5aaa96fe8cc861
MD5 89784a0f2f9329b9483beeedc239485b
BLAKE2b-256 cb585c40c3d8de4b95bbc5a664ff7b1a6e85e144b3091e88b7af2e03c831d593

See more details on using hashes here.

File details

Details for the file cmind-3.5.3-py3-none-any.whl.

File metadata

  • Download URL: cmind-3.5.3-py3-none-any.whl
  • Upload date:
  • Size: 84.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.11

File hashes

Hashes for cmind-3.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0ac7ac37aecb5eb3bdc41c3da114f6b20e367819517c3cd9805282ed4018e9ae
MD5 2e2a6fe14765fe87491889e753fb5b9c
BLAKE2b-256 78095ff28e31482951fd11e3905c707c69850c8a861aac719c640ecd40455558

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page