Vernetzen Sie sich mit uns

Schnelles Engineering

Neueste moderne Fortschritte im Prompt Engineering: Ein umfassender Leitfaden

mm

Veröffentlicht

 on

Schnelles Engineering, die Kunst und Wissenschaft, Eingabeaufforderungen zu erstellen, die bei LLMs die gewünschten Reaktionen hervorrufen, ist zu einem entscheidenden Bereich der Forschung und Entwicklung geworden.

Von der Verbesserung der Argumentationsfähigkeiten bis zur Ermöglichung einer nahtlosen Integration mit externen Tools und Programmen – die neuesten Fortschritte im Prompt Engineering eröffnen neue Grenzen in der künstlichen Intelligenz. In diesem umfassenden technischen Blog befassen wir uns mit den neuesten Spitzentechniken und -strategien, die die Zukunft des Prompt Engineering prägen.

Schnelles Engineering

Schnelles Engineering

Fortgeschrittene Aufforderungsstrategien zur Lösung komplexer Probleme

Während CoT-Aufforderung Da sich die Methode bei vielen Argumentationsaufgaben als wirksam erwiesen hat, haben Forscher fortgeschrittenere Aufforderungsstrategien erforscht, um noch komplexere Probleme anzugehen. Ein solcher Ansatz ist das Least-to-Most-Prompting, das ein komplexes Problem in kleinere, besser beherrschbare Teilprobleme zerlegt, die unabhängig voneinander gelöst und dann kombiniert werden, um die endgültige Lösung zu erreichen.

Eine weitere innovative Technik ist das Tree of Thoughts (ToT)-Prompting, das es dem LLM ermöglicht, mehrere Argumentationsstränge oder „Gedanken“ parallel zu generieren, seinen eigenen Fortschritt auf dem Weg zur Lösung zu bewerten und bei Bedarf zurückzuverfolgen oder alternative Wege zu erkunden. Dieser Ansatz nutzt Suchalgorithmen wie die Breiten- oder Tiefensuche und ermöglicht es dem LLM, während des Problemlösungsprozesses Lookahead- und Backtracking-Vorgänge durchzuführen.

Integration von LLMs mit externen Tools und Programmen

Obwohl LLMs unglaublich leistungsfähig sind, weisen sie inhärente Einschränkungen auf, z. B. die Unfähigkeit, auf aktuelle Informationen zuzugreifen oder präzise mathematische Überlegungen anzustellen. Um diese Nachteile zu beheben, haben Forscher Techniken entwickelt, die eine nahtlose Integration von LLMs in externe Tools und Programme ermöglichen.

Ein bemerkenswertes Beispiel ist Toolformer, mit dem LLMs lernen, Szenarien zu identifizieren, die den Einsatz externer Tools erfordern, festzulegen, welches Tool verwendet werden soll, relevante Eingaben bereitzustellen und die Ausgabe des Tools in die endgültige Antwort einzubeziehen. Bei diesem Ansatz wird ein synthetischer Trainingsdatensatz erstellt, der die ordnungsgemäße Verwendung verschiedener Text-zu-Text-APIs demonstriert.

Ein weiteres innovatives Framework, Chameleon, verfolgt einen „Plug-and-Play“-Ansatz, der es einem zentralen LLM-basierten Controller ermöglicht, Programme in natürlicher Sprache zu generieren, die eine breite Palette von Tools erstellen und ausführen, darunter LLMs, Vision-Modelle, Websuchmaschinen usw Python-Funktionen. Dieser modulare Ansatz ermöglicht es Chameleon, komplexe, multimodale Argumentationsaufgaben zu bewältigen, indem es die Stärken verschiedener Tools und Modelle nutzt.

Grundlegende Aufforderungsstrategien

Zero-Shot-Eingabeaufforderung

Bei der Zero-Shot-Eingabeaufforderung wird die Aufgabe in der Eingabeaufforderung beschrieben und das Modell aufgefordert, sie ohne Beispiele zu lösen. Um beispielsweise „Käse“ ins Französische zu übersetzen, könnte eine Zero-Shot-Eingabeaufforderung wie folgt lauten:

