ML-Projektplanung

Die Planung von ML-Projekten unterscheidet sich von der Planung typischer Softwareentwicklungsprojekte. ML-Projekte sind üblicherweise nicht linear und haben unterschiedliche Unsicherheitsgrade. Sie erfordern einen iterativen Ansatz und eine experimentelle Denkweise.

Projektunsicherheit

Die Planung in einem frühen Stadium kann schwierig sein, da der beste Ansatz zu Beginn eines Projekts in der Regel nicht offensichtlich ist. Diese inhärente Unsicherheit erschwert die Schätzung von Zeitplänen.

Ein aktueller Kaggle-Wettbewerb veranschaulicht die Unsicherheit von ML-Projekten. In den ersten Wochen des Wettbewerbs nahmen 350 Teams teil. Einige Teams konnten die Benchmark-Vorhersagequalität von 35% auf 65 % erhöhen. In den nächsten zwei Wochen stieg die Anzahl der Teams, die an dem Problem arbeiteten, von 350 auf 1.400. Das beste Modell erreichte jedoch nur eine Vorhersagequalität von 68%.

Abbildung 3 veranschaulicht die Unsicherheit in der ML-Entwicklung anhand des erheblichen Anstiegs des Aufwands, aber nur der minimalen Steigerungen der Modellqualität.

Die Abbildung zeigt, wie sich die Anzahl der Teams innerhalb von zwei Wochen von 350 auf 1.400 erhöht, aber die Modellqualität verbessert sich nur um drei Prozent.

Abbildung 3. Über einen Zeitraum von zwei Wochen stieg die Anzahl der Teams, die an dem Problem arbeiten, um den Faktor 4, aber die Qualität des Modells blieb fast gleich, was die Schwierigkeit bei der Schätzung des Aufwands einer ML-Lösung zeigt.

Mit anderen Worten: Über tausend Teams, die jeweils mit einer Vielzahl von Datentransformationen, Architekturen und Hyperparametern experimentieren, erzielten nur ein Modell mit einer Vorhersagequalität von 68 %.

Ein Beispiel aus der Branche veranschaulicht die Nichtlinearität von ML-Projekten, bei denen die Ausgabe nicht proportional zu den Eingaben ist. Zwei Teams haben mehrere Monate gebraucht, um ein Modell mit einer Vorhersagequalität von 90% zu trainieren. Mehrere Teams brauchten jedoch mehr als fünf Jahre, um das Modell mit einer Vorhersagequalität von 99,9% für die Produktion vorzubereiten.

Diese Beispiele zeigen, dass produktionsfertiges ML ein Erkundungsprozess ist, der sowohl eine wissenschaftliche als auch eine technische Herangehensweise erfordert.

Experimenteller Ansatz

In den meisten Fällen ähnelt die ML-Entwicklung eher der Durchführung von Experimenten als der Durchführung traditioneller Softwareentwicklung. Für ML müssen verschiedene Features getestet, mehrere Architekturen getestet und Hyperparameter richtig abgestimmt werden. Per Definition ist der Erfolg eines Tests nicht garantiert. Daher empfiehlt es sich, bei der Planung ein experimentelles Framework zu verwenden.

Sehen wir uns einen typischen Softwareentwicklungsplan an, um zu sehen, wie er sich von einem ML-Projektplan unterscheidet.

Planung von Softwareentwicklungsprojekten

In einem typischen Softwareentwicklungsplan definieren Sie die Anforderungen, skizzieren die Komponenten, schätzen den Aufwand und planen die Arbeit. Es gibt einen klar definierten Weg zu einer Lösung. Entwickler kennen beispielsweise häufig mit hoher Sicherheit die Aufgaben, die sie ausführen müssen, um eine Anwendung zu erstellen, die den Designspezifikationen entspricht.

Wenn sie die für die Erledigung einer Aufgabe erforderliche Zeit prognostizieren, können sie die Arbeit auf der Grundlage ähnlicher Projekte schätzen. Auch wenn ausnahmslos Herausforderungen auftreten – z. B. unbekannte Abhängigkeiten oder sich ändernde Anforderungen –, die die Schätzung manchmal schwierig machen können, ist in der Regel ein klarer Weg zur Lösung vorhanden.

Im Gegensatz dazu haben ML-Projekte normalerweise keinen eindeutigen Weg zum Erfolg.

ML-Projekte planen

Für die meisten ML-Projekte finden Sie die beste Lösung, wenn Sie mit mehreren Ansätzen in einem Test-and-Error-Prozess experimentieren. Normalerweise kennen Sie nicht die optimale Lösung für ein Problem, bevor Sie versuchen, es zu lösen. Die Architektur der optimalen Lösung kann beispielsweise ein einfaches lineares Modell, ein neuronales Netz oder auch einen Entscheidungsbaum sein. Nur indem Sie jeden Ansatz ausprobieren, können Sie die beste Lösung finden.

