bigscience-workshoppetals:在家跑大模型,它用分布式做到了
bigscience-workshop/petals:在家跑大模型,它用分布式做到了
petals 在 GitHub 上已经拿到 10.1K Star 了。
这个项目采用类似 BitTorrent 的分布式架构,让用户在普通桌面电脑或者 Google Colab 上就能运行 Llama 3.1、Mixtral、Falcon 等大参数语言模型,推理和微调速度比普通 offloading 方案快 10 倍。
1、核心能力
petals 可以让用户直接调用分布式部署的大模型,代码和普通 Transformers 库完全兼容。用户只需要几行代码,就能运行最大 405B 参数的 Llama 3.1 模型,不需要本地存储完整的模型权重。
模型调用过程和本地模型完全一致,用户可以自定义采样策略、访问模型隐藏层状态,也可以对模型进行微调,满足个性化任务需求。官方提供了在线聊天bot,用户可以直接体验运行效果。
2、基础使用
使用前先安装 petals 库,然后导入对应的分词器和分布式模型类,指定要使用的模型名称,就可以像调用本地模型一样生成文本。
如果要运行 Llama 系列模型,需要先在 Hugging Face 申请对应模型的访问权限,在终端执行 huggingface-cli login 登录账号后即可正常调用。官方提供了 Colab 示例脚本,用户可以直接在云端运行测试。
隐私方面,公共网络中的数据会由其他参与节点处理,用户如果有敏感数据需求,可以搭建私有的分布式网络,只在信任的节点之间共享算力。
3、贡献算力
petals 是社区驱动的项目,运行依赖用户贡献自己的 GPU 资源。用户可以选择托管现有模型的部分层,也可以上传 Hugging Face Model Hub 中的新模型到分布式网络中。
官方提供了多平台的部署方案,Linux、Windows WSL、Docker、macOS 都可以运行服务。用户只需要按照对应平台的文档执行几行命令,就能加入分布式网络,贡献自己的算力。
托管的模型块超过 10 个的用户,ID 会展示在公共网络的监控页面上,作为贡献的标识。提供算力的节点不会被其他用户执行自定义代码,安全性有保障。
4、工作原理
用户本地只需要加载模型的一小部分,然后加入公共分布式网络,和其他用户贡献的节点共同完成推理或微调任务。单批次推理 Llama 2 70B 模型可以达到每秒 6 个 token,Falcon 180B 模型可以达到每秒 4 个 token,足够支撑聊天机器人和交互类应用使用。
整个架构兼顾了 API 的易用性和 PyTorch 的灵活性,用户可以自定义微调方法、执行自定义的模型路径,不需要关心底层的分布式调度逻辑。
5、适用场景
- 没有足够算力运行大模型的个人开发者,需要快速测试大模型能力
- 做分布式大模型研究的科研人员,需要低成本的大规模模型运行环境
- 搭建轻量化大模型应用的团队,需要降低模型部署的硬件成本
开源地址:https://github.com/bigscience-workshop/petals
gscience-workshop/petals
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)