dstack-Anleitung: DeepSeek R1 Distill Qwen 1.5B mit centron Cloud-GPUs feinabstimmen

dstack ist dafür entwickelt, KI- und Machine-Learning-Aufgaben effizient und sauber organisiert auszuführen. Jede Aufgabe beschreibt einen klar abgegrenzten Job, etwa das Trainieren eines Modells oder das Verarbeiten von Daten, und kann sowohl in einer Cloud-Umgebung als auch On-Premise laufen. Nutzer definieren Aufgaben über eine einfache Konfigurationsdatei und legen dort Ressourcen wie GPUs, Abhängigkeiten und Skripte fest. dstack übernimmt anschließend Terminierung, Ausführung und Ressourcenverteilung, sodass Jobs ohne permanente manuelle Eingriffe stabil durchlaufen. Das erleichtert Teams die Verwaltung von KI-Workloads, das Skalieren von Abläufen und die Leistungsoptimierung, ohne sich mit komplexen Infrastruktur-Setups beschäftigen zu müssen.

In dieser Anleitung wirst du das Modell DeepSeek R1 Distill Qwen 1.5B mit dstack auf centron Cloud-GPUs feinabstimmen. dstack automatisiert dabei das Workload-Handling und nutzt die leistungsstarke GPU-Infrastruktur von centron für ein effizientes Training mit LoRA-Optimierung sowie Logging über Weights & Biases (W&B).

Virtuelle Umgebung erstellen

In diesem Abschnitt richtest du auf deinem System eine virtuelle Umgebung ein und bereitest alles für die Bereitstellung der dstack-Dev-Umgebung vor.

venv-Paket installieren

console

$ apt install python3-venv -y

Virtuelle Umgebung anlegen

console

$ python3 -m venv dstack-env

Virtuelle Umgebung aktivieren

console

$ source dstack-env/bin/activate

dstack installieren

In diesem Teil installierst du alle nötigen Abhängigkeiten für dstack und startest den dstack-Server, damit die Dev-Umgebung im späteren Abschnitt bereitgestellt werden kann.

Backend-Verzeichnis erstellen

Erstelle ein Verzeichnis und wechsle hinein, um dort die Backend-Datei abzulegen.

console

$ mkdir -p ~/.dstack/server

Backend-YAML-Datei anlegen

Erstelle eine Backend-yml-Datei, um centron als Provider festzulegen.

console

$ nano ~/.dstack/server/config.yml

Provider-Konfiguration hinzufügen

Kopiere die folgende Konfiguration und füge sie ein.

YAML

projects:
- name: main
    backends:
    - type: centron
        creds:
        type: api_key
        api_key: <centron-account-api-key>

Rufe deinen centron API-Key ab.

Speichere die Datei und schließe sie.

dstack installieren

console

$ pip install "dstack[all]" -U

dstack-Server starten

console

Notiere dir die URL, unter der der dstack-Server läuft, sowie das im Output angezeigte Token.

CLI mit dem Server verbinden

console

$ dstack config --url <URL> \
    --project main \
    --token <TOKEN>

Fine-Tuning-Task ausführen

In diesem Abschnitt konfigurierst und startest du eine Trainingsaufgabe mit dstack auf centron Cloud-GPUs. Du definierst den Task, richtest Umgebungsvariablen ein und führst das Fine-Tuning für das Modell DeepSeek-R1-Distill-Qwen-1.5B aus.

Projektverzeichnis erstellen und öffnen

Bleibe in der dstack-env virtuellen Umgebung, erstelle anschließend ein Verzeichnis und wechsle hinein.

console

$ mkdir quickstart && cd quickstart

Verzeichnis initialisieren

console

dstack-Task-Konfigurationsdatei erstellen

Lege eine YAML-Datei für die Task-Konfiguration der dstack-Dev-Umgebung an.

console

Task-Definition einfügen

Kopiere die folgende Konfiguration und füge sie ein.

