Petals : exécution distribuée et partagée de modèles linguistiques de grande taille sur GPU, partageant les ressources GPU comme un réseau BitTorrent.

Introduction générale

Petals est un projet open source développé par le BigScience Workshop pour exécuter de grands modèles de langage (LLM) par le biais d'une approche informatique distribuée. Les utilisateurs peuvent exécuter et affiner des LLM tels que Llama 3.1, Mixtral, Falcon et BLOOM à la maison en utilisant des GPU grand public ou Google Colab. Petals utilise une approche de type BitTorrent pour distribuer différentes parties du modèle sur les appareils de plusieurs utilisateurs, ce qui permet une inférence et un affinage efficaces.

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

 

Liste des fonctions

  • Exécution de grands modèles linguistiquesLes modèles Llama 3.1 (jusqu'à 405B), Mixtral (8x22B), Falcon (40B+) et BLOOM (176B) sont pris en charge.
  • inférence distribuéeLlama 2 70B : Exécuter le modèle à travers un réseau distribué avec des vitesses d'inférence par lot unique allant jusqu'à 6 tokens/sec (Llama 2 70B) et 4 tokens/sec (Falcon 180B).
  • Ajustement rapideLes modèles d'évaluation de la qualité de l'air sont des outils qui permettent à l'utilisateur d'affiner rapidement les modèles pour une variété de tâches.
  • axé sur la communautéPetals : En s'appuyant sur une communauté d'utilisateurs pour partager les ressources GPU, les utilisateurs peuvent apporter leurs propres GPU pour augmenter la puissance de calcul de Petals.
  • API flexible: Fournit une API flexible similaire à PyTorch et Transformers, avec la prise en charge des chemins personnalisés et de l'affichage de l'état caché.
  • Vie privéeLe traitement des données s'effectue sur un réseau public et les utilisateurs peuvent mettre en place des réseaux privés pour protéger les données sensibles.

 

Utiliser l'aide

Installation et utilisation

  1. Installation des dépendances: :
    • 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: Veuillez vous référer à l'article 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 + GPU Apple M1/M2: :
      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. modèle opérationnel: :
    • Sélectionnez l'un des modèles disponibles, par exemple :
      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. Contribution GPU: :
    • Les utilisateurs peuvent augmenter la puissance de calcul de Petals en connectant un GPU. Modèle Hub.

Principales fonctions

  1. Sélectionner le modèle: Accès Pétales sélectionnez le modèle souhaité.
  2. Modèles de chargementChargez et exécutez le modèle en suivant les étapes d'installation ci-dessus.
  3. Affiner le modèleLes utilisateurs de Petals : Utilisez l'API fournie par Petals pour affiner le modèle en vue d'une variété de tâches.
  4. Générer du texteLa génération de texte sur les réseaux distribués pour les chatbots et les applications interactives.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...