Earlier quoted context omitted.
ASDF is easy to use once you've learned a few of the basic commands, and that way you'll have an easy time when new versions come out and want to check out new features. Like the built-in JSON parser, the gradual typing when it drops, things like that. If you built something useful you might not want to upgrade it just to look at the new stuff, and if you built nothing and just drop into iex a couple of times per yea…
I think the Python dev style I adopted can't be easily ported to Elixir. In Python, I rely heavily on an LSP because I want to fiddle with a lot of functions/classes located deeply in libraries. In VSCode, I simply press CMD and click on any function (or in Neovim, I `gf` or `gd` it). I thought it'd make even more sense in Elixir because apparently everything is a module. Am I missing something? How do you use iex ef…
Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
31–40 of 68 posts
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#32IMO the big win for Elixir/Nx/Bumblebee/etc is that you can do batched distributed inference out of the box without deploying anything separate to your app or hitting an API. Massive complexity reduction and you can more easily scale up or down. https://hexdocs.pm/nx/Nx.Serving.html#content And there's also a scale to 0 story for when you're not using that GPU at all: https://github.com/phoenixframework/flame 1 langu…
I've been really curious about BEAM languages but never made the leap. How well does it manage heterogeneous compute? I'm used to other languages making me define what happens on CPU vs GPU and defining cross-machine talk around those kinds of considerations. What parts of that does elixir (and company) allow me to not write? Is there a good balance between abstractions when it comes to still maybe wanting control ov…
If you have a parallelizeable workflow, it's very easy to make it (properly!) parallel locally, where by "properly" I mean having supervision trees, sane restart behavior, etc.
And once you have that you can extend that parallelism to different nodes in a network (with the same sanity around supervision and discovery) basically for free. Like, one-line-of-code for free.
Nonetheless, it's all message-passing, and so pretty high level. AFAIK it's not designed for parallelizing compute at GPU scale.
That being said, if you have multiple GPUs and multiple machines that have to coordinate between them, Elixir/Erlang is pretty much perfect.
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#33Earlier quoted context omitted.
One factor may be that a few years back the language creator (José Valim, also the author of this article) announced that the language is basically "completed", and that they would shift focus to other things like developer tooling and other projects outside of the language itself. José is quite prolific, so I think it's natural that he moves on to things like this. It's hard to know what reception will be like until…
> a few years back the language creator announced that the language is basically "completed" And then began adding an entire static type system to the language
Its addition into the next minor verision (1.17) will bring warnings that address some of the most common footguns in the language, like comparing structs.
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#34MLIR enables so much potential to systems that use it
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#35""" These features bring Numerical Elixir and its ability to setup distributed model serving, over CPUs and GPUs, to traditional meachine learning algorithms, allowing developers and data practitioners to tackle a wider number of problems within the Elixir ecosystem. """
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#36Earlier quoted context omitted.
I think the Python dev style I adopted can't be easily ported to Elixir. In Python, I rely heavily on an LSP because I want to fiddle with a lot of functions/classes located deeply in libraries. In VSCode, I simply press CMD and click on any function (or in Neovim, I `gf` or `gd` it). I thought it'd make even more sense in Elixir because apparently everything is a module. Am I missing something? How do you use iex ef…
Sorry you are having so many issues. That has not been my experience with elixir-ls either locally or in Codespaces. Just want to say that when you do get it working, it does indeed have that and many more features. If you are interested, the Elixir slack is very active and helpful and there is a #language-server channel.
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#37IMO the big win for Elixir/Nx/Bumblebee/etc is that you can do batched distributed inference out of the box without deploying anything separate to your app or hitting an API. Massive complexity reduction and you can more easily scale up or down. https://hexdocs.pm/nx/Nx.Serving.html#content And there's also a scale to 0 story for when you're not using that GPU at all: https://github.com/phoenixframework/flame 1 langu…
I've been really curious about BEAM languages but never made the leap. How well does it manage heterogeneous compute? I'm used to other languages making me define what happens on CPU vs GPU and defining cross-machine talk around those kinds of considerations. What parts of that does elixir (and company) allow me to not write? Is there a good balance between abstractions when it comes to still maybe wanting control ov…
Aparapi allows Java developers to take advantage of the compute power of GPU and APU devices by executing data parallel code fragments on the GPU rather than being confined to the local CPU. It does this by converting Java bytecode to OpenCL at runtime and executing on the GPU, if for any reason Aparapi can't execute on the GPU it will execute in a Java thread pool.
https://github.com/aparapi/aparapi
but avoid the non-official fork which sometimes comes up in search results.
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#38From a "marketing strategy" point of view, I wonder what the thinking is in investing in this stuff so heavily when Python seems to be kind of the go-to? Will they be able to create a "good enough" environment to do that kind of work with Elixir? Is it just someone or a company scratching their own itch? This is a genuine question - I don't know much about "AI stuff", but do know something about the economics of prog…
I feel like a big audience would be people moving away from Spark.
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#39People have to realise these are mostly for hobby. It is really hard to get these working with other libraries. Take explorer, it’s a mess trying to implement dplyr verbs in elixir. Anyone trying to use it is going to hit its limitations sooner or later. I tried migrating to it from polars but it is too frustrating.. gave up after some time. Why will people use half baked libraries instead of python ? I will stick to…
Re: Elixir and Machine Learning in 2024 so far: MLIR, Arrow, structured LLM, etc.
#40People have to realise these are mostly for hobby. It is really hard to get these working with other libraries. Take explorer, it’s a mess trying to implement dplyr verbs in elixir. Anyone trying to use it is going to hit its limitations sooner or later. I tried migrating to it from polars but it is too frustrating.. gave up after some time. Why will people use half baked libraries instead of python ? I will stick to…
I think most of the replies to your post suggest that you are correct, even though the downvotes are unfortunate.