Petals : LLM de 405B dans le salon, par tranches de GPU partagée
Petals exécute des modèles linguistiques volumineux en local en distribuant les poids entre les appareils, à la manière de BitTorrent. Vous charger une partie du modèle sur votre GPU grand public, vous vous connectez à un réseau de personnes qui servent les autres parties, et vous utilisez le modèle complet.
La différence par rapport à une API cloud, c’est le contrôle : vous avez accès au modèle en PyTorch, vous pouvez faire du fine-tuning, suivre des chemins personnalisés, lire les hidden states. La différence par rapport à une installation locale isolée, c’est que vous n’avez pas besoin d’un cluster de GPU.
Les modèles ouverts continuent de croître en taille, comme le Kimi K3 de 2,8T paramètres publié en juillet. Petals aborde le problème inverse : comment les exécuter sans un data center. Sur le site du projet, on annonce jusqu’à 6 tokens par seconde pour Llama 2 70B et 4 pour Falcon 180B, suffisant pour un chatbot interactif.
Le compromis, c’est la dépendance au réseau. Si les pairs qui servent les parties critiques se déconnectent, le modèle ralentit. Et la vitesse annoncée vaut pour l’inférence single-batch, pas pour les charges de travail lourdes.
Si vous voulez essayer
Le notebook Colab lié sur le site de Petals est le point de départ le plus rapide, sans installation locale.
En détail
L’inférence locale emprunte des chemins différents. Il y a ceux qui quantifient les modèles à 1 bit pour les faire tourner dans une page web, réduisant le modèle jusqu’à ce qu’il tienne sur un seul appareil. Petals prend la route inverse : il garde le modèle à ses dimensions originales et distribue la charge de calcul.
Le mécanisme fonctionne ainsi. Un modèle linguistique est une séquence de couches (layers), chacune avec ses propres poids. Dans une installation normale, tous les layers sont sur la même machine. Avec Petals, chaque appareil du réseau charge un groupe de layers. Quand vous générez du texte, votre GPU calcule les premiers layers, passe le résultat intermédiaire à l’appareil suivant, qui calcule ses layers, et ainsi de suite jusqu’à la fin. Le résultat final revient à vous.
C’est le même principe que BitTorrent, mais appliqué au calcul au lieu du transfert de fichiers : personne n’a le modèle complet, mais le réseau le sert ensemble.
Les avantages pratiques vont au-delà de la génération de texte. Parce que vous avez accès au modèle au niveau PyTorch et Hugging Face Transformers, vous pouvez appliquer des méthodes de sampling personnalisées, effectuer du fine-tuning, ou inspecter les hidden states. Sur une API cloud, ces choses ne sont pas disponibles : on vous retourne juste le texte généré. Pour ceux qui font de la recherche ou expérimentent des techniques de post-training, avoir accès à un modèle de centaines de milliards de paramètres à ce niveau change le type d’expériences possibles.
Les limites sont concrètes. La latence dépend du réseau de pairs : si celui qui sert les layers critiques se déconnecte, le modèle ralentit ou s’arrête. Les vitesses annoncées sur le site de Petals (6 tokens/sec pour Llama 2 70B, 4 pour Falcon 180B) valent pour l’inférence single-batch, c’est-à-dire une requête à la fois. Ce n’est pas conçu pour servir du trafic concurrent, et la dépendance au réseau le rend inadapté aux charges de production stables.
La sécurité est un point ouvert. Vous faites confiance aux pairs du réseau pour calculer les poids correctement : un pair malveillant pourrait altérer les résultats intermédiaires sans que vous le sachiez. C’est un compromis différent de celui d’une API cloud, où le fournisseur garantit l’intégrité du calcul.
Petals fait partie de l’atelier de recherche BigScience, le projet qui a produit BLOOM (176B), l’un des premiers modèles ouverts de grande taille. L’approche distribuée a du sens à un moment où les modèles open-weight croissent rapidement : quand le plus grand modèle ouvert passe de 176B à 2,8T de paramètres en quelques années, la distribution de la charge devient une nécessité concrète pour ceux qui veulent les exécuter en privé.
Pour ceux qui sont prêts à accepter la fragilité du réseau en échange du contrôle de ses données, Petals est une option qui n’existait pas avant. Pour ceux qui ont besoin de stabilité et de throughput, les API cloud restent le bon choix.