Artikelverzeichnis
1. Hostfile-Datei
Beim DeepSpeed-Training mit mehreren Maschinen und mehreren Karten müssen Sie die Hostfile-Datei konfigurieren. Die Hostfile-Datei ist eine Liste von Hostnamen (oder SSH-Aliasnamen). Auf diese Maschinen kann über passwortloses SSH zugegriffen werden, und sie enthält auch die Anzahl der Steckplätze. die verwendet werden, um die Anzahl der auf dem System verfügbaren GPUs anzugeben. Wie folgt:
worker-1 slots=8
worker-2 slots=8
hostname1 slots=8
hostname2 slots=8
Im obigen Beispiel werden **vier Aliase (Informationen zur Aliaserstellung finden Sie im zweiten Abschnitt unten)** als Worker-1-, Worker-2-, Hostname1- und Hostname2-Maschinen angegeben, und jede Maschine verfügt über 8 GPUs für das Training.
Eine Hostdatei kann mit der Befehlszeilenoption --hostfile angegeben werden. Wenn keine Hostdatei angegeben ist, durchsucht DeepSpeed den Systemkonfigurationsdateipfad der Maschine /job/hostfile . Wenn keine Hostdatei angegeben oder gefunden wird, fragt DeepSpeed die Anzahl der GPUs auf dem lokalen Computer ab, um die Anzahl der verfügbaren lokalen Slots zu ermitteln.
2. Erstellung eines Linux-Alias
Verwenden Sie normalerweise eine der folgenden Methoden, um über SSH eine Verbindung zu einem Remote-System herzustellen.
IP-Adresse verwenden:
ssh 192.168.225.22
Oder verwenden Sie Portnummer, Benutzernamen und IP-Adresse:
ssh -p 22 [email protected]
Oder verwenden Sie Portnummer, Benutzernamen und Hostnamen:
ssh -p 22 [email protected]
22 是端口号,
sk 是远程系统的用户名,
192.168.225.22 是远程系统的 IP,
server.example.com 是远程系统的主机名。
Ich glaube, dass die meisten Leute auf diese Weise über SSH eine Verbindung zu Remote-Systemen herstellen. Wenn Sie jedoch eine SSH-Verbindung zu mehreren verschiedenen Systemen herstellen, ist es schwierig, sich alle Hostnamen oder IP-Adressen sowie Benutzernamen zu merken, es sei denn, Sie schreiben sie auf Papier oder speichern sie in einer Textdatei. Dies lässt sich leicht lösen, indem Sie einen Alias (oder eine Verknüpfung) für die SSH-Verbindung erstellen.
2.1 Verwendung von SSH-Konfigurationsdateien
Die bevorzugte Methode zum Erstellen von Aliasnamen.
SSH-Aliase können mithilfe der SSH-Standardkonfigurationsdatei erstellt werden. Bearbeiten Sie dazu die Datei ~/.ssh/config (falls diese Datei nicht existiert, erstellen Sie einfach eine):
vi ~/.ssh/config
Fügen Sie die Details aller Remote-Hosts wie folgt hinzu:
Host worker-0
HostName 192.168.225.22
User ostechnix
User sk
Host worker-1
HostName server.example.com
User ostechnix
User root
Host hostname1
HostName 192.168.225.25
User ostechnix
Port 2233
Host hostname2
HostName 192.168.225.25
User ostechnix
Port 2233
Erstellen Sie SSH-Aliase unter Linux mithilfe von SSH-Konfigurationsdateien.
Ersetzen Sie die konfigurierten Werte für Host, Hostname, Benutzer und Port durch Ihre eigenen. Speichern und beenden Sie die Datei, nachdem Sie alle Remote-Host-Details hinzugefügt haben.
Jetzt können Sie mit dem folgenden Befehl eine SSH-Verbindung zum System herstellen:
ssh worker-0
ssh worker-1
ssh hostname1
ssh hostname2
3. Referenzdokumente
1. So erstellen Sie einen SSH-Alias unter Linux
2. 【Übersetzung des DeepSpeed-Tutorials】 Erste Schritte, Installationsdetails und CIFAR-10-Tutorial
3. Fallstricke beim Deepspeed-Multi-Machine-Multi-Card-Training
4. DeepSpeed-Multi-Machine-Multi-Card Ausbildung