Actuators overview
An actuator is a code module that provides experiment protocols that can measure properties of entities. See actuators for more details on what an actuator is and read discoveryspaces to learn how they are used to create discoveryspaces
.
This section covers how you install and configure actuators, create new actuators to extend ado
as well as specific documentation for various actuators available.
You can also add your own custom experiments using the special actuator custom_experiments
Info
Most actuators are plugins. They are pieces of code that can be installed independently from ado
and that ado
can dynamically discover. Custom experiments are also plugins.
Listing available Actuators¶
To see a list of available actuators execute
ado get actuators
to see the experiments each provides
ado get actuators --details
Special actuators: replay and custom_experiments¶
ado
has two special builtin actuators: custom_experiments
and replay
.
custom_experiments
allows users to create experiments from python functions without having to write a full Actuator. The creating custom experiments page describes this in detail.
The replay
actuator allows you to use property values from experiments that were performed outside of ado
i.e. no Actuator exists to measure them. Often you might want to perform some analysis on a discoveryspace
using these values or to perform a search using an objective-function defined on these values. See the replay actuator page to learn more about how to do this.
Actuator Plugins¶
Anyone can extend ado
with actuator plugins. All actuator plugins are python packages (see creating actuator classes) and can be installed in the usual ways with pip
.
Actuator plugins distributed with ado
¶
The following actuators are distributed with ado
:
- SFTTrainer: An actuator for testing foundation model fine-tuning performance
- vllm_performance: An actuator for testing foundation model inference performance
Installing actuator plugins¶
See our installing plugins documentation.
Dynamic installation of actuators on a remote Ray cluster¶
If you are running ado
operations on a remote ray cluster, as ray job, you may want, or need, to dynamically install an actuator plugin or its latest version. This is described in the running ado on a remote ray cluster.
Some additional notes about this process when you are developing an actuator:
- Make sure plugin code changes are committed (if using
setuptools_scm
for versioning)- If they are not committed then the version of the built wheel will not change i.e. it will be same as for a wheel built before the changes
- If a wheel with this version was already installed in ray cluster by a previous job, ray will use the cached version, and not your new version
- Make sure new files you want to package with the wheel are committed
- The setup.py for the plugins only adds committed non-python files