Eine weitere Prompting-Strategie ist das Few Shot Prompting, bei dem es im Grunde nur darum geht, dem Modell einige Beispiele (sogenannte Shots) für das zu zeigen, was es tun soll.
Nehmen wir das obige Beispiel, in dem wir versuchen, Kundenfeedback als positiv oder negativ zu klassifizieren. Wir zeigen dem Modell 3 Beispiele von positivem/negativem Feedback, dann zeigen wir ihm ein neues Feedback, das noch nicht klassifiziert wurde (Es funktioniert nicht!:
). Das Modell sieht, dass die ersten drei Beispiele entweder als positiv
oder negativ
eingestuft wurden, und verwendet diese Information, um das neue Beispiel als negativ
einzustufen.
Die Art und Weise, wie wir die Beispiele strukturieren, ist sehr wichtig. Da wir diese 3 Beispiele als Eingabe: Klassifizierung
strukturiert haben, gibt das Modell ein einzelnes Wort nach der letzten Zeile aus, anstatt einen ganzen Satz wie Diese Bewertung ist positiv
zu sagen.
Wichtig kann das Few Shot Prompting auch sein, wenn die Ausgabe auf eine bestimmte Weise strukturiert sein muss, die für schwer zu beschreiben ist. Um das zu verstehen, betrachten wir ein relevantes Beispiel: Angenommen, du musst Namen und Berufe bekannter Bürger in nahe gelegenen Städten zusammenstellen, indem du lokale Zeitungsartikel analysierst. Du möchtest, dass das Modell jeden Artikel liest und eine Liste von Namen und Berufen im Format Vorname Nachname [BERUF]
ausgibt. Um das Modell dazu zu bringen, dies zu tun, kannst du ihm ein paar Beispiele zeigen:
Indem du dem Modell Beispiele zeigst, ist es in der Lage, die korrekte Ausgabe für neue Artikel zu erzeugen.
Obwohl du dieselbe Ausgabe auch mit einem Befehlsprompt erzeugen könntest, ist die Ausgabe mit dem Few Shot Prompt viel konsistenter.
Das Wort "Shot" ist ein Synonym für "Beispiel". Neben dem Few Shot Prompting gibt es zwei weitere Arten des Shot Prompting. Denk nicht zu viel darüber nach! Der einzige Unterschied zwischen diesen Varianten besteht darin, wie viele Beispiele du dem Modell zeigst.
Varianten:
0-Shot Prompting ist die einfachste Form des Promptens. Dabei wird dem Modell einfach ein Prompt ohne Beispiele gezeigt und es wird aufgefordert, eine Antwort zu geben. Daher sind alle Instruktions- und Rollen-Prompts, die du bisher gesehen hast, 0-Shot-Prompts. Ein weiteres Beispiel für einen 0-Shot-Prompt ist:
Addiere 2+2:
Es ist 0-Shot, da wir dem Modell keine vollständigen Beispiele gezeigt haben.
Beim 1-Shot Prompting zeigst du dem Modell ein einzelnes Beispiel. Die 1-Shot-Analogie des 0-Shot Prompts Addiere 2+2
ist zum Beispiel:
Addiere 3+3: 6
Addiere 2+2:
Wir haben dem Modell nur 1 komplettes Beispiel gezeigt (Addiere 3+3: 6
), dies ist also ein 1-Shot Prompt.
Few Shot Prompting bedeutet, dass du dem Modell 2 oder mehr Beispiele zeigst. Alle Prompts oberhalb dieses Abschnitts über Varianten waren Few Shot Prompts. Die Few Shot-Analogie zu den beiden obigen Prompts ist:
Addiere 3+3: 6
Addiere 5+5: 10
Addiere 2+2:
Dies ist der Fall, da wir dem Modell mindestens 2 vollständige Beispiele gezeigt haben (Addiere 3+3: 6
und Addiere 5+5: 10
). Normalerweise ist die Ausgabe umso besser, je mehr Beispiele du dem Modell zeigst. Daher wird in den meisten Fällen das Prompting mit mehreren Shots dem Prompting mit keinem oder einem Shot vorgezogen.
Few Shot Prompting ist eine wirkungsvolle Technik, um das Modell dazu zu bringen, genaue und richtig formatierte Ausgaben zu produzieren!
Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.
Logan IV, R., Balazevic, I., Wallace, E., Petroni, F., Singh, S., & Riedel, S. (2022). Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models. Findings of the Association for Computational Linguistics: ACL 2022, 2824–2835. https://doi.org/10.18653/v1/2022.findings-acl.222 ↩
Lake, B. M., Salakhutdinov, R., & Tenenbaum, J. B. (2015). Human-level concept learning through probabilistic program induction. Science, 350(6266), 1332–1338. ↩