Exécutez de grands modèles de langage à la maison, à la manière de BitTorrent.
Ajustement précis et inférence jusqu'à 10 fois plus rapides que le déchargement
Générez du texte avec Llama 3.1 (jusqu'à 405 B), Mixtral (8x22B), Falcon (40B+) ou BLOOM (176B) distribués et affinez-les pour vos propres tâches, directement depuis votre ordinateur de bureau ou 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...
Essayez maintenant dans Colab
? Vous voulez exécuter Llama ? Demandez l'accès à ses poids, puis exécutez huggingface-cli login
dans le terminal avant de charger le modèle. Ou essayez-le simplement dans notre application chatbot.
? Confidentialité. Vos données seront traitées avec l'aide d'autres personnes appartenant à l'essaim public. Apprenez-en davantage sur la confidentialité ici. Pour les données sensibles, vous pouvez configurer un essaim privé parmi des personnes de confiance.
Des questions ? Pingez-nous sur notre Discord !
Petals est un système géré par la communauté : nous comptons sur les personnes partageant leurs GPU. Vous pouvez aider à servir l'un des modèles disponibles ou héberger un nouveau modèle à partir de ? Centre de modèles !
A titre d'exemple, voici comment héberger une partie de Llama 3.1 (405B) Instruct sur votre GPU :
? Vous voulez héberger Llama ? Demandez l'accès à ses poids, puis exécutez huggingface-cli login
dans le terminal avant de charger le modèle.
? Linux + Anaconda. Exécutez ces commandes pour les GPU NVIDIA (ou suivez ceci pour 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. Suivez ce guide sur notre Wiki.
? Docker. Exécutez notre image Docker pour les GPU NVIDIA (ou suivez ceci pour 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 + GPU Apple M1/M2. Installez Homebrew, puis exécutez ces commandes :
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
En savoir plus (comment utiliser plusieurs GPU, démarrer le serveur au démarrage, etc.)
Sécurité. L'hébergement d'un serveur ne permet pas à d'autres personnes d'exécuter du code personnalisé sur votre ordinateur. Apprenez-en davantage ici.
Des questions ? Pingez-nous sur notre Discord !
? Merci! Une fois que vous avez chargé et hébergé plus de 10 blocs, nous pouvons afficher votre nom ou votre lien sur le moniteur d'essaim pour vous remercier. Vous pouvez les spécifier avec --public_name YOUR_NAME
.
Lire l'article Voir la FAQ
Tutoriels de base :
Outils utiles :
Guides avancés :
Veuillez consulter la section 3.3 de notre article.
Veuillez consulter notre FAQ sur la contribution.
Alexander Borzunov, Dmitry Baranchuk, Tim Dettmers, Max Ryabinin, Younes Belkada, Artem Chumachenko, Pavel Samygin et Colin Raffel. Pétales : inférence collaborative et réglage fin de grands modèles. Actes de la 61e réunion annuelle de l'Association for Computational Linguistics (Volume 3 : Démonstrations de systèmes). 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 et Colin Raffel. Inférence distribuée et mise au point de grands modèles de langage sur Internet. Progrès dans les systèmes de traitement de l’information neuronale 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 }
}
Ce projet fait partie de l'atelier de recherche BigScience.