Deep Learning Academy · Lektion

Jobs mit torchrun starten

Starten und koordinieren Sie Worker-Prozesse.

Lektion 4 von 413 Schritte

Jobs mit torchrun starten ist eine kostenlose Deep Learning Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Deep Learning Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Deep Learning Academy-Kurs umfasst insgesamt 4 Lektionen.

Wer startet die Prozesse

DDP benötigt einen Prozess pro GPU, aber wer startet diese Prozesse? Sie müssen sie nicht von Hand starten. torchrun übernimmt diese Aufgabe für Sie.

torchrun kennenlernen

torchrun ist der Launcher von PyTorch. Sie übergeben ihm Ihr Skript und die Anzahl der zu startenden Prozesse, und er übernimmt die Koordination.

torchrun --nproc_per_node=4 train.py

Prozesse pro Knoten

Das Flag nproc_per_node legt fest, wie viele Prozesse auf diesem Rechner gestartet werden. Normalerweise entspricht der Wert der Anzahl Ihrer GPUs.

torchrun --nproc_per_node=8 train.py

Umgebungsvariablen werden gesetzt

torchrun stellt wichtige Werte als Umgebungsvariablen bereit: RANK, LOCAL_RANK und WORLD_SIZE. Ihr Skript liest sie aus, um seine Rolle zu bestimmen.

import os
local_rank = int(os.environ["LOCAL_RANK"])

Adressen nicht manuell verdrahten

Bei älteren Launchern mussten Sie die Ränge von Hand übergeben. Mit torchrun erfolgt das Rendezvous automatisch, sodass Ihr Skript übersichtlich und portabel bleibt.

init liest die Umgebung

Da torchrun die Umgebungsvariablen setzt, benötigt Ihr Aufruf von init_process_group außer dem Backend keine Argumente. Er übernimmt alle Werte automatisch.

import torch.distributed as dist
dist.init_process_group(backend="nccl")

Auf viele Rechner skalieren

Für mehrere Knoten fügen Sie nnodes und einen Knotenrang hinzu. Jeder Rechner führt denselben Befehl mit seiner eigenen Knoten-ID aus.

torchrun --nnodes=2 --node_rank=0 --nproc_per_node=4 train.py

Auf den Master verweisen

Über mehrere Knoten hinweg müssen alle Prozesse einen Treffpunkt finden. rdzv_endpoint gibt den Host und den Port an, über die das Rendezvous erfolgt.

torchrun --rdzv_endpoint=host0:29500 train.py

Einen Absturz eines Workers überstehen

torchrun unterstützt elastisches Training: Legen Sie eine minimale und maximale Anzahl von Knoten fest, und der Job kann sich erholen, wenn ein Worker ausfällt. 💪

torchrun --nnodes=1:4 --max_restarts=3 train.py

Nur von einem Rang protokollieren

Jeder Prozess gibt Meldungen aus, daher werden die Logs schnell unübersichtlich. Schalten Sie Ausgaben mit einer Rangprüfung frei, sodass nur Rang 0 den Fortschritt meldet.

if int(os.environ["RANK"]) == 0:
    print("epoch done")

Das vollständige Rezept

Das Muster ist einfach: Schreiben Sie ein normales DDP-Skript und starten Sie es anschließend mit torchrun. Launcher und DDP erledigen den Rest gemeinsam.

Schnelltest

Rufen Sie sich in Erinnerung, welche Werte torchrun an Ihr Skript übergibt.

Zusammenfassung

Sie haben gelernt, Jobs mit torchrun zu starten: Prozesse pro Knoten festzulegen, die bereitgestellten Umgebungsvariablen auszulesen und mit elastischer Wiederherstellung auf viele Knoten zu skalieren.

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Jobs mit torchrun starten“ kostenlos?

Ja — der vollständige Text von „Jobs mit torchrun starten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Deep Learning Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Deep Learning Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Jobs mit torchrun starten“?

Starten und koordinieren Sie Worker-Prozesse. Du übst Deep Learning Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Deep Learning Academy zu starten?

Keine Vorkenntnisse erforderlich. Deep Learning Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Jobs mit torchrun starten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Deep Learning Academy-Lektion Code schreiben und ausführen?

Ja. Jede Deep Learning Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Daten- vs. Modellparallelismus
  2. Grundlagen von DistributedDataParallel
  3. Synchronisierte Batch Norm und geshardeter State
  4. Jobs mit torchrun starten
← Zurück zu Deep Learning Academy