Ein Shooting Star am ML-Himmel?

Comet.ml – Das GitHub für Machine Learning
Keine Kommentare

Der kometenhafte Aufstieg des Machine Learnings bringt immer neue Tools hervor, die Entwickler beim Training ihrer Modelle unterstützen. Eines dieser Tools ist Comet. Mit dem Tool lassen sich nicht nur Modelle nachverfolgen, um sie besser reproduzierbar zu machen, Comet liefert auch Vorschläge für die Optimierung von Modellen, bringt GitHub-Integration und eine Kommentarfunktion.

„Tausende von Experimentergebnissen gehen jeden Tag verloren. Wir haben Comet entwickelt, um Machine Learning voranzubringen und die Reproduzierbarkeit zu verbessern.“ So liest sich der Leitsatz des Entwicklerteams. Comet.ml bietet die Möglichkeit, „automagisch“ Datensätze, Änderungen am Code, Experimente und Produktmodelle nachzuverfolgen und sie so reproduzierbar zu machen. Das ist zumindest das Ziel des noch recht jungen Projekts. Dabei verspricht Comet, nicht auf die Datensätze zuzugreifen, sie zu kopieren oder in unerlaubter Weise mitzulesen. Auch sollen keine Verlangsamungen durch die Protokollierung zu befürchten sein.

Um sich von TensorBoard abzusetzen, einem ähnlichen Tool von Google für TensorFlow, verspricht das Comet-Team „sehr viel tiefergehendes“ Reporting. Außerdem können mehrere Experimente gleichzeitigt an einem einzigen Ort nachverfolgt werden. Plus: Das Tool funktioniert nicht nur mit TensorFlow, sondern auch mit Keras, ScikitLearn, Pytorch, Theano, R sowie verschiedenen Python- und JVM-Bibliotheken. Die Implementierung von Comet erfolgt über eine einzige Code-Zeile. In dieser wird ein API-Key eingefügt, mit welchem Comet das Projekt verfolgen kann.

Experimente, die verfolgt werden, sollen sich ohne Probleme vergleichen lassen. Unterschiede in Code, Hyperparametern und diversen anderen Daten können laut Entwicklern sichtbar gemacht werden. Daten und Experimente können aus Comet heraus mit Kollegen und Mitarbeitern geteilt werden, Projektmanager sollen sich leicht einen Überblick über die Performance des Teams verschaffen können.

Und natürlich dürfen bei einem solchen Projekt auch Git-Integration und eine Dokumentation nicht fehlen. Notizen sollen sich dank einer entsprechenden Funktion jederzeit in Projekten vermerken lassen, und neben GitHub sind auch andere Provider in Comet integriert. Pull Requests sollen sich automatisch generieren lassen, sobald ein Projekt abgeschlossen ist.

Model-Optimierung inklusive

Zusätzlich zu den genannten Punkten bietet Comet eine Model-Optimierung. Diese soll mit wenigen Zeilen Code und ohne zusätzliche Abhängigkeiten oder ein Server-Setup integrierbar sein und helfen, Parameter und Modellarchitektur auf der Client-Seite zu optimieren.

Um den Optimizer in das eigene Projekt einzubauen, ist der folgende Code notwendig:

optimizer = Optimizer("API_KEY")
  # Declare your hyper-parameters:
  params = """
  x integer [1, 10] [10]
  y real [1, 10] [1.0]
  """
  optimizer.set_params(params)

  while True:
      # Get a suggestion
      suggestion = optimizer.get_suggestion()
    
      # Create a new experiment associated with the Optimizer
      experiment = Experiment("API_KEY")
    
      # Test the model
      score = fit(suggestion["x"])
    
      # Report the score back
      suggestion.report_score("accuracy",score)

Bei diesem Vorgang werden einzelne Variablen optimiert, für gewöhnlich solche, die die Performance des Modells messen. Nutzer können Parameter auswählen, die sie tunen möchten, welche Reichweite sie umfassen und welchen Typ sie haben sollen. Diese werden über ein SDK an Comet.ml übermittelt. Dann kann ein neues Parameter-Set angefragt werden, um das Modell damit zu trainieren, schließlich werden die Ergebnisse ebenfalls per SDK übertragen. Dieser Prozess wiederholt sich, bis das Modell vollständig optimiert wurde. Danach ist eine Analyse der Experimente mit Comet möglich, um so hoffentlich Probleme und die eigenen Algorithmen besser zu verstehen.

Wer sich für das Tool interessiert, findet weitere Informationen auf der Website. Dort gibt es auch die Möglichkeit, sich anzumelden und private Projekte kostenfrei zu trainiern. Für den akademischen Bereicht gibt kostenlosen Zugang zu den bezahlten Stufen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -