InstructLab ist eine Methode zum Trainieren von KI-Modellen, mit der die LLMs, die bei der Entwicklung von generativen KI-Anwendungen eingesetzt werden, deutlich verbessert werden sollen.
Instruct Lab wurde von IBM Forschung und RedHat entwickelt. Es ist ein Open-Source-Projekt, das heißt, es ist auf eine globale Gemeinschaft von Entwicklern (bekannt als die InstructLab-Community) angewiesen, um es zu erstellen und zu pflegen.
Das InstructLab-Projekt wurde ins Leben gerufen, um Probleme anzugehen, die die Entwicklung von Large Language Models (LLMs) einschränken, insbesondere die Kosten und Komplexität von Training und Datenerhebung sowie die Schwierigkeit, Fähigkeiten und Wissen beizutragen.
Laut Forbes hat InstructLab die Leistung von LLMs gesteigert und mehrere Skalierungsherausforderungen des traditionellen LLM-Trainings gelöst, wodurch Unternehmen nicht mehr mehrere LLMs erstellen und warten müssen. Dies ist vor allem dank einer LLM-Trainingsmethode möglich, die als „Large-scale Alignment for Chatbots“ oder LAB bekannt ist und von IBM entwickelt wurde.
Die leistungsstärksten Chatbots von heute, wie Siri, Alexa und ChatGPT, hängen alle von LLMs ab, die vorab trainiert sind, sodass sie Aufgaben während des Prozesses der KI-Ausrichtung schnell lernen können. Künstliche Intelligenz auf dieses Niveau zu bringen, kann allerdings teuer und zeitaufwändig sein, und den entstehenden Modellen fehlt oft die nötige Tiefe, um komplexe, nuancierte, menschenähnliche Situationen zu bewältigen. Laut dem IBM Institute of Business Value rechneten Führungskräfte mit einem Anstieg der durchschnittlichen Rechenkosten um fast 90 %, vor allem aufgrund des Bedarfs an LLM-Programmen für generative KI-Anwendungen.
Large-scale Alignment for ChatBots (LAB) ist eine Methode, um Daten synthetisch für bestimmte Aufgaben zu generieren, für die ein Unternehmen einen Chatbot benötigt. Im Gegensatz zu herkömmlichen Trainingsmethoden können Chatbots damit neue Informationen schnell aufnehmen und neue Fähigkeiten erlernen, ohne bereits gelernte Dinge zu überschreiben.
Der Ansatz von InstructLab für die Entwicklung und Wartung von Large Language Models (LLM) unterscheidet sich von anderen Modellen dadurch, dass er den Prozess fest in die Hände einer weltweiten Entwicklergemeinschaft legt, ein Prozess, der als Open-Source-KI bekannt ist. Genauso wie Open-Source-Software es Entwicklern ermöglicht, zur Entwicklung von Code und Funktionen beizutragen, ermöglicht Open-Source-KI es ihnen, neue Fähigkeiten und Funktionen hinzuzufügen und bestehende Modelle schnell zu überarbeiten.
Basierend auf der LAB-Methode unterscheidet sich der Ansatz von InstructLab zum Aufbau von LLMs in drei entscheidenden Punkten von anderen:
Beim Training eines LLM ist die Taxonomie eine hierarchische Struktur, die die Fähigkeiten und Wissensbereiche kategorisiert, die für die beabsichtigte Anwendung eines LLM entscheidend sind. Zum Beispiel würde sich die Taxonomie für ein LLM, die auf ein autonomes Fahrzeug angewendet wird, erheblich von einer in der medizinischen Forschung angewandten unterscheiden, ähnlich wie ein Rennfahrer andere Fähigkeiten als ein Arzt erlernen müsste.
Die Daten von InstructLab sind so strukturiert, dass die vorhandenen Fähigkeiten und die Wissensbasis des Modells leicht zu verstehen sind. Die Einfachheit der Struktur von InstructLab macht es den Entwicklern leicht, Lücken zu erkennen und Wissen und Fähigkeiten bei Bedarf zu ergänzen. Diese taxonomiebasierte Datenpflege ermöglicht es zudem, Modelle gezielt für neue Anwendungsfälle auszurichten, wie z. B. für Forschungszwecke oder eine bestimmte Anwendung im Bereich des Internets der Dinge (IoT), und sie mit den entsprechenden Fähigkeiten auszustatten.
Zu diesem Zweck stützt sich InstructLab in hohem Maße auf YAML („YAML Ain't No Markup Language“ oder „Yet Another Markup Language“), ein standardisiertes Format zur Darstellung von Daten, das sowohl für Menschen als auch für Maschinen leicht zu interpretieren ist. Der YAML-Ansatz ebnet den Weg für den nächsten wichtigen Schritt im Prozess von InstructLab: die Generierung synthetischer Daten in großem Maßstab.
Sobald die Daten für ein bestimmtes Modell, auf dem trainiert werden soll, kuratieren wurden, ist das Modell selbst bereit, seine eigenen Daten auf der Grundlage der Trainingsdaten zu generieren, ein Prozess, der als synthetische Datengenerierung bekannt ist. Was den Ansatz von InstructLab für diesen Schritt im Training eines LLM auszeichnet, ist der Umfang der Ausführung und die Genauigkeit der Daten, die generiert werden können. InstructLab greift erneut auf die Large-scale Alignment for Chatbots (LAB)-Methode zurück und fügt einen automatisierten Schritt hinzu, um die vom LLM generierten Antworten weiter zu verfeinern und so deren Genauigkeit zu gewährleisten.
Die in diesem Schritt generierten neuen Daten, die für das Training aller LLMs – nicht nur der InstructLab-Modelle – entscheidend sind, basieren auf einem sogenannten „Teacher Model“: einem größeren Modell, das Labels und Daten für ein kleineres, effizienteres „Student Model“ generiert, von dem dieses lernen kann.
Bei der LAB-Methode verwenden die LLMs von InstructLab nicht die vom Teacher Model gespeicherten Datenspeicher, sondern spezifische Prompts, die den Datensatz exponentiell vergrößern und gleichzeitig sicherstellen, dass die vom Student Model generierten Beispiele dem beabsichtigten Zweck der LLMs entsprechen.
Laut IBM Research „generiert [dieser Ansatz] systematisch synthetische Daten für die Aufgaben, die Ihr Chatbot erledigen soll, und für die Aufnahme neuer Kenntnisse und Funktionen in das Foundation Model, ohne das zu überschreiben, was das Modell bereits gelernt hat“.
Im letzten Schritt des InstructLab/LAB-Prozesses wird das LLM anhand der synthetischen Daten, von denen es gelernt hat, erneut trainiert, wodurch seine Fähigkeiten verfeinert und die Genauigkeit seiner Antworten verbessert wird. Dieser letzte Schritt ist in zwei Phasen unterteilt:
LLMs, die mit traditionelleren Methoden geschult werden, verwenden in der Regel einen Prozess namens Retrieval-Augmented Generation (RAG), um ihr Wissen durch gezieltere, domänenspezifische Ausbildung zu ergänzen. RAG ist ein nützliches Tool für Unternehmen, die proprietäre Daten zu einem bestehenden Basismodell für einen bestimmten Zweck hinzufügen müssen, ohne die Kontrolle über ihre eigenen Daten aufzugeben.
Die InstructLab/LAB-Methode kann für denselben Zweck wie ein traditionellerer RAG-Prozess verwendet werden, konzentriert sich jedoch statt vorhandenes, spezifisches Wissen hinzuzufügen, mehr auf Beiträge der Endnutzer aus der Community, um relevantes Wissen und Fähigkeiten zu entwickeln. Unternehmen, die eine Feinabstimmung von LLMs für einen bestimmten Zweck durchführen möchten, können sowohl RAG als auch InstructLab/LAB nutzen, um optimale Ergebnisse zu erzielen.
Da KI-Anwendungen immer anspruchsvoller werden, werden LLMs zu ihrer Unterstützung immer größer und komplexer und stellen in der Folge strengere Anforderungen an die zugrunde liegende KI-Infrastruktur. InstructLab/LAB hängt – wie alle anderen fortgeschrittenen Modelltrainingsmethoden – von einer GPU-intensiven Infrastruktur ab, die in der Lage ist, die Leistungs-Benchmarks zu erfüllen, die erforderlich sind, um KI-Modelle gemäß den Beiträgen seiner globalen Open-Source-Community auf github.com/instructlab ständig neu zu trainieren.
Glücklicherweise Glück ist IBM darauf spezialisiert, alle notwendigen Datenspeicher-, Management-, Workflow- und Verfahrenslösungen für den Erfolg von LLM-Projekten bereitzustellen.
Heute bilden LLMs die Grundlage für die spannendsten KI-Anwendungsfälle, von generativen KI-Chatbots und Codierungsassistenten bis hin zu Edge Computing, IoT-Anwendungen (Internet der Dinge) und mehr. Dies können entweder proprietäre Modelle wie OpenAI und Claude sein oder Modelle, die stattdessen auf Open-Source-Prinzipien bei der Nutzung der vortrainierten Daten basieren, wie Mistral, Llama-2 und IBMs Granite-Modelle.
InstructLab zeichnet sich durch seine Fähigkeit aus, die Leistung von proprietären Modellen mit öffentlich verfügbaren Modellen zu vergleichen und diese sogar zu übertreffen. IBM Watsonx, eine KI- und Datenplattform, die Unternehmen dabei helfen soll, die Auswirkungen von KI zu skalieren und zu beschleunigen, stützt sich in hohem Maße darauf. So übertraf beispielsweise Merlinite-7B, ein kürzlich im LAB trainiertes Modell, laut einem Paper von IBM Research mehrere proprietäre Modelle in wichtigen Bereichen.
Um den Anforderungen fortschrittlicher generative KI-Anwendungen gerecht zu werden, greifen Entwickler häufig auf ein bestehendes LLM zurück, das sie an die spezifischen Geschäftsanforderungen anpassen. Nehmen wir zum Beispiel eine Versicherungsgesellschaft, die eine generative KI-Anwendung entwickeln möchte, die ihren Mitarbeitern helfen soll, Erkenntnisse aus proprietären Kundendaten zu gewinnen. Heute würden sie wahrscheinlich ein vorhandenes LLM für Chatbots kaufen und es an ihre Bedürfnisse anpassen. Dieser Ansatz hat jedoch mehrere wichtige Einschränkungen:
Mit der InstructLab-Methode können LLMs mit weniger menschlichen Eingaben und weitaus weniger Rechenressourcen trainiert werden. Die Grundlage der Trainingsmethode der meisten modernen LLMs – insbesondere derjenigen, die leistungsstarke Chatbots unterstützen – ist umfangreiches Vortraining mit großen Datensätzen aus unstrukturiertem Text. Dieser Trainingsansatz ermöglicht es LLMs zwar, in der Ausrichtungsphase relativ schnell neue Fähigkeiten zu erwerben, ist aber kostspielig und erfordert einen hohen menschlichen Aufwand.
Der von IBM Research entwickelte LAB-Ansatz nutzt taxonomiegesteuerte synthetische Datengenerierung, um Kosten und den Bedarf an menschlicher Eingabe zu senken. In Verbindung mit dem Open-Source- und Community-orientierten Entwicklungsansatz von InstructLab demokratisiert dieser Ansatz effektiv die Entwicklung von LLMs, die für generative KI-Anwendungen benötigt werden.
Die Command Line Interface (CLI) von InstructLab, die Befehlssätze, die Entwickler zur Verwaltung verwenden, ist sogar so konzipiert, dass sie auf weit verbreiteten Geräten wie Laptop läuft, und Entwickler werden ermutigt, über die KI-Community Hugging Face neues Wissen oder neue Fähigkeiten beizutragen.
InstructLab verfolgt einen Open-Source- und Community-basierten Ansatz zur Feinabstimmung von Lernmodellen für ein breites Spektrum an Anwendungsfällen. Hier sind ein paar der häufigsten.
Mit dem InstructLab-Ansatz entwickelte LLMs können so trainiert werden, dass sie neue Fähigkeiten und Kenntnisse für viele Anwendungen im Gesundheitswesen erwerben, von der Durchsicht großer Mengen klinischer Daten, um Wissenschaftlern zu Durchbrüchen in der medizinischen Forschung zu verhelfen, bis hin zur Beurteilung des Patientenrisikos anhand der Krankengeschichte und vielem mehr.
Im Bankwesen kann der InstructLab-Ansatz LLMs erstellen, wobei der Schwerpunkt auf Handelsanalysen und Modellprojektionen liegt, um Trends zu erkennen und Risiken im Zusammenhang mit Trading-Strategie zu prognostizieren. Er kann auch zum Trainieren von LLMs für generative KI-Anwendungen im Bereich der persönlichen Finanzen verwendet werden, wie z. B. Altersvorsorge, Budgetplanung und mehr.
LLMs, die mit dem InstructLab-Ansatz geschult wurden, können intelligente Chatbots unterstützen, die in bestimmten Bereichen des Kundenservice geschult sind, wie z. B. die Rückgabe eines Artikels oder die Anfrage eines bestimmten Produkts. Darüber hinaus kann die LAB-Methode dazu beitragen, LLMs durch Feinabstimmung zu virtuellen Assistenten mit einem komplexen Kompetenzspektrum zu machen, wie z. B. Terminplanung, Reisebuchung, Steuererklärung und mehr.
Die InstructLab-Methode hilft bei der Feinabstimmung von LLMs hinter generativen KI-Anwendungen im Marketing für eine Vielzahl von Zwecken. Sie können lernen, Kundendaten nach Erkenntnissen über Verhalten, Produktpräferenzen und sogar zukünftiges Produktdesign zu durchsuchen. Sie können sich außerdem die notwendigen Fähigkeiten aneignen, um maßgeschneiderte Produktberatung anzubieten, z. B. zu Schuh- oder Kleidergröße, Farbvorlieben und mehr.
Die Anwendung der InstructLab-Methode zum Trainieren von LLMs zur Verbesserung des DevOps-Lebenszyklus kann Entwicklern in mehrfacher Hinsicht Nutzen bringen. Mit der InstructLab-Methode trainierte LLMs können Code generieren und Skripte erstellen, die Infrastrukturbereitstellung automatisieren (Infrastructure as Code (IaC)-Anwendungen) und die routinemäßige Problemlösung, Fehlersuche und sogar Codeanalyse und -prüfung verkürzen und verbessern.