Versioning models

96 views
Skip to first unread message

Leon Zhang

unread,
Aug 3, 2017, 4:47:50 AM8/3/17
to Seldon Users
Hey, Seldon Users:

  I am new to Seldon, it looks cool and great for machine learning as service. But, I got the following questions:

  1. Is there any way I can define the version of my models? Or any alternative way to do that?
  2. Can I dynamic reload models from disk without interrupting my services?

Thanks.

Clive Cox

unread,
Aug 3, 2017, 4:56:26 AM8/3/17
to Leon Zhang, Seldon Users
Hi Leon,

 Your models would be new Docker image versions.
 Yes you can dynamically update running versions. For example, to start an AB test between two prediction models of the Iris dataset:

seldon-server/kubernetes/bin/start-microservice --type prediction --replicas 2 --client test -i iris-model1 seldonio/iris_xgboost:2.1 rest 0.5 -i iris-model2 seldonio/iris_xgboost:2.1 rest 0.5

 Then to update the version of one model you can use Kubernetes commands. for example:

kubectl set image deployment/iris-model1 iris-model1=seldonio/iris_xgboost:2.0.8

and if there was a problem roll-back

kubectl rollout undo deployment/iris-model1

Hope that helps,

 Clive



--
You received this message because you are subscribed to the Google Groups "Seldon Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seldon-users+unsubscribe@googlegroups.com.
To post to this group, send email to seldon...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/seldon-users/8b1eb110-16b8-4828-ab84-0fb9b3d0ec94%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Leon Zhang

unread,
Aug 3, 2017, 5:26:37 AM8/3/17
to Seldon Users, leon...@gmail.com
Thank you Clive Cox.

This seems good. But I got another question: can the client side track the version they used? If a client predict something, how about the client want to know the exactly version they used?
This would be helpful for debugging, or A/B testing?

Thanks

On Thursday, August 3, 2017 at 4:56:26 PM UTC+8, Clive Cox wrote:
Hi Leon,

 Your models would be new Docker image versions.
 Yes you can dynamically update running versions. For example, to start an AB test between two prediction models of the Iris dataset:

seldon-server/kubernetes/bin/start-microservice --type prediction --replicas 2 --client test -i iris-model1 seldonio/iris_xgboost:2.1 rest 0.5 -i iris-model2 seldonio/iris_xgboost:2.1 rest 0.5

 Then to update the version of one model you can use Kubernetes commands. for example:

kubectl set image deployment/iris-model1 iris-model1=seldonio/iris_xgboost:2.0.8

and if there was a problem roll-back

kubectl rollout undo deployment/iris-model1

Hope that helps,

 Clive


On 3 August 2017 at 09:47, Leon Zhang <leon...@gmail.com> wrote:
Hey, Seldon Users:

  I am new to Seldon, it looks cool and great for machine learning as service. But, I got the following questions:

  1. Is there any way I can define the version of my models? Or any alternative way to do that?
  2. Can I dynamic reload models from disk without interrupting my services?

Thanks.

--
You received this message because you are subscribed to the Google Groups "Seldon Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seldon-users...@googlegroups.com.

Clive Cox

unread,
Aug 3, 2017, 5:30:51 AM8/3/17
to Leon Zhang, Seldon Users
Hi,

 As shown in http://docs.seldon.io/api-oauth-prediction.html there is a meta part of the REST (and gRPC) channels which can contain a modelName. This can be set by the model in its reply. So you could include the version.

 Clive


To unsubscribe from this group and stop receiving emails from it, send an email to seldon-users+unsubscribe@googlegroups.com.

To post to this group, send email to seldon...@googlegroups.com.

Leon Zhang

unread,
Aug 3, 2017, 9:01:06 AM8/3/17
to Seldon Users, leon...@gmail.com
Thank you, I will give a try.
Reply all
Reply to author
Forward
0 new messages