Few-Shot-Prompts mit Beispielen sind eine wirksame Methode für zuverlässiges LLM-Verhalten. Microsoft hat nun einen Vorschlag, um diese Methode effizienter und skalierbarer zu machen: dynamische Few-Shot-Prompts.
Der Microsoft-Mitarbeiter Franklin Lindemberg Guimarães stellt eine Methode vor, um sogenannte Few-Shot-Prompts mit vielen Beispielen effizienter und skalierbarer zu gestalten.
Bei Few-Shot-Prompts werden dem KI-Modell einige wenige Beispiele für die gewünschte Aufgabe direkt im Prompt mitgegeben. Diese Methode hat sich als sehr effektiv erwiesen, um Large Language Models (LLMs) zu verlässlichem Verhalten auf hohem Niveau anzuleiten.
Dynamische Few-Shot-Prompts speichern Beispiele in Vector Store
Bei Guimarães’ Ansatz, den dynamischen Few-Shot-Prompts, werden die Beispiele nicht direkt im Prompt angegeben, sondern in einem Vector Store gespeichert. Für jeden Input des Nutzers werden dann mittels Embeddings die relevantesten Beispiele aus dem Store abgerufen und in den Prompt eingefügt.
So enthält der Prompt immer nur die jeweils passendsten Beispiele, bleibt schlank und skaliert besser für viele verschiedene Aufgaben. Die Architektur besteht aus drei Hauptkomponenten:
- Vector Store: Hier werden die Beispiel-Prompts als Input-Output-Paare gespeichert und über den Input indiziert.
- Embedding Model: Transformiert den User-Input in einen Vektor, mit dem der Vector Store abgefragt werden kann.
- KI-Modell: Führt die eigentliche Chat-Vervollständigung durch und generiert die Antworten.
Vorteile: Genauigkeit, Relevanz, Kosteneffizienz und Skalierbarkeit
Dynamische Few-Shot-Prompts adressieren einige Herausforderungen, die entstehen, wenn man sehr viele Beispiele direkt in den Prompt packt: Statt das Modell mit zu vielen, möglicherweise irrelevanten Beispielen zu überfordern, werden intelligent nur die Top-3-Beispiele ausgewählt, die für den jeweiligen User-Input am relevantesten sind.
Als Anwendungsfall beschreibt Microsoft ein Szenario, bei dem ein Chatbot drei verschiedene Aufgaben beherrschen soll: Daten als Tabelle anzeigen, Texte klassifizieren und Texte zusammenfassen. Für jede Aufgabe werden Beispiele definiert. Mit dynamischem Few-Shot-Prompting werden die Beispiele ausgewählt, die zur Nutzeranfrage passen.
Das hält den Prompt schlank, verbessert die Genauigkeit und Relevanz der generierten Antworten und reduziert die Kosten, da weniger Token verarbeitet werden müssen. Gleichzeitig bleibt die Methode flexibel und skalierbar für viele verschiedene Aufgaben, da im Hintergrund auf einen großen Pool von Beispielen zugegriffen werden kann.
Daher erscheint die dynamische Beispielauswahl für Many-Shot-Prompts noch interessanter, da hier der Aufwand für die Beispielauswahl und den -austausch höher ist. Few-Shot-Prompts, also Prompts mit wenigen Beispielen, für wiederkehrende Aufgaben können oft auch ohne neue oder sich ändernde Beispiele gut gelöst werden.
Eine Kombination der intelligenten Beispielauswahl des dynamischen Few-Shot-Prompting mit der nachgewiesenen Leistungsfähigkeit von Many-Shot-Prompts mit sehr vielen Beispielen könnte ein vielversprechender Weg zu zuverlässigeren und leistungsfähigeren KI-Systemen für spezifische Aufgaben sein.