In den letzten zehn Jahren sind Begriffe wie „Data Science“, „Big Data“, „Data Lake“, „Machine Learning“, „AI“ und so weiter in den Vordergrund gerückt (und manchmal wieder zurückgefallen). Unabhängig von ihrer breiten Verwendung (oder vielleicht gerade deshalb!) scheint es jedoch wenig Übereinstimmung darüber zu geben, was viele dieser Begriffe bedeuten. Ich möchte mich nicht mit einem erweiterten Argument zur einheitlichen Nomenklatur befassen, aber es gibt zwei häufig verwendete Begriffe, die für mich von besonderem Interesse sind: „Data Scientist“ und „Machine Learning Engineer“.
Im weitesten Sinne könnten diese beiden Begriffe als „technisch versierte Menschen, die Lösungen im Bereich Machine Learning entwickeln “ verstanden werden. „Data Scientist“ ist ein Begriff, der im Laufe der Jahre mit einer Art generalistischem Mathematiker oder Statistiker in Verbindung gebracht wurde, der auch ein wenig programmieren kann und weiß, wie man Daten interpretiert und visualisiert. In jüngster Zeit wird der Begriff „Machine Learning Engineer“ mit Softwareentwicklern in Verbindung gebracht, die dabei etwas Mathematik gelernt haben.
Linktipp: In dieser Artikel-Serie stellen wir die wichtigsten Machine Learning Methoden, wie Clustering und Classification vor.
Obwohl an diesen Interpretationen sicherlich etwas Wahres dran ist, finde ich keine von ihnen besonders nützlich. Deshalb möchte ich auf die Gefahr hin, die Verwirrung noch zu vergrößern, meine Interpretation dessen veranschaulichen, was diese Rollen bedeuten, und zwar durch ein kleines Gleichnis von zwei unerschrockenen Abenteuern – einem Wissenschaftler (Data Scientist) und einem Ingenieur (Machine Learning Engineer) -, die sich auf die Suche nach Öl in eine unbekannte und möglicherweise endlose Wüste begeben….
Inhaltsverzeichnis
Entsprechend ihrer Aufgaben sind der Ingenieur und der Wissenschaftler unterschiedlich ausgestattet
Der Wissenschaftler ist leicht unterwegs. Er hat einen Rucksack, einen Kompass, einen Spaten und einige einfache, aber präzise Messgeräte. Er macht ein paar Ausflüge in die Wüste, nie sehr tief, aber tief genug, um zu beurteilen, welche Richtung am vielversprechendsten ist. Innerhalb weniger Tage, nachdem er Messungen durchgeführt und einige Löcher mit dem Spaten gegraben hat, hat er eine Vorstellung davon, wo es Öl geben könnte.
Der Ingenieur hingegen bringt schwere und anspruchsvolle Maschinen mit. Im Moment geht es ihm noch nicht darum, wo Öl gefunden werden kann. Doch wenn es einmal gefunden ist, muss es transportiert werden, also verbringt er die ersten Tage damit, einen Entwurf für eine Pipeline zu entwerfen.
Die Zusammenarbeit ermöglicht es den beiden Forschern, ihre Stärken zu bündeln und effektiver zu werden
Nach ein paar Tagen beraten sich die Entdecker und der Wissenschaftler erklärt, dass er für die nächsten Tage weitergehende Streifzüge Ausflüge machen wird, da er sich jetzt viel sicherer ist, wo er das Öl findet. Als der Wissenschaftler losfährt, nimmt der Ingenieur seine Maschine in Betrieb und baut – auf den Spuren des Wissenschaftlers – den ersten Abschnitt der Pipeline. Schließlich holt er den Wissenschaftler ein, der einen kleinen Brunnen entdeckt hatte!
Gemeinsam richten sie am Standort einen Bohrer ein und verbinden ihn mit der Rohrleitung. Diese Pipeline macht die Arbeit des Wissenschaftlers viel effizienter und obwohl sie noch keinen wirklich großen Brunnen gefunden haben, wirft dieser kleinere Brunnen bereits einige Gewinne ab und der Ingenieur kann damit seine Pipeline testen.
Nach einigen Monaten reibungsloser Zusammenarbeit sind beide Entdecker bereit für den ersten großen Durchbruch
In Vorbereitung auf die nächste Phase ihres Abenteuers baut der Ingenieur eine leichte Ölbohrmaschine und weist den Wissenschaftler in die Handhabung ein. Mit diesem spezialisierten Bohrer ist der Wissenschaftler nun in der Lage, Bohrungen ohne Anwesenheit des Ingenieurs zu öffnen. Für eine Weile arbeitet der Wissenschaftler weiter an der Suche nach neuen Bohrungen, während der Ingenieur sie weiterhin mit der Pipeline verbindet.
Als nächstes entwirft der Ingenieur nun auch Leichtbaurohre, die der Wissenschaftler ohne Hilfe des Ingenieurs an die Rohrleitung anschließen kann. Dies ermöglicht es dem Wissenschaftler, seine Erkundungen erheblich zu beschleunigen und befreit den Ingenieur gleichzeitig von der Neukonstruktion großer Teile der Pipeline, wodurch sie stabiler und effizienter werden.
Ebenso entwickelt der Wissenschaftler einen neuen standardisierten Messsatz, den der Ingenieur in die Messprotokolle des Hauptdrehkreuzes einbauen kann, so dass der Wissenschaftler nicht mehr zu den Bohrstellen fahren muss, um deren Leistung zu überwachen.
Nach monatelanger, harter Arbeit erreichen sie die große Ölquelle, nach der sie gesucht haben. Gemeinsam befestigen sie den Brunnen an der Rohrleitung und installieren anspruchsvolle Messgeräte. Mittlerweile ist die Routine gut geregelt. Messen, bohren, befestigen, pumpen, messen. Erledigt. In kürzester Zeit sprudelt die große Ölquelle.
Nach einer Weile trennen sich ihre Wege – der Ingenieur bleibt vor Ort, während der Wissenschaftler außerhalb des Projekts mitwirkt
Bald darauf packt der Wissenschaftler zusammen und macht sich auf den Weg nach Hause. Er wird nicht mehr vor Ort benötigt, steht aber weiterhin für die Analyse der Messungen des Brunnens zur Verfügung.
Der Ingenieur bleibt etwas länger. Er ist noch nicht glücklich darüber, dass das gesamte System perfekt funktioniert. Eine Crew von Bedienern kommt an, und gemeinsam korrigieren sie alle verbleibenden Probleme. Dann übergibt der Ingenieur die Anlage an die Betreiber und fährt nach Hause und verspricht, bei Problemen zurückzukehren.
Wiedersehen des Wissenschaftlers und des Ingenieurs
Unsere beiden Entdecker treffen sich bald wieder. Sie denken über ihr kleines Wüstenabenteuer nach und beginnen gemeinsam Pläne für ihre nächste Erkundung zu machen – anscheinend könnte es Öl in der Arktis geben und sie sind bereit, es herauszufinden!
Data Scientists und Machine Learning Engineers haben unterschiedliche Rollen
Vielleicht können Sie aus der obigen Geschichte einige der Elemente erkennen, die Teil eines erfolgreichen Machine Learning Projekts einfließen.
Ich habe dieses kleine Gleichnis von zwei Entdeckern gewählt, weil ich glaube, dass das maschinelle Lernen – obwohl es in den letzten fünf bis zehn Jahren große Fortschritte gemacht hat – ein Bereich bleibt, der weitgehend Ausflüge in unbekanntes Terrain erfordert. Ich glaube, dass ein Geist der Erforschung (Quick Prototyping) genauso relevant ist wie vor fünf Jahren, aber es wird auch immer wichtiger, gleich zu Beginn des Projekts mit der Vorbereitung von Produktivsystemen (Quick Scaling) zu beginnen.
Für meine beiden Entdecker wählte ich einen (Daten-)Wissenschaftler und einen (Machine Learning-) Ingenieur, um die Bedeutung ihrer Zusammenarbeit für eine schnelle und effektive Wertschöpfung zu verdeutlichen.
Es gibt zweifellos viele verschiedene Definitionen für diese beiden Rollen, aber für mich ist das entscheidende Merkmal, dass der Data Scientist jemand ist, der fragt: „Was ist der beste Algorithmus, um dieses Problem zu lösen“ und versucht, diese Frage zu beantworten, indem er schnell verschiedene Hypothesen testet (Suche nach Ölquellen). Der Machine Learning Engineer hingegen fragt: „Was ist das beste System, um das Problem zu lösen“ und versucht, diese Frage zu beantworten, indem er einen automatisierten Prozess (Bau einer Ölpipeline) aufbaut, mit dem die Prüfung von Hypothesen beschleunigt werden kann.
Trotz der unterschiedlichen Rollen zwischen dem Data Scientist und dem Machine Learning Engineer ist ihre Zusammenarbeit für maschinelle Lernprojekte entscheidend
Unabhängig davon, ob diese beiden Definitionen zu 100% korrekt sind oder nicht, ist es wichtig, dass die Zusammenarbeit stattfindet, wenn zwei talentierte Fachleute mit diesen Denkweisen zusammenkommen. In meinem Beispiel sucht der Data Scientist nach neuen Modellarchitekturen, die er ausprobieren kann; nach neuen Methoden zur Leistungsmessung; nach neuen Datenquellen, die er aufnehmen kann usw., während der Machine Learning Engineer nach Möglichkeiten sucht, die Arbeit des Data Scientists in ein skalierbares System zu integrieren. Mit zunehmender Skalierung des Systems wird der Data Scientist effizienter, weil er über bessere Werkzeuge verfügt. Der Machine Learning Engineer wird effektiver, weil die von ihm entwickelten Werkzeuge eingesetzt werden, um immer mehr wertvolle Ergebnisse zu liefern.
Allerdings wird für den Data Scientist der Fokus eher auf schnellen Ergebnisse als auf der Entwicklung nachhaltiger Software liegen. Als solches wird das Werkzeug der Wahl für Data Scientists – da das Ganze typischerweise in der Python-Welt spielt – die umfassende Nutzung von Jupyter Notebooks sein, die eine explorative Arbeitsweise aktiv unterstützen; das Endprodukt dieser Arbeit sind typischerweise Prototypen-Skripte.
Der Machine Learning Engineer schreibt jedoch Software. Ich kann das nicht genug betonen. (Wenn Sie sehr gut im maschinellen Lernen sind und klar strukturierte, gut dokumentierte und leicht zu pflegende Skripte erstellen, dann sind Sie der beste Data Scientist, den wir von Alexander Thamm bei einem Projekt anfragen können – kein Machine Learning Engineer!) Der Machine Learning Engineer konzentriert sich auf die Entwicklung von Software, die schnell skalierbar ist. Vieles davon wird sich auch in der Python-Welt abspeilen, was bedeutet, dass IDEs (integrierte Entwicklungsumgebungen) wie PyCharm als Werkzeug der Wahl typischerweise verwendet werden. (Es geht jedoch über Python hinaus, da Skalierung auch bedeutet, Werkzeuge zu beherrschen, die Ressourcen für das Modelltraining orchestrieren und trainierten Modellen für Endbenutzersysteme dienen, aber das ist eine Diskussion zum anderen Mal).
Verschiedene Phasen des Projekts erfordern eine unterschiedliche Beteiligung von Machine Learning Engineers und Data Scientists
Das Letzte, worüber man sprechen muss, sind die Phasen des Projekts und wer wann beteiligt ist. Betrachtet man einen Projektverlauf, der die Phasen „Hypothese“; „Proof of Concept“; „Prototyp“ und „Produktion“ durchläuft – dann ist es verlockend zu sagen, dass die ersten beiden die Domäne der Data Scientists sind, während die letzten beiden die Domäne der Machine Learning Engineers sind. Ich würde nur teilweise zustimmen.
Der Data Scientist und der Machine Learning Engineer, die am Rande der Wüste stehen, in die Ferne schauen und sich fragen, ob es da draußen Öl geben könnte: Das ist die Phase der „Hypothese“. Der Wissenschaftler, der in der Wüste herumläuft und viele kleine Löcher mit dem Spaten gräbt, um die ersten Anzeichen von Öl zu sehen, während der Ingenieur die Entwürfe für seine Pipeline zeichnet, ist das, was ich als „Proof of Concept“ bezeichnen würde. Eine vollwertige Pipeline wird gebaut, und das erste kleine Brunnen, der angezapft wird, ist das, was ich als „Prototyp“ bezeichnen würde. Und das groß angelegte, voll verfeinerte und hocheffiziente System, das von einem Team von Bedienern gewartet wird, würde ich als „Produktion“ betrachten.
Der Machine Learning Engineer und der Data Scientist sind während des gesamten Projekts von entscheidender Bedeutung.
Vielleicht besteht die richtige Betrachtung darin zu erkennen, dass jede der Phasen den Input von beiden Rollen erfordert, aber dass sich das Aussehen dieser Eingabe ändern wird. Insbesondere zu Beginn wird der Machine Learning Engineer stark von der Erforschung durch den Data Scientist abhängig sein und später wird dieser stark von den Werkzeugen abhängig sein, die der Machine Learning Engineer entwickelt. Aber jeder wird während der gesamten Zeit relevant – sogar unabdingbar – bleiben.
Und am Ende gehen beide zum nächsten Schritt über, der wahrscheinlich noch eine weitere Entdeckungsreise sein wird – diesmal in die Arktis?
Original Blogpost auf Medium von unserem Head of AI & Leading Machine Learning Engineer Karl Schriek.
0 Kommentare