Introduction¶
This is the webpage 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.
ado
internal protocols ensure this happens only when it makes senseProvenance: 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
raytune
or 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
Try it out¶
-
Set up in 1 minute
Assuming you have configured ssh access to IBM GitHub you can install ado by:
pip install git+https://github.com/IBM/ado.git
Now try:
You will see a context,ado get contexts
local
, is listed.A context is like a project. The
local
context links to a local database you can use as a sandbox for testing.Try:
to see a list of the in-built operators.ado get operators
Next, we recommend you try our short tutorial which will give an idea of how
ado
works.
Example¶
This video shows listing actuators and getting the details of an experiment. Check demo for more videos.
What's next¶
-
Let's get started!
Jump into our tutorial
-
Check out the ADO cli
Get familiar with the capabilities of the
ado
command-line interface.