Maschinelles Lernen und KI
07.07.2017, 10:05 Uhr
Brauchen Unternehmen einen neuen Typ IT-Mitarbeiter?
Immer mehr Unternehmen sehen die Vorteile darin, maschinelles Lernen und künstliche Intelligenz für sich zu nutzen. Die wenigsten Firmen verfügen aber bereits über geeignetes Personal und müssen entsprechendes Know how erst aufbauen.
Wie man das am besten angeht, dazu beantwortet Homer Strong, Director of Data Science bei Cylance (HS), einige der zentralen Fragen.
F.: Welche Fähigkeiten sollte jemand mitbringen und wer eignet sich insbesondere wenn Unternehmen einen solchen Bereich aufbauen wollen? Und vor allem, wo findet man diese Leute?
HS: "Es gibt natürlich einige grundsätzliche technische Voraussetzungen, die jemand mitbringen sollte. Dazu gehören Programmieren, statistisches Know how und Wissen um die Funktionsweise von Algorithmen. Das sind wohl die wichtigsten für einen Ingenieur im Bereich maschinelles Lernen. Das allein reicht aber nicht. Es ist ganz entscheidend, dass jemand zusätzlich über herausragende Kommunikationsfähigkeiten verfügt und gewohnt ist, wissenschaftlich zu denken. Typischerweise kommen die Bewerber deshalb aus einem eher akademischen Umfeld mit einem Hintergrund als Informatiker oder Computerwissenschaftler. Aber inzwischen rekrutieren sich auch immer mehr Bewerber aus der Praxis und zwar aus ganz unterschiedlichen Bereichen. In den beiden vergleichsweise jungen Berufsbildern „ ML Engineer“ oder „Data Scientist“ sind inzwischen Naturwissenschaftler, Physiker, Wirtschaftswissenschaftler vertreten, genauso wie eine steigende Zahl von Autodidakten ohne wissenschaftlichen Hintergrund. Solche Leute finden Sie nicht selten in Open-Source-Projekten bei denen maschinelles Lernen genutzt wird oder anhand entsprechender Veröffentlichungen. Beides sind gute Indikatoren über welche technischen Fähigkeiten jemand verfügt. Das akademische Umfeld ist sicherlich ein geeigneter Ort die richtigen Bewerber zu finden, leicht ist es allerdings in keinem der genannten Felder.“
F.: Könnte man die Kriterien in etwa so formulieren: Man braucht unterschiedliche Mitarbeiter in den unterschiedlichen Stadien eines Projektes?
HS: „Absolut richtig, ja. ML Engineers und Data Scientists müssen den kompletten Analyse-Stack beherrschen. Data Scraping oder andere Erfassungsmethoden, das Bereinigen und das Verwalten der Daten binden sehr viele Ressourcen. Wenn sich das Projekt dann weiter entwickelt und das Team entsprechend wächst, bilden sich stärker spezialisierte Rollen heraus. Beispielsweise solche Mitarbeiter, die riesige Dateninfrastrukturen, Big Data wie etwa Spark verwalten.“
F.: Wie unterscheiden sich solche Projekte von üblichen Coding-Projekten ?
HS: „In allererster Linie dadurch, dass Sie oftmals um einen gewissen experimentellen Anteil nicht herumkommen. Es gibt immer eine bestimmte Anzahl an Wiederholungen beim Entwickeln und Trainieren eines Modells. Für Probleme, die bereits gut dokumentiert sind und zu denen ausreichendes Fachwissen zur Verfügung steht, und wenn dann noch die zugrunde liegenden Daten bereinigt sind, ähneln solche Projekte durchaus ganz durchschnittlichen Coding-Unterfangen. Das gilt etwa für die Methode des kollaborativen Filterns oder für das Klassifizieren von Spam. Allerdings gibt es immer wieder Fälle, bei denen der zuständige ML Engineer nicht darum herumkommt innerhalb vieler Wiederholungen auch zu experimentieren. Etwa mit verschiedenen Funktionen, unterschiedlichen Architekturen oder Typen von Modellen. Es gibt bei derlei Projekten keinerlei Garantie, dass die Resultate dann tatsächlich zufriedenstellend sind. Es ist durchaus möglich, dass Sie lediglich herausfinden, dass Sie weitere Daten sammeln und analysieren müssen. Und selbst, wenn Sie ein Modell tatsächlich bereits einsetzen, kann es notwendig werden, es in periodischen Abständen neu zu evaluieren und zu aktualisieren. Etwa weil sich das ursprüngliche Referenzkonzept verändert hat.“
F.: Worin bestehen die größten Herausforderungen und wie bekommt man sie am besten in den Griff?
HS: „Maschinelles Lernen hat beide Seiten. Es ist eine ganz besonders herausfordernde Sache, aber auch eine besonders dankenswerte und erfolgversprechende. Um es mit Richard Feynman zu sagen „Machen Sie sich nichts vor, denn Sie selbst sind es, dem Sie etwas vormachen“. Dieser Satz hat leider gerade in Bezug auf maschinelles Lernen seine Berechtigung. Gerade in diesem Metier unterliegt man leicht der Täuschung, dass etwas funktioniert, auch wenn es das nicht tut. Ein Beispiel. Es ist vergleichsweise einfach Informationen aus einem Trainings-Set in das eigentliche Test-Setting zu übernehmen. Das führt dazu, dass das Modell wesentlich präziser zu sein scheint, als es tatsächlich der Fall ist. Es empfiehlt sich stattdessen mit einer explorativen Analyse zu beginnen, und beim eigentlichen Modellansatz sehr sparsam vorzugehen. Das heißt etwa, sich an Experimenten zu orientieren, deren Resulate wiederholbar sind, wenn man zuverlässig funktionierende Modelle evaluieren will.“
F.: Welche Fähigkeiten sollte jemand mitbringen und wer eignet sich insbesondere wenn Unternehmen einen solchen Bereich aufbauen wollen? Und vor allem, wo findet man diese Leute?
HS: "Es gibt natürlich einige grundsätzliche technische Voraussetzungen, die jemand mitbringen sollte. Dazu gehören Programmieren, statistisches Know how und Wissen um die Funktionsweise von Algorithmen. Das sind wohl die wichtigsten für einen Ingenieur im Bereich maschinelles Lernen. Das allein reicht aber nicht. Es ist ganz entscheidend, dass jemand zusätzlich über herausragende Kommunikationsfähigkeiten verfügt und gewohnt ist, wissenschaftlich zu denken. Typischerweise kommen die Bewerber deshalb aus einem eher akademischen Umfeld mit einem Hintergrund als Informatiker oder Computerwissenschaftler. Aber inzwischen rekrutieren sich auch immer mehr Bewerber aus der Praxis und zwar aus ganz unterschiedlichen Bereichen. In den beiden vergleichsweise jungen Berufsbildern „ ML Engineer“ oder „Data Scientist“ sind inzwischen Naturwissenschaftler, Physiker, Wirtschaftswissenschaftler vertreten, genauso wie eine steigende Zahl von Autodidakten ohne wissenschaftlichen Hintergrund. Solche Leute finden Sie nicht selten in Open-Source-Projekten bei denen maschinelles Lernen genutzt wird oder anhand entsprechender Veröffentlichungen. Beides sind gute Indikatoren über welche technischen Fähigkeiten jemand verfügt. Das akademische Umfeld ist sicherlich ein geeigneter Ort die richtigen Bewerber zu finden, leicht ist es allerdings in keinem der genannten Felder.“
F.: Könnte man die Kriterien in etwa so formulieren: Man braucht unterschiedliche Mitarbeiter in den unterschiedlichen Stadien eines Projektes?
HS: „Absolut richtig, ja. ML Engineers und Data Scientists müssen den kompletten Analyse-Stack beherrschen. Data Scraping oder andere Erfassungsmethoden, das Bereinigen und das Verwalten der Daten binden sehr viele Ressourcen. Wenn sich das Projekt dann weiter entwickelt und das Team entsprechend wächst, bilden sich stärker spezialisierte Rollen heraus. Beispielsweise solche Mitarbeiter, die riesige Dateninfrastrukturen, Big Data wie etwa Spark verwalten.“
F.: Wie unterscheiden sich solche Projekte von üblichen Coding-Projekten ?
HS: „In allererster Linie dadurch, dass Sie oftmals um einen gewissen experimentellen Anteil nicht herumkommen. Es gibt immer eine bestimmte Anzahl an Wiederholungen beim Entwickeln und Trainieren eines Modells. Für Probleme, die bereits gut dokumentiert sind und zu denen ausreichendes Fachwissen zur Verfügung steht, und wenn dann noch die zugrunde liegenden Daten bereinigt sind, ähneln solche Projekte durchaus ganz durchschnittlichen Coding-Unterfangen. Das gilt etwa für die Methode des kollaborativen Filterns oder für das Klassifizieren von Spam. Allerdings gibt es immer wieder Fälle, bei denen der zuständige ML Engineer nicht darum herumkommt innerhalb vieler Wiederholungen auch zu experimentieren. Etwa mit verschiedenen Funktionen, unterschiedlichen Architekturen oder Typen von Modellen. Es gibt bei derlei Projekten keinerlei Garantie, dass die Resultate dann tatsächlich zufriedenstellend sind. Es ist durchaus möglich, dass Sie lediglich herausfinden, dass Sie weitere Daten sammeln und analysieren müssen. Und selbst, wenn Sie ein Modell tatsächlich bereits einsetzen, kann es notwendig werden, es in periodischen Abständen neu zu evaluieren und zu aktualisieren. Etwa weil sich das ursprüngliche Referenzkonzept verändert hat.“
F.: Worin bestehen die größten Herausforderungen und wie bekommt man sie am besten in den Griff?
HS: „Maschinelles Lernen hat beide Seiten. Es ist eine ganz besonders herausfordernde Sache, aber auch eine besonders dankenswerte und erfolgversprechende. Um es mit Richard Feynman zu sagen „Machen Sie sich nichts vor, denn Sie selbst sind es, dem Sie etwas vormachen“. Dieser Satz hat leider gerade in Bezug auf maschinelles Lernen seine Berechtigung. Gerade in diesem Metier unterliegt man leicht der Täuschung, dass etwas funktioniert, auch wenn es das nicht tut. Ein Beispiel. Es ist vergleichsweise einfach Informationen aus einem Trainings-Set in das eigentliche Test-Setting zu übernehmen. Das führt dazu, dass das Modell wesentlich präziser zu sein scheint, als es tatsächlich der Fall ist. Es empfiehlt sich stattdessen mit einer explorativen Analyse zu beginnen, und beim eigentlichen Modellansatz sehr sparsam vorzugehen. Das heißt etwa, sich an Experimenten zu orientieren, deren Resulate wiederholbar sind, wenn man zuverlässig funktionierende Modelle evaluieren will.“