#ai #elixir #reading-list

🔗 End-to-End Machine Learning in Elixir

I am routinely asked 2 questions that usually look something like this: I am building a startup/application/product/whatever,

  1. Should I use Elixir?
  2. Should I use Nx?

Usually, without hearing the use case, the best answer I can give to both of these questions is: Use whatever language you enjoy working in. Arguments over language preferences are about as productive as arguments over your favorite color or your favorite food. Generally, it's just a matter of opinion.

The second best answer I can give to these questions is a resounding "YES." Building applications with Elixir—especially machine-learning-powered applications—is easier than ever. In a few hours, you can build out a scalable machine-learning application with automatic retraining, labeling tools, and more. In this post, I am going to show you how. We're going to build a simple enriched newsfeed that receives headlines in "real-time" and processes them with enrichments. We'll also discuss how you can build on some of Elixir's primitives to build continuous training, data labeling for providing feedback to the model, and more.

Note that this is a relatively simple example of a machine learning application; however, I believe the simplicity of the implementation holds as your application scales. One of the things that continuously impresses me about the Elixir ecosystem is how much you can accomplish with language primitives. A chief complaint I hear from developers coming from other ecosystems is the lack of library support for their specific use case. It's true that the Elixir ecosystem lacks the breadth of library coverage of an ecosystem like Python, but that doesn't make it any less powerful. In fact, whenever I find myself reaching for a library, I often realize the need is solved with some simple application of features built-in to the language. Even more impressive, these solutions are often simpler than the library or libraries I had envisioned using.

Now, don't get me wrong, I do sometimes miss the convenience of pip install thekitchensink; however, I find that when building large applications this overreliance on dependencies leads to less maintainable programs in the long term. Inevitably thekitchensink doesn't meet your niche use case, and you need to start monkey patching the library or coming up with your own primitives. Adopting Elixir has the potential to greatly simplify your application's stack.

continue reading on dockyard.com

⚠️ This post links to an external website. ⚠️