YAML

type: task
# The name is optional, if not specified, generated randomly
name: trl-train

python: "3.10"

nvcc: true
# Required environment variables
env:
- WANDB_API_KEY
- WANDB_PROJECT
- MODEL_ID=deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
# Commands of the task
commands:
- git clone https://github.com/huggingface/trl.git
- pip install transformers
- pip install trl
- pip install peft
- pip install wandb
- cd trl/trl/scripts
- python sft.py
    --model_name_or_path $MODEL_ID
    --dataset_name trl-lib/Capybara
    --learning_rate 2.0e-4
    --num_train_epochs 1
    --packing
    --per_device_train_batch_size 2
    --gradient_accumulation_steps 8
    --gradient_checkpointing
    --logging_steps 25
    --eval_strategy steps
    --eval_steps 100
    --use_peft
    --lora_r 32
    --lora_alpha 16
    --report_to wandb
    --output_dir DeepSeek-R1-Distill-Qwen-1.5B-SFT

resources:
gpu:
    # 24GB or more vRAM
    memory: 24GB..

Speichere die Datei und schließe sie.

Die YAML-Datei beschreibt einen dstack-Task, der DeepSeek-R1-Distill-Qwen-1.5B mit Hugging Face TRL samt LoRA feinabstimmt. Dafür wird das TRL-Repository geklont, die benötigten Bibliotheken installiert und ein Supervised-Fine-Tuning auf trl-lib/Capybara gestartet. Gradient Checkpointing und Gradient Accumulation sorgen dabei für eine speicherschonende Ausführung. Der Trainingsfortschritt wird in Weights & Biases (W&B) protokolliert. Der Task fordert eine GPU mit mindestens 24GB vRAM an, damit das Fine-Tuning über dstack reibungslos läuft.

Hinweis

Diese Konfiguration nutzt die Umgebungsvariablen WANDB_API_KEY und WANDB_PROJECT, um Trainingsmetriken an Weights & Biases (W&B) zu senden. Für W&B musst du einen Account erstellen und deinen API-Key als WANDB_API_KEY hinterlegen. WANDB_PROJECT kann ein beliebiger Projektname sein, um Experimente zu strukturieren.

Konfiguration anwenden

console

$ dstack apply -f .dstack.yaml

Die Konfiguration kann einige Minuten benötigen, bis sie startet (abhängig davon, welche Maschine du verwendest; VMs benötigen meist unter 2 Minuten, Bare-Metal-Systeme können etwa 30 Minuten zur Bereitstellung brauchen). Anschließend kann der Fine-Tuning-Prozess weitere Zeit beanspruchen, bis er abgeschlossen ist und das Modell gespeichert wurde.

Öffne das WandDB-Dashboard über die im Terminal ausgegebene URL, um den Fine-Tuning-Status zu verfolgen.

WandDB Dashboard

Fazit

In dieser Anleitung hast du das Modell DeepSeek R1 Distill Qwen 1.5B mit dstack auf centron Cloud-GPUs feinabgestimmt. Du hast eine virtuelle Umgebung eingerichtet, dstack installiert und centron als Cloud-Provider konfiguriert, wodurch der Trainingsablauf deutlich vereinfacht wurde. Mit diesem Setup kannst du KI-Modelle nun effizient und skalierbar trainieren und optimieren – gestützt durch zuverlässige, leistungsstarke Machine-Learning-Workflows.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

TensorRT und ONNX: High-Performance-ML auf NVIDIA-GPUs

AI/ML, Tutorial
Vijona16 Dez. um 12:58 Uhr Machine-Learning-Frameworks, Modell-Tools und Deployment-Strategien in der ML-Pipeline Machine-Learning-Frameworks, spezialisierte Modell-Tools und Deployment-Lösungen übernehmen jeweils unterschiedliche Aufgaben innerhalb eines Machine-Learning-(ML)-Workflows. In jeder Phase – von der Modellerstellung…