ck

ck

Collective Knowledge (CK) and Collective Minds (CM): community-driven projects to learn how to run AI, ML and other emerging workloads in a more efficient and cost-effective way across diverse models, datasets, software and hardware using CK, CM/CMX and MLPerf automations

Stars: 613

Visit
 screenshot

Collective Mind (CM) is a collection of portable, extensible, technology-agnostic and ready-to-use automation recipes with a human-friendly interface (aka CM scripts) to unify and automate all the manual steps required to compose, run, benchmark and optimize complex ML/AI applications on any platform with any software and hardware: see online catalog and source code. CM scripts 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 - please don't hesitate to report encountered issues here and contact us via public Discord Server to help this collaborative engineering effort! 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 scripts were successfully validated by MLCommons to modularize MLPerf inference benchmarks and help the community automate more than 95% of all performance and power submissions in the v3.1 round across more than 120 system configurations (models, frameworks, hardware) while reducing development and maintenance costs.

README:

PyPI version Python Version License Downloads

arXiv CM test CM script automation features test MLPerf inference resnet50 CMX: image classification with ONNX

Collective Knowledge

Collective Knowledge (CK, CM, CM4MLOps, CM4MLPerf and CMX) is 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 models, data sets, software and hardware: [ white paper ].

It includes the following sub-projects.

Collective Minds (CM)

The Collective Mind (CM) project, or Collective Minds, facilitates the decomposition of complex software systems into portable, reusable, and interconnected automation recipes. These recipes are developed and continuously improved by the community.

CM automation framework

The Collective Mind framework is a lightweight, Python-based toolset featuring a unified command-line interface (CLI), Python API, and minimal dependencies. It is designed to assist researchers and engineers in automating repetitive, time-consuming tasks such as building, running, benchmarking, and optimizing AI, machine learning, and other applications across diverse and continuously changing models, data, software and hardware.

Collective Mind is continuously enhanced through public and private Git repositories with CM automation recipes and artifacts accessible via unified CM interface.

CMX automation framework

CMX is 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.

Notable CM use cases

MLOps and MLPerf automations

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.

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

MLCommons ABTF automation

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.

MLPerf results visualization

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.

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.

Legacy projects

CM-MLOps (now CM4MLOps)

You can find CM-MLOps original dev directory here. We moved it to CM4MLOps in 2024. In 2025, we aggregate all CM and CMX automations in the new CMX4MLOps repository.

CK automation framework v1 and v2

You can find the original CK automation framework v1 and v2 directory here. It was deprecated for the CM framework and later for the CMX workflow automation framework (backwards compatible with CM)

License

Apache 2.0

Copyright

Copyright (c) 2021-2024 MLCommons

Grigori Fursin, the cTuning foundation and OctoML donated this project to MLCommons to benefit everyone.

Copyright (c) 2014-2021 cTuning foundation

Author

Long-term vision

To learn more about the motivation behind CK and CM technology, please explore 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 ]
  • Journal of Royal Society'20: [ paper ]

Documentation

Acknowledgments

This open-source project was created by Grigori Fursin and sponsored by cTuning.org, OctoAI and HiPEAC. Grigori donated CK to MLCommons to benefit the community and to advance its development as a collaborative, community-driven effort.

We thank MLCommons, FlexAI and cTuning for supporting this project, as well as our dedicated volunteers and collaborators for their feedback and contributions!

If you found the CM automations helpful, kindly reference this article: [ ArXiv ], [ BibTex ].

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for ck

Similar Open Source Tools

For similar tasks

For similar jobs