Home > KI-Lexikon

Was ist Fine-Tuning (bei LLMs)?

KI-Lexikon
Foto des Autors

Finn Hillebrandt

Fine-Tuning (auf Deutsch auch „Feintuning“ geschrieben) bedeutet, ein vortrainiertes LLM (großes Sprachmodell) an eine bestimmte Aufgabe oder ein bestimmtes Themengebiet anzupassen, indem man es auf einem spezialisierten Datensatz nachtrainiert.

Dabei werden die Gewichte (Englisch „weights“) des Modells aktualisiert, sodass es die Besonderheiten der Aufgabe oder des Themengebiets besser erfasst.

Fine-Tuning ermöglicht es also, die breite, aber oberflächliche Wissensbasis von LLMs für spezifische Anwendungsfälle zu optimieren.

Du hast eben nur Bahnhof verstanden?

Kein Problem, hier eine einfachere Erklärung:

Du musst dir ein LLM als neuen Mitarbeiter in deinem Unternehmen vorstellen, der zwar über viel Allgemeinwissen verfügt, aber noch wenig Ahnung von den internen Prozessen und der Kommunikation innerhalb des Unternehmens hat.

Durch Fine-Tuning fütterst du deinen Mitarbeiter mit dem nötigen Spezialwissen, damit er seine Rolle im Unternehmen besser erfüllen kann.

1. Vorteile von Fine-Tuning

Fine-Tuning verbessert das „Few-Shot Learning“, indem es mit viel mehr Beispielen trainiert, als in den Prompt passen würden.

Das heißt, du musst zum einen nicht mehr so viele Beispiele in deinen Prompts angeben, um den gewünschten Output zu bekommen. Zum anderen musst du dem LLM weniger Details zu seiner Aufgabe mitgeben, z. B. zum verwendeten Schreibstil, zur Zielgruppe oder der Output-Länge. Das kann viel Zeit sparen.

Zudem kann Fine-Tuning dafür sorgen, dass ein LLMs mit geringerer Latenz antwortet und weniger Token verbraucht. Durch Fine-Tuning lassen sich also auch die Kosten für API-Nutzung oder wahlweise Rechenleistung senken.

2. Welche Schritte sind für das Feintuning erforderlich?

Fine-Tuning hört sich kompliziert an. Ist aber ein relativ simpler, obwohl sehr zeitaufwändiger Prozess.

Die wichtigsten Schritte beim Fine-Tuning sind:

  1. Trainingsdaten vorbereiten und hochladen (der Schritt, der mit Abstand am arbeitsintensivsten für dich ist)
  2. Ein neues feingetuntes Modell trainieren
  3. Ergebnisse auswerten und bei Bedarf zu Schritt 1 zurückkehren
  4. Dein feingetuntes Modell nutzen

2.1 Wie bereitet man die Trainingsdaten vor?

Der wichtigste und aufwändigste Schritt beim Fine-Tuning ist die Vorbereitung der Trainingsdaten.

Dafür musst du einen vielfältigen Satz von Beispielgesprächen erstellen, die den Gesprächen ähneln, auf die das Modell in der Produktion reagieren soll.

Jedes Beispiel im Datensatz muss dafür ein bestimmtes Format haben. Beim Fine-Tuning von OpenAI-Modellen z. B. müssen die Trainingsdaten im selben Format wie die Chat Completions API sein.

Um die besten Resultate beim Fine-Tuning zu erreichen, solltest du ein LLM vor allem mit den Fällen trainieren, in denen es nicht den gewünschten Antworten gibt und ihm entsprechend in den Trainingsdaten deine Wunschantworten mitgeben.

Hier ein Beispiel von OpenAI, indem ein Chatbot namens „Marv“ darauf feingetunt wird, sarkastische Antworten zu geben:

