Leitfrage: Wie kommt man von einem einfachen künstlichen Neuron zu einem System, das Texte erzeugen kann?
3.1 🏗️ Was bedeutet „Deep Learning“?
Ein neuronales Netzwerk kann aus mehreren Verarbeitungsschichten bestehen.
Bei einem Deep Neural Network gibt es viele solcher Schichten, die nacheinander Informationen verarbeiten.
📥 Eingabe
↓
🧩 Schicht 1
↓
🧩 Schicht 2
↓
🧩 Schicht 3
↓
🧩 Schicht 4
↓
📤 Ausgabe
Das Wort Deep bedeutet hier vereinfacht:
🔎 Das Netzwerk besitzt viele Verarbeitungsebenen, die aufeinander aufbauen.
3.2 🔍 Warum sind mehrere Schichten nützlich?
Stell dir eine Bilderkennung vor.
Vereinfacht könnte man sich die Verarbeitung so vorstellen:
🟦 Pixel
↓
📐 Kanten
↓
🔺 Einfache Formen
↓
🌀 Komplexere Formen
↓
🐱 Objekte
↓
🐱 „Katze“
Die einzelnen Schichten können also auf den Ergebnissen vorheriger Schichten aufbauen.
Wichtig
Das ist eine starke Vereinfachung. Reale Deep-Learning-Modelle funktionieren wesentlich komplexer.
3.3 💬 Von Bildern zu Sprache
Jetzt kommt eine spannende Frage:
Wenn neuronale Netze Muster in Bildern erkennen können, können sie dann auch Muster in Sprache lernen?
Ja! 🎯
Ein Sprachmodell wird mit sehr grossen Mengen an Text trainiert.
Dabei lernt es statistische Zusammenhänge zwischen verschiedenen Textbestandteilen.
Zum Beispiel:
Die Sonne scheint am ...
↓
mögliche Fortsetzung
☁️ Himmel
🌅 Morgen
☀️ Tag
...
Ein Sprachmodell kann daraus Wahrscheinlichkeiten für mögliche nächste Textbestandteile berechnen.
3.4 🔤 Was ist ein Token?
Ein Sprachmodell arbeitet nicht direkt mit ganzen Sätzen als einzelne „Bedeutungseinheiten“.
Stattdessen wird ein Text zunächst in Tokens zerlegt.
Ein Token kann beispielsweise sein:
- 🔤 ein ganzes Wort
- 🧩 ein Teil eines Wortes
.ein Satzzeichen- 🔡 eine Kombination mehrerer Zeichen
Vereinfacht könnte aus diesem Satz:
„Das Wetter ist schön.“
folgendes werden:
["Das", " Wetter", " ist", " schön", "."]
⚠️ Die tatsächliche Zerlegung hängt vom verwendeten Modell ab.
3.5 🤖 Was ist ein Large Language Model?
LLM bedeutet:
Large Language Model
= grosses Sprachmodell
Ein LLM ist ein sehr grosses neuronales Modell, das auf sehr grossen Datenmengen trainiert wurde und unter anderem Muster in Sprache modellieren kann.
Ein zentraler Trainingsmechanismus lässt sich vereinfacht so beschreiben:
🧠 Das Modell lernt, vorherzusagen, welches Token als Nächstes wahrscheinlich ist.
3.6 🔮 Ein LLM sagt das nächste Token voraus
Betrachten wir ein einfaches Beispiel:
Der Hund läuft über den ...
Das Modell könnte beispielsweise folgende Wahrscheinlichkeiten berechnen:
| 📝 Mögliches Token | 📊 Wahrscheinlichkeit |
|---|---|
| Park | 45 % |
| Rasen | 20 % |
| Weg | 15 % |
| Spielplatz | 8 % |
| Tisch | 1 % |
| … | … |
Das Modell wählt daraus – abhängig von Kontext und Einstellungen – ein Token aus.
Nehmen wir an, es wählt:
🌳 Park
Dieses Token wird anschliessend wieder Teil des bisherigen Textes:
Der Hund läuft über den Park
↓
nächstes Token
Danach wird erneut vorhergesagt:
Der Hund läuft über den Park und ...
↓
nächstes Token
🔄 Dieser Vorgang wird immer wiederholt.
So entsteht Schritt für Schritt ein Text.
3.7 🧠 Aber woher weiss das Modell, was „Hund“ bedeutet?
Das ist eine der schwierigsten Fragen.
Das Modell bekommt nicht einfach eine Datenbank wie:
Hund = Tier
Katze = Tier
Auto = Fahrzeug
Stattdessen entstehen während des Trainings sehr komplexe Muster in den Parametern des Netzwerks.
Das Modell lernt beispielsweise Zusammenhänge zwischen Begriffen wie:
🐕 Hund
🐈 Katze
🐾 Tier
🏃 laufen
🧶 Fell
🦮 Leine
👤 Besitzer
Diese Zusammenhänge werden über sehr viele Parameter verteilt repräsentiert.
💡 Das bedeutet nicht, dass das Modell Wörter genauso „versteht“ wie ein Mensch.
3.8 🔗 Transformer und Attention
Moderne LLMs basieren überwiegend auf einer Architektur namens Transformer.
Ein wichtiger Bestandteil davon ist die sogenannte Attention.
👀 Was macht Attention?
Die Grundidee:
Das Modell kann bei der Verarbeitung eines Tokens berücksichtigen, welche anderen Teile des Textes besonders relevant sind.
Beispiel:
Der Hund jagt die Katze,
weil sie schnell wegläuft.
❓ Worauf bezieht sich „sie“?
Ein Sprachmodell muss den Kontext berücksichtigen, um solche Zusammenhänge zu modellieren.
🔗 Attention hilft dabei, Beziehungen zwischen verschiedenen Teilen des Textes herzustellen.
3.9 🧩 Was bedeutet „Kontext“ bei einem LLM?
Wenn wir mit einem LLM arbeiten, verarbeitet das Modell nicht nur das einzelne Wort, das es gerade vorhersagen soll. Es betrachtet eine größere Menge an Text – beispielsweise unsere bisherige Eingabe und bei einem Chat auch die vorherigen Nachrichten.
Dieser Text bildet den Kontext des Modells.
Man kann sich den Kontext vereinfacht wie einen Arbeitsbereich vorstellen:
Kontext
Nutzer: Erkläre mir Attention.
Assistent: Attention ermöglicht …
Nutzer: Kannst du das einfacher erklären?
↓ nächste Ausgabe
Das Modell nutzt diesen Kontext, um zu bestimmen, welche Ausgabe als Nächstes wahrscheinlich ist.
📏 Das Kontextfenster
Ein LLM kann allerdings nicht unbegrenzt viel Text gleichzeitig berücksichtigen. Die maximale Menge an Text, die innerhalb einer Anfrage verarbeitet werden kann, wird als Kontextfenster bezeichnet.
Dieses wird typischerweise in Tokens angegeben.
Ein Kontextfenster könnte beispielsweise vereinfacht so aussehen:
[ Token 1 ][ Token 2 ][ Token 3 ] … [ Token 100.000 ]
↑ Kontextfenster
Je größer das Kontextfenster ist, desto mehr Informationen können sich gleichzeitig im Arbeitskontext des Modells befinden.
Das bedeutet aber nicht automatisch, dass das Modell jede Information darin gleich gut „beachtet“. Genau hier kommt wieder die Attention ins Spiel: Sie ermöglicht es dem Modell, innerhalb des vorhandenen Kontexts unterschiedliche Beziehungen und Relevanzen zwischen Tokens zu modellieren.
💡 Vereinfacht gesagt:
Kontextfenster = Welche Informationen stehen dem Modell grundsätzlich zur Verfügung?
Attention = Welche Beziehungen zwischen diesen Informationen werden bei der Verarbeitung berücksichtigt?
LLM = Nutzt diese Informationen, um die wahrscheinlich nächste Token-Folge vorherzusagen.
Damit wird auch verständlich, warum Kontext für LLMs so wichtig ist: Die Qualität einer Antwort hängt nicht nur davon ab, was das Modell „weiss“, sondern auch davon, welche Informationen ihm im aktuellen Kontext zur Verfügung stehen.
3.10 📈 Warum „Large“?
Das Wort Large bezieht sich auf die enorme Grösse moderner Sprachmodelle.
Ein Modell kann sehr viele trainierbare Parameter besitzen.
Vereinfacht:
🧠 Künstliches Neuron
↓
🧠🧠 Viele Neuronen
↓
🧩 Viele Schichten
↓
⚖️ Sehr viele Gewichte
↓
🔢 Sehr viele Parameter
↓
🤖 Grosses neuronales Modell
Je nach Modellarchitektur können diese Parameter in die Milliarden oder darüber hinaus gehen.
3.11 🧠 Ein LLM ist kein menschliches Gehirn
Auch wenn Begriffe wie „Neuron“, „Lernen“ und „Netzwerk“ verwendet werden, darf man die beiden Systeme nicht gleichsetzen.
Ein LLM besitzt:
- ❌ keine biologischen Nervenzellen
- ❌ keine menschlichen Sinnesorgane
- ❌ keine menschliche Gehirnstruktur
- ❌ keine menschliche Lebenserfahrung
- ❌ keine menschliche Art von Bewusstsein
🤖 Ein LLM ist ein mathematisches Modell, das auf Computern ausgeführt wird.
Aufgabe: 🧠 Denkaufgabe: Parameter
Schätze ab, wie viele Parameter unser Spamfilter hat. Überlege dir dazu wie viele Parameter es pro Wort braucht und recherchiere danach wie gross der deutsche Wortschatz ist.
Nimm nun ein Sprachmodell, das du oft verwendest und finde heraus, wie viele Parameter dieses Modell hat.
Lösung (nicht angemeldet)
Diese Lösung ist nur für angemeldete Benutzer zugänglich – wenn die LK die Lösung freigegeben hat. Bitte melde dich an, um die Lösung einsehen zu können.Unser Spamfilter besitzt viel weniger Parameter als ein LLM und zudem können wir jeden einzelnen Wert interpretieren. Im Gegensatz dazu haben LLMs viel mehr Parameter und die Deutung dieser Werte ist für einen Menschen oftmals nicht direkt verständlich. Die genaue Antwort auf einen Prompt ist für uns praktisch nicht nachvollziehbar. LLMs machen heute deutlich weniger Fehler als früher, können aber trotzdem noch falsche oder erfundene Informationen liefern. Deshalb bleibt es wichtig, die Antworten eines LLMs kritisch zu hinterfragen und insbesondere bei wichtigen Informationen zu überprüfen.
3.12 Fazit
Im letzten Kapitel haben wir gesehen wie eine Maschine Objekte erkennen kann, oder etwas vereinfachter wie sie sehen kann. In diesem Kapitel haben wir gesehen, wie eine Maschine Sprache verarbeiten, Texte erzeugen und mit uns kommunizieren kann. Diese Fähigkeit zur Kommunikation eröffnet viele neue Möglichkeiten für die Interaktion zwischen Mensch und Maschine. Doch was passiert, wenn eine Maschine nicht nur kommunizieren, sondern auf Grundlage dieser Kommunikation auch selbstständig handeln kann?
⭐ Zusatzaufgabe: Rechenaufwand
Um diese Aufgabe zu lösen müssen wir zuerst einige Begriffe definieren:
Training = Das Modell lernt und verändert seine Parameter.
Inferenz = Das trainierte Modell wird benutzt, um eine Antwort zu erzeugen.
Eine einfache Analogie:
Training: Du lernst für eine Prüfung.
Inferenz: Du schreibst die Prüfung mit dem Wissen, das du gelernt hast.
und noch ein letzter Begriff, bis du endlich mit der Aufgabe beginnen kannst:
FLOP = Eine Rechenoperation (wie Addieren oder Multiplizieren) auf einem Computer
FLOPS = Rechenoperationen pro Sekunde (englisch für Floating Point Operations Per Second) Quelle: Wikipedia
Recherchiere wie viele Rechenoperationen pro Sekunden (in FLOPS) dein Laptop ausführen kann und wie viele Rechenoperationen ein modernes LLM fürs Training und die Inferenz benötigt. Berechne danach wie lange dies auf deinem Laptop dauern würde.