Translate the following English word to French: cheese.

Dieser Ansatz ist unkompliziert, kann jedoch durch die Mehrdeutigkeit der Aufgabenbeschreibungen eingeschränkt sein.

Wenige-Schuss-Eingabeaufforderung

Die Eingabeaufforderung für wenige Schüsse ist gegenüber der Eingabeaufforderung für Nullschüsse besser, da sie mehrere Beispiele für die Aufgabe enthält. Zum Beispiel:

Translate the following English words to French:
1. apple => pomme
2. house => maison
3. cheese => fromage

Diese Methode reduziert Mehrdeutigkeiten und bietet eine klarere Anleitung für das Modell, indem sie die kontextbezogenen Lernfähigkeiten von LLMs nutzt.

Aufforderung zur Anweisung

Die Anweisungsaufforderung beschreibt explizit die gewünschte Ausgabe, was besonders effektiv bei Modellen ist, die darauf trainiert sind, Anweisungen zu befolgen. Zum Beispiel:

Translate the word "cheese" to French. The correct translation is "fromage."

Modelle wie GPT-4 wurden speziell darauf abgestimmt, solche Anweisungen genau zu befolgen.

Fortgeschrittene Aufforderungstechniken

Verbesserung der Denkfähigkeit durch Aufforderung zur Gedankenkette

Einer der bedeutendsten Durchbrüche im Prompt Engineering war die Entwicklung von Chain-of-Thought (CoT)-Aufforderung. Diese Technik zielt darauf ab, die Denkfähigkeiten von LLMs hervorzurufen und zu verbessern, indem sie dazu ermutigt werden, einen schrittweisen Denkprozess oder eine Begründung zu entwickeln, bevor sie die endgültige Antwort geben.

Links: Herkömmliche Methoden zur Eingabe von LLMs basieren auf generischen Eingaben (0-Shot-CoT) oder erfordern gekennzeichnete Beispiele (Few-Shot-CoT). Rechts: Der neuartige Ansatz veranlasst LLMs, vor der Problemlösung selbst relevante Beispiele zu erstellen, wodurch die Notwendigkeit einer Kennzeichnung entfällt und die Beispiele an jedes einzelne Problem angepasst werden

Links: Herkömmliche Methoden zur Eingabe von LLMs basieren auf generischen Eingaben (0-Shot-CoT) oder erfordern gekennzeichnete Beispiele (Few-Shot-CoT). Rechts: Der neuartige Ansatz veranlasst LLMs, vor der Problemlösung selbst relevante Beispiele zu erstellen, wodurch die Notwendigkeit einer Kennzeichnung entfällt und die Beispiele an jedes einzelne Problem angepasst werden

CoT-Prompting funktioniert, indem dem LLM Beispiele präsentiert werden, die nicht nur die Eingabe und Ausgabe, sondern auch die Zwischenschritte des Denkens oder die „Gedankenkette“, die zur Lösung führt, umfassen. Durch das Lernen aus diesen Beispielen kann der LLM bei neuen Problemen seine eigene Gedankenkette generieren und so seine Fähigkeit verbessern, komplexe Denkaufgaben zu bewältigen.

Beispiel:

Eingabe: Natalie hat 3 Äpfel und möchte diese zu gleichen Teilen mit ihren 2 Freunden teilen. Wie viele Äpfel bekommt jede Person? Gedankenkette: Okay, lasst uns das Schritt für Schritt aufschlüsseln:

  1. Natalie hat 3 Äpfel
  2. Sie möchte sie zu gleichen Teilen mit zwei Freunden teilen
  3. Insgesamt sind es also 3 Personen (Natalie und ihre 2 Freundinnen)
  4. Um die Äpfel gleichmäßig zu verteilen, teilen wir die Gesamtzahl der Äpfel (3) durch die Anzahl der Personen (3).
  5. 3 geteilt durch 3 ist 1
  6. Daher erhält jede Person 1 Apfel. Ausgabe: Jede Person erhält 1 Apfel.

