上周,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. 1.轮询、长轮询、websocket简介

    一.轮询 前端每隔固定时间向后台发送一次请求,询问服务器是否有新数据   缺点: 延迟,需要固定的轮询时间,不一定是实时数据 大量耗费服务器内存和宽带资源,因为不停的请求服务器,很多时候 并没有新的数 ...

  2. wpf 手指触摸图片放大缩小 设置放大缩小值

    xaml代码: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/w ...

  3. C#中的装箱和拆箱

    什么是装箱和拆箱 装箱(boxing)和拆箱(unboxing)是C#类型系统的核心概念.是不同于C与C++的新概念!,通过装箱和拆箱操作,能够在值类型和引用类型中架起一做桥梁. 换言之,可以轻松的实 ...

  4. Linux系统安装python

    1. 安装python3 1.1 下载python3安装包及其依赖包(该步骤可忽略,步骤1.2 提供应用包链接) ① 在python官网下载所需的python3,或者用外网centos机器的wget命 ...

  5. jmeter接口性能测试【CSV文件读取+接口关联+设置集合点】

    一.前言 周计划上安排了个接口性能测试的任务,便开始了职业生涯的第一个接口性能测试... 接口进行压测之前,首先需要调通脚本.有两种方式,一种是通过抓包工具(如fiddler)抓取业务接口:另一种是通 ...

  6. DevExpress窗体加载等待

    using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; using System; using System.Collecti ...

  7. 如何使用ModelBox快速提升AI应用性能?

    摘要:在开发初期开发者往往聚焦在模型的精度上,性能关注较少,但随着业务量不断增加,AI应用的性能往往成为瓶颈,此时对于没有性能优化经验的开发者来说往往需要耗费大量精力做优化性能,本文为开发者介绍一些常 ...

  8. SpringBoot 08: SpringBoot综合使用 MyBatis, Dubbo, Redis

    业务背景 Student表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COL ...

  9. mysql删库报错

    3.开发人员测试环境删库报错 #解决:在数据库的物理目录中(mysql的data目录),进入要删除的数据库目录,查看是否有文件存在,若存在,使用rm -rf 命令清除:再次执行删除数据库命令即可 [r ...

  10. 【云原生 · Kubernetes】配置 Rancher docker 云平台

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 1.1 Rancher 概述 Rancher 是一个开源的企业级容器管理平台.通过 Ranc ...