Skip to content
/ ck Public
forked from mlcommons/ck

An open-source, non-intrusive and technology-agnostic toolset to facilitate reproducible research and automate development, benchmarking, optimization, comparison and deployment of AI/ML Systems across diverse and rapidly evolving models, data sets, software and hardware from different vendors and users

License

Notifications You must be signed in to change notification settings

mei-ye/ck

 
 

Repository files navigation

PyPI version Python Version License

CM test CM script automation features test

Breaking news

Our open-source CM automation language and CK playground enabled the 1st mass-scale community submission of 10000+ MLPerf inference benchmarking results (representing more than 90% of all v3.1 submissions) across diverse models, data sets, software and hardware from different vendors via the cTuning foundation - see the HPC Wire article for more details and get in touch via our public Discord server if you want to automate and optimize your future MLPerf submissions using our open-source technology!

About

Collective Knowledge (CK) is an open-source, non-intrusive and technology-agnostic toolset to facilitate reproducible research and automate development, benchmarking, optimization, comparison and deployment of Pareto-efficient AI/ML Systems across diverse and rapidly evolving models, data sets, software and hardware from different vendors and users.

Collective Knowledge v3 has been developed from scratch by the MLCommons Task Force on Automation and Reproducibility, cTuning foundation, cKnowledge.org and the community and includes the following sub-projects:

  • Collective Mind automation Language (CM) - a simple automation language that helps to implement modular, portable and technology-agnostic benchmarks and applications with a common API that can automatically plug in diverse and rapidly evolving models, data sets, software and hardware from different vendors and users.
  • CM scripts - a database of portable, reusable and technology-agnostic automations to modularize benchmarks, software projects and AI/ML Systems.
  • Modular Inference Library (MIL) - a universal and modular C++ implementation of MLPerf inference benchmarks.
  • Collective Knowledge Playground - an open platform to benchmark and optimize AI and ML Systems via community challenges.

See related ACM REP'23 keynote, ACM Tech Talk and MLPerf submitters orientation to learn more about our open-source technology and long-term vision.

Join our public Discord server to learn how to run and extend MLPerf benchmarks, participate in future MLPerf submissions, automate reproducibility initiatives at ACM/IEEE/NeurIPS conferences and co-design efficient AI Systems.

Documentation

Upcoming events

More events to come soon!

Some practical use cases

Run Python Hello World app on Linux, Windows and MacOS

python3 -m pip install cmind
# restart bash to add cm and cmr binaries to PATH

cm pull repo mlcommons@ck
cm run script --tags=print,python,hello-world
cmr "print python hello-world"

This CM script is a simple wrapper to native scripts and tools described by a simple declarative YAML configuration file specifying inputs, environment variables and dependencies on other portable and shared CM scripts:

alias: print-hello-world-py
uid: d83274c7eb754d90

automation_alias: script
automation_uid: 5b4e0237da074764

deps:
- tags: detect,os
- tags: get,sys-utils-cm
- names:
  - python
  tags: get,python3

tags:
- print
- hello-world
- python

Our goal is to let the community start using CM within minutes!

Run MLPerf benchmarks out-of-the-box

Participate in reproducible AI/ML Systems optimization challenges

We invite the community to participate in collaborative benchmarking and optimization of AI/ML systems:

Reproduce results from ACM/IEEE/NeurIPS papers

Project coordinators

Acknowledgments

Collective Knowledge Technology v3 (including Collective Mind automation language and Collective Knowledge Playground) was developed from scratch by Grigori Fursin and Arjun Suresh in 2022-2023 within the MLCommons Task Force on Automation and Reproducibility and with many great contributions from the community.

This project is supported by MLCommons, cTuning foundation, cKnowledge.org, and individual contributors. We thank HiPEAC and OctoML for sponsoring initial development.

About

An open-source, non-intrusive and technology-agnostic toolset to facilitate reproducible research and automate development, benchmarking, optimization, comparison and deployment of AI/ML Systems across diverse and rapidly evolving models, data sets, software and hardware from different vendors and users

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 87.2%
  • Shell 3.1%
  • HTML 2.7%
  • C++ 2.6%
  • Dockerfile 1.7%
  • C 1.3%
  • Other 1.4%