KI-Modelle und Plattformen

Erik Gfesser, Principalarchitekt für die Data-Praxis von SPR – Interview-Serie

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

Erik trat der Data-Praxis von SPR als Principalarchitekt bei, um sich der Emerging Technology Group anzuschließen, im Jahr 2018.

Erik spezialisierte sich auf Daten, Open-Source-Entwicklung mit Java und praktische Unternehmensarchitektur, einschließlich des Aufbaus von PoCs, Prototypen und MVPs.

Was hat Sie ursprünglich zum Maschinellen Lernen hingezogen?

Die Fähigkeit von Anwendungen, kontinuierlich zu lernen. Ich hatte meine Entwicklungskarriere als Senior-Data-Analyst mit SPSS bei einem globalen Marktforschungsunternehmen begonnen und später die Verwendung einer Business-Regel-Engine namens Drools in Anwendungen, die ich für Kunden erstellt hatte, jedoch war die Ausgabe all dieser Arbeiten im Wesentlichen statisch.

Später arbeitete ich an Prozessverbesserungen, währenddessen die Ausbilder im Detail zeigten, wie sie Geschäftsprozesse, die von ihren Kunden verwendet wurden, durch Statistik und andere Methoden verbessern konnten, aber auch hier war die Ausgabe größtenteils auf Punkte im Zeitverlauf fokussiert. Meine Erfahrung bei der Verbesserung eines Gesundheitsprodukts, das meine Kollegen und ich während dieser Zeit entwickelt hatten, zeigte mir, warum kontinuierliches Lernen für solche Bemühungen notwendig ist, aber die damals verfügbaren Ressourcen existierten nicht.

Interessanterweise ist meine Anziehung zum Maschinellen Lernen vollständig, da mein Doktorvater mich vor einer Spezialisierung auf das, was damals künstliche Intelligenz genannt wurde, warnte, aufgrund des AI-Winters zu dieser Zeit. Ich entschied mich stattdessen, Begriffe wie ML zu verwenden, da diese weniger Konnotationen haben und weil selbst AWS anerkennt, dass seine AI-Dienste-Ebene im Wesentlichen eine höhere Abstraktionsebene über seinen ML-Diensten ist. Während einige der ML-Hype dort unrealistisch sind, bietet es leistungsstarke Fähigkeiten aus der Perspektive der Entwickler, solange diese Praktiker die Tatsache anerkennen, dass der Wert, den ML bietet, nur so gut ist wie die Daten, die von ihm verarbeitet werden.

 

Sie sind ein großer Befürworter von Open Source, könnten Sie darüber sprechen, warum Open Source so wichtig ist?

Einer der Aspekte von Open Source, den ich über die Jahre hinweg gegenüber Managern erklären musste, ist, dass der primäre Vorteil von Open Source nicht darin besteht, dass die Verwendung solcher Software ohne monetäre Kosten zur Verfügung gestellt wird, sondern dass der Quellcode frei zur Verfügung gestellt wird.

Zusätzlich können Entwickler, die diesen Quellcode verwenden, ihn für ihre eigenen Zwecke ändern und wenn vorgeschlagene Änderungen genehmigt werden, diese Änderungen anderen Entwicklern, die ihn verwenden, zur Verfügung stellen. Tatsächlich begann die Bewegung hinter Open-Source-Software, weil Entwickler lange auf die kommerziellen Unternehmen warteten, um Änderungen an Produkten vorzunehmen, die sie lizenziert hatten, so dass die Entwickler selbst Software mit der gleichen Funktionalität schrieben und sie anderen Entwicklern zur Verbesserung zur Verfügung stellten.

Kommerzialisierte Open-Source-Software nutzt diese Vorteile, die Realität ist, dass viele moderne Produkte Open-Source-Software unter der Haube verwenden, selbst wenn kommerzielle Varianten solcher Software typischerweise zusätzliche Komponenten bieten, die nicht Teil einer bestimmten Open-Source-Veröffentlichung sind, und somit Differenzierungen sowie Support bieten, wenn dieser benötigt wird.

