Slackbot
10/21/2022, 5:09 AMEric Riddoch
10/21/2022, 5:11 AMEric Riddoch
10/21/2022, 5:14 AMEric Riddoch
10/21/2022, 5:16 AMEric Riddoch
10/21/2022, 5:23 AMmodel artifact. They all seem to be declared in the bentofile.yaml which is the full bento. And you can't seem to have a bento without a bento.Service,.
To me that means that the REST API code is tightly coupled to the model code. What if we wrote a really nice service with JWT authentication, fancy authorization, and then hooked it up with an image classifier? I could see that classifier being implmented in sklearn one day, pytorch the next, and tensorflow the day after that. Assuming we have an interface defined (we pass in an image and get a vector of length 10), I feel like this should be achievable.
You'd definitely need to rebuild the service container if you grabbed a model with a different implementation--reason being that different models need different inference code. But besides that, Bento seems to make defininng a unified interface really easu.
I'd ask a TAM if they've seen other teams solve this problem.Eric Riddoch
10/21/2022, 5:26 AMEric Riddoch
10/21/2022, 5:30 AMTim Liu
10/21/2022, 1:02 PMShihgian Lee
10/21/2022, 4:11 PMHow does BentoML (the company) make money?
Is it just through a hosted Yatai solution? We probably wouldn’t use that at BEN since we’re so ECS focused.I don’t see Porch to adopt the full Yatai solution either. But, we are interested in model registry which is part of Yatai. I really like BentoML as a generic solution that can be dockerized and deployed to any platform. We are using Kubernetes (GKE). BentoML saves me a lot of time in model deployment and scaling. Because it integrates with our existing infrastructure and deployment orchestration platform, it allows other teams to contribute to our model services and scale them using their Kubernetes knowledge.
But I could absolutely see us paying for premium supportI was thinking along this line of reasoning too. Since we don’t use Yatai, can we pay for their consulting. I want BentoML to be around and continue to innovate 🙂
Can we decouple model training from model serving?It is sort of decoupled for us. We are using a managed Flyte service (https://www.union.ai/) to train our models. We save the model artifacts (pickle or pytorch.bin) to a GCS bucket with the run id (this is where model registry can improve our current stack). On the CI/CD deployment side, we load the artifacts using the framework and then save it using bentoml python API to produce bento model artifacts. In the CI/CD we use bentoml CLI to build a bento, export the bento, and then dockerize it using our container script.
To me that means that the REST API code is tightly coupled to the model code. What if we wrote a really nice service with JWT authentication, fancy authorization, and then hooked it up with an image classifier?In my opinion, the coupling is necessary in order to deliver the performance without us worrying about the implementations. But, we don’t have to couple our business logic to the framework. It is like any Web App frameworks where we have a good hexagonal design to separate our concerns. If we have a security module, it can be layered into BentoML as a service or library. There is no conflict. On AWS, that is to utilize API Gateway to implement all kinds of public facing rules and security that is totally decoupled from the BentoML service itself. I don’t think there is a conflict there, unless you have a unique use case that I am not aware of.
Oh another one: we’re hooking up model monitoring nowHa! I made the same request to the BentoML community. I am glad to hear it is coming soon. Also, I requested A/B testing capability which is an important part in model deployment.
Tim Liu
10/21/2022, 4:17 PM