petals README

The project's README from github.com/bigscience-workshop/petals. As one markdown file: README.md.


Run large language models at home, BitTorrent-style.
Fine-tuning and inference up to 10x faster than offloading


Generate text with distributed Llama 3.1 (up to 405B), Mixtral (8x22B), Falcon (40B+) or BLOOM (176B) and fine‑tune them for your own tasks — right from your desktop computer or Google Colab:

from transformers import AutoTokenizer
from petals import AutoDistributedModelForCausalLM

# Choose any model available at https://health.petals.dev
model_name = "meta-llama/Meta-Llama-3.1-405B-Instruct"

# Connect to a distributed network hosting model layers
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoDistributedModelForCausalLM.from_pretrained(model_name)

# Run the model as if it were on your computer
inputs = tokenizer("A cat sat", return_tensors="pt")["input_ids"]
outputs = model.generate(inputs, max_new_tokens=5)
print(tokenizer.decode(outputs[0]))  # A cat sat on a mat...

🚀  Try now in Colab

🦙 Want to run Llama? Request access to its weights, then run huggingface-cli login in the terminal before loading the model. Or just try it in our chatbot app.

🔏 Privacy. Your data will be processed with the help of other people in the public swarm. Learn more about privacy here. For sensitive data, you can set up a private swarm among people you trust.

💬 Any questions? Ping us in our Discord!

Connect your GPU and increase Petals capacity

Petals is a community-run system — we rely on people sharing their GPUs. You can help serving one of the available models or host a new model from 🤗 Model Hub!

As an example, here is how to host a part of Llama 3.1 (405B) Instruct on your GPU:

🦙 Want to host Llama? Request access to its weights, then run huggingface-cli login in the terminal before loading the model.

🐧 Linux + Anaconda. Run these commands for NVIDIA GPUs (or follow this for AMD):

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. Follow this guide on our Wiki.

🐋 Docker. Run our Docker image for NVIDIA GPUs (or follow this for AMD):

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. Install Homebrew, then run these commands:

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

📚  Learn more (how to use multiple GPUs, start the server on boot, etc.)

🔒 Security. Hosting a server does not allow others to run custom code on your computer. Learn more here.

💬 Any questions? Ping us in our Discord!

🏆 Thank you! Once you load and host 10+ blocks, we can show your name or link on the swarm monitor as a way to say thanks. You can specify them with --public_name YOUR_NAME.

How does it work?

📜  Read paper            📚  See FAQ

📚 Tutorials, examples, and more

Basic tutorials:

Useful tools:

Advanced guides:

Benchmarks

Please see Section 3.3 of our paper.

🛠️ Contributing

Please see our FAQ on contributing.

📜 Citations

Alexander Borzunov, Dmitry Baranchuk, Tim Dettmers, Max Ryabinin, Younes Belkada, Artem Chumachenko, Pavel Samygin, and Colin Raffel. Petals: Collaborative Inference and Fine-tuning of Large Models. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations). 2023.

@inproceedings{borzunov2023petals,
  title = {Petals: Collaborative Inference and Fine-tuning of Large Models},
  author = {Borzunov, Alexander and Baranchuk, Dmitry and Dettmers, Tim and Riabinin, Maksim and Belkada, Younes and Chumachenko, Artem and Samygin, Pavel and Raffel, Colin},
  booktitle = {Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)},
  pages = {558--568},
  year = {2023},
  url = {https://arxiv.org/abs/2209.01188}
}

Alexander Borzunov, Max Ryabinin, Artem Chumachenko, Dmitry Baranchuk, Tim Dettmers, Younes Belkada, Pavel Samygin, and Colin Raffel. Distributed inference and fine-tuning of large language models over the Internet. Advances in Neural Information Processing Systems 36 (2023).

@inproceedings{borzunov2023distributed,
  title = {Distributed inference and fine-tuning of large language models over the {I}nternet},
  author = {Borzunov, Alexander and Ryabinin, Max and Chumachenko, Artem and Baranchuk, Dmitry and Dettmers, Tim and Belkada, Younes and Samygin, Pavel and Raffel, Colin},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {36},
  pages = {12312--12331},
  year = {2023},
  url = {https://arxiv.org/abs/2312.08361}
}

This project is a part of the BigScience research workshop.

petals (bigscience-workshop/petals)

Searching Database…

10.6K ·GitHub
这是什么?Petals 让你像用 BitTorrent 那样在家里运行大型开源 LLM:你加入一个公共集群,和社区一起提供 Llama 3.1(405B)、Mixtral(8x22B)、Falcon(40B+)、BLOOM(176B)这类模型的推理和微调服务——直接从你的桌面电脑或 Google Colab 就能用,比把模型搬到本地跑快达 10 倍。
它只是一个用来生成文本的 API,还是我能对模型做更多事情?它既给你 API 的便利,又保留了 PyTorch 和 Transformers 的灵活性:你可以使用任何微调和采样方法,在模型中执行自定义的计算路径,甚至查看模型的隐藏状态。
我的 Windows 电脑或 Mac 能用吗,还是必须用 Linux?做节点提供算力的话三种都行:Linux + Anaconda(NVIDIA 或 AMD 显卡)、Windows 通过 WSL、NVIDIA 显卡可用的 Docker 镜像,或者 macOS 上通过 Homebrew 使用 Apple M1/M2 显卡。只想零配置试一下的话,用他们的网页版聊天应用就行。
我能直接加载 Llama 就开跑,还是有什么门槛?Llama 是受限模型:你必须先申请获取它的权重,然后在终端运行 huggingface-cli login 登录,之后才能加载模型。
生成速度够用于交互场景吗,还是会慢得要命?够用但谈不上秒出:单批推理最高约 6 token/秒(Llama 2,70B)、约 4 token/秒(Falcon,180B)——用于聊天机器人和交互式应用是够的。
如果我在公共集群里输入提示词,谁会看到我的数据?别人会看到:在公共集群中,你的数据是在其他参与者的协助下处理的。涉及敏感数据的话,可以在你信任的人之间搭建一个私有集群。
我能把自己的显卡贡献给这个网络吗?可以——Petals 由社区维护,靠大家共享显卡来运转。你可以在 NVIDIA 或 AMD 显卡(Linux)上、通过 Docker,或者在配备 Apple M1/M2 显卡的 macOS 上托管比如 Llama 3.1(405B)Instruct 模型的一部分。
把我的显卡共享给陌生人安全吗?安全。README 里说明了:运行服务节点不会让别人在你的电脑上执行自定义代码。
除了列出的这些模型,它还能运行别的模型吗?可以——除了现成可用的模型之外,你还可以托管来自 Hugging Face Model Hub 的新模型,另有运行自定义模型的指南。
这是个研究项目还是可用于生产环境的软件?它有经同行评审的研究支撑:一篇关于协作推理与微调的 ACL 2023 系统演示论文,以及一篇关于通过互联网对 LLM 进行分布式推理和微调的 NeurIPS 2023 论文。
Size
4.2 MB
Stars
10.6K
Age
4y
Commits · 90 Days