Meine ersten Erfahrungen mit Open Source fanden statt, als ich das oben erwähnte Gesundheitsprodukt aufbaute, wobei ich Werkzeuge wie Apache Ant verwendete, um Software zu erstellen, und ein frühes DevOps-Produkt namens Hudson (dessen Codebasis später zu Jenkins wurde). Der Hauptgrund für unsere Entscheidung, diese Open-Source-Produkte zu verwenden, war, dass sie entweder bessere Lösungen als kommerzielle Alternativen boten oder innovative Lösungen, die von kommerziellen Unternehmen nicht angeboten wurden, und dass die kommerzielle Lizenzierung einiger der Produkte, die wir verwendet hatten, übermäßig restriktiv war, was zu übermäßigem Bürokratismus führte, wenn es darum ging, weitere Lizenzen zu benötigen, aufgrund der damit verbundenen Kosten.

Im Laufe der Zeit habe ich gesehen, wie Open-Source-Angebote weiterentwickelt wurden und dringend benötigte Innovationen boten. Zum Beispiel wurden viele der Probleme, mit denen meine Kollegen und ich bei der Erstellung dieses Gesundheitsprodukts kämpften, später durch ein innovatives Open-Source-Java-Produkt gelöst, das wir begannen zu verwenden, nämlich Spring Framework, das nach über einem Jahrzehnt immer noch stark ist, und dessen Ökosystem nun weit über einige der Innovationen hinausgeht, die es ursprünglich bot, wie beispielsweise Abhängigkeitsinjektion.

 

Sie haben Open Source für den Aufbau von PoCs, Prototypen und MVPs verwendet. Könnten Sie Ihre Erfahrungen mit einigen dieser Produkte teilen?

Wie in einem der Leitprinzipien, die ich einem aktuellen Kunden präsentierte, sollten die Ausbauten für die Datenplattform, die wir für sie aufgebaut haben, weiterhin iterativ durchgeführt werden, wenn dies erforderlich ist. Die Komponenten, die für diese Plattform aufgebaut werden, sollten nicht als statisch angesehen werden, da sich Bedürfnisse ändern und neue Komponenten und Komponentenfunktionen im Laufe der Zeit verfügbar werden.

Beim Aufbau der Plattformfunktionen sollte man immer mit dem Mindestviablen beginnen, bevor man unerforderliche Glocken und Pfannen hinzufügt, was in einigen Fällen sogar die Konfiguration umfasst. Man sollte mit dem Funktionalen beginnen, sicherstellen, dass man es versteht, und es dann weiterentwickeln. Man sollte nicht Zeit und Geld verschwenden, um zu bauen, was wahrscheinlich nicht verwendet wird, aber man sollte sich bemühen, zukünftige Bedürfnisse vorwegzunehmen.

Das MVP, das wir für dieses Produkt aufgebaut haben, musste ausdrücklich so aufgebaut werden, dass zusätzliche Use-Cases darauf aufgebaut werden konnten, obwohl es mit der Implementierung eines einzelnen Use-Cases für die Anomalieerkennung von Ausgaben ausgestattet war. Im Gegensatz dazu hatte ein früheres Produkt, das ich aufgebaut hatte, eine Geschichte, bevor ich ankam. In diesem Fall hatten Stakeholder drei Jahre (!) lang debattiert, wie sie ein Produkt aufbauen sollten, das sie aufbauen wollten. Ein Kunden-Exekutive erklärte, dass einer der Gründe, warum er mich hereingeholt hatte, darin bestand, dem Unternehmen zu helfen, einige dieser internen Debatten zu überwinden, insbesondere weil das Produkt, das er aufbauen wollte, die Hierarchie der beteiligten Organisationen erfüllen musste.

Ich fand heraus, dass diese Territorialkämpfe größtenteils mit den Daten verbunden waren, die dem Kunden, seinen Tochtergesellschaften und seinen externen Kunden gehörten, so dass sich das gesamte Produkt-Backlog um die Frage drehte, wie diese Daten aufgenommen, gespeichert, gesichert und für einen einzelnen Use-Case zur Generierung von Netzwerken von Gesundheitsdienstleistern für Kostenanalysen verarbeitet werden sollten.

