AI个人学习
和实操指南

Petals:分布式共享GPU运行和微调大语言模型,像BitTorrent网络一样共享GPU资源

综合介绍

Petals 是一个由 BigScience Workshop 开发的开源项目,旨在通过分布式计算的方式运行大型语言模型(LLMs)。用户可以在家中使用消费级 GPU 或 Google Colab 运行和微调 LLMs,如 Llama 3.1、Mixtral、Falcon 和 BLOOM。Petals 采用类似 BitTorrent 的方式,将模型的不同部分分布在多个用户的设备上,从而实现高效的推理和微调。

Petals:分布式推理运行、微调大型语言模型,像BitTorrent网络一样共享GPU资源-1


 

功能列表

  • 运行大型语言模型:支持 Llama 3.1(最高 405B)、Mixtral(8x22B)、Falcon(40B+)和 BLOOM(176B)等模型。
  • 分布式推理:通过分布式网络运行模型,单批次推理速度可达 6 tokens/sec(Llama 2 70B)和 4 tokens/sec(Falcon 180B)。
  • 快速微调:支持用户对模型进行快速微调,适用于各种任务。
  • 社区驱动:依赖社区用户共享 GPU 资源,用户可以贡献自己的 GPU 来增加 Petals 的计算能力。
  • 灵活的 API:提供类似 PyTorch 和 Transformers 的灵活 API,支持自定义路径和查看隐藏状态。
  • 隐私保护:数据处理通过公共网络进行,用户可以设置私有网络以保护敏感数据。

 

使用帮助

安装与使用

  1. 安装依赖
    • Linux + Anaconda
      conda install pytorch pytorch-cuda=11.7 -c pytorch -c nvidia
      pip install git+https://github.com/bigscience-workshop/petals
      python -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
      
    • Windows + WSL:请参考 Wiki
    • Docker
      sudo docker run -p 31330:31330 --ipc host --gpus all --volume petals-cache:/cache --rm \
      learningathome/petals:main \
      python -m petals.cli.run_server --port 31330 meta-llama/Meta-Llama-3.1-405B-Instruct
      
    • macOS + Apple M1/M2 GPU
      brew install python
      python3 -m pip install git+https://github.com/bigscience-workshop/petals
      python3 -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
      
  2. 运行模型
    • 选择任意可用模型,例如:
      from transformers import AutoTokenizer
      from petals import AutoDistributedModelForCausalLM
      model_name = "meta-llama/Meta-Llama-3.1-405B-Instruct"
      tokenizer = AutoTokenizer.from_pretrained(model_name)
      model = AutoDistributedModelForCausalLM.from_pretrained(model_name)
      inputs = tokenizer("A cat sat", return_tensors="pt")["input_ids"]
      outputs = model.generate(inputs, max_new_tokens=5)
      print(tokenizer.decode(outputs[0]))
      
  3. 贡献 GPU
    • 用户可以通过连接 GPU 来增加 Petals 的计算能力,具体操作请参考 Model Hub

主要功能操作流程

  1. 选择模型:访问 Petals 网站,选择所需的模型。
  2. 加载模型:根据上述安装步骤,加载并运行模型。
  3. 微调模型:使用 Petals 提供的 API 对模型进行微调,适用于各种任务。
  4. 生成文本:通过分布式网络生成文本,适用于聊天机器人和交互式应用。
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » Petals:分布式共享GPU运行和微调大语言模型,像BitTorrent网络一样共享GPU资源

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文