All Projects → cap-ntu → Ml Model Ci

cap-ntu / Ml Model Ci

Licence: apache-2.0
MLModelCI is a complete MLOps platform for managing, converting, profiling, and deploying MLaaS (Machine Learning-as-a-Service), bridging the gap between current ML training and serving systems.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ml Model Ci

serving-runtime
Exposes a serialized machine learning model through a HTTP API.
Stars: ✭ 15 (-87.7%)
Mutual labels:  inference, serving, onnx
ai-serving
Serving AI/ML models in the open standard formats PMML and ONNX with both HTTP (REST API) and gRPC endpoints
Stars: ✭ 122 (+0%)
Mutual labels:  inference, onnx
mediapipe plus
The purpose of this project is to apply mediapipe to more AI chips.
Stars: ✭ 38 (-68.85%)
Mutual labels:  inference, onnx
spark-ml-serving
Spark ML Lib serving library
Stars: ✭ 49 (-59.84%)
Mutual labels:  inference, serving
Volksdep
volksdep is an open-source toolbox for deploying and accelerating PyTorch, ONNX and TensorFlow models with TensorRT.
Stars: ✭ 195 (+59.84%)
Mutual labels:  inference, onnx
Libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
Stars: ✭ 217 (+77.87%)
Mutual labels:  inference, onnx
sagemaker-sparkml-serving-container
This code is used to build & run a Docker container for performing predictions against a Spark ML Pipeline.
Stars: ✭ 44 (-63.93%)
Mutual labels:  inference, serving
onnxruntime-rs
Rust wrapper for Microsoft's ONNX Runtime (version 1.8)
Stars: ✭ 149 (+22.13%)
Mutual labels:  inference, onnx
Model server
A scalable inference server for models optimized with OpenVINO™
Stars: ✭ 431 (+253.28%)
Mutual labels:  inference, serving
Multi Model Server
Multi Model Server is a tool for serving neural net models for inference
Stars: ✭ 770 (+531.15%)
Mutual labels:  inference, onnx
Tensorflow template application
TensorFlow template application for deep learning
Stars: ✭ 1,851 (+1417.21%)
Mutual labels:  inference, serving
Delta
DELTA is a deep learning based natural language and speech processing platform.
Stars: ✭ 1,479 (+1112.3%)
Mutual labels:  inference, serving
Ncnn
ncnn is a high-performance neural network inference framework optimized for the mobile platform
Stars: ✭ 13,376 (+10863.93%)
Mutual labels:  inference, onnx
fastT5
⚡ boost inference speed of T5 models by 5x & reduce the model size by 3x.
Stars: ✭ 421 (+245.08%)
Mutual labels:  inference, onnx
Onnxt5
Summarization, translation, sentiment-analysis, text-generation and more at blazing speed using a T5 version implemented in ONNX.
Stars: ✭ 143 (+17.21%)
Mutual labels:  inference, onnx
optimum
🏎️ Accelerate training and inference of 🤗 Transformers with easy to use hardware optimization tools
Stars: ✭ 567 (+364.75%)
Mutual labels:  inference, onnx
Mivisionx
MIVisionX toolkit is a set of comprehensive computer vision and machine intelligence libraries, utilities, and applications bundled into a single toolkit. AMD MIVisionX also delivers a highly optimized open-source implementation of the Khronos OpenVX™ and OpenVX™ Extensions.
Stars: ✭ 100 (-18.03%)
Mutual labels:  inference, onnx
Yolov5 Rt Stack
Yet another yolov5, with its runtime stack for libtorch, onnx, tvm and specialized accelerators. You like torchvision's retinanet? You like yolov5? You love yolort!
Stars: ✭ 107 (-12.3%)
Mutual labels:  inference, onnx
Cpuprofiler
Rust bindings to google's cpuprofiler
Stars: ✭ 114 (-6.56%)
Mutual labels:  profiler
Sniffy
Sniffy - interactive profiler, testing and chaos engineering tool for Java
Stars: ✭ 117 (-4.1%)
Mutual labels:  profiler

