Nehmen wir an, Sie werden beauftragt, eine Hochzeitstorte zu backen. Ihre Kundin oder Ihr Kunde hat eine klare Vorstellung: eine Torte mit zwei Etagen, jede Etage 10 cm hoch, mit einer fluffigen Textur und einer leuchtenden rosa Farbe. Sie sind entschlossen, alles richtig zu machen, wissen aber nicht, wie viel Mehl, Eier und Zucker benötigt werden, um jede Etage wie beschrieben aussehen zu lassen. Auch die Backtemperatur und die Backzeit sind ungewiss. Mit anderen Worten: Sie haben kein Rezept, um den Kuchen zu backen.
Betrachten wir diese Herausforderung aus einer anderen Perspektive. Chemische Unternehmen stehen während des Produktionsprozesses vor ähnlichen Problemen. Hier ein Beispiel. Unser Kunde, die Polygal AG, ist ein Chemieunternehmen, das Hydrokolloide herstellt. Diese werden zu 100 Prozent aus nachwachsenden und pflanzlichen Rohstoffen gewonnen. Jedes Produkt, das sie herstellen, hat ein einzigartiges „Rezept“, das aus bestimmten Zutaten (chemischen Verbindungen) und einer ganz bestimmten Konfiguration besteht. Diese „Rezepturen“ werden normalerweise von Spezialisten wie Chemikern oder Technikern entwickelt. Sie verbringen viel Zeit damit, an jeder einzelnen Rezeptur zu arbeiten.
Was aber, wenn wir diese Aufgabe der KI überlassen? Ist es möglich, ein KI-Modell zu erstellen, das die Produktionseinstellungen und die genauen Mengen der Zutaten vorhersagt, die benötigt werden, um die Produktspezifikationen von Polygal zu erfüllen? Und wenn ja, welche Art von KI brauchen wir dafür?
LLMs wie GPT-4 sind in erster Linie für die Verarbeitung natürlicher Sprache konzipiert, d.h. um menschliche Sprache zu verstehen, zu interpretieren und zu generieren. Sie sind jedoch nicht geeignet, strukturierte numerische Daten zu verarbeiten oder Regressionsanalysen durchzuführen. Genau dieses Problem wollen wir mit Polygal lösen.
Es ist ein Regressionsproblem oder, um genauer zu sein, ein Problem der multivariaten multiplen Regression (MMR), exakte Zutatenmengen und Produktionseinstellungen auf der Basis von Produktkonfigurationen vorherzusagen. Es geht darum, zwei oder mehr Ergebnisse (abhängige Variablen) aus mehreren Eingabemerkmalen (unabhängige Variablen) vorherzusagen.
Wir sind der Meinung, dass das Modell der multivariaten multiplen Regression (MMR) eine bessere Lösung für die Anforderungen von Polygal darstellt. Nachfolgend finden Sie einige Details zu dem Ansatz, den wir bei der Entwicklung des Modells verfolgen würden.
Unser Ziel für Polygal ist die Implementierung eines MMR-Prognosemodells, das dem Unternehmen bei der Vorhersage von Produktionskonfigurationen und Mengen chemischer Verbindungen, die für die Herstellung von Hydrokolloiden auf Basis von Produktspezifikationen erforderlich sind, helfen soll.
Nachdem die Ziele klar definiert sind, besteht der nächste Schritt darin, die Daten zu sammeln und aufzubereiten.
Wie viele Unternehmen in der Chemieindustrie hat Polygal umfangreiche Datenbestände, die in Excel-Sheets und Datenbanken abgelegt werden. Bei diesen Daten handelt es sich um detaillierte Produkteigenschaften und Leistungsmerkmale von chemischen Stoffen. Diese Informationen gilt es zu sammeln und zu katalogisieren. Dazu gehören auch Beispiele für erfolgreiche und erfolglose Formulierungen und die spezifischen Bedingungen, unter denen sie hergestellt wurden. Das Modell funktioniert umso besser, je mehr Daten man sammelt.
Ihr Datensatz sollte unabhängige und abhängige Variablen enthalten, wenn Sie eine ähnliche MMR-Lösung erstellen möchten. Erinnern wir uns kurz daran, was diese sind:
Da Unternehmensdaten Fehler und Tippfehler enthalten können und oft in unterschiedlichen Formaten vorliegen, können sie nicht direkt verwendet werden, sondern müssen vorverarbeitet werden. Wir können Verfahren wie Feature Engineering und Feature Reduction verwenden, um den Datensatz zu bereinigen. Im Folgenden wird beschrieben, wie diese Verfahren zur Verbesserung der Modellleistung eingesetzt werden.
Beim Feature Engineering werden die Rohdaten in ein maschinenlesbares Format umgewandelt. Dabei werden Techniken wie Feature-Imputation, Feature-Codierung und Feature-Skalierung eingesetzt.
Bei der Imputation von Merkmalen handelt es sich um eine Methode des maschinellen Lernens, bei der fehlende Werte in einem Datensatz ergänzt werden, um den Datensatz für das Training von Modellen nutzbar zu machen. Dadurch wird das Problem unvollständiger Daten gelöst, das häufig in Datensätzen auftritt.
Die Imputation von Mittelwerten ist eine gängige Methode zur Imputation von Merkmalen. Diese Methode ersetzt die fehlenden Werte eines numerischen Merkmals durch den Mittelwert (Durchschnitt) dieses Merkmals, der aus den beobachteten (nicht fehlenden) Daten berechnet wird.
Es können auch ausgefeiltere Methoden verwendet werden, wie z. B. k-nearest neighbors. Dabei wird der Wert eines fehlenden Datenpunkts auf der Grundlage der Werte seiner nächsten Nachbarn im Datensatz berechnet.
Datensätze mit zu vielen fehlenden Werten sollten entfernt werden, wenn eine Imputation nicht durchführbar ist.
Während ML-Algorithmen numerische Eingaben benötigen, enthalten Daten aus der realen Welt oft kategorische Merkmale wie Farben, Namen oder Typen. One-Hot-Codierung kann verwendet werden, um aus kategorialen Variablen numerische Merkmale zu erzeugen, die das Modell interpretieren und effektiv verarbeiten kann. Diese Kodierung ist ein Verfahren zur Umwandlung kategorialer Werte in eine Reihe binärer Spalten. Jede eindeutige Kategorie wird zu einer neuen Spalte. Eine 1 oder 0 zeigt das Vorhandensein der Kategorie an.
Angenommen, wir haben drei eindeutige Kategorien wie „dunkelbraun“, „hellbraun“ und „golden“. Um das Vorhandensein jeder Farbe anzuzeigen, erstellen wir drei Spalten mit binären Werten. Die folgende Tabelle zeigt die One-Hot-Kodierung für drei Farbkategorien. Zum Beispiel wird die Kodierung für „hellbraun“ als [0, 1, 0] dargestellt.
Um Merkmalswerte in eine ähnliche Skala zu transformieren, ist diese Vorverarbeitungstechnik erforderlich. Zum Beispiel enthält der Ploygal-Datensatz die folgenden Merkmale: Menge des Rohstoffs A, Menge des Rohstoffs B, Reaktionstemperatur und Reaktionszeit:
Alle diese Merkmale sind auf unterschiedlichen Skalen, was zu Problemen führen kann, wenn Merkmale mit großen Werten einen unverhältnismäßig großen Einfluss auf die Vorhersage haben. Um dies zu vermeiden, wird versucht, zu normalisieren und zu standardisieren. Bei der Normalisierung (auch bekannt als Min-Max-Skalierung) wird der Bereich der Merkmalswerte so angepasst, dass er zwischen einem bestimmten Mindest- und Höchstwert liegt, in der Regel zwischen 0 und 1. Bei der Standardisierung hingegen werden die numerischen Werte so skaliert, dass sie einen Mittelwert von 0 und eine Standardabweichung von 1 haben. Beispielsweise können die Chemiker und Techniker von Polygal wichtige Informationen liefern, die unserer statistischen Analyse entgehen könnten, und so sicherstellen, dass die konstruierten Merkmale relevante Informationen erfassen.
Bei der Merkmalsreduktion, die auch als Dimensionalitätsreduktion bezeichnet wird, handelt es sich um eine Technik, mit deren Hilfe die Anzahl der Eingabevariablen in einem Datensatz reduziert wird, während gleichzeitig so viel Information wie möglich erhalten bleibt.
Dieser Prozess ist wichtig, da die Arbeit mit hochdimensionalen Daten schwierig sein kann und häufig zu Problemen wie Overfitting führt. Overfitting bedeutet, dass ein Modell das Rauschen in den Trainingsdaten lernt und nicht die tatsächlichen Muster. Hier geht es darum, zwischen wichtigen Prädiktoren und irrelevanten Metadaten zu unterscheiden, die möglicherweise keinen signifikanten Einfluss auf die Vorhersagen des Modells haben. Techniken wie Merkmalsauswahl und Merkmalsextraktion helfen, dieses Ziel zu erreichen.
Nach der Vorverarbeitung der Daten beginnen wir mit der Erstellung des Modells, indem wir die Daten in drei Sätze aufteilen: den Trainingssatz, den Validierungssatz und den Testsatz. Beim Training, der Validierung und der Bewertung der Modellleistung dient jeder Satz einem bestimmten Zweck.
Mit Hilfe des Trainingssatzes lernt das Modell Muster, Beziehungen und Merkmale aus den Daten, um zukünftige Vorhersagen zu treffen. Er ermöglicht es dem Modell, seine Parameter auf der Grundlage der Beispiele, die es sieht, anzupassen.
Der Validierungssatz wiederum wird zum Verständnis der Funktionsweise eines Modells und zur Anpassung seiner Parameter zur Verbesserung seiner Leistung verwendet. Der Validierungsdatensatz dient auch dazu, die Leistung verschiedener Algorithmen, die mit demselben Trainingsdatensatz trainiert wurden, zu vergleichen, indem er als unvoreingenommener Datensatz verwendet wird.
Schließlich ist der Testdatensatz die Grundlage für die Bewertung der Leistung des endgültigen Modells bei der Verwendung unbekannter Daten.
Bevor wir mit dem Modelltraining, auch bekannt als Modell/Algorithmus-Anpassung, beginnen, müssen wir den Algorithmus, den wir für unser spezifisches Problem benötigen, klar definieren.
Den richtigen Algorithmus zu wählen, hängt von der Problemstellung ab. So werden für Klassifikationsaufgaben häufig Algorithmen wie Gradient Boosting Classifier oder Random Forest Classifier verwendet. Für multiple Regressionsprobleme können Methoden wie Multiple Linear Regression, Ridge Regression oder Gradient Boosting Regression eingesetzt werden.
Für den von uns untersuchten Anwendungsfall „Rezeptur“ sind multiple Regressionsverfahren am besten geeignet. Sie ermöglichen die Vorhersage von Ergebnissen auf Basis verschiedener Eingangsvariablen. Bevor man sich für einen Algorithmus entscheidet, empfiehlt es sich jedoch immer, mehrere verschiedene Algorithmen auszuwählen und diese mit dem aufbereiteten Datensatz zu trainieren.
Nachdem das Modell trainiert wurde, ist es wichtig, dass wir beurteilen, wie gut das Modell mit den bekannten Ergebnissen aus dem Validierungsdatensatz funktioniert. Auf diese Weise können wir feststellen, ob das Modell genaue Vorhersagen macht. Oder ob es angepasst werden muss. Abhängig von den Ergebnissen können wir die Leistung des Modells verfeinern, indem wir die Hyperparameter anpassen. Wenn das Modell beispielsweise zu langsam lernt, können wir die Lernrate erhöhen. Bis akzeptable Ergebnisse erzielt werden, wird dieser iterative Prozess fortgesetzt.
Vorsicht vor Overfitting. Overfitting tritt auf, wenn das Modell zu sehr auf die Trainingsdaten zugeschnitten ist. Das Modell erkennt dann Rauschen statt echter Muster. Mit anderen Worten: Das Modell kann bei den Trainingsdaten außergewöhnlich gut abschneiden, aber bei neuen Daten Schwierigkeiten haben. Dies liegt daran, dass das Modell nicht gelernt hat, die zugrunde liegenden Muster zu verallgemeinern. Man kann sich dies wie einen Studenten vorstellen, der eine Seite aus einem Lehrbuch auswendig lernt, aber nicht in der Lage ist, diese Konzepte in einem etwas anderen Kontext anzuwenden.
Um eine Überanpassung zu vermeiden, analysieren wir die Leistung unseres maschinellen Lernmodells. Dies geschieht sowohl für die Trainingsdaten als auch für die Validierungsdaten. Es ist ein starker Hinweis auf eine Überanpassung, wenn das Modell eine sehr hohe Genauigkeit bei den Trainingsdaten, aber eine deutlich geringere Genauigkeit bei den Validierungsdaten aufweist. Das Modell hat gelernt, mit den Trainingsdaten gut zurechtzukommen. Es kann jedoch nicht auf die Validierungsdaten verallgemeinert werden. Aus diesem Grund wird empfohlen, den Testdatensatz zu trennen. So kann die Leistung des Modells objektiv und ohne weitere Anpassung der Hyperparameter beurteilt werden.
Die Bewertung der Modellleistung wird in der Regel anhand bestimmter Metriken vorgenommen, die häufig als Key Performance Indicators (KPIs) bezeichnet werden. Bei Regressionsproblemen können Metriken wie der mittlere absolute Fehler (MAE), der mittlere quadratische Fehler (MSE), der mittlere quadratische Wurzelfehler (RMSE), R-Quadrat und andere verwendet werden. Diese Metriken quantifizieren den Unterschied zwischen den vorhergesagten und den tatsächlichen Werten. Niedrigere Werte weisen auf eine bessere Leistung hin.
Nach der Bewertung der Modelle anhand der vordefinierten Metriken müssen wir die Leistung der Modelle vergleichen und das Modell auswählen, das auf dem Testdatensatz am besten ist. Dieses Modell bildet dann die Grundlage für die praktischen Anwendungen in Polygal.
Sobald wir das Modell mit der besten Leistung ausgewählt haben, müssen wir es in einem Format speichern, das leicht in den Produktionsprozess von Polygal integriert werden kann. Die meisten Bibliotheken für maschinelles Lernen bieten Formate an, in denen Modelle gespeichert werden können. So können sie später mit minimalem Aufwand geladen und verwendet werden.
Es gibt mehrere Möglichkeiten, das Modell zur Verfügung zu stellen, z.B:
Sehen wir uns die Unterschiede an.
Bei Amazon SageMaker handelt es sich um einen vollständig verwalteten Service, der es Entwicklern und Datenwissenschaftlern ermöglicht, ML-Modelle in großem Umfang zu erstellen, zu trainieren und zur Verfügung zu stellen. Durch die Bereitstellung einer Reihe von Werkzeugen und Funktionen, die den Prozess von der Datenvorbereitung bis hin zur Modellbereitstellung rationalisieren, wird der ML-Workflow vereinfacht.
Obwohl Sie mit SageMaker nur für das bezahlen, was Sie nutzen, können zusätzliche Kosten anfallen, insbesondere für ressourcenintensive Modelle wie GPT. SageMaker bietet zwei Arten der Bezahlung - On-Demand-Preise (ohne Mindestgebühren und ohne Vorabverpflichtungen) und Sparpläne, die ein flexibles, nutzungsbasiertes Preismodell bieten, bei dem Sie sich jedoch verpflichten müssen, über einen bestimmten Zeitraum, in der Regel ein oder drei Jahre, eine bestimmte Menge zu nutzen.
Eine weitere Option ist die Entwicklung einer benutzerdefinierten Python-Backend-API, die für die Verarbeitung der Eingabedaten, die Übergabe an das Modell und die Rückgabe der Vorhersagen verantwortlich ist. Sobald die API entwickelt ist, gibt es zwei Möglichkeiten. Die erste Möglichkeit ist die Einbettung der API direkt in den Backend-Dienst der Anwendung, wodurch eine nahtlose Interaktion ohne Abhängigkeit von externen Diensten möglich wird. Für Szenarien, in denen das Modell relativ leichtgewichtig ist und keine großen Rechenressourcen benötigt, ist dieser Ansatz besonders geeignet.
Alternativ kann die API als separater Microservice bereitgestellt werden, so dass sie unabhängig von der Hauptanwendung betrieben werden kann. Jeder Microservice kann bestimmte Aufgaben übernehmen. Dies erleichtert die Verwaltung und Aktualisierung.
Die praktikabelste und kostengünstigste Lösung ist die Einbettung des Modells in die Anwendung oder die Verwendung einer Microservices-Architektur. Dieser Ansatz gewährleistet eine nahtlose Integration in die Anwendung und ermöglicht gleichzeitig eine effiziente Nutzung der Ressourcen.
Nach der Implementierung des Modells wird es zu einem wertvollen Werkzeug für den Geschäftsbetrieb, so als hätte man einen Experten zur Hand. Es kann menschliches Fachwissen nicht vollständig ersetzen, aber es kann Routineaufgaben effizient und genau erledigen. Im Laufe der Zeit wird es möglich sein, das Modell zu verfeinern und zu verbessern, und zwar auf der Grundlage von Rückmeldungen und neuen Daten. Außerdem sollte das Modell durch Iteration der Trainings- und Validierungsschritte und durch Experimentieren mit verschiedenen Algorithmen und Parametern kontinuierlich verbessert werden.
Da der Ansatz für die Erstellung von Regressionsmodellen ein anderer ist als der für die Erstellung von LLMs, sind auch die Werkzeuge unterschiedlich. Werfen wir einen Blick auf die gängigsten Werkzeuge, die für die Entwicklung von Algorithmen zur multiplen Regression verwendet werden.
Siehe auch: Kostengünstige LLM-Anwendungen mit dem LangChain Framework erstellen
Einige wichtige Bibliotheken, die wir häufig in der ML-Pipeline verwenden, werden hier kurz vorgestellt:
Natürlich sind wir nicht auf diese Plattformen beschränkt. Wenn wir zum Beispiel mit Gradient Boosting Tree-Modellen arbeiten, verwenden wir oft Advanced Data Analysis von ChatGPT. Dieses Tool bietet robuste Funktionen für das Schreiben und Testen von Code. Außerdem verfügt es über eine intuitive Benutzeroberfläche, die es den Entwicklern ermöglicht, effektiv mit dem Modell zu interagieren.
Der Einsatz von KI zur Vorhersage der exakten Mengen der Zutaten für die chemischen Rezepte von Polygal ist ein funktionierender Ansatz. Es ist jedoch wichtig, die richtige Art von KI-Modell für diese Aufgabe zu wählen. LLMs zum Beispiel sind sehr leistungsfähig bei der Verarbeitung und Generierung von menschenähnlichem Text, aber sie sind möglicherweise nicht die beste Wahl für präzise quantitative Vorhersagen, wie sie in der chemischen Produktion erforderlich sind.
Stattdessen können prädiktive KI-Modelle, die auf Regressionsaufgaben zugeschnitten sind, wie die multivariate multiple Regression, genauere Vorhersagen liefern. Ziel dieser Modelle ist das Verständnis der Beziehung zwischen einer Reihe unabhängiger Variablen und einer Reihe abhängiger Variablen. Zum Beispiel könnten sie „Umsatz“ und „Kundenzufriedenheit“ auf der Grundlage mehrerer unabhängiger Variablen wie „Marketingausgaben“ und „Produktqualität“ vorhersagen. In unserem Fall kann MMR genaue Mengen von Inhaltsstoffen und Produktionseinstellungen auf der Grundlage der Produktionsspezifikationen für chemische Produkte vorhersagen.
Wir haben einen bewährten Ansatz, um Ihr Projekt zum Laufen zu bringen, wenn Sie ein robustes multiples Regressionsmodell entwickeln oder KI in Ihre Anwendung integrieren möchten. Kontaktieren Sie unser Team, um die Details zu besprechen.