Durch die explizite Generierung des Argumentationsprozesses haben LLMs wie GPT-3 und Codex erhebliche Verbesserungen bei Rechen-, Common-Sense- und symbolischen Argumentationsaufgaben gezeigt.

Selbstkonsistenz

Selbstkonsistenz verbessert die Zuverlässigkeit der CoT-Eingabeaufforderung, indem sie mehrere Gedankenketten generiert und eine Mehrheitsentscheidung über die endgültige Antwort trifft. Diese Methode mildert die Auswirkungen jedes einzelnen falschen Argumentationspfads.

Least-to-Most-Eingabeaufforderung

Beim Least-to-most-Prompting werden komplexe Probleme in einfachere Unterprobleme zerlegt, jedes einzelne wird nacheinander gelöst und der Kontext vorheriger Lösungen wird als Grundlage für die nachfolgenden Schritte verwendet. Dieser Ansatz ist für mehrstufige Argumentationsaufgaben von Vorteil.

Jüngste Fortschritte im Prompt Engineering

Das Prompt-Engineering entwickelt sich rasant weiter und es wurden mehrere innovative Techniken entwickelt, um die Leistung großer Sprachmodelle (LLMs) zu verbessern. Lassen Sie uns einige dieser innovativen Methoden im Detail untersuchen:

Auto-CoT (Automatische Gedankenkettenaufforderung)

Was es ist: Auto-CoT ist eine Methode, die die Generierung von Argumentationsketten für LLMs automatisiert, sodass keine manuell erstellten Beispiele erforderlich sind. Diese Technik nutzt Zero-Shot-Chain-of-Thought (CoT)-Eingabeaufforderung, bei der das Modell Schritt für Schritt zum Denken geführt wird, um seine Argumentationsketten zu generieren.

So funktioniert es:

  1. Zero-Shot-CoT-Eingabeaufforderung: Das Modell erhält eine einfache Aufforderung wie „Lass uns Schritt für Schritt denken“, um detaillierte Überlegungen anzuregen.
  2. Vielfalt bei Demonstrationen: Auto-CoT wählt verschiedene Fragen aus und generiert Argumentationsketten für diese Fragen, um eine Vielzahl von Problemtypen und Argumentationsmustern sicherzustellen.

Vorteile:

  • Automation: Reduziert den manuellen Aufwand für die Erstellung von Argumentationsdemonstrationen.
  • Eigenschaften: Bei verschiedenen Benchmark-Argumentationsaufgaben hat Auto-CoT die Leistung der manuellen CoT-Eingabeaufforderung erreicht oder sogar übertroffen.

Komplexitätsbasiertes Prompting

Was es ist: Diese Technik wählt Beispiele mit der höchsten Komplexität (dh den meisten Argumentationsschritten) aus, die in die Eingabeaufforderung einbezogen werden sollen. Ziel ist es, die Leistung des Modells bei Aufgaben zu verbessern, die mehrere Argumentationsschritte erfordern.

So funktioniert es:

  1. Beispielauswahl: Eingabeaufforderungen werden basierend auf der Anzahl der darin enthaltenen Argumentationsschritte ausgewählt.
  2. Komplexitätsbasierte Konsistenz: Bei der Dekodierung werden mehrere Argumentationsketten abgetastet und die Mehrheitsentscheidung wird den komplexesten Ketten entnommen.

Vorteile:

  • Verbesserte Leistung: Wesentlich höhere Genauigkeit bei mehrstufigen Argumentationsaufgaben.
  • Robustheit: Effektiv auch bei unterschiedlichen Prompt-Verteilungen und verrauschten Daten.

Progressive-Hinweis-Eingabeaufforderung (PHP)