{"messages": [{"role": "system", "content": "Marv ist ein faktischer Chatbot, der auch sarkastisch ist."}, {"role": "user", "content": "Was ist die Hauptstadt von Frankreich?"}, {"role": "assistant", "content": "Paris, als ob das nicht jeder wüsste."}]}
{"messages": [{"role": "system", "content": "Marv ist ein faktischer Chatbot, der auch sarkastisch ist."}, {"role": "user", "content": "Wer hat 'Romeo und Julia' geschrieben?"}, {"role": "assistant", "content": "Oh, nur so ein Typ namens William Shakespeare. Schon mal von dem gehört?"}]}
{"messages": [{"role": "system", "content": "Marv ist ein faktischer Chatbot, der auch sarkastisch ist."}, {"role": "user", "content": "Wie weit ist der Mond von der Erde entfernt?"}, {"role": "assistant", "content": "Etwa 384.400 Kilometer. Gib oder nimm ein paar, als ob das wirklich eine Rolle spielt."}]}

3. Welche KI-Modelle können finegetuned werden?

Finetuning steht bei vielen verschiedenen KI-Modelle zur Verfügung. Bei OpenAI können z. B. folgenden Modelle feingetunt werden:

  • gpt-3.5-turbo-0125 (von Open AI empfohlen)
  • gpt-3.5-turbo-1106
  • gpt-3.5-turbo-0613
  • babbage-002
  • davinci-002
  • gpt-4-0613 (experimentell)

Im Google AI Studio stehen folgende Modelle zum Fine-Tuning zur Verfügung:

  • gemini-1.0-pro-001
Tipp: Du kannst auch ein bereits feingetuntes Modell weiter feintunen. Das ist nützlich, wenn du zusätzliche Daten erhältst und die vorherigen Trainingsschritte nicht wiederholen möchtest.

4. Wann solltest du Fine-Tuning einsetzen?

Fine-Tuning ist eine tolle Methode, um besseren Output von einem LLM zu bekommen und ist vor allem dann sinnvoll, wenn es einfacher ist, etwas zu „zeigen als zu erklären“.

Das Problem ist jedoch:

Fine-Tuning ist, wie bereits erläutert, sehr aufwändig.

Deshalb ergibt es immer Sinn, vorher zu überprüfen, ob du nicht bessere Resultate mit anderen Methoden bekommen kannst und erst auf Fine-Tuning zu setzen, wenn du mit diesen Methoden nicht mehr weiterkommst.

Dazu zählen:

  1. Prompt Engineering (das heißt, das Formulieren von Prompts, z. B. durch Ergänzen einer Rolle, das genaue Definieren des Antwort-Formats etc.)
  2. Prompt Chaining (Aufteilen komplexer Aufgaben in mehrere Prompts)
  3. Function Calling (z. B. das Aufrufen externer Schnittstellen oder Datenbanken)

Ein großer Vorteil dieser Methoden ist, dass du deutlich schneller und einfacher Feedback dazu bekommst.

Wenn du z. B. in deinem Prompt eine Rolle ergänzt, kannst du dein Output direkt mit dem Prompt ohne Rolle vergleichen.

Beim Fine-Tuning musst du oft tage- oder sogar wochenlang deine Trainingsdaten vorbereiten. Dann musst du noch darauf warten, dass das Modell feingetunt ist und kannst nach diesen zwei Schritten erst testen, was das Fine-Tuning eigentlich gebracht hat.

5. Ansätze für das Fine-Tuning

Es gibt verschiedene Möglichkeiten, LLMs feinzutunen:

AnsatzBeschreibungAnalogie
Full Fine-TuningNeutraining des gesamten Modells, benötigt viele Daten und RessourcenEinen neuen Mitarbeiten komplett ausbilden
Parameter Efficient Fine-Tuning (PEFT)Hinzufügen neuer effizienter Adapter, ohne die Modellstruktur zu ändernEinen Mitarbeiter weiterbilden
DistillationTraining eines kleineren spezialisierten Modells, das die Entscheidungen des großen Modells repliziertEinen erfahrenen Mitarbeiter einen neuen Mitarbeiten anlernen lassen

Bessere Texte mit ChatGPT

14 simple Tipps, mit denen ChatGPT dramatisch bessere Texte schreibt

ChatGPTs Schreibstil ist von Haus aus eher mittelmäßig. Texte enthalten z. B. Wiederholungen oder klingen monoton.

In unserem E-Book zeigen wir dir, wie es mit nur kleinen Änderungen deutlich bessere Texte schreibt. 💪

👉 Ja, zeig mir das E-Book!