SuperAPI AI 工具集

petals

Petals 是一个以 BitTorrent 风格运行大型语言模型的分布式平台,由 BigScience 研究工坊相关团队开发。它允许用户在自己的桌面电脑或 Google Colab 上生成文本并针对自有任务进行微调,支持的模型包括 Llama 3.1(最高 405B)、Mixtral(8x22B)、Falcon(40B+)和 BLOOM(176B)。用户只需加载模型的一小部分,即可加入由其他人共同服务的网络,其余部分由网络中的其他参与者提供。据官方说明,其微调与推理速度比 offloading 快最多 10 倍;在单批次推理下,Llama 2(70B)可达每秒最多 6 个 token,Falcon(180B)可达每秒最多 4 个 token,足以支持聊天机器人和交互式应用。Petals 同时提供类似 API 的便利性与 PyTorch 和 Hugging Face Transformers 的灵活性,用户可使用任意微调和采样方法、执行自定义模型路径或查看隐藏状态。该项目拥有公开 swarm 监控、聊天机器人 Web 应用、多篇教程与示例,并已在 ACL 2023 和 NeurIPS 2023 发表相关论文。

访问官网

工具介绍

Petals 是一个以 BitTorrent 风格运行大型语言模型的分布式平台,目标是在家用设备上运行 LLM。其核心思路是:用户加载模型的一小部分,然后加入一个由多人共同服务其他部分的网络,从而协作完成微调与推理。

主要能力

  • 支持生成文本的模型包括:Llama 3.1(最高 405B)、Mixtral(8x22B)、Falcon(40B+)和 BLOOM(176B),并支持针对用户自有任务进行微调。
  • 微调与推理速度比 offloading 快最多 10 倍。
  • 单批次推理性能:Llama 2(70B)最高每秒 6 个 token,Falcon(180B)最高每秒 4 个 token,足以支撑聊天机器人和交互式应用。
  • 用户可使用任意微调和采样方法、执行自定义的模型路径,或查看隐藏状态;兼具 API 的便利与 PyTorch 和 Hugging Face Transformers 的灵活性。

使用方式

  • 可在桌面电脑或 Google Colab 中试用,官方提供 Colab 入口。
  • 若运行 Llama,需先申请其权重访问权限,然后在终端运行 huggingface-cli login 再加载模型,或直接使用其聊天机器人应用。
  • 连接自己的 GPU 可增加 Petals 容量:可协助服务已有模型,或托管来自 Hugging Face Model Hub 的新模型。官方给出了托管 Llama 3.1(405B)Instruct 一部分的示例。
  • 托管环境方面,官方提供:Linux + Anaconda 下针对 NVIDIA GPU 的命令(AMD 另有指引);Windows + WSL 的 Wiki 指南;面向 NVIDIA GPU 的 Docker 镜像(AMD 另有指引);macOS + Apple M1/M2 GPU 需先安装 Homebrew 再执行相应命令。更多内容(如多 GPU 使用、开机启动服务器等)见官方文档。
  • 参与托管时,加载并托管 10 个以上 block 后,可通过 --public_name YOUR_NAME 指定名称或链接,展示在 swarm 监控上。

适用场景

  • 在个人电脑或 Colab 上运行和微调超大规模语言模型。
  • 构建聊天机器人和交互式应用(官方提供聊天机器人 Web 应用源码,通过 HTTP/WebSocket 端点连接 Petals)。
  • 开展提示微调等实验,例如对 Llama-65B 做文本语义分类、对 BLOOM 做人物化聊天机器人。
  • 需要查看模型隐藏状态或自定义执行路径的研究与开发。
  • 通过公开 swarm 监控查看公共网络状态。

限制与注意事项

  • 隐私方面:数据会借助公共 swarm 中的其他人进行处理;对于敏感数据,可在一群信任的人之间建立私有 swarm。
  • 安全方面:托管服务器不允许他人在你的计算机上运行自定义代码。
  • 运行 Llama 需要先获得其权重访问权限。
  • 性能数据为官方所述的单批次推理速度,实际表现可能因环境而异。

其他信息

  • 官方提供基础教程(入门、提示微调 Llama-65B 做文本语义分类、提示微调 BLOOM 创建人物化聊天机器人)、聊天机器人 Web 应用源码、公开 swarm 监控源码,以及私有 swarm 和运行自定义模型的高级指南。
  • 相关论文发表于 ACL 2023(系统演示)与 NeurIPS 2023,项目属于 BigScience 研究工坊的一部分。