Kann Ray Aufgaben an Synchronisierungspunkten anhalten/fortsetzen, wenn die GPUs begrenzt sind?Python

Python-Programme
Anonymous
 Kann Ray Aufgaben an Synchronisierungspunkten anhalten/fortsetzen, wenn die GPUs begrenzt sind?

Post by Anonymous »

Ich trainiere mehrere neuronale Netzwerke parallel mit Ray, wobei Netzwerke an bestimmten Punkten während des Trainings (nicht nur nach Abschluss) synchronisiert werden müssen, um Metadaten auszutauschen und Hyperparameter basierend auf kollektiven Ergebnissen zu aktualisieren.
Mein Setup:
  • 32 Netzwerke müssen parallel trainiert werden
  • Nur 16 GPUs verfügbar
  • Netzwerke müssen an den angegebenen Grenzen synchronisiert werden (z. B. alle N Trainingsschritte)
  • An Synchronisierungspunkten tauschen alle Netzwerke Metadaten aus, bevor eines zum nächsten Grenzpunkt übergehen kann
Das Problem:
Rays Standardverhalten stellt Aufgaben in die Warteschlange und führt sie bis zum Abschluss aus. Aber ich brauche Ray, um:
  • Netzwerk auf GPU bis zum Synchronisierungspunkt zu trainieren
  • GPU für eine in der Warteschlange befindliche Aufgabe anzuhalten/auszugeben
  • Das angehaltene Netzwerk nach dem Synchronisierungspunkt fortzusetzen
Frage: Kann Ray Aufgaben an beliebigen Punkten (nicht abgeschlossen) überprüfen und anhalten, GPU-Ressourcen für andere Aufgaben freigeben und dann später fortfahren? Oder unterstützt Ray nur Aufgabenwarteschlangen, bei denen jede Aufgabe ununterbrochen bis zum Abschluss ausgeführt wird?
Wenn Ray dies nicht kann, welche Alternativen gibt es dann für synchronisiertes paralleles Training mit begrenzten GPU-Ressourcen?
Außerdem verwenden die von mir ausgeführten Programme JAX, um die neuronalen Netze zu trainieren

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post