Bumblebee 项目介绍
Bumblebee 是一个基于 Axon 的项目,用于提供预训练的神经网络模型。它与 Hugging Face 的模型进行了集成,因此用户可以通过简单的代码下载并执行机器学习任务。
快速开始
使用 Bumblebee 的最佳方式是通过 Livebook。用户可以通过 Livebook 的智能单元,简单几步点击就可以执行不同的神经网络任务,并可以根据需要调整代码和部署。此外,Bumblebee 还在 Phoenix (+ LiveView) 应用中提供了单文件的神经网络运行示例。
安装步骤
要开始使用 Bumblebee,用户需要先在 mix.exs
文件中添加 Bumblebee 和 EXLA 作为项目依赖。虽然 EXLA 是可选的,但它能帮助用户在 CPU/GPU 上即时编译并运行模型。
在 config/config.exs
文件里,默认配置 Nx 使用 EXLA 后端。为了使用 GPU,用户需要相应设置 XLA_TARGET 环境变量。
在笔记本和脚本中,使用 Mix.install/2
来安装和配置依赖项。
使用示例
Bumblebee 提供简单的接口来执行模型加载和处理任务,例如加载 BERT 模型并执行文本填充任务。在示例代码中,用户可以看到如何加载并使用模型来预测文本中被掩盖单词的可能性。
HuggingFace Hub 集成
HuggingFace Hub 是一个平台,托管着大量的模型、数据集和演示应用程序。Bumblebee 能够从 Hub 中导入这些模型,从而为 Elixir 环境下的 Transformer 提供支持。
模型和文件支持
在 Transformers 格式的仓库中,常见的文件包括用于模型配置的 config.json
文件,以及包含模型参数的 PyTorch 文件。Bumblebee 支持从这些文件中导入模型,但需要确保模型类型在 Bumblebee 中已被实现。
分词器支持
Bumblebee 依赖于 Rust 实现的快速分词器,并需要 tokenizer.json
文件。有些模型只提供慢速分词器配置,对于这种情况,用户可以通过工具将其转换为快速分词器配置。
授权许可
Bumblebee 遵循 Apache 2.0 开放源码许可证,用户需遵循许可的条款进行使用。
通过简单易用的接口和丰富的集成,Bumblebee 可以让机器学习开发者快速上手并高效地进行模型实验和部署。