Was es ist: PHP Verfeinert die Antworten des Modells iterativ, indem es zuvor generierte Begründungen als Hinweise verwendet. Diese Methode nutzt die vorherigen Antworten des Modells, um es durch mehrere Iterationen zur richtigen Antwort zu führen.

So funktioniert es:

  1. Erste Antwort: Das Modell generiert eine Basisantwort mithilfe einer Standardeingabeaufforderung.
  2. Hinweise und Verfeinerungen: Diese Basisantwort wird dann in nachfolgenden Eingabeaufforderungen als Hinweis zur Verfeinerung der Antwort verwendet.
  3. Iterativer Prozess: Dieser Prozess wird fortgesetzt, bis sich die Antwort über aufeinanderfolgende Iterationen stabilisiert.

Vorteile:

  • Genauigkeit: Erhebliche Verbesserungen der Argumentationsgenauigkeit.
  • Effizienz: Reduziert die Anzahl der benötigten Probenpfade und erhöht so die Recheneffizienz.

Zerlegte Eingabeaufforderung (DecomP)

Was es ist: DekomP unterteilt komplexe Aufgaben in einfachere Unteraufgaben, die jeweils von einer bestimmten Eingabeaufforderung oder einem bestimmten Modell erledigt werden. Dieser modulare Ansatz ermöglicht eine effektivere Bearbeitung komplexer Probleme.

So funktioniert es:

  1. Aufgabenzerlegung: Das Hauptproblem ist in einfachere Teilaufgaben unterteilt.
  2. Unteraufgabenhandler: Jede Unteraufgabe wird von einem speziellen Modell oder einer Eingabeaufforderung verwaltet.
  3. Modulare Integration: Diese Handler können je nach Bedarf optimiert, ersetzt oder kombiniert werden, um die komplexe Aufgabe zu lösen.

Vorteile:

  • Flexibilität: Einfaches Debuggen und Verbessern spezifischer Unteraufgaben.
  • Skalierbarkeit: Bewältigt Aufgaben mit langen Kontexten und komplexen Unteraufgaben effektiv.

Hypothesen-zu-Theorien-Einleitung (HtT).

Was es ist: HtT nutzt einen wissenschaftlichen Entdeckungsprozess, bei dem das Modell Hypothesen generiert und überprüft, um komplexe Probleme zu lösen. Bei dieser Methode wird eine Regelbibliothek aus verifizierten Hypothesen erstellt, die das Modell zur Argumentation verwendet.

So funktioniert es:

  1. Einführungsphase: Das Modell generiert potenzielle Regeln und verifiziert sie anhand von Trainingsbeispielen.
  2. Erstellung einer Regelbibliothek: Verifizierte Regeln werden gesammelt, um eine Regelbibliothek zu bilden.
  3. Abzugsphase: Das Modell wendet diese Regeln auf neue Probleme an und nutzt dabei die Regelbibliothek als Leitfaden für seine Überlegungen.

Vorteile:

  • Genauigkeit: Reduziert die Fehlerwahrscheinlichkeit, indem es sich auf ein verifiziertes Regelwerk verlässt.
  • Übertragbarkeit: Die erlernten Regeln können auf verschiedene Modelle und Problemformen übertragen werden.

Toolgestützte Aufforderungstechniken

Werkzeugformer

Werkzeugformer Integriert LLMs mit externen Tools über Text-zu-Text-APIs, sodass das Modell diese Tools verwenden kann, um Probleme zu lösen, die es sonst nicht lösen könnte. Beispielsweise könnte ein LLM eine Taschenrechner-API aufrufen, um arithmetische Operationen auszuführen.

Chamäleon

Chamäleon nutzt einen zentralen LLM-basierten Controller, um ein Programm zu generieren, das mehrere Werkzeuge zur Lösung komplexer Argumentationsaufgaben zusammenstellt. Dieser Ansatz nutzt eine breite Palette von Tools, darunter Visionsmodelle und Websuchmaschinen, um die Problemlösungsfähigkeiten zu verbessern.

GPT4Tools

