Die Entwicklung eines Modells für maschinelles Lernen ist oft der erste Schritt bei der Entwicklung einer KI-Lösung, aber nie der letzte. Damit ein Modell umsetzbar ist, muss es bereitgestellt und seine Vorhersagen an eine Anwendung übermittelt werden. Was aber, wenn plötzlich viele Benutzer gleichzeitig Anfragen stellen oder das System nicht mehr reagiert? Und was ist, wenn die Daten, auf denen das Modell trainiert wurde, nicht mehr repräsentativ für die aktuellen realen Daten sind und sich die Leistung des Modells zu verschlechtern beginnt? Hier kommt Machine Learning Operations (MLOps) ins Spiel: eine Kombination aus Tools und Prozessen zur Erstellung und automatischen Pflege eines robusten und aktuellen KI-Systems.
Typische Phasen im Lebenszyklus eines Modells für maschinelles Lernen sind Dateneingabe, Validierung und Vorverarbeitung sowie Modelltraining, Validierung und Einsatz. Jedes Mal, wenn ein Modell aktualisiert wird, muss das System all diese Schritte durchlaufen. Durch die Automatisierung des Lebenszyklus des maschinellen Lernens kann der Prozess der Modellerstellung und -bereitstellung beschleunigt werden, was zu schnellerer Innovation, niedrigeren Entwicklungskosten und besserer Qualität führt (einen detaillierten Überblick über die an MLOps beteiligten Schritte finden Sie in diesem Blogpost).
Es ist ein gut gehütetes Geheimnis, dass MLOps in realen Projekten oft zu achtzig bis neunzig Prozent aus "DataOps" und nur zu zehn Prozent aus "ModelOps" besteht. In den Anfängen erstellten ML-Ingenieure einen Modellgraphen, bereiteten Daten auf und stimmten die Hyperparameter manuell ab. Mit dem Transfer Learning, das von einem vortrainierten Modell ausgeht, entfiel die Notwendigkeit, benutzerdefinierte Modellarchitekturen zu erstellen, und MLOps automatisierte die Abstimmung der Hyperparameter. Was bleibt, ist die Datenverarbeitung, und da die Projekte des maschinellen Lernens immer komplexere Probleme der realen Welt in Angriff nehmen, hat sie nur an Bedeutung gewonnen.
Mit dem Eintritt in das FM-Zeitalter durchläuft MLOps einen tiefgreifenden Wandel, bei dem die Kombination mehrerer aufgabenspezifischer Modelle und Geschäftslogiken im nachgelagerten Bereich einer vorgelagerten intelligenten Datenaufbereitung, Feinabstimmung und Steuerung des entstehenden FM-Verhaltens sowie einer weiteren Nachbearbeitung und Verkettung von FM-Outputs weicht.
Als Arbeitsdefinition für FMOps schlagen wir Folgendes vor:
FMOps bezieht sich auf die operativen Fähigkeiten, die erforderlich sind, um Daten zu verwalten und Basismodelle als Teil eines KI-Systems abzustimmen, einzusetzen, zu optimieren und zu überwachen
In den nächsten Unterabschnitten werden die verschiedenen Aspekte von FMOps vertieft, wobei wir uns durch das untenstehende Diagramm arbeiten und mit der Modellanpassung beginnen.
Der Hauptunterschied zwischen herkömmlichen Modellen des maschinellen Lernens und Grundlagenmodellen besteht in ihrem emergenten Verhalten und ihrer Fähigkeit, sich auf die Ausführung verschiedener nachgelagerter Aufgaben auszurichten . Daher ist es nicht überraschend, dass hier viele Änderungen von MLOps zu FMOps eingeleitet werden. Um den größtmöglichen Nutzen aus FMs zu ziehen, müssen sie fein abgestimmt, ihre Schlussfolgerungen gesteuert und ihre Ergebnisse verarbeitet und verkettet werden, um ihr Verhalten zu steuern. In den folgenden Abschnitten werden diese verschiedenen Schritte näher erläutert.
Die Anleitung, deren wohl bekannteste Ausprägung das Prompting ist, erfolgt zur Laufzeit (bei der Generierung) und zielt darauf ab, die vom Modell ausgeführte Aufgabe in eine bestimmte Richtung zu lenken: z. B. eine Frage beantworten, ein Bild auf der Grundlage einer bestimmten Texteingabe generieren, ein bestimmtes Objekt in einem Bild segmentieren.
Guidance hat in letzter Zeit einen regelrechten Boom erlebt, da die Community immer aufwändigere Prompts für die Bild- und Texterstellung, Prompting-Kurse und sogar Prompting-Marktplätze entwickelt. MLOps und Experiment-Tracking-Frameworks haben nachgezogen und bieten Tools für die Erstellung von Vorlagen, die Versionierung und das Testen von Prompts. Die Verwendung solcher Tools kann zu erheblichen Effizienzsteigerungen führen, wenn es darum geht, die bestmöglichen Eingaben zu finden. Es bleibt abzuwarten, ob die Entwicklung von Prompts durch den Menschen längerfristig eine nützliche Fähigkeit bleiben wird, da die Entwicklung von Prompts durch Suchalgorithmen automatisiert werden kann oder numerische Präfixe anstelle von Prompts abgestimmt werden können, die in den meisten Fällen die Entwicklung von Prompts (und die Suche) übertreffen (siehe Abbildung).
Prompting ist eine einfache und unterhaltsame Art, KI-Modelle zu steuern, und hat zu einer grundlegenden Demokratisierung der Praxis der "Arbeit mit KI" geführt. Darüber hinaus haben die Modellentwickler die Anzahl der Wörter, die als "Kontext" eingegeben werden können, immer weiter erhöht, so dass es möglich ist, ganze Bücher als Eingabe zu verwenden. Es ist jedoch anzumerken, dass der Rückgriff auf Eingabeaufforderungen bei der Systementwicklung auch Nachteile hat, wie z. B. die folgenden:
Zweifellos werden in Zukunft noch viele weitere Möglichkeiten zur Steuerung von FMs zur Verfügung stehen. Bis dahin werden andere Wege der Ausrichtung weiterhin eine wichtige Rolle bei der Lenkung von FMs in Richtung des gewünschten Verhaltens spielen.
Die Basismodelle werden auf Datensätzen in Internetgröße mit einem einfachen Ziel wie der Vorhersage des nächsten Wortes trainiert. Dies macht sie zu exzellenten Generalisten, die z. B. mit Hilfe von Eingabeaufforderungen zu spezifischeren Arten der Texterstellung angeleitet werden können. Da sie jedoch als Generalisten ausgebildet sind, neigen sie dazu, "Tausendsassazu seinund nichts zu beherrschen".
Ein weiterer Grund für eine Feinabstimmung kann darin bestehen, dass Sie ein Modell benötigen, das einen bestimmten Fachjargon versteht und/oder über fundierte Kenntnisse in einem bestimmten Bereich verfügt. Beispiele für Zielbereiche sind Finanzen, Biomedizin, Medizin oder Rechtssprache. Das nachstehende Diagramm gibt einen Eindruck von der Leistung von Med-PaLM, einem spezialisierten Modell, im Vergleich zu GPT 3.5 (ChatGPT) bei der Beantwortung von Fragen der medizinischen Zulassungsprüfung.
Die Feinabstimmung eines Basismodells hat den Effekt, dass seine Fähigkeiten gleichzeitig eingegrenzt und vertieft werden. Es ermöglicht auch die Hinzufügung von Wissen oder Fähigkeiten, die in öffentlichen Datensätzen nicht vorhanden sind, z. B. aus proprietären Daten oder kommerziell erworbenen Forschungsberichten, und es kann verwendet werden, um ein Modell mit den neuesten Erkenntnissen oder Konzepten zu füttern. Schließlich wird die Feinabstimmung auch häufig dazu verwendet, einem Modell einen bestimmten Erstellungsstil beizubringen, z. B. beim Schreiben, Zeichnen oder Entwerfen.
Die Feinabstimmung erfolgt in der Regel in mehreren Schritten unter Verwendung verschiedener Techniken, Parameter und AI-Hilfsmodelle. Die genaue Wahl der Techniken hängt direkt vom Anwendungsfall und den verfügbaren Daten ab. Modelle für die Beantwortung von Fragen wie ChatGPT werden zunächst unter Aufsicht auf Anweisungsdatensätzen (stark kuratierte Frageantworten) feinabgestimmt und dann unter Verwendung von Reinforcement Learning with Human Feedback (RLHF) belohnungsbasiert. Ein sehr erfolgreiches neues Verfahren zur Bilderzeugung ist ControlNet, bei dem eine Kopie der Modellgewichte zusätzlich feinabgestimmt wird, um aus zusätzlichen Bedingungen wie Kanten, Linien, Karten, Posen und Tiefe zu lernen.
Während die Feinabstimmung früher ein teures Unterfangen in Bezug auf den erforderlichen Rechenaufwand war, sind in letzter Zeit mehrere hocheffiziente Techniken verfügbar, die in der Regel kleine, leicht feinabzustimmende Teile zu einem Modell hinzufügen, wie z. B. Gewichtsmatrizen(LoRA), Adaptermodule oder Präfixe. Dies wird häufig mit einer Quantisierung (unter Verwendung von Zahlen geringerer Genauigkeit) in einem Teil der Trainingsschleife (z. B. Backpropagation) kombiniert, was den Speicherbedarf reduziert (z. B. qlora). Auf diese Weise ist es möglich, selbst große Modelle mit mehreren Milliarden Parametern für ein paar hundert Dollar fein abzustimmen.
Sobald ein Modell eine Antwort erzeugt hat, kann es weiter verfeinert oder gefiltert werden. Während es in der Vergangenheit üblich war, die Modellausgaben mit der Geschäftslogik und anderen Modellausgaben zu kombinieren, um die Leistung zu steigern, würde man bei FMs diesen Schritt idealerweise ganz vermeiden und sicherstellen, dass das Modell von vornherein gelernt hat, richtig zu funktionieren. Leider ist dies noch nicht der Fall, und Filter können bei den heutigen Modellen nützlich sein. Diese Filter können darauf abzielen, die Qualität des tatsächlichen Outputs durch den Vergleich mehrerer Generationen zu verbessern oder generierte Inhalte ganz zu entfernen, wie im Fall der "Not Safe for Work"-Filter. Alles in allem scheint die Nachbearbeitung im Moment ein notwendiges Übel zu sein, das hoffentlich eines Tages ganz weggelassen werden kann.
Modelleingaben und -ausgaben können miteinander verkettet und mit Eingaben aus externen Systemen und verschiedenen Datenquellen weiter kombiniert werden. Diese Art des Aufbaus von Softwareanwendungen mit FM-Aktionen als Bausteine wird gewöhnlich als Verkettung bezeichnet. Dies ist ein aufkeimendes Feld mit einer sehr enthusiastischen Anhängerschaft. Ein beliebtes Framework für den Aufbau von Anwendungen mit großen Sprachmodellen ist Langchain, das es ermöglicht, Sequenzen von Aufrufen zu verschiedenen Modellen und anderen Systemen zu implementieren und logische und andere Transformationen an ihnen durchzuführen. Einer der Vorteile dieses Ansatzes besteht darin, dass man Software-Agenten erstellen kann, die eigenständig Suchvorgänge und sogar Aktionen im Internet durchführen können (z. B. Auto-GPT). Einige Modelle wie ChatGPT bieten eng in das Modell integrierte Plugins, die einfacher zu benutzen, aber weniger flexibel sind. Obwohl es sich hier um einen hochinteressanten Bereich handelt, scheint die Anzahl und Vielfalt der Anwendungen in der Produktion derzeit begrenzt und weitgehend auf Retrieval Augmented Generation (RAG) beschränkt zu sein, um Chatbots zusätzlichen Speicherplatz für vergangene Unterhaltungen zu bieten oder die Antwortqualität zu erhöhen und Halluzinationen zu verringern. Es handelt sich jedoch um einen sich schnell entwickelnden Bereich, so dass weitere Innovationen schnell auftauchen werden.
Wie bereits erwähnt, hängt die Leistung des Systems von der Wahl des Basismodells ab, aber noch mehr von den nachfolgenden Feinabstimmungsschritten. Die Leistung der Feinabstimmung steht in direktem Zusammenhang mit der Verfügbarkeit von qualitativ hochwertigen, bereichs- und aufgabenspezifischen Daten. Auch andere Abstimmungsschritte werden zunehmend dynamisch und datengesteuert und nicht mehr statisch promptoder regelbasiert. Retrieval Augmented Generation (RAG) zum Beispiel, eine beliebte Technik zur Steuerung von Modellen zur Laufzeit, wird von einem semantischen Suchsystem gesteuert, das für die Benutzeranfrage relevante Informationen abruft und sie zu der Eingabeaufforderung hinzufügt, die in das Modell eingeht. Die Faktenüberprüfung in der Nachbearbeitung und die Datenabrufe bei der Verkettung hängen ebenfalls von den verfügbaren Daten ab. Es versteht sich daher von selbst, dass Datenkapazitäten der Schlüssel für eine erfolgreiche Integration von FM-basierten Systemen in die Unternehmenspraxis sind. Wissen durch eigene Daten wird eines der wichtigsten Unterscheidungsmerkmale in der FM-gesteuerten Wissensökonomie von morgen sein und den wichtigsten Graben für ihre Akteure bilden.
Beim Aufbau einer Dateninfrastruktur gibt es einige Dinge zu beachten. Zunächst einmal beschäftigen sich FMs sowohl mit unstrukturierten Daten (Text, Bilder) als auch mit strukturierten Daten (Tabellen). In der Vergangenheit diente die Einrichtung eines Data Lake häufig als Grundlage für die Extraktion strukturierter Daten wie Tabellen und Dashboards. Foundation-Modelle können die Rohdaten aufnehmen und auch auf Dashboards und aktuelle Berichte zur Laufzeit zugreifen. Der große Funktionssprung, auf den man sich freuen kann, ist also die Kombination von Datenbeständen in Berichten und Konten, die jetzt ungenutzt in Datentresoren liegen, mit bestehenden Informationszeilen.
Ein zweiter Aspekt ist die Tatsache, dass FMs bereits mit verschiedenen Datenmodalitäten (Text, Bilder, Sprache) umgehen können, und dies wird sich auf Video, 3D, hyperspektrale Bilder, geografische Daten und darüber hinaus ausweiten.
Drittens mögen FMs ihre Daten zwar gerne unstrukturiert, aber auch gerne in Zahlen. Bei der Aufnahme von Daten oder beim Zugriff auf die semantische Suche geschieht dies über Einbettungen, numerische Darstellungen von Daten. Leistungsstarke und skalierbare Vektor-Embedding-Datenbanken werden ein zentraler Bestandteil der FM-Dateninfrastruktur von morgen sein.
Viertens und letztens: Qualität gewinnt im Allgemeinen vor Quantität, wenn es um Daten geht, und beides hilft, wenn es um die Leistung von FM-basierten Systemen geht. Um unstrukturierte, multimodale Daten in die richtige Form zu bringen, müssen sie dedupliziert, gefiltert, auf verschiedene Weise transformiert, erweitert, möglicherweise anonymisiert, angereichert und wahrscheinlich eingebettet werden. All diese Schritte erfordern spezielle Techniken, die von der Art der Daten, der Feinabstimmung und dem Anwendungsfall abhängen können. Für viele dieser Schritte sind sogar spezielle KI-Modelle erforderlich, die bestimmte Aufgaben erfüllen. Heute werden diese Datenpipelines in vielen Fällen für jedes neue Projekt von Grund auf neu aufgebaut. Ein wahrscheinlicher nächster Schritt wird sein, dass die Datenvorverarbeitung standardisiert wird und gemeinsam nutzbare und wiederverwendbare Komponenten in zusammensetzbaren Datenpipelines kombiniert werden. Aus diesem Grund haben wir Fondant ins Leben gerufen, eine Open-Source-Initiative, die genau das erreichen will: eine einfache, leistungsstarke und kosteneffiziente FM-Anpassung durch Daten.
Grob gesagt, gibt es drei Möglichkeiten, ein FM-basiertes KI-System einzurichten:
Als Faustregel gilt, dass wir bei relativ einfachen oder erstmaligen Anwendungsfällen zu einer leichtgewichtigen SaaS-Lösung raten, da sie schnell und einfach einzurichten ist und es immer noch möglich ist, später zu einer individuelleren Einrichtung überzugehen, um die Kosten zu senken. Für kundenspezifische, größere Anwendungsfälle würden wir uns jedoch für mehr Kontrolle und Offenheit entscheiden, da dies die beste Garantie für optimale Leistung, Flexibilität und langfristige Kostenkontrolle ist. Die Entscheidung zwischen PaaS und IAAS ist vor allem eine Frage des verfügbaren technischen Know-hows in Ihrem Unternehmen und des Wunsches, eine Abhängigkeit zu vermeiden. IaaS kann im Betrieb günstiger sein und bindet Sie nicht an eine bestimmte Cloud-Plattform. PaaS ist einfacher und billiger zu entwickeln, wobei die Infrastrukturkosten etwas höher sind. Spezialisierte SaaS-Dienste wie AWS Bedrock und GCP Generative AI Studio befinden sich noch im Anfangsstadium: Wenn es ihnen gelingt, ausreichende Kontrolle (z. B. in Bezug auf die Feinabstimmung) zu einem guten Preis zu bieten, könnten sie auch für kundenspezifische Anwendungsfälle eine brauchbare Option werden.
Foundation Models sind da, und sie werden die Landschaft der KI-Systeme für immer verändern. Da ihnen die Ausführung komplexer Wissensaufgaben beigebracht werden kann, werden sie zwangsläufig die Art und Weise verändern, wie wir mit Maschinen interagieren und über sie denken. Während die Wissensbranche dies zur Kenntnis nimmt und sich darauf vorbereitet, ihre Mitarbeiter mit FM-gesteuerter KI zu unterstützen, sollten Unternehmen ihre Optionen sorgfältig abwägen und den Weg wählen, der den größten Mehrwert bietet. Derzeit ist dies wahrscheinlich die Investition in den Aufbau der notwendigen Dateninfrastruktur, um optimal von den kommenden Entwicklungen zu profitieren. Gleichzeitig wird es wichtig sein, mit spezialisierten Modellen und Systemen zu experimentieren und interne Arbeitsabläufe und Prozesse zu aktualisieren, um sie zu berücksichtigen und die notwendigen Daten zu generieren, um die Modelle von morgen in Richtung ungeahnter Leistung zu optimieren!