In diesem Leitfaden fassen wir alle hilfreichen Informationen zusammen die Sie brauchen um Machine Learning Projekte erfolgreich umzusetzen.
Für einen gröberen Überblick sehen sie sich auch Alles, was ein CEO über künstliche Intelligenz wissen muss und Die 4 Erfolgsfaktoren für jedes KI-Projekt an.
An wen richtet sich dieser Artikel?
Dieser Artikel richtet sich an Personen, die eine Machine Learning Lösung für ein mittleres oder großes Unternehmen umsetzen möchten. Wenn Sie nur nebenbei etwas über Machine Learning lernen oder erste Erfahrungen machen möchten, reicht es vollkommen aus, allein oder mit einem noch ungeübten Team an einem Proof-of-Concept zu arbeiten. Hier gehen wir jedoch davon aus, dass Sie ein größer angelegtes Machine Learning Projekt planen, das ein reales Risiko mit sich bringt (falls es scheitert), aber auch echten Mehrwert schafft (wenn es erfolgreich ist).
Was ist Machine Learning und warum ist es wichtig?
Obwohl Machine Learning in vielen unterschiedlichen Bereichen einen großen Mehrwert bieten kann, wird es oft auch überbewertet. Wir alle kennen Science-Fiction-Filme, und es ist reizvoll, Machine Learning als eine Art Instrument zu sehen, das Maschinen menschliche Intelligenz verleihen kann. In Wirklichkeit birgt Machine Learning zwar in vielerlei Hinsicht großes Potential, sollte aber eher als ein spezialisiertes Werkzeug zur Datenanalyse gesehen werden und weniger als Wunderwaffe zur Lösung jedes Problems.
Was ist Machine Learning?
Beim Machine Learning geht es im Grunde darum, Muster in strukturierten Daten zu finden und dann Vorhersagen zu machen. Bei diesen Vorhersagen geht es oft darum, was in Zukunft passieren wird. Das ist jedoch nicht der einzige Weg, wie der Begriff "Vorhersagen" im Machine Learning eingesetzt wird: Häufig geht es auch um die Vorhersage richtiger Antworten auf Fragen wie "Was für eine Hunderasse ist auf diesem Bild zu sehen?" Bei dieser Art von Vorhersage handelt es sich nicht um eine zeitlich orientierte Vorhersage (Blick in die Zukunft), sondern um eine Vorhersage im Sinne von: "Welche Antwort würde ein allwissendes Orakel geben?"
Inwiefern unterscheidet sich Machine Learning von normaler Software?
Man kann Machine Learning auch als "Von Daten lernen" verstehen. Herkömmliche Softwarelösungen basieren auf Deduktion (eine Person identifiziert eine Reihe von Regeln und kodiert sie als eine Reihe von Wenn-Dann-Anweisungen, die anschließend auf Daten angewendet werden), während Machine Learning Lösungen auf Deduktion basieren (ein Machine Learning Algorithmus ermittelt automatisiert bestimmte Regeln, indem er eine große Anzahl von Beispielen analysiert, die dann wiederum auf weitere Daten verallgemeinert angewendet werden).
Inwiefern unterscheidet sich Machine Learning von KI?
Wir werden in diesem Artikel den Begriff "Machine Learning" verwenden, im allgemeinen Sprachgebrauch hört man dafür auch oft die Begriffe "Künstliche Intelligenz" oder "KI". Für eine detailliertere Erläuterung des Unterschiedes, siehe “Der Unterschied zwischen Machine Learning und Künstlicher Intelligenz”.
Warum ist Machine Learning wichtig?
Machine Learning, insbesondere im Zuge jüngster Fortschritte, eröffnet Unternehmen in allen Branchen neue Möglichkeiten. Machine Learning wird unter anderem deswegen so viel Aufmerksamkeit gewidmet, weil es wesentliche Fortschritte in scheinbar unabhängigen Bereichen ermöglicht, darunter zum Beispiel:
- Bildverarbeitung ( z.B. Gesichtserkennung);
- Tonverarbeitung (z.B. automatische Untertitelung von Videos);
- Textverarbeitung (z.B. Übersetzung zwischen verschiedenen Sprachen);
- Zeitreihenverarbeitung (z.B. Vorhersage des Energiebedarfs);
- Predictive Analytics (z.B. den angemessenen Preises für ein Haus einschätzen, oder die Wahrscheinlichkeit berechnen, dass ein bestimmter Kunde ein bestimmtes Produkt kaufen wird).
Jeder dieser Bereiche umfasst noch weitere Teilbereiche (z.B. können wir die gleichen Algorithmen, die wir verwenden um Gesichter zu erkennen, auch verwenden um Krebs in Röntgenbildern zu erkennen). Vor allem können aber in all diesen Bereichen ähnliche Algorithmen verwendet werden, was dazu führt, dass Verbesserungen von einem Algorithmus zu Verbesserungen in vielen Bereichen führen kann. Das gilt für nahezu jeden Fachbereich, einschließlich Medizin, Marketing, Finanzwesen und Trading.
In jedem dieser Bereiche machen große (und ständig wachsenden) Datensätzen es möglich Machine Learning effektiv anzuwenden. Je mehr wir aus den Daten machen, desto wertvoller werden sie. Dadurch legen wir mehr Wert auf die Daten und mit besseren Daten können wir wiederum Machine Learning Modelle entwickeln und es entsteht ein positiver Kreislauf.
Macht Machine Learning Sinn für Ihr Unternehmen und Ihr Projekt?
Machine Learning bietet immens viel Potenzial, sodass es fast jedes Unternehmen gerne einsetzen möchte. Das bedeutet allerdings nicht, dass das auch immer eine gute Idee ist.
Als Manager gehen Sie zwei Risiken ein:
- Es kann passieren, dass Sie - in dem Versuch, möglichst zeitgemäße Methoden anzuwenden - Machine Learning in eine Problemstellung zwängen, in der es keinen wirklichen Nutzen bringt, oder
- Dass Sie es verpassen Machine Learning an der richtigen Stelle einzusetzen, wo es einen großen Nutzen hätte.
Obwohl jede Situation anders ist, gibt es ein paar nützliche Faustregeln um herauszufinden ob Machine Learning für Ihr Unternehmen oder Projekt geeignet ist oder nicht.
Anhaltspunkte dafür, dass eine Machine Learning Lösung sinnvoll ist.
- Sie haben bereits eine große Menge gut strukturierter Daten, auf die Sie sich bei gewissen Entscheidungen verlassen. Wenn Daten bereits die wichtigste Grundlage für gewisse Entscheidungen sind, ist das ein gutes Zeichen dafür, dass eine Machine Learning Lösung hilfreich sein kann. Ein Beispiel: Sie konsolidieren manuell viele Excel-Tabellen um den Umsatz für das nächste Quartal zu prognostizieren.
- Sie verwenden bereits selbst erstellte Regeln oder Heuristiken um Entscheidungen zu treffen. Wenn Sie Ihr Problem bereits mit Hilfe von Heuristiken zum Teil lösen können, kann ein Machine Learning eventuell komplexere und genauere Regeln finden. Ein Reisebüro, das beispielsweise seinen Kunden ein bestimmtes Hotelpaket auf Grundlage ihres Browserverlaufs empfehlen möchte, definiert dafür manuell ein paar Kategorien anhand von Preis und Standort. Machine Learning könnte diese Regeln verfeinern indem es aus dem Kaufverhalten der Kunden mehr und deutlich genauere Regeln, und damit Interessenprofile, erstellt.
Anhaltspunkte dafür, dass eine Machine Learning Lösung nicht sinnvoll ist.
- Eine Aufgabe ist repetitiv, wird aber immer noch von Menschen bearbeitet. Sehr häufig sind scheinbar "repetitive" Aufgaben nicht vollends definiert und daher gar nicht unbedingt so repetitiv, wie man auf den ersten Blick meint. Wenn z.B. Vertriebsmitarbeiter E-Mails verfassen oder Support-Anfragen bearbeiten, dann steckt darin am Ende immer noch eine Menge menschliche Empathie und Kreativität. Machine Learning kann Ihren Mitarbeitern eventuell helfen solche Aufgabe effizienter zu bearbeiten, aber in wahrscheinlich nicht sie zu ersetzen.
- Sie planen gerade noch die richtigen Daten zu sammeln. Es macht selten Sinn sich mit Machine Learning zu beschäftigen bevor Sie ausreichend Daten gesammelt haben, und diese erst einmal mit einfachen statistischen Methoden analysieren.
Das sind aber nur grobe Richtlinien. Nahezu jedes Unternehmen kann an irgendeinem Punkt Einsatzbereiche für Machine Learning finden. Die Frage ist, ob Sie Machine Learning jetzt brauchen und wie hoch der ROI (Return on Investment) sein wird. Wenn Ihr Unternehmen noch relativ klein ist oder Sie nur über wenige Daten verfügen, können Sie mit einer manuellen Auswertung Ihrer Daten einen größeren ROI erzielen. Wenn nicht, kann Machine Learning jedoch einen großen Mehrwert bieten.
Wie sieht eine umgesetzte Machine Learning Lösung konkret aus?
Es mag verlockend erscheinen, innerhalb von 2-3 Wochen einen PoC (Proof-of-Concept) zusammenzustellen: ein Modell, das ein paar bereits vorhandene Daten nehmen und daraus potenziell nützliche Vorhersagen erstellen kann. Es gibt tausende von Anleitungen, die Ihnen zeigen, wie Sie einen PoC mit wenigen Zeilen Code und Standardbibliotheken umsetzen können. Der Eindruck täuscht aber. Erfahrene Entwickler wissen, dass ein PoC nur ein kleiner Schritt (~10%) auf dem Weg zu einer fertigen ML Lösung ist.
Machine Learning Lösungen lassen sich grob in drei Konzepte unterteilen:
- Daten: werden verwendet, um vorhandenen Muster zu finden und das Modell zu trainieren;
- Code: wird verwendet, um die Daten aufzubereiten, das Training des Modells zu definieren, und die Lösung in Ihre Infrastruktur zu integrieren;
- Modell: wird verwendet, um Vorhersagen zu erstellen.
Ein PoC und eine fertige Lösung (in Produktion) unterscheiden sich in diesen 3 Teilen gravierend:
Wie kompliziert ist eine fertige Lösung im Vergleich zu einem PoC?
Eine Produktionslösung hat deutlich mehr zusammenhängende Elemente. Für Proof-of-Concept entwickelt man meist nur den Code um ein relativ simples Modell zu trainieren und zu testen. Das alles passiert meist auf einem Rechner. Um eine fertige Lösung zu entwickeln ist das jedoch lediglich der erste Teil. In Produktion benötigt man einen robusten Trainingsserver und einen geeigneten Prozess, um den Überblick über die verschiedenen Modelle zu behalten. Neue Modelle müssen standardisiert getestet werden, bevor sie live gehen. Bevor eine Machine Learning Lösung eingesetzt werden kann, müssen in vielen Schleifen die Daten, der Code und die Modelle optimiert werden.
Was für ein Team brauchen Sie, um eine Machine Learning Lösung zu entwickeln?
Wenn Sie ein Machine Learning Team zusammenstellen, scheint es auf den ersten Blick eine gute Idee zu sein, Wissenschaftler mit akademischem Hintergrund einzustellen. Wer die Algorithmen versteht, müsste sie auch am besten einsetzen können? Aber das selten der Fall.
Einen Wissenschaftler zu beauftragen, eine Machine Learning Lösung zu entwickeln, ist ein bisschen so, als würde man einen KitchenAid Designer darum bitten, ein Gericht zuzubereiten. Während Wissenschaftler neue Wege finden Probleme zu lösen und über fundiertes theoretisches Fachwissen verfügen, mangelt es ihnen oft an praktischem Know-how vorhandene Tools zu nutzen, Softwareentwicklungs-Standards einzuhalten und Projekte auf der richtigen Bahn zu halten.
In den meisten Fällen brauchen Sie jemanden, der gelernt hat die vorhandenen Tools richtig zu nutzen - so wie ein Chefkoch, der aus einfachen Zutaten und Küchengeräten eine köstliches Gericht zubereitet.
In der Regel brauchen Sie dafür einen Machine Learning Entwickler - ein erfahrener Softwareentwickler, der sich darauf spezialisiert hat mit Machine Learning Business-Lösungen umzusetzen.
Sollten Sie mit einer Agentur arbeiten oder selbst ein Machine-Learning-Team zusammenstellen?
Die wichtigste Entscheidung, die Sie treffen müssen, ist, ob Sie ein eigenes Machine Learning Team bilden oder eine Entwicklerteam beauftragen. Der Aufbau eines eigenen Teams kann viele Jahre dauern und ist wahrscheinlich nur dann die richtige Wahl, wenn Sie keine schnellen Ergebnisse brauchen oder Machine Learning Machine Learning der zentrale Motor Ihrer Produkte werden soll.
Oft ist es auch möglich das passende Team intern zu rekrutieren. Dabei stellt sich die Frage ob Sie besser den Mathematikern Entwicklerkenntnisse, oder den Entwicklern mathematische und statistische Fähigkeiten beibringen sollen. Es ist so oder so kein einfacher Schritt, aber ein guter Entwickler kann oft ausreichend Mathematik- und Statistik-Kenntnisse in 2 Jahren lernen, während ein Statistiker deutlich länger braucht, die erforderlichen Programmierkenntnisse zu erlernen (etwa 5 Jahre).
Ein gutes Machine Learning Team lebt nicht nur von Machine Learning Fachwissen. Expertise in Software-Entwicklung, DevOps und Management sind alle gleichermaßen wichtig, und eine gute Teamstruktur sieht in etwa so aus:
Bei Data Revenue besteht unser Team fast vollständig aus Machine Learning Engineers. Dies verschafft uns einen Vorteil gegenüber Unternehmen, die Machine Learning eher als Mittel zum Zweck und weniger als Selbstzweck betrachten. Trotzdem haben wir 2 Jahre gebraucht, um ein erfolgreiches Team aufzubauen, und insgesamt 4 Jahre bis wir einen soliden Recruitingprozess hatten (wir stellen ~1 von 150 Bewerbern ein).
Ein eigenes Team aufzubauen ist vor allem dann sinnvoll, wenn Sie überzeugt sind, dass KI der Hauptfaktor ist, mit dem Sie Ihre Konkurrenten ausstechen. Wenn Machine Learning lediglich ein Teil des Prozesses sein soll, der Sie an die Spitze bringt, dann ist es vermutlich deutlich besser, externe Experten hinzuzuziehen.
Eine Agentur zu beauftragen bringt jedoch auch Risiken mit sich, besonders dann, wenn man die Falsche auswählt. Eine Übersicht über die Faktoren, auf die Sie bei der Auswahl einer ML-Beratungsagentur achten sollten, finden Sie in dem Artikel ”how to choose a machine learning consultancy”.
Was ist die ideale Struktur eines Machine Learning Projekts?
Allein die Strukturierung des technischen Teils einer Machine Learning Lösung ist eine Herausforderung für sich. Es bedarf einer bestimmten Kombination aus wirtschaftlichen und technischen Fähigkeiten, um das gesamte Projekt richtig zu strukturieren. Bevor Sie sich in das Projekt vertiefen, sollte daher jede einzelne Phase des Arbeitsablaufs gründlich durchdacht sein.
Einer der wichtigsten Aspekte bei der Planung eines Machine Learning Projekts ist eine produktionsorientierte Planung. Wenn Sie ein Proof-of-Concept anstreben, dann werden Sie auch einen PoC bekommen. Ein PoC ist zwar ein guter Anfang, jedoch sollte bei der Erarbeitung des PoC immer die Produktion als eigentliches Ziel im Vordergrund stehen.
Ein besseres Ziel als ein PoC ist eine Pilotphase. Diese sieht fast genauso aus wie eine fertige Produktionslösung, ist aber in ihrem Umfang, in der Anzahl der Nutzer oder in der verwendeten Datenmenge begrenzt.
Von Anfang an sollten Sie die Forschungs- und Experimentierphase zeitlich begrenzen. Es ist wichtig, dass sich alle bewusst sind, dass das Ziel heißt: "Was ist das beste Modell, das wir in X Tagen entwickeln können" und nicht "Was ist das beste Modell, das wir entwickeln können". Andernfalls bleiben Sie sehr leicht in einer endlosen Schleife hängen, in der immer "nur noch einen weiterer Testlauf" durchgeführt wird.
Es ist auch wichtig, herauszufinden, auf welche internen und externen Abteilungen Ihres Unternehmens sich die neue Machine Learning Lösung auswirken wird.
Wenn sie eine andere Lösung ersetzen soll, die von einem Ihrer Teams entwickelt wurde, müssen Sie bedenken, dass das Team möglicherweise an dem bestehenden Lösungsansatz festhalten möchte. "Not developed here" ist eine schwierige Hürde, die es zu überwinden gilt, sei es zwischen Teams innerhalb Ihres Unternehmens oder zwischen Ihrem und einem externen Team.
Bevor Sie mit der Entwicklung beginnen, stellen Sie sicher dass der Lösungsansatz auch skaliert. Häufig funktioniert eine Lösung im PoC- oder sogar im Pilotstadium gut, aber eine komplett ausgerollte Machine Learning Lösung kann aufgrund des hohen Ressourcenbedarfs Ihre Infrastruktur leicht überfordern, wenn sie nicht richtig geplant wurde. Stellen Sie sicher, dass die Lösung den geplanten Durchsatz und auch Peaks gut abfangen kann.
Unserer Projekt-Checkliste für Machine Learning Lösungen gibt einen guten Überblick über alle Aspekte die Sie beachten sollten.
Warum Sie trotzdem scheitern könnten: häufige Fallstricke.
Wir haben die Gefahren erwähnt, in der PoC-Phase stecken zu bleiben, das falsche Team zu wählen oder sich für Machine Learning zu entscheiden, obwohl es für ein bestimmtes Problem nicht geeignet ist. Aber es gibt noch mehr potenzielle Schwierigkeiten, denen Sie sich bewusst sein sollten, bevor Sie Ihr Projekt starten:
- Möglicherweise wird man Ihrem Modell nicht trauen: Selbst wenn Ihr Modell sehr genaue Vorhersagen liefert, könnte es schwierig sein, das Vertrauen Ihres Teams und Ihrer Kunden zu gewinnen, wenn Sie nicht erklären können, wie Sie zu dieser Vorhersage gelangt sind. Sie sollten alle harten Anforderungen in Bezug auf Erklärungs- und Interpretierbarkeit verstanden haben, bevor Sie sich für den Einsatz von Machine Learning entscheiden. In einigen Fachgebieten, wie z.B. der Pharmakologie, kann die eindeutige Nachvollziehbarkeit auch eine gesetzliche Voraussetzung sein.
- Sie könnten eine Lösung entwickeln die nicht erweiterbar ist: Es reicht nicht aus, ein Modell zu haben, das heute funktioniert. Ihre Lösung muss gewartet, aktualisiert und korrigiert werden. Sie brauchen einen gut etablierten Ablauf, um in Zukunft Änderungen am Modell, am Code und an den Daten in Produktion zu bringen, sonst haben Sie eine Lösung, die Sie nicht an veränderte Bedingungen anpassen können und daher schon bald nicht mehr funktionieren wird. Mit einem erfahrenen Team, das diese Fehler bereits gemacht hat - und aus ihnen gelernt hat - lässt sich dies leicht vermeiden.
- Ihr Modell könnte zu kompliziert sein: Selbst wenn Ihr Modell die korrekten Ergebnisse liefert, kommt es überraschend oft vor, dass Sie nach der ganzen Arbeit, die Sie in die Entwicklung einer Machine Learning Lösung investiert haben, eine viel einfachere Lösung finden. Beispielsweise könnte es sein, dass Sie bereits eine sehr gute Vorhersage machen können, indem Sie einfach den Wert vom letzten Jahr am gleichen Tag nehmen. Deshalb sollten Sie, bevor Sie ein Modell erstellen, immer zuerst die sinnvollste Baseline implementieren und diese während des gesamten Projekts als Benchmark-Test verwenden.
- Ihr Modell könnte einer bestimmte Aabteilung schaden oder diese gefährden: Obwohl Machine Learning Mitarbeiter in der Regel eher unterstützt als ersetzt, könnte Ihre Lösung bestimmte Arbeitsplätze - oder sogar ganze Abteilungen - gefährden. Zum Beispiel gehört es eventuell zum Selbstverständnis eines Finanzexperten Muster in Daten zu entdecken, während Ihre Machine Learning Lösung möglicherweise sämtliche Aspekte dieser Mustersuche automatisiert. Seien Sie transparent darüber, was Ihr Modell bezweckt und ob dadurch bestimmte Aufgaben wegfallen. Die empfundene Bedrohung ist häufig unbegründet: In den meisten Fällen ergänzt und erleichtert eine Machine Learning Lösung unbeliebte Arbeiten, aber ersetzt keine Positionen.
- Externe Faktoren können sich ändern: Machine Learning Lösungen sind zwangsläufig sehr sensibel bezüglich der Daten auf denen sie trainiert werden. Wenn ein externes Ereignis dazu führt, dass sich die aktuellen Daten stark von den bisherigen Daten unterscheiden, kann Ihr Modell an Zuverlässigkeit verlieren. Beispielsweise könnten Modelle, die mit Daten von April 2019 trainiert wurden, im April 2020 sehr ungenau sein, wenn durch Corona viele Saisonalitäten komplett verändert wurden.
- Ihr Modell könnte voreingenommen sein (Bias): Es kommt häufig vor, dass Daten, anhand derer Machine Learning Modelle trainiert werden, menschlichen Bias aufweisen. So wurden zum Beispiel im COMPAS-System, das im US-Justizverfahren verwendet wird, um zu bestimmen, welche Gefangenen vorzeitig entlassen werden sollen, rassistischer Bias gefunden. Wenn Ihre Machine Learning Lösung unter Bias leidet, ist es wichtig, dies so früh wie möglich zu erkennen, anstatt das gesamte Projekt nach der Produktion verwerfen zu müssen.
Die Entwicklung einer Machine-Learning-Lösung kann eine gewaltige Herausforderung sein! Wir hoffen, dass Sie sich mit Hilfe dieses Artikels etwas sicherer fühlen. Sollten Sie Fragen oder Unterstützung suchen, kontaktieren Sie uns gerne.