GPT4Tools optimiert Open-Source-LLMs für die Verwendung multimodaler Tools über einen Selbstanweisungsansatz und zeigt, dass selbst nicht-proprietäre Modelle externe Tools effektiv für eine verbesserte Leistung nutzen können.

Gorilla und HuggingGPT

Sowohl Gorilla als auch UmarmenGPT Integrieren Sie LLMs mit spezialisierten Deep-Learning-Modellen, die online verfügbar sind. Diese Systeme verwenden einen abrufbewussten Feinabstimmungsprozess bzw. einen Planungs- und Koordinationsansatz, um komplexe Aufgaben mit mehreren Modellen zu lösen.

Programmgestützte Sprachmodelle (PALs) und Denkprogramme (PoTs)

Zusätzlich zur Integration mit externen Tools haben Forscher Möglichkeiten untersucht, die Problemlösungsfähigkeiten von LLMs durch die Kombination natürlicher Sprache mit Programmierkonstrukten zu verbessern. Program-Aided Language Models (PALs) und Programs of Thoughts (PoTs) sind zwei solcher Ansätze, die Code nutzen, um den Argumentationsprozess des LLM zu verbessern.

PALs Veranlassen Sie das LLM, eine Begründung zu generieren, die natürliche Sprache mit Code (z. B. Python) verschachtelt, der dann ausgeführt werden kann, um die endgültige Lösung zu erzeugen. Dieser Ansatz befasst sich mit einem häufigen Fehlerfall, bei dem LLMs korrekte Argumente generieren, aber eine falsche endgültige Antwort liefern.

In ähnlicher Weise verwenden PoTs eine symbolische Mathematikbibliothek wie SymPy, die es dem LLM ermöglicht, mathematische Symbole und Ausdrücke zu definieren, die mit der Lösungsfunktion von SymPy kombiniert und ausgewertet werden können. Durch die Delegation komplexer Berechnungen an einen Code-Interpreter entkoppeln diese Techniken das Denken von der Berechnung und ermöglichen es LLMs, komplexere Probleme effektiv anzugehen.

Kontextfenster verstehen und nutzen

Die Leistung von LLMs hängt stark von ihrer Fähigkeit ab, den in der Eingabeaufforderung bereitgestellten Kontext zu verarbeiten und zu nutzen. Forscher haben untersucht, wie LLMs mit langen Kontexten umgehen und welche Auswirkungen irrelevante oder ablenkende Informationen auf ihre Ergebnisse haben.

Das „Lost in the Middle“-Phänomen verdeutlicht, dass LLMs dazu neigen, den Informationen am Anfang und am Ende ihres Kontexts mehr Aufmerksamkeit zu schenken, während Informationen in der Mitte oft übersehen werden oder „verloren“ gehen. Diese Erkenntnis hat Auswirkungen auf das Prompt Engineering, da eine sorgfältige Positionierung relevanter Informationen im Kontext die Leistung erheblich beeinflussen kann.

Eine andere Forschungsrichtung konzentriert sich auf die Abmilderung der schädlichen Auswirkungen irrelevanter Kontexte, die die LLM-Leistung erheblich beeinträchtigen können. Techniken wie Selbstkonsistenz, explizite Anweisungen zum Ignorieren irrelevanter Informationen und das Einbeziehen von Beispielen, die das Lösen von Problemen mit irrelevantem Kontext demonstrieren, können LLMs dabei helfen, zu lernen, sich auf die relevantesten Informationen zu konzentrieren.

Verbesserung der Schreibfähigkeiten durch Aufforderungsstrategien

LLMs zeichnen sich zwar dadurch aus, dass sie menschenähnlichen Text erzeugen, ihre Schreibfähigkeiten können jedoch durch spezielle Aufforderungsstrategien weiter verbessert werden. Eine solche Technik ist das Skeleton-of-Thought (SoT)-Prompting, das darauf abzielt, die Latenz der sequentiellen Dekodierung durch Nachahmung des menschlichen Schreibprozesses zu reduzieren.

