Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to deploy SKLearn and XGBoost models with MLServer #2450

Merged
merged 23 commits into from
Sep 30, 2020

Conversation

adriangonz
Copy link
Contributor

@adriangonz adriangonz commented Sep 17, 2020

What this PR does / why we need it:

Add support to deploy SKLearn and XGBoost models compatible with the V2 Dataplane proposed by NVIDIA / KFServing, by leveraging MLServer.

On most cases, the user will be able to enable the V2 dataplane by specifying kfserving as the protocol on their SKLEARN_SERVER and XGBOOST_SERVER deployments. For example, one can do:

apiVersion: machinelearning.seldon.io/v1alpha2
kind: SeldonDeployment
metadata:
  name: xgboost
spec:
  name: iris
  protocol: kfserving
  predictors:
  - graph:
      children: []
      implementation: XGBOOST_SERVER
      modelUri: gs://seldon-models/xgboost/iris
      name: classifier
    name: default
    replicas: 1

To Do

Which issue(s) this PR fixes:

Fixes #1648

Special notes for your reviewer:

This PR is based on #2023. Once that one gets merged, I'll rebase this one to master to clean up Git's history.

Does this PR introduce a user-facing change?:

Added support to use the V2 Dataplane with SKLearn and XGBoost models.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@adriangonz
Copy link
Contributor Author

/cc @cliveseldon @RafalSkolasinski @axsaucedo

There are still a few details left on this PR, like rebasing once #2023 gets merged, but I think that the rest is ready for review. It would be great to get your thoughts!

@seldondev
Copy link
Collaborator

Tue Sep 22 09:24:59 UTC 2020
The logs for [pr-build] [3] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/3.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=3

@seldondev
Copy link
Collaborator

Tue Sep 22 09:25:00 UTC 2020
The logs for [lint] [4] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/4.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=4

@seldondev
Copy link
Collaborator

Mon Sep 28 10:39:06 UTC 2020
The logs for [integration] [15] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/15.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=15

@seldondev
Copy link
Collaborator

Mon Sep 28 10:39:19 UTC 2020
The logs for [pr-build] [13] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/13.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=13

@seldondev
Copy link
Collaborator

Mon Sep 28 10:39:21 UTC 2020
The logs for [lint] [14] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/14.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=14

@adriangonz
Copy link
Contributor Author

/test lint
/test pr-build

@seldondev
Copy link
Collaborator

Mon Sep 28 11:04:55 UTC 2020
The logs for [lint] [16] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/16.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=16

@adriangonz
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Mon Sep 28 13:51:56 UTC 2020
The logs for [pr-build] [17] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/17.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=17

@seldondev
Copy link
Collaborator

Mon Sep 28 13:51:59 UTC 2020
The logs for [integration] [18] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/18.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=18

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Tue Sep 29 09:40:19 UTC 2020
The logs for [integration] [21] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/21.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=21

@seldondev
Copy link
Collaborator

Tue Sep 29 09:40:24 UTC 2020
The logs for [lint] [20] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/20.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=20

@seldondev
Copy link
Collaborator

Tue Sep 29 09:40:34 UTC 2020
The logs for [pr-build] [19] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/19.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=19

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Tue Sep 29 10:52:05 UTC 2020
The logs for [integration] [24] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/24.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=24

@seldondev
Copy link
Collaborator

Tue Sep 29 10:52:11 UTC 2020
The logs for [lint] [23] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/23.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=23

@seldondev
Copy link
Collaborator

Tue Sep 29 10:52:13 UTC 2020
The logs for [pr-build] [22] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/22.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=22

@adriangonz
Copy link
Contributor Author

/test notebooks

@seldondev
Copy link
Collaborator

Tue Sep 29 13:22:27 UTC 2020
The logs for [notebooks] [25] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/25.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=25

Copy link
Contributor

@RafalSkolasinski RafalSkolasinski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice one, solid work!

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: RafalSkolasinski

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@adriangonz
Copy link
Contributor Author

/test notebooks

@seldondev
Copy link
Collaborator

Wed Sep 30 13:33:31 UTC 2020
The logs for [notebooks] [26] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/26.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=26

@seldondev
Copy link
Collaborator

Wed Sep 30 15:43:56 UTC 2020
The logs for [pr-build] [27] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/27.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=27

@seldondev
Copy link
Collaborator

Wed Sep 30 15:44:18 UTC 2020
The logs for [lint] [28] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2450/28.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2450 --build=28

@seldondev seldondev merged commit fc4904b into SeldonIO:master Sep 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support NVIDIA/KFServing V2 Data Plane
3 participants