c't 20/2017
S. 174
Know-how
Sacred
Aufmacherbild

Ehre das Zwischenergebnis!

Dank Sacred nie wieder Parameter für KI & Co. vergessen

Wer mit Programmen wie neuronalen Netzen, Simulationen oder Benchmarks experimentiert, investiert in jeden Versuch eine Menge Rechenzeit. Zu blöd, wenn man dann Parameter oder Ergebnisse aus früheren Experimenten vergisst, die beim aktuellen Versuch hätten helfen können. Sacred automatisiert das Pflegen der Datenbank, der nichts mehr entgeht.

Experimentiert man wie beim Machine Learning mit Algorithmen, die Stunden oder sogar Tage brauchen, um Ergebnisse zu liefern, verursacht jedes Experiment Kosten. Der Strom und vor allem die investierte Zeit schlagen so deutlich zu Buche, dass es sich lohnt, die Ergebnisse aller – auch fehlgeschlagener – Versuche aufzubewahren und alle Parameter zu notieren. In der Praxis ist der Dokumentationsaufwand aber zu groß, um das per Hand zu machen.

Die Python-Bibliothek Sacred löst dieses Problem. Sie bietet eine Schnittstelle, um die Parameter rechenleistungshungriger Experimente elegant zu definieren, sammelt automatisch Informationen zum System, archiviert den ausgeführten Quellcode und speichert alles in einer Datenbank. Dabei kontrolliert sie die verwendeten Zufallszahlengeneratoren, sodass sich archivierte Experimente komplett reproduzieren lassen.