AI OnDemand (AIoD)¶
Overview¶
AI OnDemand (AIoD) is a framework developed by the Software Engineering & AI STP at the Francis Crick Institute that enables running any model on any compute environment without requiring user knowledge on how to install and run these models, let alone run them at scale on HPC/cloud compute (via Nextflow)!
AIoD allows you to easily run any of our available models on your data efficiently using whatever compute you have (from a laptop to HPC or cloud!) with minimal setup!
I am a...
AIoD provides a Napari interface that allows you to select your data, preprocessing options, which model you want (with any parameters you want to tweak), and then run it with no need to install any of the individual models. You can run this on your local workstation or on HPC with no additional setup!
If you do not have AIoD setup on your institute's HPC and would like to use it, please send this documentation to your HPC admins. If you just want to try it out on your machine first, our First Segmentation (Napari) tutorial takes you from nothing installed to your first result in one sitting.
AIoD provides an easy way to quickly run a range of different models on data, without the pain of installation (particularly on HPC). This allows you to quickly use models, tune their parameters, and get results!
If you have a lot and/or large data, AIoD also parallelises running the models over your data on whatever compute you have available to get results faster and more efficiently.
With our future finetuning release, you'll also easily be able to finetune all models included in AIoD!
After you have developed and published your model, you want people to use it! Typically, it's difficult to provide guidance to all potential users how to install and use your model, especially if they want to run it on their local HPC or cloud compute.
AIoD provides a central platform to simplify running models on any compute. You can add your model to AIoD without much work (details here), and it will immediately become available to all! Note that if you want to share your model in a more limited way, then you can define model location by a filepath so only those that have access can use it. This allows you to e.g. pre-release to your lab/institute prior to publication!
AIoD provides a Nextflow pipeline as the computational backend, separating it from the user interface. At present we have a Napari plugin, but plugins for other software like ImageJ/QuPath can be easily added to make it easier for your users.
If you already have your own pipelines, then you can look at our Nextflow pipeline and use the components/processes most relevant for you. Our work on parallelising models over data should be useful no matter what! You may also find other features like our run length encoding format for masks useful to use too.
AIoD uses Nextflow for its computational pipeline, enabling it to be deployed in virtually any compute environment. See our Getting Started page for requirements and setup details.
If you are able to run some kind of virtual desktop/visual server (we use Open OnDemand), then our Napari plugin provides a visual interface that simplifies usage for your users.
It is designed to allow the use of arbitrary user interfaces (currently with a fully-fledged Napari plugin) to simplify usage and immediately visualise results while separating compute from visualisation.
Here's a simplified GIF outlining AIoD:
For the full picture, we have a recorded talk introducing AIoD (~1 hour).
Cricksters
Users within the Francis Crick Institute have automatic access to AIoD with no setup required.
If users outside of the Crick want to use AIoD on their HPC and are not HPC admins/specialists, please forward this page to your HPC admins. Alternatively, running Nextflow directly lets you use AIoD on your HPC without the need for OnDemand/virtual desktop.
Available Models¶
Although AIoD is a portable, efficient, expandable framework to run any model, for users the practical functionality is determined by which models are available!
Currently, the following models are integrated. Click the cards to get details on the specific versions and configurable parameters of each:
...with more on the way (and by request)!
Contribution¶
AIoD is developed as an extendable platform, allowing users to easily add new models, preprocessing functions etc., that can become available to all or restricted users as desired. This simplifies and unifies running models on local, high-performance, or cloud compute!
If you want to use a model that is not currently available, see how to add a model or get in contact with us.
Repositories¶
- Segment-Flow — Nextflow pipeline that scalably, reproducibly distributes data over models
- Model Registry — Pydantic schema and model manifests for each model in AIoD
- AIoD Utils — Centralized I/O, custom RLE mask encoding, preprocessing functions...anything needed across front-ends and the Nextflow pipeline!
- Napari Plugin — Our plugin for Napari to make using the pipeline easier, with additional functionality for users!
- AIoD Documentation — This documentation!