Diese Ambiguität erschwert die Planung. Wie bereits erwähnt, ist es schwierig, den für ein ML-Projekt erforderlichen Aufwand vorherzusagen. Nur durch den Versuch, das Problem zu lösen, erhalten Sie ein besseres Gespür für den Zeit- und Ressourcenaufwand, den eine Lösung möglicherweise benötigt.

Für die Planung von ML-Arbeiten werden folgende Strategien empfohlen:

  • Zeitrahmen für die Arbeit festlegen: Legen Sie klare Zeitrahmen fest, um Aufgaben zu erledigen oder eine bestimmte Lösung auszuprobieren. Sie könnten z. B. zwei Wochen zuweisen, um festzustellen, ob Sie Zugriff auf die richtige Art von Daten erhalten. Wenn Sie die Daten erhalten, könnten Sie zwei weitere Wochen einplanen, um zu sehen, ob ein einfaches Modell darauf hinweist, dass eine ML-Lösung möglich ist. Wenn ein einfaches Modell fehlschlägt, können Sie zwei weitere Wochen für den Test eines neuronalen Netzes einplanen. Am Ende jedes Zeitraums haben Sie weitere Informationen, um festzustellen, ob sich die weitere Anwendung von Ressourcen für das Problem lohnt.

  • Reduzieren Sie die Projektanforderungen. Wenn eine ML-Lösung vielversprechend erscheint, aber für Ihr Produkt oder Ihren Dienst kein kritisches Feature ist, prüfen Sie die Anforderungen zurück. Beispielsweise könnten Sie bei der Planung der Arbeit für das nächste Quartal eine sehr einfache Lösung ausprobieren. In den folgenden Quartalen könnten Sie die Lösung iterativ verbessern. Die Implementierung einer ML-Lösung durch inkrementelle Verbesserungen über einen längeren Zeitraum hinweg ist die Art und Weise, wie viele Teams zu wirkungsvollen ML-Lösungen gelangt sind.

  • Praktikums- oder Noogler-Projekt Wenn Sie ein Praktikum oder ein Noogler anleiten und anleiten, eine ML-Lösung auszuprobieren, kann eine gute Möglichkeit sein, einen neuen Bereich mit unbekannten Ergebnissen zu erkunden. Nach Abschluss des Projekts haben Sie ein besseres Gespür für den Aufwand, den eine ML-Lösung erfordert, und für möglicherweise vielversprechende Ansätze, die zu verfolgen sind, oder für die Frage, ob Ressourcen woanders eingesetzt werden sollten.

Bei jeder Strategie sollten Sie schnell scheitern. Versuchen Sie zuerst eine Lösung mit den niedrigsten Kosten, aber möglicherweise dem höchsten Nutzen zu finden. Wenn der Ansatz funktioniert, haben Sie eine gute Lösung gefunden. Ist dies nicht der Fall, haben Sie nicht viel Zeit und Ressourcen verschwendet.

Wenn Teams mehr Erfahrung mit dem Durchführen von Tests sammeln, können sie den möglicherweise erforderlichen Aufwand besser einschätzen, was die Planung besser vorhersagbar macht. Da das Ergebnis eines Tests jedoch fast immer unbekannt ist, kann die Anzahl der Tests, die erforderlich sind, um die beste Lösung zu finden, nicht vorher geschätzt werden.

Eine experimentelle Denkweise hilft Ihrem Team, die Weichen auf Erfolg zu stellen. Wenn ein Ansatz in eine Sackgasse führt, anstatt entmutigt zu werden, wissen Teammitglieder, dass dies Teil des Prozesses der Suche nach einer ML-Lösung ist. Und was noch wichtiger ist: Wenn Sie die inhärente Unsicherheit bei der ML-Entwicklung mit Stakeholdern besprechen, können Sie realistischere Erwartungen formulieren.

Wichtig

Das Planen mehrerer ML-Ansätze erfordert wahrscheinlich Zeit und Erfahrung. Ihr Projektplan erfordert möglicherweise häufige Aktualisierungen. Betrachten Sie es als ein dynamisches Dokument, das sich ständig weiterentwickelt, wenn Ihr Team mit mehreren Ansätzen experimentiert. Wenn Sie sich auf die folgenden zentralen Ideen konzentrieren, erhöhen Sie Ihre Erfolgschancen:

  • Für jeden Ansatz die Kosten und die Erfolgswahrscheinlichkeit abschätzen
  • Erstellen Sie ein Portfolio mit Ansätzen.
  • Identifizieren Sie die gewonnenen Erkenntnisse und versuchen Sie, das System nacheinander zu verbessern.
  • Planen Sie Fehler ein.

Manchmal führt ein früher Ansatz zu einem Durchbruch. Jemand könnte einen Programmfehler in der Pipeline zur Datengenerierung oder in der Aufteilung zwischen Training und Validierung entdecken. Mit einer guten Planung und einer gründlichen Dokumentation erhöhen Sie die Wahrscheinlichkeit, dass Sie ein Modell finden, das Ihr Geschäftsproblem schneller als erwartet löst.