...

Machine Learning Model CI

codebeat badge

中文简介FeaturesInstallationQuick StartNotebookTutorialContributingCitationLicense

Introduction

Machine Learning Model CI is a one-stop machine learning MLOps platform on clouds, aiming to solve the "last mile" problem between model training and model serving. We implement a highly automated pipeline between the trained models and the online machine learning applications.

We offer the following features and users 1) can register models to our system and enjoy the automated pipeline, 2) or use them individually.

  • Housekeeper provides a refined management for model (service) registration, deletion, update and selection.
  • Converter is designed to convert models to serialized and optimized formats so that the models can be deployed to cloud. Support Tensorflow SavedModel, ONNX, TorchScript, TensorRT
  • Profiler simulates the real service behavior by invoking a gRPC client and a model service, and provides a detailed report about model runtime performance (e.g. P99-latency and throughput) in production environment.
  • Dispatcher launches a serving system to load a model in a containerized manner and dispatches the MLaaS to a device. Support Tensorflow Serving, Trion Inference Serving, ONNX runtime, Web Framework (e.g., FastAPI)
  • Controller receives data from the monitor and node exporter, and controls the whole workflow of our system.

Several features are in beta testing and will be available in the next release soon. You are welcome to discuss them with us in the issues.

  • [ ] Automatic model quantization and pruning.
  • [ ] Model visulization and fine-tune.

The system is currently under rapid iterative development. Some APIs or CLIs may be broken. Please go to Wiki for more details

If your want to join in our development team, please contact huaizhen001 @ e.ntu.edu.sg

Installation

using pip

# upgrade installation packages first
pip install -U setuptools requests
# install modelci from GitHub
pip install git+https://github.com/cap-ntu/[email protected]

create conda workspace

Note

  • Conda and Docker are required to run this installation script.
  • To use TensorRT, you have to manually install TensorRT (sudo is required). See instruction here.
bash scripts/install.sh

Docker

docker pull mlmodelci/mlmodelci

Quick Start

The below figurs illusrates the | Web frontend | Workflow | |:------------:|:--------------:| | drawing | drawing |

0. Start the ModelCI service

Once you have installed, start MLModelCI service on a leader server by:

modelci service init

We provide three options for users to use MLModelCI: CLI, Web interface and import it as a python package

1. CLI

# publish a model to the system
modelci modelhub publish registration_example.yml

Please refer to WIKI for more CLIs.

2. Python Package

# utilize the convert function
from modelci.hub.converter import ONNXConverter
from modelci.types.bo import IOShape

# the system can trigger the function automaticlly
# users can call the function individually 
ONNXConverter.from_torch_module(
    '<path to torch model>', 
    '<path to export onnx model>', 
    inputs=[IOShape([-1, 3, 224, 224], float)],
)

Quickstart with Notebook

Tutorial

After the Quick Start, we provide detailed tutorials for users to understand our system.

Contributing

MLModelCI welcomes your contributions! Please refer to here to get start.

Citation

If you use MLModelCI in your work or use any functions published in MLModelCI, we would appreciate if you could cite:

@inproceedings{10.1145/3394171.3414535,
  author = {Zhang, Huaizheng and Li, Yuanming and Huang, Yizheng and Wen, Yonggang and Yin, Jianxiong and Guan, Kyle},
  title = {MLModelCI: An Automatic Cloud Platform for Efficient MLaaS},
  year = {2020},
  url = {https://doi.org/10.1145/3394171.3414535},
  doi = {10.1145/3394171.3414535},
  booktitle = {Proceedings of the 28th ACM International Conference on Multimedia},
  pages = {4453–4456},
  numpages = {4},
  location = {Seattle, WA, USA},
  series = {MM '20}
}

Contact

Please feel free to contact our team if you meet any problem when using this source code. We are glad to upgrade the code meet to your requirements if it is reasonable.

We also open to collaboration based on this elementary system and research idea.

huaizhen001 AT e.ntu.edu.sg

License

   Copyright 2021 Nanyang Technological University, Singapore

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].