elixir-nx/bumblebee
Pre-trained Neural Network models in Axon (+ 🤗 Models integration)
What it solves
Bumblebee allows Elixir developers to use pre-trained neural network models without needing to write complex machine learning code from scratch. It acts as an Elixir counterpart to the Python Transformers library, enabling the seamless import and execution of models from the Hugging Face Hub.
How it works
Bumblebee builds on top of Axon and integrates with the Hugging Face Hub to download model configurations and trained parameters. It fetches the blueprint (config.json) and the weights (PyTorch or Safetensors formats), then constructs a matching model implementation in Elixir. To process text, it utilizes Rust-based tokenizers via bindings to the Tokenizers library.
Who it’s for
Elixir developers who want to integrate machine learning tasks—such as text classification, image classification, and text generation—into their applications (e.g., Phoenix and LiveView apps) or interactive notebooks like Livebook.
Highlights
- Hugging Face Integration: Direct support for downloading and running models from the Hugging Face Hub.
- Hardware Acceleration: Supports JIT compilation and execution on both CPUs and GPUs via EXLA.
- End-to-End Pipelines: Provides high-level APIs for common tasks like filling masks in text.
- Cross-Language Compatibility: Imports models trained in PyTorch and supports fast Rust-based tokenizers.
Related
- Dispatch
- Project
- Dispatch
- Dispatch
- Dispatch