ado is a unified platform for executing computational experiments at scale and analysing their results. It can be easily extended with new experiments or new analysis tools. It allows distributed teams of researchers and engineers to collaborate on projects, execute experiments, and share data.
Project description
Introduction
This is the repository for the accelerated discovery orchestrator
(ado).
ado is a unified platform for executing computational experiments at
scale and analysing their results. It can be extended with new experiments
or new analysis tools. It allows distributed teams of researchers and engineers
to collaborate on projects, execute experiments, and share data.
You can run the experiments and analysis tools already available in ado in
a distributed, shared, environment with your team. You can also use ado to
get features like data-tracking, data-sharing, tool integration and a CLI, for
your analysis method or experiment for free.
🧑💻 Using ado assumes familiarity with command line tools.
🛠️ Developing ado requires knowledge of python.
Key Features
- 💻 CLI: Our human-centric CLI follows best practices
- 🤝 Projects: Allow distributed groups of users to collaborate and share data
- 🔌 Extendable: Easily add new experiments, optimizers or other tools.
- ⚙️ Scalable: We use ray as our execution engine allowing experiments and tools to easily scale
- ♻️ Automatic data-reuse: Avoid repeating work with
transparent reuse of experiment results.
adointernal protocols ensure this happens only when it makes sense - 🔗 Provenance: As you work, the relationship between the data you create and operations you perform are automatically tracked
- 🔎 Optimization and sampling: Out-of-the-box, leverage powerful optimization
methods
via
raytuneor use our flexible in built sampler
Foundation Model Experimentation
We have developed ado plugins providing advanced experiments for testing
foundation-models:
- ⏱️ fine-tuning performance benchmarking
- ⏱️ inference performance benchmarking (using the vLLM performance benchmark)
- COMING SOON 🔮 inference and fine-tuning prediction
Requirements
A basic installation of ado only requires a recent Python version (3.10+).
This will allow you to run
many of our examples and explore
ado features.
Additional Requirements
Some advanced features have additional requirements:
- Distributed Projects (Optional): To support projects with multiple users you will need a remote, accessible, MySQL database. See here for more
- Multi-Node Execution (Optional): To support multi-node or scaling execution you may need a multi-node RayCluster. See here for more details
In addition ado plugins may have additional requirements for executing
realistic experiments. For example,
- Fine-Tuning Benchmarking: Requires a RayCluster with GPUs
- vLLM Performance Benchmarking: Requires an OpenShift cluster with GPUs
Install
To install you can execute the following (we recommend you set up a virtual environment)
git clone https://github.com/IBM/ado.git
cd ado
pip install .
Alternate instructions to install ado can be found here:
https://ibm.github.io/ado/getting-started/install/
Development
Instructions for developing ado are available in DEVELOPING.
Testing
To run unit-tests read tests/README.md.
Example
This video shows listing actuators and getting the details of an experiment.
Check demo for more videos.
Technical Report
For more details on the Discovery Spaces concept underlying ado, please refer to this technical report.
Acknowledgement
This project is partially funded by the European Union through the Smart Networks and Services Joint Undertaking (SNS JU) under grant agreement No. 101192750 (Project 6G-DALI).
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ado_core-1.3.2.tar.gz.
File metadata
- Download URL: ado_core-1.3.2.tar.gz
- Upload date:
- Size: 18.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Red Hat Enterprise Linux","version":"9.6","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f44ae5129dc6d60fba44105207b9b2b1d4b40d908bf634a1ffabbf56de2878bf
|
|
| MD5 |
68e2c069987867a723f19be0922696e7
|
|
| BLAKE2b-256 |
3084c431e0a6c9311c59dc14b004c8dd4c67d3ec84385c187374937083297200
|
File details
Details for the file ado_core-1.3.2-py3-none-any.whl.
File metadata
- Download URL: ado_core-1.3.2-py3-none-any.whl
- Upload date:
- Size: 326.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Red Hat Enterprise Linux","version":"9.6","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
413257127a0e406fe119b657e5921e58872b5666c9a9f87d3f045e3be8486370
|
|
| MD5 |
27e0afb1a399055cafe62dad6bd67505
|
|
| BLAKE2b-256 |
04a250a592c725ed4979dd24f8d80f3b6341d1750e57b8652e1680b3cd18dc7c
|