Machine Learning und Special Purpose Hardware – Rechnet sich das?

  • Data Scientists sollten nicht eine Woche auf ein Ergebnis warten müssen. Spezielle Chips können helfen die Entwicklungszeiten zu verkürzen.
  • Public Cloud Anbieter und auch Hersteller von Chips sind seit einiger Zeit in einem Kampf um die Führung im Machine Learning Bereich. Dieser umfasst neben Hardware auch Softwaretools und -frameworks.
  • Investitionen sollten sorgfältig geprüft und mit Benchmarks und realen Beispielen verifiziert werden.
  • Einige Hardware-Angebote wird es nicht im freien Verkauf, hier muss mit dem Data Science Bereich Rücksprache getroffen werden, ob ein Vendor-Lock-in trotzdem sinnvoll ist.

Als wäre es für die Unternehmen nicht schwer genug sich mit Microservice-Architekturen, Container und Serverless Computing eine entsprechende Strategie zu überlegen. Nun gibt es seit einiger Zeit zusätzlich noch einen Megahype um Machine Learning und die Künstliche Intelligenz. Dies wirft erneut viele Probleme auf, gerade im Bereich Talents. Doch auch der Betrieb von einer passenden Infrastruktur und den dazugehörigen Tools und Frameworks ist nicht ohne. Die Herausforderungen in in der IT steigen stetig an. Die gute Nachricht ist, dass die Jobs nicht weniger werden sondern eher mehr. Mensch und Maschine müssen Hand in Hand arbeiten, damit die Herausforderungen überhaupt zu meistern sind. Automatisierung heißt hier das Schlagwort. Für Data Scientist ist es wichtig das richtige Fundament zu haben, damit die Modelle entsprechend schnell berechnet und ausgeführt werden können. Damit ist die Artenvielfalt im Rechenzentrum schon vorprogrammiert. Die Hersteller, allen voran Intel und NVIDIA, liefern sich einen heftigen Schlagabtausch, wenn es um Thought Leadership und die Marktpräsenz in diesem Bereich geht.

Warum der ganze Wirbel um die Hardware?

Hardware und Software funktionieren umso effizienter, wenn beide für einander geschaffen sind. Je mehr also ein Stück Code von einem Stück Hardware profitieren kann, umso effizienter kann er die Vorteile nutzen, um Performance, Geschwindigkeit und Stabilität zu erlangen. Im Bereich von Machine Learning verhält es sich nun so, dass man aus den Daten, die man hat gerne eine Vorhersage treffen möchte, wie es in Zukunft aussehen könnte. Damit dies gelingt, müssen die Daten in Trainings- und Testdaten aufgespalten werden und die Daten für das Training dann mit unterschiedliche Modelle zusammengebracht, um hier ein möglichst gutes Vorhersageergebnis zu bekommen. Ein erfahrener Data Scientist kann natürlich schnell eine passende Klasse von Algorithmen auswählen, um das Problem anzugehen, doch nicht selten muss man verschiedene Verfahren trainieren und evaluieren, um das gewünschte Resultat zu produzieren. Das Training selbst jedoch, ist ähnlich wie im wahren menschlichen Leben, oftmals eine langwierige Angelegenheit. Da dies in einer immer schneller werdenden Zeit der Digitalisierung gewisse Gefahren birgt ist offensichtlich. Wer nicht schnell genug am Markt ist mit der richtigen und qualitativ hochwertigen Lösung und dem entsprechendem Ökosystem, der verliert. An dieser Stelle kommt dann die Hardware ins Spiel. Prozessoren werden für die benötigten hoch spezialisierten Anwendungsfälle designt und produziert, damit das Training und die Ausführung von Machine-Learning-Modellen möglichst effizient ist.  Wer zudem als Hersteller auch noch die passenden Tools und Frameworks gleich mitliefert hat einen weiteren entscheidenden Vorteil.

Special Purpose Hardware à la carte

Die bekanntesten Produkte für das maschinelle Lernen sind die CPU (Central Processing Unit) und die GPU (Graphics Processing Unit). Beide haben ursprünglich unterschiedliche Aufgaben zugewiesen bekommen. Die zentrale Recheneinheit sollte eben genau dieses Kernstück bei den Berechnungen innerhalb eines Systems übernehmen und die graphische Einheit möglichst effizient Grafiken berechnen können. Da nun die liebe Mathematik in unserem Alltag eine entscheidende Rolle spielt, ist auch in diesem Fall die Nutzung von GPUs für viele andere mathematische Probleme genutzt worden. So kann man viele Vektor- und Matrizenberechnungen entsprechend effizient und schnell berechnen. Wesentlich schneller, als auf einer allgemeinen Recheneinheit (CPU). Populäre Beispiele aus dem wissenschaftlichen Umfeld waren Rechencluster aus Spielekonsolen (SONY, Microsoft), die wesentlich kostengünstiger waren, als herkömmliche Rechencluster. Da auch beim Machine Learning die Mathematik das Non plus ultra ist, liegt die Vermutung nahe, hier entsprechende Chips zu bauen, die auf die Ausführung dieser Modelle optimiert sind. Dadurch sind gerade in den letzten Jahren im Bereich des Deep Learning Geschwindigkeitsvorteile von mehr als das 50-fache erzielt worden. Dies sind höchst relevante Gründe in Forschung und Entwicklung auf der Anbieterseite, aber auch in entsprechende Ressourcen auf der Anwenderseite zu investieren. Google preschte hier letztes Jahr mit der Ankündigung und mittlerweile auch der Markteinführung von speziellen TPUs (Tensor Processing Units) vor. Diese ASICs (Application Specific Integrated Circuits) sind speziell für einen ganz bestimmten Typ von Anwendung designt und haben auch nur hier ihre Vorteile. In anderen Bereichen verlieren sie schnell an Relevanz.

Was tun? spricht Zeus

Die Qual der Wahl wird zunehmend größer. Entscheider sollten sich klar machen, dass sowohl in eigenen Rechenzentrum als auch im Cloud Umfeld immer mehr heterogene Software zu betreiben sein wird. Manche Angebote wird es jedoch nur in der Public Cloud geben. So beispielsweise die TPUs von Google. Die Nutzung eines solchen Clusters rechnet sich jedoch nur, wenn man auf Deep Learning und TensorFlow (Google) setzt. Der Gang zum und die Kommunikation mit dem Data Science Team ist also der erste Schritt. Dieses kann genaue Auskunft darüber geben, welche Arten von Machine Learning am häufigsten im Unternehmen zum Einsatz kommen und ob sich hier ein Investment in Special Purpose Hardware lohnt. Im nächsten Schritt sollte der Entscheider mit dem eigenen Rechenzentrum Rücksprache halten, um hier ggf. Ressourcen auch lokal anbieten zu können, sofern die Hardware im freien Verkauf erhältlich ist. Ebenso gilt zu prüfen, ob die Investition sich in Hinblick auf die Geschwindigkeitsvorteile rechnet. Hier sollte man eine beispielhafte Anwendung oder auch nur das Modell auf den entsprechenden Clustern auf den Public Cloud Angeboten einmal durchlaufen lassen und entsprechende Metriken erheben. Nur dann kann eine zuverlässige Betrachtung erhoben werden und die Entscheidung getroffen werden, ob man hier in Ressourcen auf materieller und  menschlicher Ebene investiert.