EuBIC / EuBIC2023

EuBIC 2023 developer's meeting
https://eubic-ms.org/events/2023-developers-meeting/
12 stars 1 forks source link

Shaping a European prediction service for biological data #12

Open LLautenbacher opened 1 year ago

LLautenbacher commented 1 year ago

Shaping a European prediction service for biological data

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

Ludwig Lautenbacher, Computational Mass Spectrometry, TUM, ludwig.lautenbacher@tum.de Tobias Schmidt, MSAID tobias.schmidt@msaid.de Wassim Gabriel, Computational Mass Spectrometry, TUM, wassim.gabriel@tum.de

tobiasko commented 1 year ago

Dear @LLautenbacher ,

I am happy to inform you that your proposal has been selected for the DevMeeting2023! Participants will decide which hackathon to join after the pitch on Monday. Would be nice if Tobias and Wassim could leave a short comment here, so they also become a participant of the issue.

Best, Tobi

tkschmidt commented 1 year ago

Here is my short comment to become a participant :)

WassimG commented 1 year ago

Here is mine as well :)

tobiasko commented 1 year ago

Hello everyone,

I just created a slack workspace for the DevMeeting and a channel named european-prediction-service for this hack. You should receive an invite to join by email.

Best, Tobi

cpanse commented 1 year ago

https://github.com/cpanse/dlomix-serving/commit/7f2574a75cff9e6fb6ea567cdbfca0d5fbd08e16