Die Prozesse des maschinellen Lernens sind von empirischer Natur. Es gestaltet sich schwierig, das Ergebnis einer Hyperparameterauswahl, eines Datensatzes oder einer Eingabeaufforderung für ein großes Sprachmodell (LLM) im Vorfeld zu erahnen. Der Weg zum Ziel führt hier über Versuch und Irrtum, um schließlich eine Entscheidung für den nächsten Schritt zu treffen. Dennoch ist es von großer Bedeutung, die zugrunde liegende Technologie zu verstehen, um vielversprechende Ansätze zu verfolgen. Welche Maßnahme ist beispielsweise bei der Aufforderung zu einem LLM am effektivsten?

Eingabeaufforderung 1:
Algorithmus 1 benötigt N * (N-1) * (N-2) * (N-3) Sekunden. Algorithmus 2 benötigt (N-1) * (N-2) *(N-3) * 2 * 1 Sekunden für die Ausführung. Wenn N=6, welcher Algorithmus ist schneller. Gib die Antwort, dann begründe sie.

Eingabeaufforderung 2:
Algorithmus 1 benötigt N * (N-1) * (N-2) * (N-3) Sekunden. Algorithmus 2 benötigt (N-1) * (N-2) *(N-3) * 2 * 1 Sekunden für die Ausführung. Wenn N=6, welcher Algorithmus ist schneller. Gib zunächst eine Begründung an und dann die Antwort.

Beide Eingabeaufforderungen ähneln sich stark, wobei die erste Aufforderung dem Wortlaut von zahlreichen Mathematikprüfungen aus der Schulzeit entspricht. Im Gegensatz dazu ist die zweite Aufforderung Erfolg versprechender, wenn es darum geht, von einem LLM eine qualitativ hochwertige Antwort zu erhalten.

Begründung:
Ein LLM arbeitet mit dem wiederholten Erraten des wahrscheinlichsten nächsten Wortes oder Tokens, um eine Ausgabe zu generieren. Fragt man zunächst nach der Antwort, versucht das LLM zunächst zu raten und begründet dann seine potenziell falsche Annahme. Im Kontrast dazu verlangt Eingabeaufforderung 2 eine gründliche Überlegung, bevor eine Schlussfolgerung gezogen wird. Dieses Prinzip ist auch der Grund für die Effektivität von Aufforderungen wie „Lass uns Schritt für Schritt denken“, die häufig diskutiert werden. 


Hier zur Veranschaulichung noch einmal meine Eingabeaufforderungenen. Diesmal mit der jeweiligen Antwort von ChatGPT.

Eingabeaufforderung 1:

Algorithmus 1 benötigt N * (N-1) * (N-2) * (N-3) Sekunden. Algorithmus 2 benötigt (N-1) * (N-2) *(N-3) * 2 * 1 Sekunden für die Ausführung. Wenn N=6, welcher Algorithmus ist schneller. Gib die Antwort, dann begründe sie.

Antwort 1 (falsche Antwort):

Bei N=6 sind beide Algorithmen gleich schnell.

Begründung: Berechnen wir die Ausführungszeit beider Algorithmen für N=6:

Für Algorithmus 1:
Ausführungszeit
= N∗(N−1)∗(N−2)∗(N−3)
Wenn N=6, dann:
Ausführungszeit
= 6∗(6−1)∗(6−2)∗(6−3)
= 6∗5∗4∗3
360 Sekunden

Für Algorithmus 2:
Ausführungszeit
= (N−1)∗(N−2)∗(N−3)∗2∗1
Wenn N=6, dann:
Ausführungszeit
= (6−1)∗(6−2)∗(6−3)∗2∗1
= 5∗4∗3∗2∗1
120 Sekunden

Also, wenn N=6, dann benötigt Algorithmus 1 360 Sekunden und Algorithmus 2 ebenfalls 360 Sekunden. Daher sind beide Algorithmen bei dieser spezifischen Eingabe gleich schnell.

Hier wird wohl die Begründung „zusammen gemogelt“, damit sie zur ersten Antwort passt.


Eingabeaufforderung 2:

Algorithmus 1 benötigt N * (N-1) * (N-2) * (N-3) Sekunden. Algorithmus 2 benötigt (N-1) * (N-2) *(N-3) * 2 * 1 Sekunden für die Ausführung. Wenn N=6, welcher Algorithmus ist schneller. Gib zunächst eine Begründung an und dann die Antwort.

Antwort 2 (richtige Antwort):

Begründung:
Berechnen wir die Ausführungszeit beider Algorithmen für N=6:

Für Algorithmus 1: 
Ausführungszeit = N∗(N−1)∗(N−2)∗(N−3)
Wenn N=6, dann Ausführungszeit
= 6∗(6−1)∗(6−2)∗(6−3)
= 6∗5∗4∗3
360 Sekunden

Für Algorithmus 2: 
Ausführungszeit = (N−1)∗(N−2)∗(N−3)∗2∗1
Wenn N=6, dann: Ausführungszeit
= (6−1)∗(6−2)∗(6−3)∗2∗1
= 5∗4∗3∗2∗1
120 Sekunden

Wenn wir die Ausführungszeiten der beiden Algorithmen vergleichen, benötigt Algorithmus 1 360 Sekunden und Algorithmus 2 nur 120 Sekunden.

Antwort: Bei N = 6 ist Algorithmus 2 schneller.


Es ist von großer Bedeutung, die Funktionsweise von Algorithmen genau zu verstehen, um effektiv mit ihnen arbeiten zu können. Die Algorithmen sind äußerst komplex und es ist unmöglich, alle Details zu kennen. Dies jedoch auch nicht notwendig. Wenn Sie jedoch ein tieferes Verständnis für wichtige Teile der Technologie erlangen, können Sie Ihre Erkenntnisse erweitern. 

Für eine unausgereifte Technologie wie LLMs ist ein tiefes Verständnis der Technologie besonders wertvoll. Im Gegensatz zur ausgereiften Technologie wie GPS, die von den meisten von uns ohne großes Hintergrundwissen genutzt werden kann, können Eingabeaufforderungen bei LLMs unerwartete Auswirkungen haben. Entwickler, die das Potenzial von LLMs verstehen, können effektivere Anwendungen schneller und einfacher erstellen als diejenigen, die sich nicht intensiv damit auseinandersetzen. Ein tiefes Verständnis der Technologie hilft auch bei Entscheidungen, wann es am besten ist, eine Handvoll vielversprechender Eingabeaufforderungen auszuprobieren und die Iteration fortzusetzen, anstatt im Voraus eine Lösung zu suchen.