4 ms·
One reason is that the most popular models were developed using either the TensorFlow or PyTorch Python APIs. The pre-trained models took an immense amounts of
by neumll 5y ago
One reason is that the most popular models were developed using either the TensorFlow or PyTorch Python APIs. The pre-trained models took an immense amounts of compute resources to build. Additionally, those who built the models weren't necessarily developers and Python is an low-barrier to entry language.
There are a number of models that are now available via APIs and can be used from any language.
- FridgeSeal 5y ago> The pre-trained models took an immense amounts of compute resources to build. Oh definitely, but nobody is serving models from the same machine + process that they used to train them right? And solutions like ONNX exist (although TF and PyTorch’s support is inconsistent at best) Additionally, those who built the models weren't necessarily developers and Python is an low-barrier to entry language. It just feels like an engineering anti-pattern to build “down” to this level, instead of skilling people up, or standardising on some standard model serialisation and serving format, model serving tools exist, and they’re often written in faster/more optimised languages, so at that point, why bother with Python after actual model training at all.
- neumll 5y agoTrue, if a team doesn't want to use Python, the way models were trained shouldn't be the reason to use Python. ONNX is a good option, txtai has a notebook that shows how to export models for use in Rust/JavaScript/Java - https://github.com/neuml/txtai/blob/master/examples/18_Export_and_run_models_with_ONNX.ipynb https://github.com/neuml/txtai/blob/master/examples/18_Expor... Seems like a lot of tooling is being created in other languages besides Python, may just take some time to get there.