25 Punkte von GN⁺ 2023-12-17 | 2 Kommentare | Auf WhatsApp teilen
  • Ein Leitfaden, der Strategien und Techniken für bessere Ergebnisse mit großen Sprachmodellen (auch GPT-Modelle genannt) vermittelt
  • Die hier beschriebenen Methoden lassen sich teils kombinieren, um eine größere Wirkung zu erzielen; es wird empfohlen zu experimentieren, um die am besten geeignete Methode zu finden
  • Anhand von Beispiel-Prompts kann man erkunden, was das Modell leisten kann

Sechs Strategien für bessere Ergebnisse

Klare Anweisungen schreiben

  • Modelle können keine Gedanken lesen, daher muss man klar formulieren, was man möchte.
  • Füge Details hinzu, um relevantere Antworten zu erhalten, bitte das Modell, eine bestimmte Person darzustellen, oder verwende Trennzeichen, um klar zwischen verschiedenen Teilen der Eingabe zu unterscheiden.
  • Gib die Schritte an, die zur Erledigung der Aufgabe nötig sind, liefere Beispiele und bestimme die gewünschte Länge der Ausgabe.

Referenztexte bereitstellen

  • Sprachmodelle können überzeugend klingende, aber erfundene Antworten erzeugen, insbesondere bei schwierigen Themen oder wenn Zitate und URLs angefragt werden.
  • Weise das Modell an, für seine Antwort einen Referenztext zu verwenden, oder aus dem Referenztext zu zitieren.

Komplexe Aufgaben in einfache Teilaufgaben zerlegen

  • So wie es in der Softwareentwicklung gute Praxis ist, komplexe Systeme in modulare Komponenten zu zerlegen, gilt das auch für Aufgaben, die an Sprachmodelle gestellt werden.
  • Komplexe Aufgaben haben eine höhere Fehlerquote und lassen sich oft als Workflow aus einfacheren Aufgaben neu definieren.
  • Verwende Intent-Klassifizierung, um die für eine Benutzeranfrage relevantesten Anweisungen zu identifizieren, und fasse bei dialogorientierten Anwendungen, die sehr lange Gespräche erfordern, frühere Unterhaltungen zusammen oder filtere sie.
  • Fasse lange Dokumente abschnittsweise zusammen und erstelle rekursiv eine Gesamtsummary.

Dem Modell „Zeit zum Nachdenken“ geben

  • Zuverlässigere Antworten lassen sich erzielen, wenn man statt einer überhasteten Antwort vor dem Formulieren der Antwort eine „Gedankenkette“ anfordert.
  • Weise das Modell an, zunächst selbst eine Lösung zu erarbeiten, und verwende einen internen Monolog oder eine Reihe von Abfragen, um den Denkprozess des Modells zu verbergen.
  • Frage das Modell, ob es in einem vorherigen Durchlauf etwas übersehen hat.

Externe Werkzeuge verwenden

  • Gib dem Modell die Ausgaben anderer Werkzeuge, um seine Schwächen auszugleichen.
  • Implementiere mit embedding-basierter Suche eine effiziente Wissenssuche, nutze Code-Ausführung für genauere Berechnungen oder rufe externe APIs auf.
  • Erlaube dem Modell Zugriff auf bestimmte Funktionen.

Änderungen systematisch testen

  • Leistungsverbesserungen sind leichter umzusetzen, wenn sie messbar sind.
  • Um zu prüfen, ob sich Änderungen positiv auf die Gesamtleistung auswirken, muss eine umfassende Testsuite (oder „eval“) definiert werden.
  • Bewerte die Modellausgaben, indem du sie mit einer Goldstandard-Antwort vergleichst.

Meinung von GN⁺

  • Der wichtigste Punkt: Prompt Engineering ist eine zentrale Methode zur Optimierung der Leistung von Sprachmodellen, da es die Absicht der Nutzer präzise erfasst und konkrete Anweisungen liefert, um die gewünschten Ergebnisse zu erzielen.
  • Warum das interessant ist: Diese Strategien machen den Einsatz von KI-Sprachmodellen effektiver und ermöglichen insbesondere bei neueren Modellen wie GPT-4 eine noch höhere Leistung.
  • Bemerkenswert: Dieser Leitfaden bietet konkrete Beispiele und Strategien, die typischen Problemen begegnen, auf die Junior-Softwareentwickler bei der Nutzung von Sprachmodellen stoßen können, und zeigt so Wege auf, Modelle in der Praxis effektiver einzusetzen.

