19. September 2024 von Ellen Tötsch
Down the Rabbit Hole: LLMs und die Suche nach der perfekten Antwort
Hier, siehst du, musst du so schnell rennen, wie du kannst, um auf derselben Stelle zu bleiben. Wenn du woanders hinwillst, musst du zweimal so schnell rennen!
(Carroll, Lewis: Alice hinter den Spiegeln)
Die Welt der Generativen KI fühlt sich oft an, wie Carrolls Welt hinter dem Spiegel und das nicht nur weil KI-generierte Bilder manchmal noch aussehen, als ob wir sie im Zerrspiegel sehen. Was noch gestern Best Practice war, ist morgen vielleicht schon obsolet.
Viel ist passiert seit mit ChatGPT der Durchbruch für Large Language Models (LLMs) gelang. Was geblieben ist, ist unser Wunsch diese Sprachmodelle mit weiterem Wissen zu ergänzen. Gemini und Co sollen ganz genau wissen, was im Servicekatalog eines IT-Dienstleisters steht oder sich im Sprachstil an die Ministerin anpassen. Eine Pauschallösung gibt es nicht mehr, dafür zahlreiche Möglichkeiten. Wir nehmen euch mit in einem Sprint durch die verschiedenen Optionen der Optimierung von LLMs.
Kleiner Aufwand, große Wirkung: System-Prompts für LLMs
System-Prompts sind die Texte, die jeder Nachricht an ein LLM vorangestellt werden. Darin steht beispielsweise in welchem Stil das Modell (formell oder witzig) antworten soll oder was die generelle Aufgabenstellung ist.
Diesen Prompt zu optimieren ((System-)Prompt-Engineering) ist sehr komplex, gerade wenn nur wenige Informationen mitgegeben werden. Vielleicht soll der Chatbot wissen, wie das Kundenunternehmen heißt und in welcher Branche es tätig ist. Ein häufiger Use Case ist auch, dass Gemini oder ein anderes Sprachmodell in einem bestimmten Format antworten soll. Ob als JSON, um den Input weiterzuverarbeiten oder in der Form einer höflichen E-Mail. All diese Informationen gehören in den System-Prompt.
Beispiele, die das gewünschte Output-Format zeigen (Few-Shot-Prompting) sind sehr effektiv. Durch die Verlängerung der Prompts treiben sie jedoch schnell die Kosten pro Anfrage in die Höhe.
Das Schöne an Systemprompts ist, dass sie mit wenig Aufwand angepasst und ausprobiert werden können. Sobald jedoch auffällt, dass die zuzuführenden Informationen zu umfänglich sind oder das Modell nicht mehr all unseren Anweisungen nachkommt, ist es Zeit über die anderen Methoden nachzudenken.
Quellenverweise leicht gemacht: Retrieval Augmented Generation (RAG)
Retrieval Augmented Generation bedeutet, dass zunächst relevante Informationen zur User-Frage identifiziert und gemeinsam mit dieser an das Sprachmodell übergeben werden. Nutzende fragen beispielsweise „Welche Betriebssysteme sind bei einer Serverbereitstellung verfügbar?“, das Sprachmodell formuliert daraus den Suchbegriff für die Datenbank, in diesem Fall „Betriebssysteme für Server“. Aus der Datenbank kommt das entsprechende Kapitel aus dem Servicekatalog zurück und wird gemeinsam mit der ursprünglichen Frage an das Sprachmodell gegeben, et voila: „Die Server werden mit folgenden Betriebssystemen angeboten: […]“
Welche Art von Datenquelle angebunden wird, ist fast mehr eine Frage der Vorstellungskraft als eine technische Limitation. Der Klassiker sind Vektordatenbanken, wie Vertex AI Vector Search, wo kurze Textabschnitte nach Kontext sortiert werden und die, die am nächsten an der Frage sind, werden zurückgegeben. In der Google Cloud kann auch die Google Suche, SQL-Tabellen aus BigQuery und die Datenbanken von Drittanbietern angebunden werden.
Das Modell erhält dann die Informationen aus den Quellen und formuliert die Antwort. Dabei kann Gemini auch mit Fußnoten kenntlich machen auf welche Quelle sich gerade bezogen wird.
Leih deinem Sprachmodell deine Stimme: Supervised Fine-Tuning
Sprachmodelle werden in Layers trainiert. Beim Supervised Fine-Tuning wird ein weiterer Layer hinzugefügt. Das passiert in dem wir dem Modell weitere Beispielfragen und -Antworten geben und darauf basierend nachtrainiert wird. Durch das Beeinflussen dieser Beispiele, prägen wir das Modell in dem, was es weiß und wie es antwortet. Die Trainingsdaten müssen repräsentativ für die Art von Aufgabe sein, mit der das Modell dann befasst wird.
Google Cloud erlaubt das Fine-Tuning schon ab zwanzig Beispielen, wobei je nach Anwendungsfall 100-500 Beispiele im Trainingsdatensatz angestrebt werden sollten.
Supervised Fine-Tuning eignet sich also hervorragend, wenn Beispiele in System Prompts nicht ausreichen, die Datengrundlage beständig ist und man etwas Zeit für das Training und Trainingsdaten mitbringt. Ändern sich allerdings die Anforderungen, muss neu trainiert werden.
Der Unterschied zwischen gut und besser: Reinforcement Learning from Human Feedback
Wer sich schon mal mit dem Training von Sprachmodellen beschäftigt hat, hat vielleicht von Human in the Loop gehört. Dabei geht es darum, dass echte Menschen während des Trainingsprozesses Feedback dazu geben, welche Modell-Antworten die besten sind.
Google Cloud bietet die Möglichkeit, diese Strategie auch beim Weitertrainieren von Modellen einzubringen. Statt einfach nur Frage-Antwort-Paare zu nutzen, wie beim Supervised Fine-Tuning, besteht der Trainingsdatensatz aus zwei Antworten pro Frage. Beide akzeptabel, die Anwendenden wählen die Antwort, die besser passt. So lernt das Modell sich dem gewünschten Stil einer Person anzupassen. Das hilft besonders, wenn schwer in Worte zu fassen ist, wie genau die perfekte Antwort aussieht und nur feine Unterschiede zwischen einer akzeptablen und einer fantastischen Antwort sind. Ein USP von Google Cloud.
Die flinke, kleine Schwester des Modells: Destillation von LLMs
Bei der Destillation nutzen wir ein großes, umfangreiches Modell, wie zum Beispiel Gemini Pro 1.5 und setzen es an die Aufgabe, ein kleineres Modell unter bestimmten Aspekten zu trainieren. Da sich das große Modell in seinem Training des kleineren Modells auf die vorgegebenen Aufgaben fokussiert, wie zum Beispiel dem besonders formellen Ansprechen, wird das kleine Modell besonders gut in diesen Aufgaben und ist obendrein durch seine kleinere Größe auch noch schneller als das große Schwestermodell. Nach dem abgeschlossenen Training kommt dann nur noch das schnellere, spezialisierte Modell zum Einsatz.
Wer schon mal völlig vom Hocker gerissen wurde, wie wahnsinnig schnell Googles Gemini Flash 1.5 ist, ahnt es vielleicht schon: Gemini Flash 1.5 ist eine Destillation von Googles aktuellem Flaggschiff Gemini Pro 1.5.
Durch das Trainieren eines neuen Modells, ist dies deutlich formbarer als ein Supervised Fine-Tuned Modell, allerdings auch teurer. Destillieren kann man jedes Modell, die Google Cloud Vertex AI bietet dafür direkt eine Destillationspipeline an.
Durch die erhöhte Geschwindigkeit und die große Personalisierbarkeit ist das destillierte Modell oft die richtige Wahl für beispielsweise Chatbots eines Support-Desks. Wie beim Fine-Tuning auch, können hier allerdings keine Informationen nachträglich geändert werden, ohne den Prozess neu zu beginnen.
Das Beste aus allen Welten: Ein Vorschlag für die Pharmaindustrie
Wer also bis hier hin gelesen hat, fragt sich vielleicht, ob jegliche Form von Training hinfällig ist, wenn Quellverweise gebraucht oder Informationen aktualisiert werden sollen. Dem ist keinesfalls so.
Für ein konkretes Beispiel schauen wir auf die Pharmaindustrie. Dort werden optimierte Sprachmodelle im Marktzugang noch nicht eingesetzt, dabei ist das Potential gigantisch.
In Deutschland muss laut Arzneimittelneuordnungsgesetz (AMNOG) jedes Arzneimittel nach Zulassung eine Kosten-Nutzen-Analyse durchlaufen. Dafür wird ein über tausendseitiges Nutzendossier beim Gemeinsamen Bundesausschuss eingereicht, welches sich auf verschiedene Studien aus der Zulassung und darüber hinaus bezieht, um den Nutzen des neuen Arzneimittels darzulegen.
Es muss in diesem Fall klar sein, welche Information sich auf welche Studie bezieht und jedes Arzneimittel hat seine eigenen Studien. Zudem sind Studien gut und gleichmäßig strukturiert und bieten sich deshalb sehr für das Unterteilen für eine Vektordatenbank an, die ein RAG-System dann abruft.
Gleichzeitig muss im AMNOG-Verfahren ein ganz bestimmter Stil eingehalten werden. Informationen müssen teils in Tabellen, teils im Fließtext, aber immer im richtigen Kapitel stehen. Da das etwas komplex für einen System-Prompt ist, bietet sich hier an, ein Modell nachträglich zu trainieren.
Bisher verbringen ganze Abteilungen ihre gesamte Zeit mit dem Zusammentragen dieser Informationen, dabei könnte es doch so einfach sein: Ein mit hunderten Nutzendossiers aus erfolgreichen AMNOG-Verfahren fine-getuntes Gemini kennt genau die Formalitätsvorgaben und zieht sich die nötigen Studien aus Vertex AI VectorSearch um das Nutzendossiert zu schreiben. Mitarbeitenden im Marktzugang würden so unzählige Stunden an unbeliebter Arbeit erspart, so dass sie sich auf das Gegenlesen und Vorbereiten der Verhandlungen konzentrieren könnten.
Die Wunderwelt der LLMs: Mit adesso und Google Cloud die Zukunft gestalten
Alice: „Würdest du mir bitte sagen, wie ich von hieraus weitergehen soll?“
„Das hängt zum großen Teil davon ab, wohin du möchtest“, sagte die Katze.
(Carroll, Lewis: Alices Abenteuer im Wunderland)
Die Welt der Generativen KI ist im Wandel, doch eines bleibt konstant: Die Suche nach der perfekten Antwort. Ob wir nun Prompt Engineering nutzen, LLMs mit Daten aus Vektordatenbanken anreichern, sie durch Fine-Tuning und Reinforcement Learning auf unsere spezifischen Bedürfnisse zuschneiden oder ein destilliertes Modell trainieren – die Möglichkeiten, LLMs zu optimieren, sind vielfältig. Google Cloud bietet eine breite Palette an Tools und Ressourcen, um diese Prozesse zu vereinfachen und zu beschleunigen.
Die Reise durch das Daten-Wunderland hat gerade erst begonnen. Neue Entwicklungen und Fortschritte bei den Modellen selbst sowie bei der Verarbeitung großer Datenmengen, versprechen noch ungeahnte Möglichkeiten.
Sind Sie bereit, die digitale Zukunft mitzugestalten? adesso, Ihr Premier Partner für Google Cloud, begleitet Sie auf diesem Weg und unterstützt Sie bei der Implementierung von Generativer KI-Lösungen, die optimal auf Ihre Bedürfnisse zugeschnitten sind. Nutzen Sie unsere Expertise und die Möglichkeiten von Google Cloud, um Ihre Daten in Wissen und Innovation zu verwandeln!
Ihr möchtet mehr zu spannenden Themen aus der adesso-Welt erfahren? Dann werft auch einen Blick in unsere bisher erschienenen Blog-Beiträge.