IT, LLM

Transformer, LoRA, RAG, MCP und andere LLM Begriffe eingeordnet

Der Text erklärt keine Grundlagen, er soll helfen die Begriffe in ein Netz einzuordnen, um dann die Möglichkeit zu geben, diese je nach Interesse zu vertiefen.

Was genau ist ein LLM?

Ein LLM kann grob so definiert werden. Es hat die Fähigkeit auf Grundlage von Wahrscheinlichkeiten Text zu generieren.

Die meisten LLMs basieren auf der Transformertechnologie. Nicht alle Systeme mit Transformertechnologie sind LLMs, beispielsweise Bert von Google nutzt Transformer für die Klassifikation, gilt aber nicht als LLM.
Die Transformertechnologie zeichnet sich dadurch aus, dass sie um so besser funktionieren, umso mehr Daten und Rechenzeit sie erhalten. Um dem Daten- und/oder Rechenzeithunger zu begegnen gibt es z.B. andere Herangehensweisen wie Mixture of Experts (MoE), in dem grob gesagt, nur Teile des Modells genutzt werden, dass durch Scoring ermittelt wird.
Weitere LLMs, die auf komplett anderen Technologien basieren sind z.B. SSM/Mamba (State Space Model, andere Mathematik) oder RWKV (RNN-Transformer-Hybrid). Sind aber meistens Nischenprodukte und für diesen Abriss nicht interessant.

LLM Training und Gewichtsänderungskonzepte

Bevor wir uns damit auseinandersetzen wie genau ein LLM funktioniert, erstmal nur soweit, dass es bei Transformern auf die Gewichte im Modell ankommt. Stark vereinfacht, die Daten werden in ein Beziehungsnetz zueinander gestellt und die Gewichte beschreiben wie die Daten in Beziehung stehen.
Im allerersten Schritt wird ein LLM mit Texten trainiert. Dies brauch die meiste Rechenzeit und Daten, was es extrem teuer macht. Nun haben wir ein Base Model mit eingestellten Gewichten.

Fine-Tuning

Wer gern ein eigenes Modell hätte, z.B. spezialisiert auf medizinischen Texten oder mit eigenem Schreibstil, aber nicht so viel Geld ausgeben will, der nutzt Fine-Tuning. Dabei werden die Gewichte des LLMs direkt verändert und es entsteht ein anderes, neues Modell.

LoRA (Low-Rank Adaptation)

Genau wie Fine-Tuning ändert LoRA Gewichte, jedoch nicht direkt vom Modell. Es wird eine zusätzliche Schicht erzeugt, die mit dem Modell verbunden wird. Die dadurch erzeugte Flexibilität bietet die Möglichkeit, bei gleichbleibenden Modell mehrere LoRA Lösungen einfach zu testen.

RLHF (Reinforcement Learning from Human Feedback)

Eine Art Fine-Tuning durch Feedback.

Quantisierung

Die Bitanzahl der Modellgewichte wird komprimiert. Das Modell wird kleiner, schneller aber auch schlechter.

Reasoning-Training

Das Modell lernt, eine Art internen „Denkprozess“ zu simulieren (Chain of Thought), bevor es antwortet.

Wie funktioniert ein LLM? Kontext.

Hier ein ganz grobes Verständnis. Ein LLM speichert, wie wahrscheinlich es ist, dass nach dem Wort „Guten“ ein „Morgen“ oder ein „Abend“ kommt. Außerdem speichert es noch abstrakt, in welchem Kontext sie oft zusammen erscheinen, hier als Begrüßungsformel für Morgens oder Abends. Es hat praktisch eine komplette Bibliothek gelesen und gewichtet. Und wie in der Bibliothek ist das unterschiedliche Wissen in unterschiedlichen Bereichen konzentriert. Comicwissen in der Comicabteilung, medizinisches Wissen in der medizinischen Abteilung und so weiter.
Wenn wir eine Frage stellen, ohne Kontext, dann versucht das LLM die Frage generell zu beantworten. Es ist nicht ganz klar, ob er sein medizinisches Wissen aus der medizinischen Abteilung zieht oder aus der Comicabteilung. Die Frage, „Folgen einer radioaktiven Verstrahlung“ würden in beiden Abteilungen wohl unterschiedlich beantwortet werden. Auch bleiben LLMs gern in dem Bereich der Wahrscheinlichkeit, in das sie rein rutschen, um nach weiteren Wissen zu suchen. Aus diesem Grund ist es oft hilfreich, vor allem nichspezialiserten LLMs vorher einen Kontext zu geben.

Der Kontext bzw. das Kontextfenster ist ein zentraler Punkt bei der Nutzung eines LLMs, häufige Fehlerquelle und ist stark speicherabhängig. Das Kontextfenster beschreibt, wie viele Tokens, also abstrakte Wörter, gleichzeitig verarbeitet werden können.

