Earlier quoted context omitted.
That's a good question! There's an FAQ entry on the homepage that touches on this, but let me know if I can improve it: > ONNX converts models while Carton wraps them. Carton uses the underlying framework (e.g. PyTorch) to actually execute a model under the hood. This is important because it makes it easy to use custom ops, TensorRT, etc without changes. For some sophisticated models, "conversion" steps (e.g. to ONNX…
ONNX runtime doesn't convert models, it runs them, and it has bindings in several languages. And most importantly it's tiny compared to the whole python package mess you get with TF or pytorch. If carton took a TF/pytorch model and just dealt with the conversion into a real runtime, somehow using custom ops for the bits that don't convert, that would be amazing though.
Show HN: Carton – Run any ML model from any programming language
41–50 of 59 posts
Re: Show HN: Carton – Run any ML model from any programming language
#42Is this the same as Nvidia's Triton?
Re: Show HN: Carton – Run any ML model from any programming language
#43> Carton wraps your model with some metadata and puts it in a zip file Why a zip file?
It's hardly revolutionary to do this, here are some common examples of things that are zip files but don't label themselves as such:
- .jar
- .odt, .ods, .odp, .docx, .xlsx, .pptx
- .epub
- .apk
- .crx, .xpi
Re: Show HN: Carton – Run any ML model from any programming language
#44Earlier quoted context omitted.
Replying to this to explain the downvotes. We all think this. My initial thought was that this is probably a startup selling PyTorch-as-a-Service, and I did not bother to read the article. It turns out that I was wrong, and this might even be useful -- if not for the implementation, then perhaps for the idea. However, it turns out to make Hacker News a nicer space if we follow these guidelines: > Please don't post sh…
It's not a shallow dismissal. The selling point of this thing is cross-language interoperability, and while they advertise it, they don't deliver. Sorry, but if your "any language" is "Python or Javascript" your project hasn't even reached the proof of concept stage, it's just a vague idea at this point. Supporting C++ and C will be 90% of the work and the real challenge.
Re: Show HN: Carton – Run any ML model from any programming language
#45Earlier quoted context omitted.
We have a similar high performance AI stack written in Go capable to load many different models from different frameworks. This is work of several years. Just saw your comment and thought about our company internal talk to release everything under an open source license. Thanks for reminding me :) What are your use-cases?
Wow, make it open source quickly!!! :hype:. It's a classic Python REST API for model serving. But we have very low latency constraints. As such, rewriting in more high performant backend languages e.g. Go or Rust would substantially reduce resource usage (by reducing horizontal scaling need). Pre-baked model serving frameworks e.g. Nvidia's Triton aren't an option, since we have to query a feature store, and do some…
In general writing pure Go inference libraries sucks. Not easy to do array/vector manipulation, not easy to do SIMD/CUDA acceleration, cgo is not go, etc. I wrote a fast XGBoost library at least (https://github.com/stillmatic/arboreal) - it's on par with C implementations, but doing anything more complex is going to be tricky.
Re: Show HN: Carton – Run any ML model from any programming language
#46> From any [*] programming language. [*] If "any programming language" is Python or Javascript.
It basically runs with the promise that you can package CUDA / PyTorch / Python interpreter into the host language in some way, and use it.
This is true for Android, not true for iOS, true for almost all desktop systems, somewhat true for web (packaging PyTorch + Python interpreter in WASM, the latter is easy, the former, I am unsure), probably not true for FAAS environments (such as Cloudflare worker, or AWS Lambda).
Re: Show HN: Carton – Run any ML model from any programming language
#47Perhaps we can (should?) have some universal package hub, where you can package and push a "thing" from any language, and then pull and use it from any other language. With some metadata describing the input/output schema. The underlying engine can use WASM or containers or something like that.
Re: Show HN: Carton – Run any ML model from any programming language
#48Make it for Go, and I am sold. Running ML models in Go services is still an unsolved problem.
Re: Show HN: Carton – Run any ML model from any programming language
#49Earlier quoted context omitted.
Replying to this to explain the downvotes. We all think this. My initial thought was that this is probably a startup selling PyTorch-as-a-Service, and I did not bother to read the article. It turns out that I was wrong, and this might even be useful -- if not for the implementation, then perhaps for the idea. However, it turns out to make Hacker News a nicer space if we follow these guidelines: > Please don't post sh…
It's not a shallow dismissal. The selling point of this thing is cross-language interoperability, and while they advertise it, they don't deliver. Sorry, but if your "any language" is "Python or Javascript" your project hasn't even reached the proof of concept stage, it's just a vague idea at this point. Supporting C++ and C will be 90% of the work and the real challenge.
Additionally I would have some serious performance concerns when it comes to marshaling the data across languages boundaries.
Re: Show HN: Carton – Run any ML model from any programming language
#50Just some random brain dump: Why limit to ML models? Perhaps we can (should?) have some universal package hub, where you can package and push a "thing" from any language, and then pull and use it from any other language. With some metadata describing the input/output schema. The underlying engine can use WASM or containers or something like that.