上周,Elixir 社区向大家宣布,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型。这些模型得以实现归功于刚刚发布的 Bumblebee 库。Bumblebee 库是使用纯 Elixir 语言实现的 Hugging Face Transformers 库。

  • 查看 Elixir 社区的发布文章:
    https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O

为了帮助大家使用开始这些模型,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 生态建设中起的关键作用。

  • Bumblebee:
    https://github.com/elixir-nx/bumblebee

  • Tokenizers:
    https://github.com/elixir-nx/tokenizers

下一步,我们计划专注于使用 Elixir 进行神经网络训练和迁移学习,让开发者可以根据业务和应用的需求,增强和专注于预训练模型。我们同时也希望发布更多有关传统机器学习算法的进展。

上手实践

如果你想尝试使用 Bumblebee 库,你可以:

  • 下载 Livebook v0.8,从 Notebook 中的 "+ Smart" 单元菜单自动生成 "Neural Networks Tasks",我们目前正致力于在其他平台和空间上运行 Livebook (敬请期待!)

  • 我们同时也提供了 Bumblebee 模型在 Phoenix (+ LiveView) apps 中的应用示例:单文件 Phoenix 应用程序。这些示例为将它们集成到您的生产应用程序中提供了必要的构建模块

  • 想获取更多的实践方法,详阅 Notebooks:
    https://github.com/elixir-nx/bumblebee/tree/main/notebooks

如果你想帮助我们构建 Elixir 机器学习生态系统,欢迎尝试使用以上的项目,并提供一些建议。这里有许多有趣的领域,从编译开发到模型构建。我们非常欢迎你可以参与进来,一起为 Bumblebee 带来更多的模型和模型架构。Elixir 社区的未来发展方向是并发式、分布式和趣味性的。


客座文章,原作者为 Elixir 编程语言创始人: José Valim

英文原文发表在 Hugging Face 官方博客: 
https://hf.co/blog/elixir-bumblebee

译者: Slinae Lin (林珊)

加入我们成为翻译志愿者:
https://bit.ly/3vioxWa

从 GPT2 到 Stable Diffusion:Elixir 社区迎来了 Hugging Face的更多相关文章

  1. 阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量

    阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量 3 月 21 日,阿里巴巴将宣布开源 Alibaba Dragonwell.届时,开发者可通过阿里云开发者中心及 Github 社区下载 ...

  2. Elixir 单元测试

    概述 elixir 中自带了单元测试框架 ExUnit ,其中提供单元测试的一系列,主要包含以下模块: ExUnit: 单元测试框架 ExUnit.Assertions: 断言 ExUnit.Case ...

  3. Erlang/Elixir精选-第3期(20191216)

    2019年,Erlang社区在应用层上除了aeternity区块链让人印象深刻(Killer App)外,就没有特别出彩的应用出现.在Web,IoT,MessageQueue这些成熟领域,已经有相当成 ...

  4. 恭喜社区喜提三枚新 Committer!

    点击上方 蓝字关注我们 ✎ 编 者 按 Apache DolphinScheduler 社区最近又迎来三位新的 Committer,凭借对社区的高质量贡献,社区很荣幸地邀请他们加入 Committer ...

  5. 暑期 2021 参与社区:新一代工作流调度——Apache DolphinScheduler

    在众多企业都在进行数字化转型的大背景下,大数据.人工智能等行业有着十分广阔的前景,其发展也可谓如火如荼.发展过程中这其中当然离不开数据采集.数据流通和数据价值挖掘等各种环节,而各环节的打通需要一个坚实 ...

  6. 一键上手时下最火AI作画工具

    摘要:在华为云ModelArts上, 无需考虑计算资源.环境的搭建,就算不懂代码,也能按照教程案例,通过Stable Diffusion成为艺术大师. 本文分享自华为云社区<跟着华为云Model ...

  7. [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集

    Erlang Resources 小站 2013年7月~12月资讯合集,方便检索.     附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集    小站地 ...

  8. Python之父重回决策层

    在Guido van Rossum(吉多·范罗苏姆)卸任BDFL(“终身仁慈独裁者”)一职半年多之后,Python社区迎来了新的治理新方案:指导委员会模式,而经过投票Guido van Rossum也 ...

  9. Surging1.0发布在即,.NET开发者们,你们还在等什么?

    Surging1.0发布在即,.NET开发者们,你们还在等什么? 开源,是近三十年来互联网经久不衰的话题.它不仅仅是一种技术分享的形态,更是一种开放,包容,互利共赢的互联网精神. 不到30年前,大神林 ...

  10. Ubuntu下安装Docker CE

    官网配置步骤:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1 安装Docker社区版仓库 Upd ...

随机推荐

  1. HTML元素大全(1)

    01.基础元素 <h1/2/3/4/5/6>标题 从大h1到小h6,块元素,有6级标题.是一种标题类语义标签,内置了字体.边距样式. 合理使用h标签,主要用于标题,不要为了加粗效果而随意使 ...

  2. LcdTools如何添加图片画面到PX01显示

    LcdTools打开点屏工程,切到"画面设置"栏,在"画面资源"栏选择"Picture"画面,先设置图片ID编号(此编号用于PG对图片编号, ...

  3. 【JavaSE】JDK 环境配置

    下载 JDK 网站网址:oracle 安装 JDK 双击运行安装包 配置环境变量

  4. Druid SQL注入防御模块技术浅析

    官方参考: https://www.bookstack.cn/read/Druid/ffdd9118e6208531.md 前置知识 什么是Druid? Druid是一个高效的数据查询系统,主要解决的 ...

  5. TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 本文地址:https://www.showmeai.tech/artic ...

  6. linux下搭建oh-my-zsh环境

    目标:因为用习惯了zsh的shell环境,所以习惯在服务器上也搭建zsh环境,但是每次搭建都需要Google每一步骤,感觉很麻烦,所以决定记录一下,免得一次次查 1. 安装zsh zsh是一款shel ...

  7. 工作中,本人常用到的unzip、zip命令

    1. 命令安装 1.1 zip安装 yum install zip 1.2 unzip安装 yum install unzip 2. 常用命令 2.1 常用zip命令 2.1.1 压缩文件 zip x ...

  8. C#面试题基础

    1.什么是GAC,他的作用是什么? 我的这篇文章有详细的介绍 https://www.cnblogs.com/zxtang/p/14313273.html 2.描述一个被protected inter ...

  9. Kubernetes集群管理工具kubectl

    Kubernetes集群管理工具kubectl 概述 kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装和部署 命令格式 ...

  10. 2022-11-07 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...