Faible mémoire GPU
Si votre GPU dispose d'une petite mémoire et ne peut pas charger le modèle, vous pouvez essayer les méthodes suivantes.
Charger le modèle en mode 8 bits
Ajoutez --load-in-8bit
aux paramètres de démarrage.
python server.py --load-in-8bit
Cela réduira l'utilisation de la mémoire de moitié, et la qualité ne sera pas significativement réduite. Cependant, seuls les GPU plus récents prennent en charge le mode 8 bits.
Diviser le modèle entre plusieurs GPU et CPU
python server.py --auto-devices
Si vous pouvez charger le modèle avec cette commande, mais qu'il manque de mémoire lorsque vous essayez de générer du texte, essayez de limiter la quantité de mémoire allouée au GPU jusqu'à ce que l'erreur ne se produise plus:
python server.py --auto-devices --gpu-memory 10
python server.py --auto-devices --gpu-memory 9
python server.py --auto-devices --gpu-memory 8
...
Où le nombre est en unités GiB.
Pour un meilleur contrôle, vous pouvez également spécifier l'unité en MiB:
python server.py --auto-devices --gpu-memory 8722MiB
python server.py --auto-devices --gpu-memory 4725MiB
python server.py --auto-devices --gpu-memory 3500MiB
...
En outre, vous pouvez définir la valeur --no-cache
pour réduire l'utilisation du GPU lors de la génération de texte au prix d'une surcharge de performance accrue. Cela peut vous permettre de définir une valeur plus élevée pour --gpu-memory
et d'obtenir un gain net de performance.
Mettre en cache certaines couches du modèle sur le disque
En dernier recours, vous pouvez diviser le modèle entre les GPU, les CPU et le disque:
python server.py --auto-devices --disk