In dem Video von Caleb Writes Code wird auch schön erklärt wie Speichergrößenänderung die Art und Weise beeinflusst hat, wie wir mit den Modellen gearbeitet haben.

Für alle die das Video nicht sehen wollen, hier eine kurze Zusammenfassung.

Prompt Engineering

Am Anfang war das Kontextfenster nur 4096 Token groß und dadurch stark limitiert. Dem Modell direkt zu sagen, was man wollte (Prompting) war meistens die beste Vorgehensweise. Den richtigen Prompt zu finden, um das Maximale aus einem LLM raus zu holen ist eine Wissenschaft für sich, zum Glück gibt es Webseiten die gute Prompts sammeln.
Bsp: websiteprompts.com

Context Engineering

Um die Limitierungen des Kontextfenster zu umgehen wurde bald Context Engineering, als Erweiterung zum Prompt Engineering beliebt, dass verschiedene Hilfsmittel nutzte.

Tool-Calling

Dem LLM wird beigebracht verschiedene Tools zu nutzen. Dafür muss das LLM z.B. als Ausgabe kein Prosatext liefern, sondern ein Json das an die jeweilige API gesendet werden kann. Die Umgebung in der das LLM läuft erkennt das und führt dann den Befehl aus und liefert das Ergebnis zurück ans LLM. Vorteil, Informationen kommen nicht mehr aus den LLM sondern von den Tools, dies schont das Kontextfenster, ein Nachteil, die Beschreibung der Tools sitzt auch im Kontextfenster.

RAG (Retrieval-Augmented Generation)

Das LLM greift auf eine Art Wissensdatenbank zu. Informationen werden in Chunks gespeichert und nur relevante Chunks werden geladen.

MCP (Model Context Protocol)

Eine standardisierte Schnittstelle um schnell neue Tools oder Wissensdatenbanken dem LLM zur Verfügung zu stellen.

All diese Hilfsmittel haben Vor- und Nachteile, wer in dem Thema weiter lesen will:
ranjankumar.in/mcp-vs-rag-vs-tools-when-to-use-each-and-when-not-to
www.centron.de/tutorial/rag-vs-mcp-retrieval-oder-tool-aktionen-fuer-llm-anwendungen

Jedoch blieb das Problem des Kontextfenster.

Damit das Kontextfenster eines LLM bei einer sehr großen Aufgabe nicht voll läuft, fasst das LLM ab und zu den Kontext zusammen und schrumpft ihn dabei. Die Qualität der gesamten Aufgabe hängt davon ab, wie gut es das kann. Wenn also das LLM bei einer 12 Punkteaufgabe bei Punkt 3. langsam keinen Platz mehr hat, dann kann es vorkommen, dass es bei der Zusammenfassung die halbfertige Aufgabe 3 schon als gelöst markiert wird und bestimmte Features von Aufgabe 4 unter den Tisch fallen. Das Ergebnis ist ein halbfertiges Produkt bei dem Sachen einfach vergessen worden sind.
Das Problem wurde versucht zu lösen, indem die Aufgabe unter anderem auf mehrere LLMs aufgeteilt worden sind. Zum Beispiel:

Sub-Agents

Ein Hauptagent delegiert die Arbeit an einzelne spezialisierte Unteragenten. Zum Beispiel einer für Design, einer für Text und einer für Code.

Schwarm von Agenten

Mehrere Agenten arbeiten gleichberechtigt und koordiniert an einer Arbeit.

Ralph-Loop

Das ist praktisch nur ein Agent/LLM der die Aufgabe bearbeitet bis das Kontextfenster voll ist, die Daten abspeichert und dann mit einem frischen Kontextfenster weiterbearbeitet. Der Namensgeber hatte Ralph als Namen gewählt, angelehnt an die Simpsons, da es so eine einfache Lösung für so ein komplexes Problem ist.

LLM Harness

Egal ob Sub-Agents oder Ralph-Loop, all diese Dinge müssen letzte Endes koordiniert oder anders gesagt, da wir ja immer neue Namen für gleiche Tätigkeit brauchen, orchestriert werden. Coding Tools, wie Claude Code, lösen diese Aufgabe und nehmen eine immer wichtigere Rolle im Umgang mit LLMs ein.

Zum Weiterlesen:

https://pasqualepillitteri.it/de/news/1895/claude-code-harness-runtime-architektur-leitfaden-2026

Jetzt sollte jeder ein Gerüst im Bezug auf LLMs haben, um sich weiter Einarbeiten zu können, ohne davon erschlagen zu werden. Im nächsten Artikel versuche ich raus zu finden, wie LLMs sinnvoll in der Programmierung verwendet werden können, ohne wahnsinnig zu werden.

In diesem Sinne

Bis Später

Tagged ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert