AI Personal Learning
und praktische Anleitung
TRAE

Ollama-Anpassung läuft auf der GPU

Windows (Computer)

Im Folgenden finden Sie ein Beispiel dafür, wie Sie Ollama so anpassen können, dass es auf der GPU eines Windows-Systems läuft.

Ollama Standardmäßig wird die CPU für die Inferenz verwendet. In dieser Anleitung erfahren Sie, wie Sie die Umgebungsvariable setzen, um die GPU-Beschleunigung auf Windows-Systemen zu aktivieren.

Vorbedingungen

  • Der Computer ist mit einer NVIDIA-Grafikkarte ausgestattet.
  • NVIDIA-Grafiktreiber sind installiert und können mit dem Befehl nvidia-smi um zu prüfen, ob der Treiber installiert ist.
  • Das CUDA-Toolkit ist installiert und kann mit dem Befehl nvcc --version um zu prüfen, ob CUDA installiert ist.

Tipp


Für die Installation der NVIDIA-Grafiktreiber und des CUDA-Toolkits können Sie selbst nach entsprechenden Anleitungen suchen, daher werde ich sie in diesem Artikel nicht wiederholen. Wenn Ihr Computer die oben genannten Voraussetzungen erfüllt, ist Ollama standardmäßig GPU-beschleunigt. Wenn Sie einen bestimmten Grafikprozessor angeben möchten, können Sie die folgenden Schritte befolgen, um ihn einzurichten.

Umgebungsvariablen konfigurieren

  1. Öffnen Sie die Einstellungen der Systemumgebungsvariablen
    • Geben Sie "Umgebungsvariablen" in die Windows-Suchleiste ein und wählen Sie "Systemumgebungsvariablen bearbeiten".
    • Klicken Sie im Popup-Fenster Systemeigenschaften auf die Registerkarte Erweitert und dann auf die Schaltfläche Umgebungsvariablen.
  2. Erstellen der Variable OLLAMA_GPU_LAYER
    • Klicken Sie im Bereich "Systemvariablen" auf die Schaltfläche "Neu".
    • Geben Sie im Dialogfeld Neue Systemvariable die folgenden Informationen ein:
      • Name der Variablen: OLLAMA_GPU_LAYER
      • Variable Werte: cuda (Damit wird Ollama angewiesen, CUDA für die GPU-Beschleunigung zu verwenden)
    • Klicken Sie auf "OK", um die Variable zu speichern.

    Ollama-Anpassung auf der GPU-1

  3. (Optional) Geben Sie die zu verwendende GPU an.
    • Wenn Ihr System über mehr als einen Grafikprozessor verfügt und Sie festlegen möchten, dass Ollama einen bestimmten Grafikprozessor verwendet, können Sie die Option CUDA_VISIBLE_DEVICES Umgebungsvariablen.
    • Ermittelt die UUID der GPU: Es wird dringend empfohlen, die UUID anstelle der Nummer zu verwenden, da sich die Nummer aufgrund von Treiberaktualisierungen oder Systemneustarts ändern kann.
      • Öffnen Sie eine Eingabeaufforderung oder PowerShell.
      • Befehl ausführen:nvidia-smi -L
      • Suchen Sie in der Ausgabe den "UUID"-Wert der GPU, die Sie verwenden möchten. Beispiel:GPU 00000000:01:00.0 unter UUID : GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

      Ollama-Anpassung auf der GPU-2

    • Erstellen Sie die Variable CUDA_VISIBLE_DEVICES:
      • Klicken Sie im Bereich "Systemvariablen" auf die Schaltfläche "Neu".
      • Geben Sie im Dialogfeld Neue Systemvariable die folgenden Informationen ein:
        • Name der Variablen: CUDA_VISIBLE_DEVICES
        • Variable Werte: Die UUID der gefundenen GPU, zum Beispiel:GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      • Klicken Sie auf "OK", um die Variable zu speichern.

Das ist wichtig: Damit die Umgebungsvariable wirksam wird, muss die Starten Sie das Terminal oder die Anwendung, auf der Ollama läuft, neu .

Überprüfen Sie, ob die GPU-Beschleunigung aktiviert ist:

  1. Öffnen Sie eine Eingabeaufforderung.
  2. Führen Sie zum Beispiel Ollama aus: ollama run deepseek-r1:1.5b
  3. Öffnen Sie ein neues Fenster der Eingabeaufforderung und verwenden Sie den Befehl ollama ps um die in Ollama laufenden Prozesse anzuzeigen.

Ollama-Anpassung läuft auf der GPU-3

 

Linux

Im Folgenden finden Sie ein Beispiel dafür, wie Sie Ollama so anpassen, dass es auf der GPU eines Linux-Systems läuft.

  1. einrichten. ollama_gpu_selector.sh Skriptdatei mit dem folgenden Inhalt:
#!/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. Hinzufügen von Ausführungsberechtigungen zu Skriptdateien
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh

Nachdem Sie das Skript ausgeführt haben, befolgen Sie die Aufforderungen zur Eingabe der GPU-Nummer, um die von Ollama verwendete GPU anzugeben. Sie können z. B. mehrere GPU-Nummern durch Kommas trennen:0,1,2.

  1. Neustart des Ollama-Dienstes
cat /etc/systemd/system/ollama.service

Nachdem Sie den Befehl ausgeführt haben, sehen Sie sich die Ollama-Dienstdatei an und bestätigen Sie, dass die CUDA_VISIBLE_DEVICES Die Umgebungsvariablen wurden aktualisiert.

Wenn sie aktualisiert wurde, fügt sie zum Beispiel Folgendes hinzu Environment="CUDA_VISIBLE_DEVICES=0,1,2" Umgebungsvariablen.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Ollama-Anpassung läuft auf der GPU
de_DEDeutsch