2 Kommentare

 
GN⁺ 2023-12-17
Hacker-News-Kommentare
  • Diskussion über den ChatGPT-Systemprompt

    • Die neuesten Modelle von ChatGPT sind effektiv darin, komplexe Regeln zu befolgen.
    • Erfahrungsgemäß ist es besser, strengere Anweisungen zu geben, als Systemprompts zu verwenden.
    • Function Calling und Unterstützung für strukturierte Daten sind eine Form des Prompt Engineering und deutlich leistungsfähiger, als nur Systemprompts zu verwenden.
    • Es gibt ein interessantes Demo-Beispiel, das Systemprompts mit Ergebnissen aus strukturierten Daten vergleicht.
  • Erfahrungsbericht über die Bestellung eines Cheeseburgers auf Spanisch

    • Der Service reagierte merkwürdig auf die von ChatGPT und Google Translate vorgeschlagenen spanischen Übersetzungen.
    • Weil Interesse an einer besseren Übersetzung bestand, wurde um eine auf mexikanische Amerikaner zugeschnittene spanische Übersetzung gebeten.
    • Als am nächsten Tag mit der Formulierung "Cheeseburger sin pepinillos" bestellt wurde, sagte der Service, das sei besser.
  • Diskussion über Eigenschaften von LLMs (Large Language Models)

    • Es gibt nahezu keine Unterscheidung zwischen Eingabe und Anweisung, sodass die Eingabe des Nutzers als Teil des Prompts betrachtet wird.
    • Dadurch entsteht die bekannte Schwachstelle des "Prompt Injection", was jedoch auf die grundlegende Eigenschaft zurückzuführen ist, dass das Modell Anweisungen und Eingaben nicht unterscheidet.
    • Die Kombination aus Prompt und Eingabe wird zum Gesamteingang des Programms, wodurch es schwierig ist, sich des Verhaltens des Programms sicher zu sein.
    • Das ist ein Grund, warum LLMs für komplexe Aufgaben noch nicht zuverlässig genug einsetzbar sind.
  • Zögern beim Lernen des Prompt-Schreibens

    • Es besteht Zurückhaltung, viel Zeit darauf zu verwenden, das Schreiben von Prompts perfekt zu lernen, weil neue Versionen und andere LLMs unterschiedlich reagieren.
    • Möglicherweise werden komplexe Prompts überflüssig, wenn die Systeme intelligenter werden.
  • Vergleich von Prompt Engineering mit erweiterten Google-Suchanfragen

    • Für grundlegende Fragen funktionieren Chatbots gut, aber je komplexer die angeforderten Informationen sind, desto schwieriger wird es, präzise Informationen zu erhalten.
    • Auch bei der Google-Suche lassen sich grundlegende Informationen leicht finden, doch wenn man weniger offensichtliche Ergebnisse möchte, verwendet man erweiterte Suchoperatoren.
  • Vergleich zwischen Google-Suchprompts und LLM-Prompts

    • Die Menschen haben sich daran gewöhnt, bei Google einfache Keywords einzugeben, um im Internet das zu finden, was sie brauchen.
    • Nun komplexe Sätze formulieren zu müssen, wird Zeit brauchen, und das könnte eine vorübergehende Phase sein.
  • Misslingende menschliche Kommunikation und Grenzen von LLMs

    • Kommunikation zwischen Menschen scheitert oft, und die meisten Menschen sind keine effektiven Kommunikatoren.
    • Es ist schwer zu erwarten, dass Maschinen besser darin sein werden, Gedanken und Absichten von Menschen zu lesen.
    • Prompt Engineering sollte eigentlich dazu dienen, die Kommunikationsfähigkeit zwischen Menschen zu verbessern.
  • Kritik am Begriff "Prompt Engineering"

    • Es wird die Meinung geäußert, dass das Wort "Engineering" überstrapaziert wird.
  • Die Rolle von LLMs dabei, Menschen klare Kommunikation zu lehren

    • Durch LLMs lernen Menschen, klarer zu kommunizieren.
  • Die einfache Umsetzung von LLM-basierten Chat-Apps

    • Auch ohne theoretische Fortschritte gibt es viele Vorteile bei der Umsetzung von LLM-basierten Chat-Apps.
    • Es braucht den Einsatz von Entwicklern, um bessere Ergebnisse als die heutigen zu erzielen.