- https://github.com/elixir-nx/axon Nx-powered Neural Networks
- https://github.com/elixir-nx/nx Multi-dimensional arrays (tensors) and numerical definitions for Elixir
- https://github.com/elixir-nx/scholar Traditional machine learning on top of Nx
- https://github.com/elixir-nx/bumblebee Pre-trained Neural Network models in Axon (+ Models integration)
- https://github.com/elixir-explorer/explorer Series (one-dimensional) and dataframes (two-dimensional) for fast and elegant data exploration in Elixir
- https://fly.io/blog/rethinking-serverless-with-flame/ (for offloading large work to remote containers)
- https://www.youtube.com/watch?v=RABXu7zqnT0 InstructorEx
And of course Livebook (https://livebook.dev)
Old but interesting video https://www.youtube.com/watch?v=g3oyh3g1AtQ (Bumblebee: GPT2, Stable Diffusion, and more in Elixir)
A talk on the upcoming Elixir conference (https://2024.elixirconf.com/schedule/#schedules) is actually titled "Livebook in the cloud: GPUs and clustered workflows in seconds".
Each library has been building on top of the previous libraries & abstractions (including transpiling Elixir instructions into GPU code, see "defn" etc).
Since you mention Erlang, there is even a Machine Learning Working Group at https://erlef.org/wg/machine-learning.
The most iconic & advertised case I'm aware of is the work done at Amplified https://www.amplified.ai ; this has been the topic of a Keynote at ElixirConf EU this year, which you can find at https://www.youtube.com/watch?v=5FlZHkc4Mq4.
I am also starting to use ML + Elixir in production and I'm aware of other individuals doing so.
I do not have a registry of companies doing so, but we're seeing more and more experienced ML practitioners mentioning they are coming from Python and willing to try something different (e.g. https://elixirforum.com/t/data-science-and-machine-learning-... and other posts on Elixir Forum).
Hope this helps!
How developed is Elixir/Erlang in this area? What are the key advantages?
> Does anyone have experience building (Supervised / Unsupervised) models using something other than Python (including deployment)?
XGBoost/LightGBM have a C API and can be used from pretty much anything, deployment is not a problem. Practically building models is more about dealing with data, the ecosystem tends to revolve around Python and R for that reason.
Even so, trying to avoid Python in the world of Jupyter will put you in a very tough spot. In general, doesn't matter how much you dislike it, there's no real way around it. You'll have to face it in some capacity whether you like it or not.
I'm currently diving into Machine Learning using Python + Scikit-learn, and I'd love to one day replace Python with Ruby. But looking at the current ML ecosystem I don't see that happening. Does anyone have experience building (Supervised / Unsupervised) models using something other than Python (including deployment)?