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 集成,用于下载模型配置和训练参数。它获取蓝图(config.json)和权重(PyTorch 或 Safetensors 格式),然后在 Elixir 中构建匹配的模型实现。处理文本时,它通过与 Tokenizers 库的绑定,使用基于 Rust 的分词器。

适用人群

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

主要亮点

  • Hugging Face 集成:直接支持从 Hugging Face Hub 下载并运行模型。
  • 硬件加速:通过 EXLA 支持在 CPU 和 GPU 上进行 JIT 编译和执行。
  • 端到端流水线:提供用于常见任务(如文本掩码填充)的高级 API。
  • 跨语言兼容性:可导入 PyTorch 训练的模型,并支持快速的 Rust 基础分词器。

相关