Große LLMs können schon von Grund auf eine Vielzahl von Aufgaben übernehmen und sind sehr flexibel. Doch wie passt man sie auf bestimmte Aufgaben an, wie erlangen sie die für die Aufgabe erforderlichen Informationen? Im Grunde gibt es dafür zwei Möglichkeiten – Erlernen oder Mitgeben, im LLM-Kontext Fine-Tuning oder Prompt Engineering. Bei einem Mitarbeiter, der eine Aufgabe erledigen soll ist es ähnlich, entweder der Mitarbeiter hat die Aufgabe schon erlernt oder man muss ihm die Aufgabe präzise Beschreiben und ihm die benötigten Informationen mitgeben.
Nehmen wir an, man möchte ein LLM als beratenden Chatbot in einen Webshop anbinden. Das LLM benötigt in diesem Fall natürlich Informationen beispielsweise zur Produktpalette, zu Lieferzeiten, und zum Unternehmen selber. Außerdem muss geklärt sein, wie die Ausgabe des LLMs aussehen soll, in diesem Fall in der Form eines Fließtextes, der den Benutzer direkt anspricht. Im folgenden möchte ich an diesem Beispiel die grundlegenden zwei Möglichkeiten, um ein LLM auf diese Aufgabe anzupassen, erklären.
Fine-Tuning
Für das Fine-Tuning wird ein großer Datensatz an Eingabe- und Ausgabe-Paaren benötigt. Das LLM erlernt durch diese Paare aus Eingabe und passender Ausgabe wie es bestimmte Eingaben verarbeiten soll und erlernt Informationen, Muster und Zusammenhänge. Im Prinzip lernt das LLM beim Fine-Tuning durch eine Vielzahl von Beispielen eine Aufgabe besser zu lösen. In dem Beispiel mit dem Chatbot würde man einen Datensatz an Fragen und Antwort-Paaren benötigen, aus denen das LLM lernen kann.
Vorteile:
- Ermöglicht signifikante Verbesserungen bei spezifischen Aufgaben
- Kann neue Fähigkeiten ermöglichen die im Basismodell nicht vorhanden waren
Nachteile:
- Erfordert große Datensätze und Rechenleistung
- Zeitaufwändig und kostspielig
- Weniger flexibel als Prompt-Engineering
Prompt-Engineering
Beim Prompt-Engineering hingegen erlernt das LLM nichts, es bleibt unverändert. Stattdessen werden Anfragen an das LLM so aufgebaut, dass im Prompt (der Eingabe) Informationen zur genauen Spezifizierung der Aufgabe und zum gewünschten Aufbau der Ausgabe mitgegeben werden. Außerdem kann eine große Menge an Kontext mitgegeben werden, der für die Aufgabe erforderlich sein kann. Im obigen Beispiel des Chatbots wären das beispielsweise Dokumente, die die Produktpalette des Unternehmens und Informationen zum Unternehmen enthalten. Außerdem kann im Prompt mitgegeben werden, in welcher Rolle das LLM agieren soll, in diesem Fall als Berater zu den Produkten des Webshops. Markführende LLMs erlauben sehr große Kontext-Fenster, sodass eine Menge Dateien und Informationen zur Aufgabenstellung mitgeliefert werden kann.
Vorteile:
- Flexibel und schnell anzuwenden
- Erfordert keine großen Datensätze oder Rechenressourcen
- Kann für verschiedene Aufgaben angepasst werden
Nachteile:
- Begrenzt durch die Fähigkeiten des Basismodells
- Kann bei komplexen Aufgaben an Grenzen stoßen
In der Regel ist es deutlich leichter, das gewünschte Ergebnis durch geschicktes Prompt-Engineering zu erhalten. Je nach Anforderung ist dies allerdings nicht immer möglich. Außerdem Ist es auch abhängig vom Basis-Modell, ob die Fähigkeiten zum Fine-Tuning und für große Prompts gegeben sind. So Bietet Anthropic’s LLM Claude die Möglichkeit, eine sehr große Menge an Daten und Dateien bei jedem Aufruf als Kontext mitzugeben, erlaubt aber kein Fine-Tuning. OpenAI’s ChatGPT 4o und Mistral AI’s Mistral Large erlauben Fine-Tuning, aber nur Prompts mit vergleichsweise kleinem Umfang.