La personnalisation d'Ollama dans le GPU

Windows (ordinateur)

L'exemple suivant montre comment personnaliser Ollama pour qu'il s'exécute dans le GPU d'un système Windows.

Ollama Par défaut, le CPU est utilisé pour l'inférence. Pour une inférence plus rapide, vous pouvez configurer le GPU utilisé par Ollama. Ce tutoriel vous guidera sur la façon de définir la variable d'environnement pour activer l'accélération GPU sur les systèmes Windows.

conditions préalables

  • L'ordinateur est équipé d'une carte graphique NVIDIA.
  • Les pilotes graphiques NVIDIA sont installés et peuvent être utilisés avec la commande nvidia-smi pour vérifier si le pilote est installé.
  • La boîte à outils CUDA est installée et peut être utilisée avec la commande nvcc --version pour vérifier si CUDA est installé.

Conseil

Pour l'installation des pilotes graphiques NVIDIA et de la boîte à outils CUDA, vous pouvez rechercher les tutoriels correspondants par vous-même, je ne les répéterai donc pas dans cet article. Si votre ordinateur remplit les conditions ci-dessus, Ollama est accéléré par le GPU par défaut. Si vous souhaitez spécifier un GPU particulier, vous pouvez suivre les étapes ci-dessous pour le configurer.

Configuration des variables d'environnement

  1. Ouvrir les paramètres de la variable d'environnement du système
    • Tapez "Variables d'environnement" dans la barre de recherche Windows et sélectionnez "Modifier les variables d'environnement du système".
    • Dans la fenêtre contextuelle Propriétés du système, cliquez sur l'onglet Avancé, puis sur le bouton Variables d'environnement.
  2. Création de la variable OLLAMA_GPU_LAYER
    • Dans la zone "Variables système", cliquez sur le bouton "Nouveau".
    • Dans la boîte de dialogue Nouvelle variable système, entrez les informations suivantes :
      • Nom de la variable : OLLAMA_GPU_LAYER
      • Valeurs variables : cuda (Cela indiquera à Ollama d'utiliser CUDA pour l'accélération GPU)
    • Cliquez sur "OK" pour enregistrer la variable.

    Ollama 自定义在 GPU 中运行

  3. (Facultatif) Spécifier le GPU à utiliser
    • Si votre système possède plusieurs GPU et que vous souhaitez spécifier qu'Ollama utilise un GPU spécifique, vous pouvez définir l'option CUDA_VISIBLE_DEVICES Variables d'environnement.
    • Recherche l'UUID du GPU : Il est fortement recommandé d'utiliser l'UUID plutôt que le numéro, car ce dernier peut changer à la suite de mises à jour de pilotes ou de redémarrages du système.
      • Ouvrez une invite de commande ou PowerShell.
      • Exécuter la commande :nvidia-smi -L
      • Dans le résultat, trouvez la valeur "UUID" du GPU que vous voulez utiliser. Exemple :GPU 00000000:01:00.0 inférieur UUID : GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

      Ollama 自定义在 GPU 中运行

    • Créez la variable CUDA_VISIBLE_DEVICES :
      • Dans la zone "Variables système", cliquez sur le bouton "Nouveau".
      • Dans la boîte de dialogue Nouvelle variable système, entrez les informations suivantes :
        • Nom de la variable : CUDA_VISIBLE_DEVICES
        • Valeurs variables : L'UUID du GPU trouvé, par exemple :GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      • Cliquez sur "OK" pour enregistrer la variable.

Important : Pour que la variable d'environnement soit effective, il faut que l'option Redémarrer le terminal ou l'application sur lequel Ollama s'exécute .

Vérifiez que l'accélération GPU est effective :

  1. Ouvrez une invite de commande.
  2. Run Ollama. par exemple : ollama run deepseek-r1:1.5b
  3. Ouvrez une nouvelle fenêtre d'invite de commande et utilisez la commande ollama ps pour afficher les processus en cours d'exécution dans Ollama.
Ollama 自定义在 GPU 中运行

 

Linux

L'exemple suivant montre comment personnaliser Ollama pour qu'il fonctionne sur le GPU d'un système Linux.

  1. établir ollama_gpu_selector.sh avec le contenu suivant :
#!/bin/bash

# Validate input
validate_input(){
if[[! $1 =~^[0-4](,[0-4])*$ ]];then
echo "Error: Invalid input. Please enter numbers between 0 and 4, separated by commas."
exit1
fi
}

# Update the service file with CUDA_VISIBLE_DEVICES values
update_service(){
# Check if CUDA_VISIBLE_DEVICES environment variable exists in the service file
if grep -q '^Environment="CUDA_VISIBLE_DEVICES='/etc/systemd/system/ollama.service;then
# Update the existing CUDA_VISIBLE_DEVICES values
sudo sed -i 's/^Environment="CUDA_VISIBLE_DEVICES=.*/Environment="CUDA_VISIBLE_DEVICES='"$1"'"/'/etc/systemd/system/ollama.service
else
# Add a new CUDA_VISIBLE_DEVICES environment variable
sudo sed -i '/\[Service\]/a Environment="CUDA_VISIBLE_DEVICES='"$1"'"'/etc/systemd/system/ollama.service
fi

# Reload and restart the systemd service
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
echo "Service updated and restarted with CUDA_VISIBLE_DEVICES=$1"
}

# Check if arguments are passed
if["$#"-eq 0];then
# Prompt user for CUDA_VISIBLE_DEVICES values if no arguments are passed
read -p "Enter CUDA_VISIBLE_DEVICES values (0-4, comma-separated): " cuda_values
validate_input "$cuda_values"
update_service "$cuda_values"
else
# Use arguments as CUDA_VISIBLE_DEVICES values
cuda_values="$1"
validate_input "$cuda_values"
update_service "$cuda_values"
fi
  1. Ajout de droits d'exécution aux fichiers de script
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh

Après avoir exécuté le script, suivez les invites pour le numéro de GPU afin de spécifier le GPU utilisé par Ollama. Vous pouvez utiliser des virgules pour séparer plusieurs numéros de GPU, par exemple :0,1,2.

  1. Redémarrer le service Ollama
cat /etc/systemd/system/ollama.service

Après avoir exécuté la commande, regardez le fichier de service Ollama et confirmez que l'option CUDA_VISIBLE_DEVICES Les variables d'environnement ont été mises à jour.

S'il a été mis à jour, il ajoutera par exemple Environment="CUDA_VISIBLE_DEVICES=0,1,2" les variables d'environnement.

© 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...