共计 1426 个字符,预计需要花费 4 分钟才能阅读完成。
上周,Elixir 社区向大家发表,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型。这些模型得以实现归功于 刚刚公布的 Bumblebee 库。Bumblebee 库是应用纯 Elixir 语言实现的 Hugging Face Transformers 库。
为了帮忙大家应用开始这些模型,Livebook—— 用于 Elixir 语言的计算 notebook 平台团队创立了「智能单元」汇合,让开发者能够仅用三次点击即搭建各种神经网络模型工作。
因为 Elixir 运行在反对并发和分布式的 Erlang 虚拟机上,开发者能够将这些模型嵌入 Phoenix Web 利用,作为他们现有 Phoenix Web 利用的一部分,集成在应用 Broadway 的数据处理管道中,将模型和 Nerves 嵌入式零碎 一起部署,而无需依赖第三方软件。在所有场景中,Bumblebee 模型都会编译到 CPU 和 GPU 中。
背景
将机器学习模型引入 Elixir 的致力始于大概 2 年前的 Numerical Elixir (Nx) 我的项目打算。Nx 我的项目实现 Elixir 多维张量和「数值定义」,作为可编译到 CPU/GPU 的 Elixir 子集。Nx 我的项目没有重造轮子,而是应用 Google XLA 绑定 (EXLA) 和 Libtorch (Torchx) 进行 CPU/GPU 编译。
Nx 我的项目的倡导还催生了其余几个我的项目。Axon 我的项目从其余我的项目,如 Flax 和 PyTorch Ignite 我的项目中取得启发,为 Elixir 引进了可进行性能组合的神经网络。Explorer 我的项目借鉴了 dplyr 和 Rust’s Polars,为 Elixir 社区引进了富裕表现力和高性能的数据框 (DataFrame)。
Bumblebee 和 Tokenizers 是咱们最新公布的库函数。咱们感激 Hugging Face 对机器学习畛域跨社区和跨工具合作的反对,以及 Hugging Face 在减速 Elixir 生态建设中起的关键作用。
下一步,咱们打算专一于应用 Elixir 进行神经网络训练和迁徙学习,让开发者能够依据业务和利用的需要,加强和专一于预训练模型。咱们同时也心愿公布更多无关传统机器学习算法的停顿。
上手实际
如果你想尝试应用 Bumblebee 库,你能够:
- 下载 Livebook v0.8,从 Notebook 中的 “+ Smart” 单元菜单主动生成 “Neural Networks Tasks”,咱们目前正致力于在其余平台和空间上运行 Livebook (敬请期待!😉)
- 咱们同时也提供了 Bumblebee 模型在 Phoenix (+ LiveView) apps 中的利用示例:单文件 Phoenix 应用程序。这些示例为将它们集成到您的生产应用程序中提供了必要的构建模块
- 想获取更多的实际办法,详阅 Notebooks
如果你想帮忙咱们构建 Elixir 机器学习生态系统,欢送尝试应用以上的我的项目,并提供一些倡议。这里有许多乏味的畛域,从编译开发到模型构建。咱们十分欢送你能够参加进来,一起为 Bumblebee 带来更多的模型和模型架构。Elixir 社区的将来倒退方向是并发式、分布式和趣味性的。
客座文章,原作者为 Elixir 编程语言创始人: José Valim
英文原文发表在 Hugging Face 官网博客:
https://hf.co/blog/elixir-bumblebee译者: Slinae Lin (林珊)
退出咱们成为翻译志愿者:
https://bit.ly/3vioxWa