Bei der SoT-Eingabeaufforderung wird der LLM aufgefordert, zunächst ein Gerüst oder eine Gliederung seiner Antwort zu generieren, gefolgt von parallelen API-Aufrufen, um die Details jedes Gliederungselements einzugeben. Dieser Ansatz verbessert nicht nur die Inferenzlatenz, sondern kann auch die Schreibqualität verbessern, indem er den LLM dazu ermutigt, seine Ausgabe effektiver zu planen und zu strukturieren.

Eine weitere Prompting-Strategie, Chain of Density (CoD) Prompting, konzentriert sich auf die Verbesserung der Informationsdichte von LLM-generierten Zusammenfassungen. Durch das iterative Hinzufügen von Entitäten zur Zusammenfassung unter Beibehaltung der Länge ermöglicht CoD-Prompting den Benutzern, den Kompromiss zwischen Prägnanz und Vollständigkeit zu erkunden und letztendlich informativere und lesbarere Zusammenfassungen zu erstellen.

Neue Richtungen und Zukunftsaussichten

ChatGPT und Advanced Prompt Engineering

Fortgeschrittenes Prompt Engineering

Der Bereich des Prompt Engineering entwickelt sich rasant weiter, wobei Forscher ständig neue Grenzen erkunden und die Grenzen dessen, was mit LLMs möglich ist, verschieben. Einige neue Richtungen umfassen:

  1. Aktive Aufforderung: Techniken, die auf Unsicherheit basierende Prinzipien des aktiven Lernens nutzen, um die hilfreichsten Beispiele für die Lösung spezifischer Argumentationsprobleme zu identifizieren und zu kommentieren.
  2. Multimodale Eingabeaufforderung: Erweiterung der Aufforderungsstrategien zur Verarbeitung multimodaler Eingaben, die Text, Bilder und andere Datenmodalitäten kombinieren.
  3. Automatische Eingabeaufforderungsgenerierung: Entwicklung von Optimierungstechniken zur automatischen Generierung wirksamer Eingabeaufforderungen, die auf bestimmte Aufgaben oder Domänen zugeschnitten sind.
  4. Interpretierbarkeit und Erklärbarkeit: Erforschung von Aufforderungsmethoden, die die Interpretierbarkeit und Erklärbarkeit von LLM-Ergebnissen verbessern und so eine bessere Transparenz und Vertrauen in ihre Entscheidungsprozesse ermöglichen.

Während sich LLMs weiter weiterentwickeln und in verschiedenen Bereichen Anwendung finden, wird schnelles Engineering eine entscheidende Rolle dabei spielen, ihr volles Potenzial auszuschöpfen. Durch den Einsatz der neuesten Eingabeaufforderungstechniken und -strategien können Forscher und Praktiker leistungsfähigere, zuverlässigere und aufgabenspezifischere KI-Lösungen entwickeln, die die Grenzen dessen erweitern, was mit der Verarbeitung natürlicher Sprache möglich ist.

Schlussfolgerung

Der Bereich des Prompt Engineering für große Sprachmodelle entwickelt sich rasant weiter, wobei Forscher ständig die Grenzen des Möglichen verschieben. Von der Verbesserung der Argumentationsfähigkeiten durch Techniken wie Chain-of-Thought-Prompting bis hin zur Integration von LLMs mit externen Tools und Programmen eröffnen die neuesten Fortschritte im Prompt Engineering neue Grenzen in der künstlichen Intelligenz.

Ich habe die letzten fünf Jahre damit verbracht, in die faszinierende Welt des maschinellen Lernens und des Deep Learning einzutauchen. Meine Leidenschaft und mein Fachwissen haben dazu geführt, dass ich an über 50 verschiedenen Software-Engineering-Projekten mitgewirkt habe, mit besonderem Schwerpunkt auf KI/ML. Meine anhaltende Neugier hat mich auch zur Verarbeitung natürlicher Sprache geführt, einem Bereich, den ich gerne weiter erforschen möchte.