Bienvenue sur AI Horde, une plateforme décentralisée gratuite et ouverte pour l'IA collaborative ! L'AI Horde permet à des personnes du monde entier d'utiliser la puissance de leur GPU pour générer des images, du texte et bien plus encore. En exécutant un travailleur sur votre machine locale, vous pouvez gagner des félicitations qui vous donnent la priorité lorsque vous faites vos propres demandes à la horde.
Un travailleur est un logiciel qui gère les tâches de l'IA Horde, comme la génération d'une image à partir d'une invite de texte. Lorsque votre travailleur termine avec succès un travail, vous êtes récompensé par des félicitations. Plus vous avez de félicitations, plus vos propres demandes seront traitées rapidement.
Non seulement l’exécution d’un travailleur vous rapporte des félicitations, mais elle contribue également à soutenir l’écosystème AI Horde et fait fonctionner votre GPU pendant les cycles d’inactivité. Que vous soyez un artiste cherchant à générer des ressources personnalisées, un développeur ayant besoin de traiter des images à grande échelle ou simplement une personne enthousiaste à l'idée de démocratiser l'IA, la Horde a quelque chose à offrir.
Si vous ne l'avez pas déjà fait, accédez à AI Horde et créez un compte, puis stockez votre clé API dans un endroit sécurisé. Traitez votre clé API comme un mot de passe. Vous en aurez besoin plus tard dans ces instructions. Cela permettra à votre employé de recueillir des félicitations pour votre compte.
Utilisez ces instructions si vous avez installé git pour Windows.
Cette option est recommandée car elle facilitera grandement la mise à jour de votre référentiel.
Ouvrez powershell
(également appelé terminal) ou cmd
à partir du menu Démarrer.
À l’aide cd
, accédez au dossier dans lequel vous souhaitez installer le travailleur.
Notez que le dossier dans lequel vous vous trouvez créera un dossier nommé horde-worker-reGen
. Ce dossier ne devrait pas exister avant d'exécuter les commandes suivantes.
Si vous souhaitez qu'il soit installé dans C:horde
, exécutez ce qui suit :
cd C:horde
Si le dossier horde
n'existe pas :
cd C:
mkdir horde
cd C:horde
Si vous utilisez cmd
et souhaitez installer sur un autre lecteur, incluez l'option /d
, comme suit :
cd /d G:horde
Exécutez les commandes suivantes dans le dossier choisi (le dossier horde
si vous utilisez l'exemple ci-dessus)
git clone https://github.com/Haidra-Org/horde-worker-reGen.git
cd horde-worker-reGen
Continuez avec les instructions d'utilisation de base
Utilisez ces instructions si vous n'avez pas git pour Windows et que vous ne souhaitez pas l'installer. Ces instructions rendent la mise à jour du travailleur un peu plus difficile sur toute la ligne.
Cela suppose que vous avez installé git
Ouvrez un terminal bash et exécutez ces commandes (copiez-les simplement toutes ensemble)
git clone https://github.com/Haidra-Org/horde-worker-reGen.git
cd horde-worker-reGen
Continuez avec les instructions d'utilisation de base
Il a maintenant été démontré qu'AMD offre un meilleur support, mais uniquement pour les machines Linux - il est préférable d'installer Linux directement sur votre machine. La prise en charge de WSL est hautement expérimentale. Vous pouvez maintenant suivre ce guide en utilisant horde-bridge-rocm.sh
et update-runtime-rocm.sh
le cas échéant.
Si vous êtes prêt à essayer avec votre carte AMD, rejoignez la discussion Discord sur le Discord officiel.
bridgeData_template.yaml
dans bridgeData.yaml
bridgeData.yaml
et suivez les instructions pour remplir vos coordonnées. Pour garantir une expérience fluide de gestion d’un travailleur, veuillez garder les points suivants à l’esprit :
threads
à 2 ou moins, sauf si vous disposez d'une carte de qualité centre de données avec 48 Go ou plus de VRAM.queue_size
spécifiée dans la configuration. Si vous disposez de moins de 32 Go de RAM système, respectez une queue_size
de 1. Pour moins de 16 Go de RAM, des optimisations supplémentaires sont nécessaires (détaillées ci-dessous). Les modèles sont chargés selon les besoins et juste à temps. Vous pouvez proposer autant de modèles que vous le souhaitez à condition de disposer d'un SSD, d'au moins 32 Go de RAM et d'au moins 8 Go de VRAM (voir Notes importantes ). Les utilisateurs équipés de disques durs ne sont pas recommandés pour le moment, mais ceux équipés de disques durs doivent utiliser exactement 1 modèle. Un modèle SD1.5 typique fait environ 2 Go chacun, tandis qu'un modèle SDXL typique fait environ 7 Go chacun. L'offre all
les modèles est actuellement d'environ 700 Go au total et nous nous engageons à maintenir ce nombre en dessous de 1 To avec tout changement futur.
Remarque : Nous vous suggérons de désactiver tout mode « veille » ou consommation réduite pour votre système pendant que le Worker est en cours d'exécution.
Si vous disposez d'une carte VRAM de 24 Go ou plus (par exemple, 4090, 3090) :
- safety_on_gpu : true
- high_performance_mode : true
- post_process_job_overlap : true
- unload_models_from_vram_often : false
- max_threads : 1 # If you have Flux/Cascade loaded, otherwise 2 max
- queue_size : 2 # You can set to 3 if you have 64GB or more of RAM
- max_batch : 8 # or higher
Si vous disposez d'une carte de 12 Go à 16 Go (par exemple, 3080 TI, 4070, 4080/4080 Super) :
- safety_on_gpu : true # Consider setting to `false` if offering Cascade or Flux
- moderate_performance_mode : true
- unload_models_from_vram_often : false
- max_threads : 1
- max_batch : 4 # or higher
Si vous disposez d'une carte VRAM de 8 Go à 10 Go (1080, 2080, 3060, 4060/4060 TI) :
- queue_size : 1 # max **or** only offer flux
- safety_on_gpu : false
- max_threads : 1
- max_power : 32 # no higher than 32
- max_batch : 4 # no higher than 4
- allow_post_processing : false # If offering SDXL or Flux, otherwise you may set to true
- allow_sdxl_controlnet : false
Travailleurs qui ont des cartes bas de gamme ou ont des performances faibles pour d'autres raisons :
- extra_slow_worker: true
- limit_max_steps: true
- preload_timeout: 120
extra_slow_worker: true
. Les travailleurs de l'IA Horde sont en constante amélioration. Vous pouvez suivre les progrès sur notre Discord et y recevoir des notifications sur les mises à jour. Si vous souhaitez recevoir des notifications pour les mises à jour ou les versions bêta des travailleurs, accédez au canal #get-roles et obtenez le(s) rôle(s) approprié(s).
Les instructions ci-dessous font référence à horde-bridge
ou update-runtime
. En fonction de votre système d'exploitation, ajoutez .cmd
pour Windows ou .sh
pour Linux
horde-bridge.cmd
et update-runtime.cmd
pour Windows avec une carte NVIDIA.horde-bridge-rocm.sh
et update-runtime-rocm.sh
le cas échéant. Arrêtez votre travailleur en appuyant une fois sur Ctrl+C
et en attendant que le travailleur s'arrête.
Mettez à jour ce dépôt en utilisant la méthode appropriée :
Vous pouvez double-cliquer sur les fichiers de script fournis ci-dessous à partir d'un explorateur de fichiers ou l'exécuter à partir d'un terminal comme bash
, cmd
en fonction de votre système d'exploitation. Cette dernière option vous permettra de voir les erreurs en cas de crash , elle est donc recommandée.
Utilisez cette approche si vous avez cloné le référentiel d'origine à l'aide git clone
bash
, cmd
ou powershell
en fonction de votre système d'exploitationgit pull
Voir Mise à jour du runtime
Utilisez cette approche si vous avez téléchargé le référentiel git sous forme de fichier zip et que vous l'avez extrait quelque part.
horde_worker_regen/
de votre dossierVoir Mise à jour du runtime
Attention : Certains antivirus (dont Avast) interféreraient avec l'installation. Si vous obtenez l'erreur
curl: (35) schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK
lors de l'exécution de ce fichier, désactivez votre antivirus, exécutez à nouveau le fichier, puis réactivez votre antivirus.
Exécutez le script update-runtime
pour votre système d'exploitation. Cela mettra à jour toutes les dépendances si nécessaire.
Continuez avec les instructions de démarrage/arrêt ci-dessous
Remarque : Le travailleur est un programme très gourmand en système et en GPU. Dans la mesure du possible, vous ne devez pas jouer à des jeux vidéo ni effectuer d’autres tâches intensives (telles que le montage d’images/vidéos). Si vous souhaitez participer à ces activités, éteignez le travailleur ou configurez-le pour utiliser uniquement de petits modèles avec des paramètres limités et surveillez de près le moniteur de votre système.
Si c'est la première fois que vous effectuez l'installation ou lorsque des mises à jour sont requises, consultez Mise à jour pour obtenir des instructions.
Exécutez horde-bridge
(.cmd pour Windows, .sh pour Linux).
horde-bridge-rocm
du fichier.Ctrl+C
.Pendant que le travailleur est en cours d'exécution, vous pouvez suivre sa progression directement dans le terminal. Recherchez les journaux indiquant la réussite du travail, les félicitations gagnées, les statistiques de performances et les erreurs éventuelles.
Pour une surveillance plus détaillée, consultez le répertoire logs
qui contient les fichiers journaux quotidiens.
bridge*.log
.bridge.log
est la fenêtre principale que vous voyez apparaître.bridge_n.log
correspond à chaque processus qui apparaît dans le fichier journal principal. "Processus 1" serait bridge_1.log
.trace*.log
.trace.log
est la fenêtre principale que vous voyez apparaître.trace_n.log
correspond à chaque processus qui apparaît dans le fichier journal principal. "Processus 1" serait trace_1.log
.À l'avenir, vous n'aurez plus besoin d'exécuter plusieurs instances de travail.
Pour utiliser plusieurs GPU, chacun doit démarrer sa propre instance. Pour Linux, il vous suffit de limiter l'exécution à une carte spécifique :
CUDA_VISIBLE_DEVICES=0 ./horde-bridge.sh -n " My awesome instance #1 "
CUDA_VISIBLE_DEVICES=1 ./horde-bridge.sh -n " My awesome instance #2 "
etc.
Soyez averti que vous aurez besoin d’une quantité très élevée (32-64 Go+) de RAM système en fonction de vos paramètres. queue_size
et max_threads
augmentent considérablement la quantité de RAM requise par travailleur.
Vous pouvez héberger vos propres modèles d'images sur la horde qui ne sont pas disponibles dans notre référence de modèles, mais ce processus est un peu plus complexe.
Pour commencer, vous devez demander manuellement le rôle customizer
à l'équipe de la horde. Vous pouvez le demander sur le canal Discord. Il s'agit d'un rôle attribué manuellement pour éviter tout abus de cette fonctionnalité.
Une fois que vous avez le rôle de personnalisateur :
Téléchargez les fichiers de modèle que vous souhaitez héberger. Placez-les n’importe où sur votre système.
Indiquez à votre travailleur son emplacement et fournissez quelques informations à son sujet. Dans votre bridgeData.yaml
, ajoutez des lignes comme celles-ci :
custom_models :
- name : Movable figure model XL
baseline : stable_diffusion_xl
filepath : /home/db0/projects/CUSTOM_MODELS/PVCStyleModelMovable_beta25Realistic.safetensors
Ajoutez le même "nom" à votre models_to_load
.
Si tout a été configuré correctement, vous devriez maintenant voir un custom_models.json
dans votre répertoire de travail après le démarrage du travailleur, et le modèle devrait être proposé par votre travailleur.
Noter que:
clip_skip
Vous pouvez trouver les images Docker sur https://hub.docker.com/r/tazlin/horde-worker-regen/tags.
Voir Dockerfiles/README.md pour un guide détaillé sur la fonctionnalité Docker prise en charge.
Voir également README_advanced.md pour plus de détails sur l'exécution manuelle du travailleur.
Pour obtenir les dernières informations et une aide au dépannage, consultez la chaîne #local-workers sur notre Discord. La communauté est toujours heureuse de donner un coup de main !
Quelques problèmes courants et leurs solutions :
max_power
.allow_post_processing
, allow_controlnet
, allow_sdxl_controlnet
et/ou allow_lora
.max_threads
, max_batch
ou queue_size
dans votre configuration (dans cet ordre de préférence) pour réduire l'utilisation de VRAM/RAM. Évitez d'exécuter d'autres programmes intensifs pendant que le travailleur est actif.Si vous rencontrez un bug ou avez une demande de fonctionnalité, veuillez ouvrir un ticket sur le dépôt. Nous apprécions vos contributions!
De nombreux modèles de ce projet utilisent la licence CreativeML OpenRAIL. Veuillez lire la licence complète ici.