Einführung
Die Art und Weise, wie Sie Ihren Prompt schreiben, ist wichtig. Die Formulierung und der Stil des Prompts bestimmen die Ausgabe des Modells. Dieser Artikel beschreibt zwei Möglichkeiten, den Output eines LLM zu beeinflussen. Die erste ist die Art und Weise, wie Sie Ihren Prompt schreiben und strukturieren. Die zweite ist die Verwendung spezieller Prompting-Techniken, um das Modell bei der Erzeugung des gewünschten Outputs zu unterstützen. Diese Techniken ermöglichen es Ihnen, bessere Ergebnisse aus den leistungsfähigeren und teureren Modellen zu erhalten und weniger leistungsfähige, billigere Modelle zur Lösung komplexerer Probleme einzusetzen
Große Sprachmodelle (LLMs) werden immer leistungsfähiger. Die Modelle werden immer größer und umfangreicher. GPT 3 hat zum Beispiel 175 Milliarden Parameter und GPT 4 hat schätzungsweise 100 Billionen Parameter. Da die Modelle immer leistungsfähiger werden, können sie komplexere Probleme ohne spezielle Eingabeaufforderungstechniken oder Feinabstimmung lösen. Das neueste GPT 4-Modell von Open AI ist wesentlich leistungsfähiger als GPT 3.5. Nach Untersuchungen von Open AI kann GPT 4 verschiedene Prüfungen bestehen, wie z.B. das Uniform Bar Exam, während GPT 3.5 diese Prüfungen nicht bestehen kann. Dieselbe Untersuchung zeigt, dass die Leistung von GPT 4 gegenüber GPT 3.5 bei traditionellen Benchmarks deutlich besser ist. Neuere und damit größere Modelle können komplexere Probleme lösen, weil sie auf größeren Datensätzen trainiert werden und mehr Parameter haben.
Im Wesentlichen werden LLMs darauf trainiert, den Stil und den Inhalt ihrer Trainingsdaten zu imitieren. Sie sind sehr gut darin, das wahrscheinlichste nächste Wort aus einer Reihe von vorherigen Wörtern vorherzusagen. Die Modelle werden auf kuratierten Datensätzen trainiert, um auf Benutzeraufforderungen korrekt zu reagieren. GPT-3.5 wurde auf Datensätzen wie Wikipedia und WebText2 trainiert: der gesamte Text von Webseiten aus allen ausgehenden Reddit-Links von Beiträgen mit 3+ Upvotes. Je größer das Modell wird, desto größer wird auch der Trainingsdatensatz und desto teurer wird das Training des Modells. Nach Angaben von Open AI wurde GPT-3.5 auf etwa 45 TB Daten trainiert. OpenAI hat keine Daten für GPT-4 veröffentlicht, aber die Trainingsdaten für GPT-4 sind wahrscheinlich um Größenordnungen größer als die von GPT-3.5, so dass es ein leistungsfähigeres Modell ist.
Je größer ein Modell wird (je mehr Parameter es hat), desto mehr Rechenleistung wird für die Vorhersage des nächsten Wortes benötigt. Je mehr Rechenleistung erforderlich ist, desto teurer werden die Modelle, da der Preis pro Token im Allgemeinen höher ist. Zum Zeitpunkt der Erstellung dieses Artikels ist GPT 4 vierzig bis sechzig Mal teurer als GPT 3.5. Input-Token für GPT 4 kosten $0,03 pro 1000 Token, während Input-Token für GPT 3.5 Turbo $0,0005 pro 1.000 Token kosten. Ausgabe-Token für GPT 4 sind $0,06 pro 1000 Token, während Ausgabe-Token für GPT 3.5 Turbo $0,0015 pro 1000 Token sind. Die verbesserte Problemlösung kostet Sie also mehr pro Eingabeaufforderung.
Eine weitere neuere Entwicklung sind kleine Sprachmodelle (SLMs). Wie der Name schon sagt, sind SLMs kleiner, d.h. sie haben weniger Parameter. SLMs haben in der Regel Millionen von Parametern anstelle der Milliarden von Parametern, die LLMs haben. Diese geringere Größe bedeutet, dass sie billiger sind und lokal ausgeführt werden können, zum Beispiel auf mobilen Geräten oder Ihrem Laptop. Allerdings haben sie im Allgemeinen mehr Schwierigkeiten mit komplexen Zusammenhängen und sind weniger in der Lage, komplexe Probleme zu lösen.
Was wäre, wenn Sie mit einem kleineren, billigeren LLM oder sogar einem SLM eine ähnlich gute Problemlösung erzielen könnten? Bessere Ergebnisse mit Ihrem Prompt zu erzielen, ist die subtile Kunst des Promptens. Die Art und Weise, wie Sie Ihren Prompt schreiben, ist entscheidend. Die Formulierung und der Stil des Prompts bestimmen die Ausgabe des Modells. In diesem Artikel werden zwei Möglichkeiten beschrieben, wie Sie das Ergebnis eines LLM beeinflussen können. Die erste ist die Art und Weise, wie Sie Ihren Prompt schreiben und strukturieren. Die zweite ist die Verwendung spezieller Prompting-Techniken, um das Modell bei der Erzeugung des gewünschten Outputs zu unterstützen. Diese Techniken ermöglichen es Ihnen, bessere Ergebnisse aus den leistungsfähigeren und teureren Modellen zu erzielen und weniger leistungsfähige, billigere Modelle zur Lösung komplexerer Probleme einzusetzen.
Effektive Prompts schreiben
Prompts sind die Art und Weise, wie Sie ein Modell anleiten, die gewünschte Ausgabe zu erzeugen. Sie fügen spezifische Anweisungen in die Eingabeaufforderung ein, um das gewünschte Ergebnis zu erhalten. Wenn Sie beispielsweise möchten, dass das Modell eine JSON-Ausgabe generiert, können Sie das Modell anweisen, produce JSON output zu verwenden. Wenn Sie möchten, dass das Modell auf Niederländisch antwortet, weisen Sie es an, respond in Dutch zu verwenden. Wenn Sie möchten, dass das Modell einen bestimmten Ton verwendet, weisen Sie es an, use a formal tone zu verwenden. Eine andere Möglichkeit, das Modell anzuleiten, besteht darin, Regeln aufzustellen, wie if you don't know the answer, respond with I don't know. Diese Anweisungen werden häufig in der System-Eingabeaufforderung platziert, um die Ausgabe des Modells bei der Beantwortung von Benutzeranfragen zu steuern und einzuschränken.
Open AI hat einen Artikel über die besten Praktiken für Prompt Engineering. Der Artikel enthält viele Tipps und Beispiele, wie Sie effektive Prompts schreiben können. Es ist zum Beispiel besser, Befehle an den Anfang des Prompts zu stellen. Verwenden Sie Wörter wie Summarize ist viel klarer als Tell me what this is about. Sie können auch Formatierungen wie ### oder """ verwenden, um die Anweisung vom Kontext zu trennen. Auf diese Weise kann das Modell Ihren Kontext oder Ihre Eingabe nicht mit den von Ihnen gegebenen Anweisungen verwechseln. Die folgende Aufforderung kombiniert diese Tipps:
Summarize the text below as a bullet point list of the most important points.
Text: """
{text input here}
"""
Ein weiterer wichtiger Tipp ist, genau zu sein. Je genauer Sie Ihre Anweisungen formulieren, desto wahrscheinlicher ist es, dass Sie das gewünschte Ergebnis erhalten. Anstatt die folgende Aufforderung zu verwenden, um ein Gedicht zu erstellen:
Write a poem about LLMs.
Geben Sie genauer an, welche Art von Gedicht Sie wünschen und wovon das Gedicht handeln soll. Zum Beispiel:
Write a short and funny poem about large language models, focusing on their uncanny ability to come across as intelligent and human in the style of Shakespeare.
Diese Aufforderung ist viel spezifischer, denn sie weist das Modell an, dass das Gedicht kurz und witzig sein, sich auf eine bestimmte Eigenschaft von LLMs konzentrieren und einen bestimmten Stil haben soll. Aber es gibt immer noch etwas, das wir verbessern können.
Im vorherigen Beispiel haben wir das Modell angewiesen, ein short Gedicht zu erstellen. Das Wort short ist nicht präzise. Sie könnten einen Satz oder einen Absatz gemeint haben. Stattdessen können Sie das Modell anweisen, das Format haiku zu verwenden. Im Allgemeinen gilt: Je präziser Ihre Anweisungen sind, desto wahrscheinlicher ist es, dass Sie die gewünschte Ausgabe erhalten.
Eine präzisere Version der vorherigen Aufforderung lautet:
Write funny haiku about large language models, focusing on their uncanny ability to come across as intelligent and human in the style of Shakespeare.
Ausgabe:
In circuits deep, words dance,
Mimicking human romance.
Bard's wit in bytes, perchance?
Und schließlich ist es im Allgemeinen besser, nicht zu sagen, was Sie nicht tun sollen. Das Modell könnte die DO NOT <do this> als Befehl an <do this> missverstehen und das tun, was Sie ihm verboten haben. Konzentrieren Sie sich stattdessen darauf, dem Modell zu sagen, was es tun soll. Das heißt nicht, dass Sie das Modell nicht anweisen können, bestimmte Dinge zu vermeiden. Es bedeutet nur, dass Sie Ihre Anweisung anders formulieren. Schreiben Sie stattdessen DO NOT <do this> zu verwenden:
The following is a conversation between an Agent and a Customer. DO NOT ASK USERNAME OR PASSWORD. DO NOT REPEAT.
Customer: I can’t log in to my account.
Agent:
Ausgabe (ChatGPT 3.5):
I'm sorry to hear that you're having trouble logging in. Could you please provide me with your account username or email address so I can assist you further?
Wie Sie sehen können, hat das Modell nach dem Benutzernamen gefragt, was ich ihm untersagt habe. Lassen Sie uns die Eingabeaufforderung umschreiben, um das Modell anzuweisen, nicht nach dem Benutzernamen oder dem Passwort zu fragen (zu tun).
Eingabeaufforderung:
The following is a conversation between an Agent and a Customer. The agent will attempt to diagnose the problem and suggest a solution, whilst refraining from asking any questions related to PII. Instead of asking for PII, such as username or password, refer the user to the help article www.samplewebsite.com/help/faq
Customer: I can’t log in to my account.
Agent:
Ausgabe:
I'm sorry to hear that you're having trouble logging into your account. There could be a few reasons why this is happening. Let's try to troubleshoot the issue together. First, have you tried resetting your password? If not, you can find step-by-step instructions on how to do so at www.samplewebsite.com/help/faq. Once you've reset your password, try logging in again and let me know if you're still experiencing difficulties.
Dieses Mal verzichtete das Modell darauf, nach dem Benutzernamen oder dem Kennwort zu fragen und verwies stattdessen auf den Hilfeartikel, wie wir es verlangt hatten.
Beachten Sie, dass die Wahrscheinlichkeit einer kreativen oder unerwarteten Antwort umso geringer ist, je klarer, spezifischer und präziser Sie dem Modell Anweisungen geben. Wenn Sie möchten, dass das Modell Ihnen zum Beispiel dabei hilft, neue Ideen oder Vorschläge zu machen, auf die Sie selbst nicht gekommen wären, sollten Sie das Modell nicht zu sehr einschränken. In diesem Fall können Sie allgemeinere Anweisungen verwenden und mehr Raum für Kreativität lassen. Wenn Ihr Ziel beispielsweise darin besteht, ein Gedicht zu verfassen und Sie möchten, dass das Modell das Thema, den Stil und die Länge vorschlägt. Dann ist die folgende Aufforderung effektiver, auch wenn sie weniger klar, spezifisch und präzise ist:
Write a poem about LLMs.
Weitere Tipps und Beispiele finden Sie in den Best Practices für Prompt Engineering von Open AI.
Prompting-Techniken
Es wird viel darüber geforscht, wie man ein LLM dazu bringen kann, die gewünschte Leistung zu erbringen. Die derzeit gängigsten Prompting-Techniken sind Zero-Shot, Some-Shot und Chain of Thought. Sie verwenden diese Prompting-Techniken, wenn das Modell die Aufgabe nicht zuverlässig ohne zusätzliche Anleitung erledigen kann. Diese Techniken bringen das Modell dazu, auf eine bestimmte Art und Weise zu reagieren, so dass die Wahrscheinlichkeit steigt, dass es eine korrekte Antwort gibt. Die Idee ist, spezifische Beispiele, Schlüsselwörter oder Anleitungen zu geben. Da LLMs ausgefeilte Vorhersager für das nächste Wort sind, wird das Modell eine Ausgabe erzeugen, die den Anweisungen in der Aufforderung ähnelt. Diese Techniken machen es wahrscheinlicher, dass das Modell die von Ihnen gewünschte Ausgabe generiert.
Sie könnten argumentieren, dass Prompting-Techniken eine andere Form von "effektiven Prompts schreiben" sind. Aber ich habe mich dafür entschieden, sie voneinander zu trennen, weil sie spezifisch und komplexer sind und sich auf die Forschung stützen. Die genaue Formulierung, der Stil und die Struktur dieser Prompting-Techniken sind wissenschaftlich fundiert. Ich werde bei der Erörterung der einzelnen Techniken auf die entsprechenden Arbeiten verweisen. Im weiteren Verlauf dieses Artikels werde ich jede Prompting-Technik erläutern, beschreiben, für welche Art von Problemen sie am besten geeignet ist, und Beispiele für ihre Anwendung anführen. Wir beginnen mit der einfachsten und gebräuchlichsten Prompting-Technik, dem Zero-Shot Prompting, und arbeiten uns dann zu den fortgeschritteneren Prompting-Techniken vor. Die fortgeschritteneren Techniken helfen dabei, Probleme zu lösen, die für LLMs ohne spezielle Anleitung schwierig sind.
Null-Foto
Die Standardmethode für die Eingabeaufforderung ist Zero-Shot. Sie geben keine Beispiele, Anleitungen oder zusätzliche Informationen. Sie geben das Ziel vor und erwarten, dass das Modell dieses Ziel allein auf der Grundlage der Aufforderung erreicht. Aufgrund der Art und Weise, wie LLMs trainiert werden, können sie verschiedene Probleme ohne spezifische Anleitung lösen. LLMs können zum Beispiel die Stimmung eines Textes ohne Beispiele oder Anleitungen in neutral, negativ oder positiv einordnen. Unten sehen Sie ein einfaches Beispiel für eine Aufforderung zum Nulltarif:
Classify the text into neutral, negative or positive.
Text: I think the vacation is okay.
Sentiment:
Ausgabe (ChatGPT 3.5):
Neutral
Der LLM kann die Stimmung des Textes auf der Grundlage seiner Trainingsdaten klassifizieren. Es ist also nicht nötig, Beispiele für Textausschnitte mit ihrer Stimmung oder andere Hinweise zu geben. Wenn das Zero-Shot Prompting nicht zuverlässig das gewünschte Ergebnis liefert, können Sie versuchen, die Ergebnisse mit dem Little-Shot Prompting zu verbessern.
Wenige Schüsse
Few-shot Prompting ist eine Technik, die kontextbezogenes Lernen ermöglicht. Sie geben in der Eingabeaufforderung Beispiele als Kontext an, um das Modell zu leiten. Das Modell erzeugt dann eine Ausgabe, die den von Ihnen angegebenen Beispielen ähnelt.
Anhand dieses Beispiels von Brown et al. (2020) können wir demonstrieren, wie die Eingabe von wenigen Wörtern funktioniert. In dem Beispiel wird dem Modell beigebracht, ein Wort zu verwenden, das es im Englischen nicht gibt. Lassen Sie uns das Modell zunächst anweisen, das Wort "farduddle" ohne Beispiele zu verwenden (zero-shot):
Eingabeaufforderung:
An example of a sentence that uses the word farduddle is:
Ausgabe (ChatGPT 3.5):
The term "farduddle" is not recognized as a standard word in the English language ....
Das Modell kann keinen Satz generieren, in dem das Wort "farduddle" verwendet wird, weil "farduddle" im Englischen nicht existiert und daher in den Trainingsdaten des Modells nicht vorkommt. Wenn wir einige Beispiele mit einer kurzen Eingabeaufforderung bereitstellen, kann das Modell einen Satz generieren, in dem das Wort "farduddle" vorkommt.
Eingabeaufforderung:
A "whatpu" is a small, furry animal native to Tanzania. An example of a sentence that uses the word whatpu is:
We were traveling in Africa and we saw these very cute whatpus.
To do a "farduddle" means to jump up and down really fast. An example of a sentence that uses the word farduddle is:
Ausgabe (ChatGPT 3.5):
When we won the game, we all started to farduddle in celebration.
Das Modell hat gelernt, "farduddle" anhand des einen Beispiels (1-shot) zu verwenden, das wir als Kontext in der Aufforderung angegeben haben. Je nach Komplexität der Aufgabe können Sie weitere Beispiele geben, um das Modell anzuleiten.
Gedankenkette
Die Gedankenkette (Chain of Thought, CoT) wurde in Wei et al. (2022) eingeführt. Sie können die Technik der Gedankenkette (CoT) als eine Erweiterung des "few-shot prompting" sehen. Anstatt nur Beispiellösungen für ähnliche Probleme zu liefern, geben Sie auch die Gründe für die Lösungen an. Das Modell wird dann eine Antwort generieren, die einer ähnlichen Logik folgt.
Das Verständnis des Datums ist eine Art von Problem, das einen LLM zum Stolpern bringen kann. Wenn Sie z.B. GPT3.5 die folgende Frage stellen, wird es manchmal die Tatsache übersehen, dass today nicht das aktuelle Datum ist, sondern das Datum des Konzerts in der Frage.
Eingabeaufforderung:
Q: The concert was scheduled to be
on 06/01/1943, but was delayed by
one day to today. What is the date 10
days ago in MM/DD/YYYY?
A:
Ausgabe (ChatGPT 3.5):
To find the date 10 days ago from today's date, we first need to determine today's date. Since you mentioned the concert was delayed by one day from June 1, 1943, it means the concert took place on June 2, 1943.
Today's date is February 15, 2024.
Now, we subtract 10 days from today's date to find the date 10 days ago:
February 15, 2024 - 10 days = February 5, 2024
So, the date 10 days ago in MM/DD/YYYY format is 02/05/2024.
Das Modell folgert korrekt, dass das Konzert auf June 2, 1943 verschoben wurde. Aber es folgert nicht, dass sich today in der Frage auf das Datum des Konzerts bezieht (June 2, 1943). Bei der Beantwortung der Frage what is the date 10 days ago in MM/DD/YYYY? verwendet das Modell also das aktuelle Datum und nicht das Datum des Konzerts.
Das leistungsfähigere ChatGPT 4 kann dieses Problem korrekt lösen, ohne Beispiele zu liefern:
Ausgabe (ChatGPT 4):
The date 10 days ago from the rescheduled concert date (06/02/1943) was 05/23/1943 in MM/DD/YYYY format.
Lassen Sie uns nun ein Beispiel mit Begründung anführen, um zu versuchen, die Ergebnisse zu verbessern.
Eingabeaufforderung:
Q: Jane's mother was due December 20, 1990, but Jane was born today, a week early. What was the date 21 days from now in MM/DD/YYYY?
A: Jane was born today, a week early from her due date of December 20, 1990, which means today is December 13, 1990. Next we add 21 days to today, December 13, 1990. 21 days from today, Jane's birth date, is 03/01/1991.
Q: The concert was scheduled to be
on 06/01/1943, but was delayed by
one day to today. What is the date 10
days ago in MM/DD/YYYY?
A:
Ausgabe (ChatGPT 3.5):
If the concert was originally scheduled for 06/01/1943 and was delayed by one day, it means it actually occurred on 06/02/1943.
To find the date 10 days ago from 06/02/1943:
1. Subtract 10 days from 06/02/1943.
2. 06/02/1943 - 10 days = 05/23/1943.
So, the date 10 days ago from the rescheduled concert date is 05/23/1943.
Wenn Sie die Gründe für die Lösung als Eingabe angeben, wird das Modell eine Antwort generieren, die einem ähnlichen Grundprinzip folgt. So ist es wahrscheinlicher, dass es die richtige Antwort findet.
Gedankenkette ohne Schuss
Das obige Beispiel ist eine 1-Schuss-Denkkette. Die Idee, eine Null-Denkkette zu verwenden, wurde in Kojima et al. (2022) vorgestellt. Bei einer Zero-Shot-Gedankenkette geben Sie keine Beispiele vor. Stattdessen weisen Sie das Modell an, eine Schritt-für-Schritt-Antwort zu generieren, indem Sie let's think step by step an das Ende Ihrer Aufforderung anfügen.
Eingabeaufforderung:
Q: The concert was scheduled to be
on 06/01/1943, but was delayed by
one day to today. What is the date 10
days ago in MM/DD/YYYY?
A: Let's think step by step
Ausgabe (ChatGPT 3.5):
To find the date 10 days ago, we'll first need to determine today's date, which was postponed from 06/01/1943 to the next day. Let's calculate it step by step:
1. **Original Scheduled Date:** 06/01/1943
2. **Postponed Date:** 06/02/1943 (one day later)
Now, we'll subtract 10 days from this postponed date to find the date 10 days ago:
1. 06/02/1943 - 10 days = 05/23/1943
So, the date 10 days ago in MM/DD/YYYY format is **05/23/1943**.
Der "magische" Satz: let's think step by step leitet das Modell dazu an, eine schrittweise Antwort zu generieren, ähnlich wie bei einer gewöhnlichen Gedankenaufforderung. Das macht Sinn, wenn Sie darüber nachdenken. Wie ich bereits erwähnt habe, sagen LLMs das nächste Wort auf der Grundlage Ihrer Eingabeaufforderung voraus. Wenn Sie Ihre Eingabeaufforderung mit let's think step by step beenden, ändert sich die Art und Weise, wie das Modell den Rest des Kontexts und der Informationen, die Sie in der Eingabeaufforderung angegeben haben, verwendet, und es ist wahrscheinlicher, dass es für diese Art von Problem die richtige Antwort gibt, wenn es eine schrittweise Antwort generiert.
Baum der Gedanken
Yao et el. (2023) und Long (2023) führten den Gedankenbaum (Tree of Thought, ToT) ein, um komplexere Probleme zu lösen. Tree of Thought ist ein Rahmenwerk für die Verkettung mehrerer Aufforderungen zum Aufbau eines Gedankenbaums. ToT verwendet ein LLM, um verschiedene Gedankenketten (CoT) aufzubauen und zu bewerten. Der Rahmen besteht aus zwei Aufforderungen, eine zur Generierung von Gedanken und eine weitere zur Bewertung der Gedanken. Das Framework verwendet Gedanken, die wahrscheinlich der richtige Schritt zur Lösung des Problems sind, um den nächsten Gedanken zu generieren. Dieser Prozess wird so lange wiederholt, bis eine Lösung gefunden ist.
Hulbert (2023) hat eine Möglichkeit vorgestellt, die Vorteile eines Gedankenbaums auf einen einzigen Prompt statt auf mehrere Prompts zu übertragen. Es ist ähnlich wie eine Zero-Shot-Denkkette. Anstatt das Modell jedoch aufzufordern, ein Problem Schritt für Schritt zu lösen, weist die ToT-Aufforderung das Modell an, eine Diskussion zwischen mehreren Experten zusammenzufassen. Als Antwort auf die ToT-Aufforderung transkribiert das Modell eine Diskussion zwischen verschiedenen Experten, die nie stattgefunden hat! Auf diese Weise wird das Modell mehrere Standpunkte zu jedem Schritt, der zur Lösung des Problems erforderlich ist, entwickeln und bewerten.
Fragen, die fortgeschrittenes logisches Denken erfordern, sind für einen LLM schwieriger zu lösen. Zum Beispiel ist die folgende Frage für ChatGPT 3.5 schwierig zu lösen.
Eingabeaufforderung:
Bob is in the living room.
He walks to the kitchen, carrying a cup.
He puts a ball in the cup and carries the cup to the bedroom.
He turns the cup upside down, then walks to the garden.
He puts the cup down in the garden, then walks to the garage.
Q: Where is the ball?
A:
Ausgabe (ChatGPT 3.5):
The ball is in the garden.
Diese Antwort ist falsch, denn Bob hat die Tasse im Schlafzimmer auf den Kopf gestellt, so dass der Ball aus der Tasse gefallen ist. ChatGPT 3.5 übersieht diese Tatsache meistens. ChatGPT 4 kann dieses Problem korrekt lösen:
Ausgabe (ChatGPT 4):
The ball is in the bedroom. When Bob turned the cup upside down in the bedroom, the ball would have fallen out of the cup, assuming it was not somehow adhered to the cup.
Wenn wir die Technik der Gedankenaufforderung verwenden, können wir ChatGPT 3.5 dazu bringen, die richtige Antwort zu generieren.
Eingabeaufforderung:
Imagine three different experts are answering this question.
All experts will write down 1 step of their thinking,
then share it with the group.
Then all experts will go on to the next step, etc.
If any expert realises they're wrong at any point then they leave.
The question is...
Bob is in the living room.
He walks to the kitchen, carrying a cup.
He puts a ball in the cup and carries the cup to the bedroom.
He turns the cup upside down, then walks to the garden.
He puts the cup down in the garden, then walks to the garage.
Where is the ball?
Ausgabe (ChatGPT 3.5):
Expert 1:
Bob puts the ball in the cup in the kitchen.
Expert 2:
Bob carries the cup with the ball to the bedroom.
Expert 3:
Bob turns the cup upside down in the bedroom.
Expert 1:
The ball falls out of the cup in the bedroom.
Expert 2:
The ball remains in the bedroom after Bob walks to the garden.
Expert 3:
The ball is still in the bedroom, as Bob didn't take it with him to the garage.
Conclusion: The ball is in the bedroom.
PanelGPT
Sun (2023) hat das Tree-of-Thought Prompting mit groß angelegten Experimenten verglichen und eine Variation eingeführt: PanelGPT. PanelGPT ähnelt dem Tree-of-Thought-Prompt, weist das Modell aber an, eine Podiumsdiskussion zu transkribieren. Da eine Podiumsdiskussion ein bekanntes Format ist, kann das Modell dieses Format nachahmen und ein Gespräch zwischen mehreren Experten mit unterschiedlichen Meinungen oder Perspektiven zu einem bestimmten Thema transkribieren. Nachfolgend finden Sie ein Beispiel für die effektivste Aufforderung aus der PanelGPT-Studie:
Bob is in the living room.
He walks to the kitchen, carrying a cup.
He puts a ball in the cup and carries the cup to the bedroom.
He turns the cup upside down, then walks to the garden.
He puts the cup down in the garden, then walks to the garage.
Where is the ball?
3 experts are discussing the question with a panel discussion, trying to solve it step by step, and make sure the result is correct and avoid penalty:
Ausgabe (ChatGPT 3.5):
Expert 1: Alright, let's break down Bob's actions step by step. Firstly, Bob starts in the living room, carrying a cup. Then, he walks to the kitchen, still carrying the cup. So far, no mention of the ball. However, the next action is crucial. He puts a ball in the cup. This is where we need to pay close attention. The ball is now inside the cup as he carries it to the bedroom. So, as of now, the ball is in the cup, and they're both in the bedroom.
Expert 2: Agreed, Expert 1. Then, in the bedroom, Bob turns the cup upside down. Now, if the ball was in the cup, it would have fallen out when he turned it upside down. So, logically, the ball is now on the floor in the bedroom.
Expert 3: Yes, that makes sense. Now, Bob walks to the garden and puts the cup down there. If the ball was previously in the cup and fell out in the bedroom, then it wouldn't be in the cup anymore. It stands to reason that the ball would still be in the bedroom where it fell, and not in the cup when Bob placed it in the garden.
Expert 1: Absolutely. So, to summarize, the ball is in the bedroom, where it fell out of the cup when Bob turned it upside down. It's not in the cup anymore, which is now in the garden.
Panel Discussion Leader: Alright, let's ensure we all agree on this. The consensus is that the ball is in the bedroom, having fallen out of the cup when Bob turned it upside down, while the cup itself is in the garden. Any objections or alternative interpretations?
[Silence from the panel.]
Panel Discussion Leader: Excellent. It seems we've reached a consensus. The ball is in the bedroom. Thank you, experts, for your thorough analysis.
Fazit
Die Art und Weise, wie Sie Ihre Aufforderung schreiben, ist wichtig. Der Wortlaut und der Stil der Eingabeaufforderung bestimmen den Stil und die Art der Ausgabe, die Sie vom LLM erhalten, und wie zuverlässig er die richtige Antwort liefert. Da LLMs immer leistungsfähiger werden, können sie komplexere Probleme ohne spezielle Prompting-Techniken lösen. Eine gute Faustregel ist, mit einer Null-Eingabeaufforderung zu beginnen und komplexere Eingabemethoden nur bei Bedarf zu verwenden. Diese Techniken ermöglichen es Ihnen, bessere und präzisere Ergebnisse aus den leistungsstärkeren und teureren Modellen zu erhalten und weniger leistungsfähige, billigere Modelle zur Lösung komplexerer Probleme einzusetzen.
Referenzen
- Brown et al. 2020: Sprachmodelle sind Wenig-Lerner
- Wei et al. (2022): Gedankenketten-Prompting fördert die Argumentation in großen Sprachmodellen
- Kojima et al. (2022): Große Sprachmodelle sind Zero-Shot Reasoners
- Yao et el. (2023): Baum der Gedanken: Bewusstes Lösen von Problemen mit großen Sprachmodellen
- Lang (2023): Großes Sprachmodell Geführter Gedankenbaum
- Hulbert (2023): Mit Tree-of-Thought Prompting die Argumentationsfähigkeit von ChatGPT steigern
- Sonne (2023): PanelGPT: Prompt-Sprachmodelle mit einer Podiumsdiskussion
-
Gao et al., (2022): PAL: Programmgestützte Sprachmodelle
Dieser Artikel ist Teil von XPRT.#16. Sie können das Magazin hier herunterladen.

Tauchen Sie tiefer in die Welt der Innovation ein - besuchen Sieunsere Bibliothek'Your Essential Guides to Innovation and Expertise' und greifen Sie auf eine Sammlung von Magazinen und eBooks zu, die Ihr Verständnis von Spitzentechnologie verbessern und Sie zu Ihrer nächsten großen Idee inspirieren werden.
Contact




