JavaScript is required to use this site. Please enable JavaScript in your browser settings.
Decorative Header Image

OmniOpt

Architektur, Leistungsfähigkeit und Genauigkeit numerischer Algorithmen werden durch ihre Hyperparameter bestimmt. Daher ist die Hyperparameteroptimierung eine entscheidende Aufgabe in zahlreichen Anwendungsbereichen, die von neuronalen Netzen und anderen Methoden des maschinellen Lernens bis hin zu klassischen Simulationen reichen. Im Rahmen von ScaDS.AI Dresden/Leipzig wurde das vielseitige und benutzerfreundliche Tool zur Hyperparameteroptimierung OmniOpt entwickelt. Seine wichtigsten Merkmale sind:

  • OmniOpt eignet sich für eine breite Palette von Problemstellungen. Nahezu jede Anwendung, die auf einem Linux-System läuft, kann mit OmniOpt optimiert werden. Dazu gehören klassische Simulationen, neuronale Netze und andere Methoden des maschinellen Lernens.
  • OmniOpt nutzt die umfangreichen Ressourcen des High-Performance-Computing-Systems (HPC) an der TU Dresden. Der Nutzer hat Zugriff auf mehr als 40.000 CPUs und mehrere hundert GPUs.
  • Der Nutzer kann die Programmiersprache, die Anzahl und Art der Hyperparameter, deren Grenzen sowie die Art der zu optimierenden Zielfunktion frei wählen.
  • OmniOpt ist robust. Es überprüft und installiert alle Abhängigkeiten automatisch und behebt viele Probleme im Hintergrund.

Wie funktioniert OmniOpt?

  • Die Nutzung von OmniOpt ist für alle Nutzer mit einem Konto am HPC-System der TU Dresden kostenlos. Für Informationen zur Einrichtung eines Kontos wenden Sie sich bitte an uns.
  • Zur Eingabe der Steuerparameter steht eine benutzerfreundliche grafische Oberfläche zur Verfügung: die Rechenressourcen (Anzahl der zu verwendenden GPUs oder CPUs), die Anzahl der Hyperparameter und deren Grenzwerte, die Anzahl der durchzuführenden Auswertungen usw.
  • Darüber hinaus müssen die Nutzer ihre Anwendungen als Black-Box-Programm in einer beliebigen, auf Linux-Systemen lauffähigen Programmiersprache bereitstellen. Darin muss die vom Nutzer gewählte Zielfunktion berechnet werden. Dieses Programm muss die Hyperparameter als Befehlszeilenargumente einlesen und die Zielfunktion auf die Standardausgabe ausgeben.
  • Die Hyperparameter werden durch einen stochastischen Bayes’schen Optimierungsalgorithmus unter Verwendung des Hyperopt-Projekts auf GitHub ermittelt. Dabei wird eine Vielzahl von Auswertungen der Zielfunktion durchgeführt, wobei ein Kompromiss zwischen Erkundung und Ausnutzung des Optimierungsraums gefunden wird.
  • Die Ergebnisse sind zweierlei: Erstens erhält der Benutzer die vollständigen numerischen Ergebnisse der Optimierung (alle ausgewerteten Hyperparameter-Sätze mit der entsprechenden Zielfunktion). Zweitens stehen automatische grafische Auswertungswerkzeuge zur Verfügung: 2D-Schnitte des Optimierungsraums als Farbkarten für jedes Hyperparameter-Paar sowie eine Darstellung der Ergebnisse als paralleles Diagramm.
  • Die Parallelisierung und Verteilung der Berechnungen auf die HPC-Ressourcen erfolgt automatisch entsprechend den vom Nutzer angeforderten Ressourcen.

Haben Sie weitere Fragen?

Kontaktieren Sie uns oder nehmen Sie an unserer Schulung „Hyperparameter-Optimierung mit OmniOpt“ teil!

Links

Referenzen

Bergstra, J., Yamins, D., Cox, D. D. (2013) Making a Science of Model Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision Architectures. TProc. of the 30th International Conference on Machine Learning (ICML 2013), June 2013, pp. I-115 to I-23.
https://github.com/hyperopt/hyperopt

funded by:
Gefördert vom Bundesministerium für Bildung und Forschung.
Gefördert vom Freistaat Sachsen.