Früher in meiner Karriere erkannte ich, dass eine architektonische Qualität namens “Benutzerfreundlichkeit” nicht nur auf Endbenutzer beschränkt ist, sondern auch auf die Software-Entwickler selbst. Der Grund dafür ist, dass der Code, der geschrieben wird, genauso benutzerfreundlich sein muss wie Benutzeroberflächen, die von Endbenutzern verwendet werden. Damit ein Produkt benutzerfreundlich wird, müssen Proof-of-Concepts aufgebaut werden, um zu demonstrieren, dass Entwickler tun können, was sie sich vorgenommen haben, insbesondere im Hinblick auf die spezifischen Technologie-Optionen, die sie treffen. Aber Proof-of-Concepts sind nur der Anfang, da Produkte am besten sind, wenn sie im Laufe der Zeit weiterentwickelt werden. Meiner Meinung nach sollte die Grundlage für ein MVP idealerweise auf Prototypen aufgebaut werden, die einige Stabilität aufweisen, so dass Entwickler sie weiterentwickeln können.

 

Während der Überprüfung des Buches “Machine Learning at Enterprise Scale” sagten Sie, dass “die Verwendung von Open-Source-Produkten, -Frameworks und -Sprachen neben einer agilen Architektur, die aus einer Mischung von Open-Source- und kommerziellen Komponenten besteht, die Wendigkeit bietet, die viele Unternehmen benötigen, aber nicht sofort realisieren”. Könnten Sie einige Details darüber geben, warum Sie glauben, dass Unternehmen, die Open Source verwenden, wendiger sind?

Viele kommerzielle Datenprodukte verwenden wichtige Open-Source-Komponenten unter der Haube und ermöglichen es Entwicklern, beliebte Programmiersprachen wie Python zu verwenden. Die Unternehmen, die diese Produkte aufbauen, wissen, dass die Open-Source-Komponenten, die sie ausgewählt haben, ihnen einen Vorsprung geben, da diese bereits von der Community weit verbreitet sind.

Open-Source-Komponenten mit starken Gemeinschaften sind einfacher zu verkaufen, da sie Vertrautheit mit sich bringen. Kommerziell verfügbare Produkte, die hauptsächlich aus Closed-Source oder sogar Open-Source bestehen, die hauptsächlich von bestimmten kommerziellen Produkten verwendet wird, erfordern entweder Schulungen durch diese Anbieter oder Lizenzen, um die Software zu verwenden.

Zusätzlich ist die Dokumentation für solche Komponenten größtenteils nicht öffentlich verfügbar, was die Entwickler weiterhin von diesen Unternehmen abhängig macht. Wenn weithin akzeptierte Open-Source-Komponenten wie Apache Spark im Mittelpunkt stehen, wie bei Produkten wie Databricks Unified Analytics Platform, sind viele dieser Elemente bereits in der Community verfügbar, wodurch die Teile, auf die Entwicklungsteams angewiesen sind, um ihre Arbeit zu erledigen, minimiert werden.

Zusätzlich können Komponenten wie Apache Spark, die als De-facto-Branchenstandard-Tooling angesehen werden, Code auch leichter zwischen kommerziellen Implementierungen solcher Produkte migrieren. Unternehmen werden immer geneigt sein, das zu integrieren, was sie als Wettbewerbsvorteile betrachten, aber viele Entwickler wollen nicht Produkte verwenden, die völlig neu sind, da dies das Wechseln zwischen Unternehmen erschwert und ihre Bindungen an die starken Gemeinschaften, die sie erwarten, unterbricht.

Aus persönlicher Erfahrung habe ich mit solchen Produkten in der Vergangenheit gearbeitet und es kann schwierig sein, kompetenten Support zu erhalten. Und das ist ironisch, da diese Unternehmen ihre Produkte mit der Kunden-Erwartung verkaufen, dass Support in angemessener Zeit bereitgestellt wird. Ich habe die Erfahrung gemacht, einen Pull-Request an ein Open-Source-Projekt zu senden, mit dem Fix, der am selben Tag in den Build eingebaut wurde, aber ich kann das nicht von einem kommerziellen Projekt sagen, mit dem ich gearbeitet habe.

 

Ein weiterer Punkt, den Sie über Open Source glauben, ist, dass es “Zugang zu starken Entwickler-Communities” bietet. Wie groß sind einige dieser Communities und was macht sie so effektiv?

Entwickler-Communities rund um ein bestimmtes Open-Source-Produkt können Hunderttausende umfassen. Die Adoptionsraten weisen nicht unbedingt auf die Stärke der Community hin, aber sie sind ein guter Indikator dafür, da sie dazu neigen, virtuose Kreise zu produzieren. Ich betrachte Communities als stark, wenn sie gesunde Diskussionen und effektive Dokumentation hervorbringen und wenn aktive Entwicklung stattfindet.

Wenn ein Architekt oder ein Senior-Entwickler den Prozess durchläuft, um zu entscheiden, welche Produkte zu integrieren sind, kommen viele Faktoren ins Spiel, nicht nur über das Produkt selbst und wie die Community aussieht, sondern auch über die Entwicklungsteams, die diese Produkte übernehmen werden, ob sie gut in das Ökosystem passen, was die Roadmap aussieht und in einigen Fällen, ob kommerzieller Support verfügbar ist, wenn dieser benötigt wird. Viele dieser Aspekte fallen jedoch bei der Abwesenheit starker Entwickler-Communities weg.

 

Sie haben hunderte von Büchern auf Ihrer Website besprochen, können Sie drei davon empfehlen, die unseren Lesern gefallen könnten?

Heute lese ich sehr wenige Programmierbücher und während es Ausnahmen gibt, ist die Realität, dass diese typischerweise sehr schnell veraltet sind und die Entwickler-Community in der Regel bessere Alternativen über Diskussionsforen und Dokumentationen bietet. Viele der Bücher, die ich derzeit lese, werden mir kostenlos zur Verfügung gestellt, entweder durch Technologie-Newslettern, an die ich abonniert bin, Autoren und Verlegern, die mich kontaktieren, oder die Amazon (AMZN ) mir sendet. Zum Beispiel sendete Amazon mir ein vorab korrigiertes Manuskript von “The Lean Startup” für meine Rezension im Jahr 2011, das mich mit dem Konzept des MVP bekannt machte, und kürzlich sendete Amazon mir eine Kopie von “Julia for Beginners”.

(1) Ein Buch von O’Reilly, das ich empfehlen kann, ist “In Search of Database Nirvana”. Der Autor behandelt detailliert die Herausforderungen, die eine Datenabfrage-Engine hat, um Workloads zu unterstützen, die sich von OLTP auf der einen Seite bis hin zu Analytics auf der anderen Seite erstrecken, mit operativen und Geschäftsanalyse-Workloads in der Mitte. Dieses Buch kann als Leitfaden verwendet werden, um eine Datenbank-Engine oder eine Kombination von Abfrage- und Speicher-Engines zu bewerten, die auf die Workload-Anforderungen abgestimmt sind, ob diese transaktional, analytisch oder eine Mischung aus beiden sind. Zusätzlich ist die Behandlung des “schwingenden Daten-Pendels” in den letzten Jahren durch den Autor besonders gut.

(2) Während sich viel im Datenbereich in den letzten Jahren geändert hat, da neue Datenanalyse-Produkte kontinuierlich eingeführt werden, präsentiert “Disruptive Analytics” einen zugänglichen, kurzen Überblick über die letzten 50 Jahre der Innovation in der Analyse, den ich nirgendwo anders gesehen habe, und diskutiert zwei Arten von Disruption: disruptiven Innovation innerhalb der Analyse-Wertkette und Branchen-Disruption durch Innovationen in der Analyse. Aus der Perspektive von Start-ups und Analyse-Praktikern wird der Erfolg durch die Disruption ihrer Branchen ermöglicht, da die Verwendung von Analyse, um ein Produkt zu differenzieren, eine Möglichkeit ist, ein disruptives Geschäftsmodell oder neue Märkte zu schaffen. Aus der Perspektive des Investierens in Analyse-Technologie für ihre Organisationen kann ein abwartender Ansatz sinnvoll sein, da Technologien, die von Disruption bedroht sind, riskant sind, da sie eine verkürzte Nutzungszeit haben.

(3) Eines der besten Technologie-Bücher, die ich gelesen habe, ist “The Limits of Strategy” von einem Mitbegründer von Research Board (das von Gartner übernommen wurde), einem internationalen Think-Tank, der Entwicklungen in der Computerwelt und wie Unternehmen sich anpassen sollten, untersucht. Der Autor präsentiert sehr detaillierte Notizen von vielen seiner Gespräche mit Geschäftsleitern und bietet eine umfassende Analyse über seine Erfahrungen beim Aufbau (mit seiner Frau) einer Gruppe von Kunden, großen Unternehmen, die ihre Strategien mit der explodierenden Welt der Computer in Einklang bringen mussten. Wie ich in meiner Rezension kommentierte, ist es, was dieses Buch von anderen ähnlichen Bemühungen unterscheidet, zwei scheinbar entgegengesetzte Merkmale: Branchenweite Breite und Intimität, die nur durch Face-to-Face-Interaktion verfügbar ist.

 

Sie sind der Principalarchitekt für die Data-Praxis von SPR. Könnten Sie beschreiben, was SPR macht?

SPR ist ein digitales Technologie-Beratungsunternehmen mit Sitz in der Chicago-Region, das Technologieprojekte für eine Reihe von Kunden, von Fortune-1000-Unternehmen bis hin zu lokalen Start-ups, durchführt. Wir erstellen End-to-End-Digitalerfahrungen mit einer Reihe von Technologie-Fähigkeiten, von benutzerdefinierter Software-Entwicklung, User Experience, Daten und Cloud-Infrastruktur bis hin zu DevOps-Coaching, Software-Testen und Projektmanagement.

 

Was sind einige Ihrer Verantwortungen bei SPR?

Als Principalarchitekt ist meine Hauptverantwortung, Lösungen für Kunden zu liefern, Architektur und Entwicklung für Projekte zu leiten, und das bedeutet oft, andere Hüte zu tragen, wie zum Beispiel Product-Owner, da die Fähigkeit, zu verstehen, wie Produkte aus einer hands-on-Perspektive aufgebaut werden, stark in die Priorisierung der Arbeit einfließt, insbesondere beim Aufbau von Grund auf. Ich werde auch in Diskussionen mit potenziellen Kunden gezogen, wenn meine Expertise benötigt wird, und das Unternehmen hat mich kürzlich gebeten, eine laufende Serie von Sitzungen mit Kollegen in der Data-Praxis zu starten, um über Kundenprojekte, Nebenprojekte und was meine Kollegen tun, um auf dem neuesten Stand der Technologie zu bleiben, zu diskutieren, ähnlich wie ich es für ein vorheriges Beratungsunternehmen getan habe, obwohl die internen Meetups für dieses andere Unternehmen die gesamte Technologie-Praxis umfassten, nicht spezifisch für die Datenarbeit.

Während der größten Teil meiner Karriere habe ich mich auf Open-Source-Entwicklung mit Java spezialisiert und eine zunehmende Menge an Datenarbeit durchgeführt. Zusätzlich zu diesen beiden Spezialisierungen mache ich auch, was meine Kollegen und ich “praktische” oder “pragmatische” Unternehmensarchitektur nennen, was bedeutet, Architektaufgaben im Kontext dessen auszuführen, was aufzubauen ist, und es tatsächlich aufzubauen, anstatt nur darüber zu sprechen oder Diagramme darüber zu zeichnen, wobei ich natürlich anerkenne, dass diese anderen Aufgaben auch wichtig sind.

Meiner Meinung nach überschneiden sich diese drei Spezialisierungen und sind nicht gegenseitig ausschließend. Ich habe gegenüber Managern in den letzten Jahren erklärt, dass die Linie, die die Technologie-Industrie traditionell zwischen Software-Entwicklung und Datenarbeit gezogen hat, nicht mehr gut definiert ist, teilweise, weil die Tooling zwischen diesen beiden Bereichen konvergiert ist, und teilweise, weil die Datenarbeit selbst aufgrund dieser Konvergenz größtenteils zu einer Software-Entwicklungsarbeit geworden ist. Da traditionelle Daten-Praktiker typischerweise keine Software-Entwicklungs-Hintergrund haben und umgekehrt, helfe ich, diese Lücke zu schließen.

 

Gibt es ein interessantes Projekt, an dem Sie derzeit bei SPR arbeiten?

Kürzlich habe ich den ersten Beitrag in einer mehrteiligen Fallstudien-Serie veröffentlicht, über die Datenplattform, die mein Team und ich im vergangenen Jahr für den CIO eines Chicago-basierten globalen Beratungsunternehmens von Grund auf in AWS implementiert haben. Diese Plattform besteht aus Daten-Pipelines, Daten-Seen, kanonischen Daten-Modellen, Visualisierungen und Machine-Learning-Modellen, die von den Unternehmensabteilungen, -praktiken und Endkunden des Kunden verwendet werden sollen. Während die Kernplattform von der Corporate-IT-Organisation aufgebaut werden sollte, die vom CIO geleitet wird, war das Ziel, dass diese Plattform von anderen Organisationen außerhalb der Corporate-IT verwendet werden sollte, um Daten-Assets und Daten-Analyse über das gesamte Unternehmen hinweg mit einer gemeinsamen Architektur zu zentralisieren und darauf aufzubauen, um die Use-Case-Anforderungen jeder Organisation zu erfüllen.

Wie bei vielen etablierten Unternehmen war die Verwendung von Microsoft Excel weit verbreitet, wobei Tabellenblätter innerhalb und zwischen Organisationen sowie zwischen dem Unternehmen und externen Kunden verteilt wurden. Zusätzlich wurden Geschäftseinheiten und Beratungs-Praktiken in Silos unterteilt, wobei jede ihre eigenen Prozesse und Tooling verwendete. Daher war ein weiteres Ziel, neben der Zentralisierung von Daten-Assets und Daten-Analyse, die Implementierung des Konzepts der Daten-Eigentümerschaft und die Ermöglichung des Datenaustauschs zwischen Organisationen in einer sicheren und konsistenten Weise.

 

Gibt es noch etwas anderes, das Sie über Open Source, SPR oder ein anderes Projekt, an dem Sie arbeiten, teilen möchten?

Ein weiteres Projekt (lesen Sie darüber hier und hier), das ich kürzlich geleitet habe, umfasste die erfolgreiche Implementierung von Databricks Unified Analytics Platform und die Migration der Ausführung von Machine-Learning-Modellen von Azure HDInsight, einer Hadoop-Distribution, auf diese Plattform für den Direktor der Daten-Engineering-Abteilung eines großen Versicherers.

Alle diese migrierten Modelle sollten die erwartete Verbrauchernachfrage für verschiedene Versicherungsprodukte vorhersagen, wobei einige von ihnen vor einigen Jahren von SAS migriert worden waren, als das Unternehmen zu HDInsight wechselte. Die größte Herausforderung war die schlechte Datenqualität, aber andere Herausforderungen umfassten den Mangel an umfassender Versionierung, Stammeswissen und unvollständige Dokumentation sowie die unreife Databricks-Dokumentation und -Unterstützung in Bezug auf die Verwendung von R zu diesem Zeitpunkt (die Azure-Implementierung von Databricks war erst einige Monate zuvor allgemein verfügbar gemacht worden).

Um diese wichtigen Herausforderungen anzugehen, habe ich im Anschluss an unsere Implementierungsarbeiten Empfehlungen zu Automatisierung, Konfiguration und Versionierung, Trennung von Daten-Bedenken, Dokumentation und erforderlicher Ausrichtung zwischen ihren Daten-, Plattform- und Modellierungsteams gegeben. Unsere Arbeit überzeugte einen anfänglich sehr skeptischen Chief Data Scientist, dass Databricks der richtige Weg ist, mit dem Ziel, nach unserem Abgang, die restlichen Modelle so schnell wie möglich zu Databricks zu migrieren.

Dies war ein faszinierendes Interview, das viele Themen berührt hat, ich denke, ich habe viel über Open Source gelernt. Leser, die mehr erfahren möchten, können die SPR-Unternehmenswebsite oder Erik Gfessers Website besuchen.

Antoine ist ein visionärer Leiter und Gründungspartner von Unite.AI, getrieben von einer unerschütterlichen Leidenschaft für die Gestaltung und Förderung der Zukunft von KI und Robotik. Als Serienunternehmer glaubt er, dass KI für die Gesellschaft so disruptiv sein wird wie Elektrizität, und er wird oft dabei erwischt, wie er über das Potenzial disruptiver Technologien und AGI schwärmt.

Als Futurist ist er darauf bedacht, zu erforschen, wie diese Innovationen unsere Welt prägen werden. Darüber hinaus ist er der Gründer von Securities.io, einer Plattform, die sich auf Investitionen in bahnbrechende Technologien konzentriert, die die Zukunft neu definieren und ganze Branchen umgestalten.