Die Hostdatei von DeepSpeed

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

Guess you like

Origin blog.csdn.net/flyingluohaipeng/article/details/132594321