elixir-nx/bumblebee

Pre-trained Neural Network models in Axon (+ 🤗 Models integration)

解决的问题

Bumblebee 允许 Elixir 开发者无需从头编写复杂的机器学习代码,即可使用预训练的神经网络模型。它作为 Python Transformers 库在 Elixir 中的对应物,支持从 Hugging Face Hub 加载和执行模型。

工作原理

Bumblebee 基于 Axon 构建,并与 Hugging Face Hub 集成,用于下载模型配置和训练参数。它支持导入 PyTorch 和 Safetensors 格式的模型。为了高效运行模型,它使用 EXLA 实现 JIT 编译,并在 CPU 或 GPU 上执行。

适用人群

希望将文本分类、图像分类、文本生成等机器学习任务集成到其应用程序(如 Phoenix 和 LiveView 应用)或交互式笔记本(如 Livebook)中的 Elixir 开发者。

主要亮点

  • Hugging Face 集成:仅需几行代码即可从 Hugging Face Hub 直接加载模型和分词器。
  • 硬件加速:通过 EXLA 支持 GPU 执行。
  • 端到端流水线:提供常见任务(如 Bumblebee.Text.fill_mask)的高级 API 和便于部署的推理流水线。
  • 广泛模型支持:实现多种神经网络架构,包括 BERT 和 Stable Diffusion,允许用户加载对应的预训练权重。

相关