Comments (12)
Thanks so much for letting us know, @cliveseldon! I think the overlap here is really strong, and would love to collaborate/include Seldon-core.
Do you have any thoughts on whether or not it would be monolithic, or break it down to component parts? It does a lot of different things, and was just curious about your philosophy.
from kubeflow.
I spent some time looking at it this morning. The Seldon prediction graph and CRD looks super cool and should be pretty easy to incorporate.
I think we would do something very similar to what we do for the TfJob operator.
We can create a ksonnet package to deploy the SeldonDeployment CRD. At this point I believe users should just be able to create SeldonDeployment's and they would work. We could also deploy the Grafana and Prometheus stuff but it might make sense to make that a separate ksonnet package or include it in the core ksonnet package.
/cc @cliveseldon @aronchick
from kubeflow.
For building user images, we (at Project Jupyter) have built http://github.com/jupyter/repo2docker. https://github.com/jupyterhub/binderhub (deployed at mybinder.org) is a JupyterHub service that lets you dynamically build & run images based on a git repo (heroku style!). Perhaps that'll be cool to have?
from kubeflow.
@BrentDorsey We definitely need containers suitable for serving a variety of models. I think a lot of companies have already developed this piece. For example seldon has defined a prediction API with implementations for various model types.
So hopefully we can figure out how to leverage one or more of the existing solutions rather than developing a new one.
@yuvipanda I'd love to understand binderhub more. One of the problems we have right now is if you're developing on cluster (e.g. via Juptyerlab thank you for that) and writing a program (e.g. TF) we need to build a container from within the cluster. Right now I don't have a good solution for building docker images from within the cluster. It sounds like binderhub might solve this problem.
/cc @cliveseldon
from kubeflow.
@jlewi - I like Pipeline.AI's prediction API, of course I'm biased as I'm a Pipeline.AI committer.
@yuvipanda - I'd also love to understand more about binderhub.
from kubeflow.
@BrentDorsey Do you have a pointer to AI's prediction server? I had trouble finding it in the repo.
from kubeflow.
from kubeflow.
Hi,
I work for Seldon, referenced above by @jlewi
We have pushed our seldon-core product to github https://github.com/SeldonIO/seldon-core
It's goals are to allow generic machine learning models to be deployed on Kubernetes. It would be great to get some feedback and how this contributes to this issue and more generally for the deployment side of KubeFlow.
from kubeflow.
Thanks @aronchick We're focused just on serving, not training. The core of what we provide is allow runtime graphs to be specified via a CRD. Those graphs may contain containers that are microservices which expose ML predictions but also routers (e.g., AB routing), combiners (e.g., ensembling), transformers (e.g., feature transforms) which may also be microservices inside containers.
At present this functionality is handled by 3 components that run in kubernetes, an operator to handle the CRD, an engine to handle the request/response service mesh described by your graph and an API front end that exposes these to the outside world as gRPC and REST. All this is quite tightly coupled to the CRD. So I suppose these parts would be similar to the TensorFlow serving part of the present KubeFlow except aiming to allow more complex graphs and generic ML runtime Tools (thus the discussion in this issue).
There is also Prometheus, Grafana (for metrics and a dashboard) and Kafka (and thus zookeeper) in the current helm chart but its not core and could be replaced/ignored.
from kubeflow.
Oh for sure but, unless I misunderstand, Seldon-core also handles packaging of the model for serving? If it's limited to serving, then I totally agree with you. When I was referring to components, it was more the different stages of a pipeline.
from kubeflow.
Yes, we provide a generic API for prediction models to handle request/responses. At a high level we want to make it easy to add runtime models so either the data scientist can do it themselves (dockerize their model and expose a REST/gRPC endpoint that respects the API) and/or we plan to provide some automated wrappers to make this easy.
So to be clear, packaging of the model is separate so could be done outside the project.
from kubeflow.
Seldon is now available as part of Kubeflow. So I'm closing this issue.
from kubeflow.
Related Issues (20)
- Unable to configure a specific hostname for notebook-controller generated VirtualServices HOT 1
- profile-controller: adding contributors field
- container_component parameter check issue
- User sees shared pipelines in Private section in Central Dashboard while not being a contributor in any namespace
- Problem with google.cloud.logging and set_*_limit
- Intel GPU not in default GPU vendor list in Jupyter Notebook server HOT 1
- RStudio image ignores pod environment variables
- [TRACKING] discussion & planning for future of `kubeflow/kubeflow` repo HOT 36
- when create profile,it need to pull image from internet,i need to switch it private registry HOT 2
- jupyter-web-app's `PodDefault` `configurations` are keyed by their label selector's key, not their name HOT 5
- Support non-Istio deployment, using Cilium support as a use case
- inferenceService can pull image directly HOT 1
- Internal error occurred: failed calling webhook "namespace.sidecar-injector.istio.io": failed to call webhook: Post "https://istiod.istio-system.svc:443/inject?timeout=10s": dial tcp 10.96.44.217:443: connect: connection refused HOT 1
- issue with inferenceService ingress HOT 1
- Support easier feature serving and model serving from External Add-Ons
- How to disable Multi User Isolation/ Remove Manage Contributors from UI HOT 1
- redundancy code
- Support regular OIDC logout from the central dashboard
- Load configuration from files instead of ConfigMaps
- Is there any optimization we can do when using preemptible instances running jobs.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubeflow.