Egal, ob Sie ein Supervisor, ein Datenwissenschaftler, ein Ingenieur oder ein Produktbesitzer sind, Sie haben mit ziemlicher Sicherheit an mindestens einer Besprechung teilgenommen, in der es um die „Einführung eines Modells in die Produktion“ ging.

Aber im Ernst, was bedeutet Produktion überhaupt?

Wie Sie vielleicht wissen, bin ich KI-Ingenieur. Ich begann meinen ersten Job im Bereich Knowledge Science im Jahr 2015 bei einem großen französischen Unternehmen im Energiesektor. Damals gehörten wir zu den ersten Akteuren, die KI-Anwendungen für das Energiemanagement und die Energieproduktion (Kernkraft, Wasserkraft und erneuerbare Energien) entwickelten. Und wenn es einen Bereich gibt, in dem die Umsetzung von KI in die Produktion stark reguliert ist, dann ist es die Energie, insbesondere die Kernenergie. Dies hängt eng mit der Artwork der Daten und der Tatsache zusammen, dass Sie Modelle für maschinelles Lernen nicht einfach in eine vorhandene Umgebung integrieren können.

Dank dieser Erfahrung habe ich schon sehr früh gelernt, dass die Erstellung eines Modells in einem Notizbuch nur die Spitze des Eisbergs ist. Ich habe auch sehr schnell angefangen, über die Produktion zu reden, ohne wirklich zu wissen, was das bedeutet. Aus diesen Gründen möchte ich mit Ihnen die klarere Sichtweise teilen, die ich im Laufe der Jahre entwickelt habe, wenn es darum geht, maschinelle Lernprojekte in die Produktion zu bringen.


Aber lassen Sie uns einen Second innehalten und über unsere Hauptfrage nachdenken.

Was bedeutet eigentlich Produktion?

Manchmal ist es schwer zu lesen und zu verstehen, was sich hinter diesem Schlagwort „Produktion“ verbirgt. Es gibt unzählige YouTube-Movies und Artikel darüber, aber nur sehr wenige, die sich in etwas übersetzen lassen, das Sie tatsächlich in realen Projekten anwenden können.

Wenn Sie versuchen, die Frage zu beantworten, werden unsere Ansichten am Ende dieses Artikels wahrscheinlich übereinstimmen, auch wenn die Methoden, mit denen wir die Produktion erreichen, von Kontext zu Kontext unterschiedlich sein können.


Die Hauptdefinition

Im Zusammenhang mit maschinellem Lernen bedeutet Produktion, dass sich die Ausgaben Ihres Modells direkt auf einen Benutzer oder ein Produkt auswirken.

Diese Wirkung kann viele Formen annehmen, z. B. jemanden aufklären, ihm bei der Entscheidungsfindung helfen oder etwas ermöglichen, was er vorher nicht tun konnte; Es kann auch bedeuten, dass dem Empfehlungssystem einer Buying-App eine Funktion hinzugefügt wird.

Jedes Programm, das einen Algorithmus für maschinelles Lernen enthält, der von einem Endbenutzer oder einem anderen Produkt oder einer anderen Anwendung verwendet wird, kann als Modell in der Produktion betrachtet werden.

Neben der Wirkung bringt die Produktion auch eine Ebene der Verantwortung mit sich. Ich meine damit, dass Ihr Modell möglicherweise bereitgestellt wird, aber nicht in der Produktion, wenn niemand oder kein System dafür verantwortlich ist, das Modell zu korrigieren, wenn es falsch ist.

Es wird allgemein angenommen, dass 87 % der ML-Projekte nicht die endgültige Produktionsphase erreichen. Ich weiß nicht, ob das wirklich stimmt, aber meine Interpretation ist einfach: Viele ML-Modelle erreichen nie den Punkt, an dem sie tatsächlich Auswirkungen auf einen Benutzer oder ein Produkt haben. Und selbst wenn dies der Fall ist, gibt es oft kein System, das sie langfristig zuverlässig macht, sodass sie einfach bereitgestellt und zugänglich sind.

Wenn wir uns additionally einig sind, dass Produktion bedeutet, ein ML-Projekt zu haben, das wirkungsvoll und rechenschaftspflichtig ist, wie kommen wir dann dorthin?


Die vielen Gesichter der Produktion

Um dies zu beantworten, müssen wir akzeptieren, dass die Produktion viele Gesichter hat. Das Modell ist nur eine Komponente innerhalb einer größeren ETL-Pipeline.

Dieser Punkt ist entscheidend.

Wir stellen uns ein Modell oft als eine Blackbox vor, in die Daten eingehen, mathematische Zauberei geschieht und eine Vorhersage herauskommt. In Wirklichkeit ist das eine große Vereinfachung. In der Produktion sind Modelle normalerweise Teil eines umfassenderen Datenflusses, oft näher an einer Datentransformation als an einer isolierten Entscheidungsmaschine.

Außerdem sieht nicht jede „Produktion“ gleich aus, je nachdem, wie leistungsstark das Modell im endgültigen System ist.

Manchmal unterstützt das Modell eine Entscheidung, beispielsweise eine Bewertung, eine Empfehlung, eine Warnung oder ein Dashboard.

Manchmal trifft es eine Entscheidung, etwa automatische Aktionen, Echtzeitblockierungen oder das Auslösen von Workflows.

Der Unterschied ist sehr wichtig. Wenn Ihr System automatisch agiert, sind die Kosten eines Fehlers nicht gleich hoch und die technischen Anforderungen steigen in der Regel sehr schnell.

Meiner Erfahrung nach lassen sich die meisten Produktionssysteme wie folgt unterteilen:

Das Datenspeichersystem in der Produktion, Das bedeutet, dass alle Daten in Dateisystemen oder Datenbanken gespeichert werden, die sicher in Produktionsumgebungen (Cloud oder On-Premise) gehostet werden.

→ Die Herstellung des Datenerfassungsteils, Dies bedeutet, dass Sie über ein System oder einen Workflow verfügen, der eine Verbindung zu Produktionsdatenbanken herstellt und die Daten abruft, die als Eingabe für das Modell verwendet werden. Diese Workflows können die Datenvorbereitungsschritte enthalten.

→ Die maschinelle Lernkomponente in die Produktion bringen, Das ist der Teil, der uns interessiert. Das bedeutet, dass das Modell bereits trainiert ist und wir ein System benötigen, das es ermöglicht, es in derselben Umgebung wie die anderen Komponenten auszuführen.

Diese drei Teile zeigen uns deutlich, dass es bei ML in der Produktion nicht um das Modell des maschinellen Lernens selbst geht, sondern um alles drumherum.

Konzentrieren wir uns jedoch nur auf Komponente 3, „das ML in die Produktion bringen“, da die anderen Schritte häufig von verschiedenen Groups in einem Unternehmen durchgeführt werden.


Die 4-Schritte-Aufschlüsselung

Wenn ich einen Junior-Datenwissenschaftler hätte, dem ich erklären müsste, wie man an dieser Komponente arbeitet, würde ich sie wie folgt aufteilen:

Schritt 1: Die Funktion

Sie beginnen mit einem trainierten Modell. Das erste, was Sie benötigen, ist eine Funktion, ein Code, der das Modell lädt, Eingabedaten empfängt, die Vorhersage durchführt und eine Ausgabe zurückgibt.

Zu diesem Zeitpunkt funktioniert alles lokal. Es ist aufregend, wenn man zum ersten Mal Vorhersagen sieht, aber wir wollen damit nicht aufhören.

Ein praktisches Element, das von Anfang an wichtig ist. Denken Sie nicht nur an „Prognostiziert es?“, sondern auch an „Wird es sauber scheitern?“ In der Produktion erhält Ihre Funktion möglicherweise seltsame Eingaben, fehlende Werte, unerwartete Kategorien, beschädigte Dateien oder Signale, die außerhalb des zulässigen Bereichs liegen. Ihr zukünftiges Ich wird Ihnen für die grundlegende Validierung und klare Fehlermeldungen danken.

Schritt 2: Die Schnittstelle

Um diese Funktion für andere nutzbar zu machen (ohne sie aufzufordern, Ihren Code auszuführen), benötigen Sie eine Schnittstelle, meist eine API.

Nach der Bereitstellung empfängt diese API standardisierte Anfragen mit Eingabedaten, übergibt sie an Ihre Vorhersagefunktion und gibt die Ausgabe zurück. Dadurch können andere Systeme, Anwendungen oder Benutzer mit Ihrem Modell interagieren.

Und hier ist eine Produktionsrealität: Die Schnittstelle ist nicht nur eine technische Sache, sie ist ein Vertrag. Wenn ein anderes System eine Vorhersage erwartet und Sie etwas anderes offenlegen, ist Reibung garantiert. Das Gleiche gilt, wenn Sie das Schema alle zwei Wochen ändern. Wenn Groups sagen: „Das Modell ist in Produktion“, meinen sie oft in Wirklichkeit: „Wir haben einen Vertrag erstellt, auf den andere Menschen angewiesen sind.“

Schritt 3: Die Umgebung

Jetzt brauchen wir Portabilität. Das bedeutet, die Umgebung, den Code, die API und alle Abhängigkeiten zu packen, damit das System ohne Änderungen an anderer Stelle ausgeführt werden kann.

Wenn Sie die Schritte bisher befolgt haben, haben Sie ein Modell erstellt, es in eine Funktion eingeschlossen und über eine API verfügbar gemacht. Aber all das spielt keine Rolle, wenn alles in Ihrer lokalen Umgebung verschlossen bleibt.

Hier wird es professioneller: Reproduzierbarkeit, Versionierung und Nachvollziehbarkeit. Nicht unbedingt ausgefallen, aber gerade genug, damit Sie, wenn Sie heute Model 1.2 bereitstellen, in drei Monaten erklären können, was sich geändert hat und warum.

Schritt 4: Die Infrastruktur

Der letzte Schritt besteht darin, alles an einem Ort zu hosten, an dem Benutzer oder Anwendungen tatsächlich darauf zugreifen können.

In der Praxis ist damit häufig die Cloud gemeint, es können aber auch unternehmensinterne Server oder Edge-Infrastruktur sein. Der entscheidende Punkt ist, dass das, was Sie bauen, erreichbar, stabil und dort verwendbar sein muss, wo es benötigt wird.

Und hier lernen viele Groups eine harte Lektion. In der Produktion ist das „beste Modell“ oft nicht dasjenige mit den besten Messwerten in einem Pocket book. Es ist diejenige, die reale Einschränkungen, Latenz, Kosten, Sicherheit, Regulierung, Überwachung, Wartbarkeit und manchmal auch einfach die Frage erfüllt: „Können wir das mit dem Workforce, das wir haben, betreiben?“

Schritt 5: Die Überwachung

Sie können die sauberste API und die schönste Infrastruktur haben und trotzdem in der Produktion scheitern, weil Sie Probleme nicht frühzeitig erkennen.

Ein Modell in der Produktion, das nicht überwacht wird, ist im Grunde schon kaputt, man weiß es nur noch nicht.

Überwachung muss nicht kompliziert sein. Sie möchten mindestens Folgendes wissen:

  • Ist der Dienst verfügbar und die Latenz erträglich?
  • Sehen die Eingaben immer noch „regular“ aus?
  • Driften die Datenausgaben?
  • Sind die geschäftlichen Auswirkungen noch sinnvoll?

Bei vielen realen Projekten bricht die Leistung nicht durch einen großen Absturz ein. Es verfällt leise.

Wenn alle diese Komponenten vorhanden sind, wird ein Modell zu etwas Nützlichem und Wirkungsvollem. Basierend auf Erfahrung, Hier sind ein paar praktische Richtlinien.

Für Schritt 1 (Die Funktion) Bleiben Sie bei den Instruments, die Sie kennen (scikit-learn, PyTorch, TensorFlow), aber denken Sie frühzeitig über die Portabilität nach. Formate wie ONNX können die zukünftige Automatisierung erheblich erleichtern. Wenn Sie Ihre eigenen Pakete entwickeln, müssen Sie als Supervisor oder Datenwissenschaftler sicherstellen, dass die erforderlichen Software program-Engineering- oder Knowledge-Engineering-Fähigkeiten vorhanden sind, denn der Aufbau interner Bibliotheken ist etwas ganz anderes als der Einsatz von Standardtools.

Für Schritt 2 (Die Schnittstelle) Frameworks wie FastAPI funktionieren sehr intestine, denken Sie aber immer an den Verbraucher. Wenn ein anderes System eine Vorhersage erwartet und Sie etwas anderes offenlegen, ist Reibung garantiert. Sie müssen mit Ihren Stakeholdern im Einklang sein. Alle technischen Punkte darüber, wohin die Ergebnisse des maschinellen Lernens gehen, sollten sehr klar sein.

Für Schritt 3 (Die Umgebung) Hier kommt Docker ins Spiel. Sie müssen nicht alles sofort beherrschen, aber Sie sollten die Grundlagen verstehen. Stellen Sie sich Docker so vor, als würden Sie alles, was Sie eingebaut haben, in einer Field unterbringen, die quick überall ausgeführt werden kann. Wenn Sie bereits über gute Kenntnisse im Bereich Knowledge Engineering verfügen, sollte dies in Ordnung sein. Wenn nicht, müssen Sie sie entweder aufbauen oder sich auf jemanden im Workforce verlassen, der sie hat.

Für Schritt 4 (Die Infrastruktur) Einschränkungen diktieren Entscheidungen. Lambda, Microservices, Edge-Geräte und natürlich GPUs. ML-Workloads benötigen oft eine spezielle Infrastruktur, manchmal über verwaltete Dienste wie SageMaker.


Über alle Schritte hinweg gilt eine Regel, die Leben rettet: Halten Sie immer eine einfache Möglichkeit zum Zurücksetzen bereit. Bei der Produktion geht es nicht nur um die Bereitstellung, sondern auch um die Wiederherstellung, wenn die Realität eintrifft.

Betrachten Sie diesen Schritt Ihres Knowledge-Science-Projekts nicht als einen einzelnen Meilenstein. Es ist eine Abfolge von Schritten und eine Änderung der Denkweise. In einem Unternehmen warten wir nicht darauf, dass Sie das komplizierteste Modell vorantreiben. Wir möchten, dass Sie ein Modell erstellen, das Geschäftsfragen beantwortet oder eine von einem bestimmten Produkt erwartete Funktion hinzufügt. Wir brauchen dieses Modell, um das Produkt oder den Benutzer zu erreichen und überwacht zu werden, damit die Menschen ihm weiterhin vertrauen und es verwenden.

Es ist sehr wichtig, Ihre Umgebung zu verstehen. Die Instruments, die ich zuvor erwähnt habe, können von Workforce zu Workforce unterschiedlich sein, aber die Methodik ist dieselbe. Ich teile sie nur, um Ihnen eine konkrete Vorstellung zu geben.

Man kann ein tolles Modell bauen, aber wenn es niemand nutzt, ist das egal.

Und wenn Menschen es nutzen, dann wird es actual, es braucht Eigentum, Überwachung, Einschränkungen und ein System um es herum.

Lassen Sie Ihre Arbeit nicht bei den 87 % bleiben.


Notiz: Einige Teile dieses Artikels wurden ursprünglich auf Französisch verfasst und mit Unterstützung von Gemini ins Englische übersetzt.

🤝 Bleiben Sie in Verbindung

Wenn Ihnen dieser Artikel gefallen hat, folgen Sie mir gerne auf LinkedIn, um weitere ehrliche Einblicke in KI, Knowledge Science und Karrieren zu erhalten.

👉 LinkedIn: Sabrine Bendimerad

👉 Medium: https://medium.com/@sabrine.bEndeimerad1

👉 Instagram: https://tinyurl.com/datailearn

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert