Shaping a European prediction service for biological data

Tobias Schmidt published on
2 min, 330 words

Categories: EUBIC 2023

Abstract

We developed DLOmix-serving, an open-source and modular machine learning (ML) inference server for biological data based on NVIDIA Triton. This platform allows centralizing the hosting of models originating from various training/prediction pipelines such as PyTorch, Sklearn, XGBoost and TensorFlow. Most importantly, models can be accessed by a remote and language-independent interface. A similar system has been used for the last 5 years within Skyline (C#), the Prosit website (Python), and ProteomicsDB (JavaScript) to access Prosit models. We envision that such a platform will be centrally hosted by, for example, the EBI, and model submission will become a standard practice for publishing new ML models. Although accompanying codebases on platforms like GitHub describe the access of models, they require technical skill to set up. Standardizing the access of the models will dramatically improve reproducibility, and ensure easy access for as many people as possible. As part of this Hackathon, we want to port as many existing models as possible to this platform while using DLOmix, an open-source package developed to integrate deep learning models in proteomics, as an exemplary tool to access these models. Ideally, participants would bring their own ML models they wish to make publicly accessible.

Project Plan

  1. Defining a standard interface for models within the same family (e.g., fragmentation predictor)
  2. Setup of DLOmix-serving on participant's machine (pair programming) a. Porting model file to Triton b. Developing interface to Triton
  3. Exploring the capabilities of the Python backend in Triton to provide additional meta information about models or enrich the predictions
  4. Exploring the auto-generation of a client library for DLOmix-serving using the Protocol Buffer interface definition
  5. Writing a technical note.

Technical Details

  • Python
  • DLOmix (https://github.com/wilhelm-lab/dlomix)
  • Triton Inference server (https://developer.nvidia.com/nvidia-triton-inference-server)
  • Docker (https://docs.docker.com/engine/install/)

Contact Information