eine erhebliche Anzahl von Aufgaben zu automatisieren. Seit der Veröffentlichung von ChatGPT im Jahr 2022 sehen wir immer mehr KI-Produkte auf dem Markt, die LLMs nutzen. Es gibt jedoch noch viele Verbesserungsmöglichkeiten bei der Artwork und Weise, wie wir LLMs nutzen. Die Verbesserung Ihrer Eingabeaufforderung mit einem LLM-Eingabeaufforderungsverbesserer und die Verwendung zwischengespeicherter Token sind beispielsweise zwei einfache Techniken, mit denen Sie die Leistung Ihrer LLM-Anwendung erheblich verbessern können.

In diesem Artikel bespreche ich mehrere spezifische Techniken, die Sie bei der Erstellung und Strukturierung Ihrer Eingabeaufforderungen anwenden können, um Latenz und Kosten zu reduzieren und auch die Qualität Ihrer Antworten zu erhöhen. Ziel ist es, Ihnen diese spezifischen Techniken vorzustellen, damit Sie sie sofort in Ihre eigene LLM-Anwendung implementieren können.

Diese Infografik hebt die Hauptinhalte dieses Artikels hervor. Ich werde vier verschiedene Techniken besprechen, mit denen Sie die Leistung Ihrer LLM-Anwendung im Hinblick auf Kosten, Latenz und Ausgabequalität erheblich verbessern können. Ich werde die Verwendung zwischengespeicherter Token, die Benutzerfrage am Ende, die Verwendung von Immediate-Optimierern und die Erstellung Ihrer eigenen benutzerdefinierten LLM-Benchmarks behandeln. Bild von Gemini.

Warum Sie Ihre Eingabeaufforderung optimieren sollten

In vielen Fällen verfügen Sie möglicherweise über eine Eingabeaufforderung, die mit einem bestimmten LLM funktioniert und angemessene Ergebnisse liefert. Allerdings haben Sie in vielen Fällen nicht viel Zeit damit verbracht, die Eingabeaufforderung zu optimieren, sodass noch viel Potenzial offen bleibt.

Ich behaupte, dass Sie mit den spezifischen Techniken, die ich in diesem Artikel vorstelle, ohne großen Aufwand sowohl die Qualität Ihrer Antworten verbessern als auch die Kosten senken können. Nur weil ein Immediate und LLM funktionieren, heißt das nicht, dass es optimum funktioniert, und in vielen Fällen können Sie mit sehr geringem Aufwand große Verbesserungen feststellen.

Spezifische Techniken zur Optimierung

In diesem Abschnitt werde ich die spezifischen Techniken behandeln, die Sie zur Optimierung Ihrer Eingabeaufforderungen verwenden können.

Behalten Sie statische Inhalte immer frühzeitig bei

Die erste Technik, die ich behandeln werde, besteht darin, statische Inhalte immer früh in Ihrer Eingabeaufforderung beizubehalten. Mit statischen Inhalten beziehe ich mich auf Inhalte, die gleich bleiben, wenn Sie mehrere API-Aufrufe durchführen.

Der Grund, warum Sie den statischen Inhalt frühzeitig beibehalten sollten, liegt darin, dass alle großen LLM-Anbieter wie Anthropic, Google und OpenAI zwischengespeicherte Token verwenden. Zwischengespeicherte Token sind Token, die bereits in einer vorherigen API-Anfrage verarbeitet wurden und kostengünstig und schnell verarbeitet werden können. Es variiert von Anbieter zu Anbieter, aber zwischengespeicherte Eingabe-Tokens kosten normalerweise etwa 10 % der normalen Eingabe-Tokens.

Zwischengespeicherte Token sind Token, die bereits in einer vorherigen API-Anfrage verarbeitet wurden und verarbeitet werden können günstiger und schneller als normale Token

Das heißt, wenn Sie denselben Immediate zweimal hintereinander einsenden, kosten die Enter-Tokens des zweiten Prompts nur 1/10 der Enter-Tokens des ersten Prompts. Dies funktioniert, weil die LLM-Anbieter die Verarbeitung dieser Eingabe-Tokens zwischenspeichern, was die Bearbeitung Ihrer neuen Anfrage günstiger und schneller macht.


In der Praxis werden Eingabetokens zwischengespeichert, indem Variablen am Ende der Eingabeaufforderung beibehalten werden.

Wenn Sie beispielsweise eine lange Systemaufforderung mit einer Frage haben, die von Anfrage zu Anfrage unterschiedlich ist, sollten Sie etwa so vorgehen:

immediate = f"""
{lengthy static system immediate}

{consumer immediate}
"""

Zum Beispiel:

immediate = f"""
You're a doc professional ...
It is best to at all times reply on this format ...
If a consumer asks about ... you need to reply ...

{consumer query}
"""

Hier haben wir zuerst den statischen Inhalt der Eingabeaufforderung, bevor wir zuletzt den variablen Inhalt (die Benutzerfrage) einfügen.


In manchen Szenarien möchten Sie Dokumentinhalte einspeisen. Wenn Sie viele verschiedene Dokumente verarbeiten, sollten Sie den Dokumentinhalt am Ende der Eingabeaufforderung beibehalten:

# if processing completely different paperwork
immediate = f"""
{static system immediate}
{variable immediate instruction 1}
{doc content material}
{variable immediate instruction 2}
{consumer query}
"""

Angenommen, Sie verarbeiten dieselben Dokumente mehrmals. In diesem Fall können Sie sicherstellen, dass auch die Tokens des Dokuments zwischengespeichert werden, indem Sie zuvor sicherstellen, dass keine Variablen in die Eingabeaufforderung eingefügt werden:

# if processing the identical paperwork a number of occasions
immediate = f"""
{static system immediate}
{doc content material} # maintain this earlier than any variable directions
{variable immediate instruction 1}
{variable immediate instruction 2}
{consumer query}
"""

Beachten Sie, dass zwischengespeicherte Token normalerweise nur aktiviert werden, wenn die ersten 1024 Token in zwei Anfragen gleich sind. Wenn Ihre statische Systemaufforderung im obigen Beispiel beispielsweise kürzer als 1024 Token ist, werden Sie keine zwischengespeicherten Token verwenden.

# do NOT do that
immediate = f"""
{variable content material} < --- this removes all utilization of cached tokens
{static system immediate}
{doc content material}
{variable immediate instruction 1}
{variable immediate instruction 2}
{consumer query}
"""

Ihre Eingabeaufforderungen sollten immer zuerst mit den statischsten Inhalten (der Inhalt variiert von Anfrage zu Anfrage) und dem dynamischsten Inhalt (der Inhalt variiert am meisten von Anfrage zu Anfrage) erstellt werden.

  1. Wenn Sie eine lange System- und Benutzeraufforderung ohne Variablen haben, sollten Sie diese zunächst beibehalten und die Variablen am Ende der Eingabeaufforderung hinzufügen
  2. Wenn Sie beispielsweise Textual content aus Dokumenten abrufen und dasselbe Dokument zweimal verarbeiten, sollten Sie dies tun

Könnte der Inhalt eines Dokuments sein, oder wenn Sie eine lange Eingabeaufforderung haben -> nutzen Sie Caching

Frage zum Schluss

Eine weitere Technik, die Sie zur Verbesserung der LLM-Leistung nutzen sollten, besteht darin, die Benutzerfrage immer am Ende Ihrer Eingabeaufforderung zu platzieren. Idealerweise organisieren Sie es so, dass Ihre Systemaufforderung alle allgemeinen Anweisungen enthält und die Benutzeraufforderung einfach nur aus der Benutzerfrage besteht, wie zum Beispiel unten:

system_prompt = "<basic directions>"

user_prompt = f"{user_question}"

In den Immediate-Engineering-Dokumenten von Anthropic kann der Standing, der die Benutzeraufforderung am Ende enthält, die Leistung um bis zu 30 % verbessern, insbesondere wenn Sie lange Kontexte verwenden. Durch das Einfügen der Frage am Ende wird dem Modell klarer, welche Aufgabe es erfüllen möchte, und es führt in vielen Fällen zu besseren Ergebnissen.

Verwendung eines Immediate-Optimierers

Wenn Menschen Eingabeaufforderungen schreiben, werden diese häufig unordentlich, inkonsistent, enthalten redundante Inhalte und weisen keine Struktur auf. Daher sollten Sie Ihre Eingabeaufforderung immer über einen Eingabeaufforderungsoptimierer einspeisen.

Der einfachste Immediate-Optimierer, den Sie verwenden können, besteht darin, einen LLM dazu aufzufordern Verbessere diese Eingabeaufforderung {immediate}, und Sie erhalten eine strukturiertere Eingabeaufforderung mit weniger redundanten Inhalten usw.

Ein noch besserer Ansatz besteht jedoch darin, einen bestimmten Immediate-Optimierer zu verwenden, wie er beispielsweise in den Konsolen von OpenAI oder Anthropic zu finden ist. Bei diesen Optimierern handelt es sich um LLMs, die speziell zur Optimierung Ihrer Eingabeaufforderungen erstellt und erstellt wurden und in der Regel bessere Ergebnisse liefern. Darüber hinaus sollten Sie darauf achten, Folgendes einzubeziehen:

  • Particulars zu der Aufgabe, die Sie erreichen möchten
  • Beispiele für Aufgaben, bei denen die Eingabeaufforderung erfolgreich conflict, sowie für die Eingabe und Ausgabe
  • Beispiel für Aufgaben, bei denen die Eingabeaufforderung fehlgeschlagen ist, mit Eingabe und Ausgabe

Die Bereitstellung dieser zusätzlichen Informationen führt in der Regel zu weitaus besseren Ergebnissen und Sie erhalten am Ende eine viel bessere Eingabeaufforderung. In vielen Fällen benötigen Sie nur etwa 10 bis 15 Minuten und erhalten am Ende eine wesentlich leistungsfähigere Eingabeaufforderung. Dies macht die Verwendung eines Immediate-Optimierers zu einem der Ansätze mit dem geringsten Aufwand zur Verbesserung der LLM-Leistung.

Benchmark-LLMs

Das von Ihnen verwendete LLM hat auch erhebliche Auswirkungen auf die Leistung Ihrer LLM-Anwendung. Verschiedene LLMs eignen sich für unterschiedliche Aufgaben, daher müssen Sie die verschiedenen LLMs in Ihrem spezifischen Anwendungsbereich ausprobieren. Ich empfehle, zumindest einen Zugang zu den größten LLM-Anbietern wie Google Gemini, OpenAI und Anthropic einzurichten. Die Einrichtung ist ganz einfach und der Wechsel Ihres LLM-Anbieters dauert nur wenige Minuten, wenn Sie bereits Anmeldeinformationen eingerichtet haben. Darüber hinaus können Sie auch das Testen von Open-Supply-LLMs in Betracht ziehen, obwohl diese in der Regel einen höheren Aufwand erfordern.

Sie müssen nun einen spezifischen Benchmark für die Aufgabe festlegen, die Sie erreichen möchten, und herausfinden, welches LLM am besten funktioniert. Darüber hinaus sollten Sie die Modellleistung regelmäßig überprüfen, da die großen LLM-Anbieter ihre Modelle gelegentlich aktualisieren, ohne unbedingt eine neue Model herauszubringen. Natürlich sollten Sie auch bereit sein, neue Modelle der großen LLM-Anbieter auszuprobieren.

Abschluss

In diesem Artikel habe ich vier verschiedene Techniken behandelt, mit denen Sie die Leistung Ihrer LLM-Anwendung verbessern können. Ich habe die Verwendung zwischengespeicherter Token, die Frage am Ende der Eingabeaufforderung, die Verwendung von Eingabeaufforderungsoptimierern und die Erstellung spezifischer LLM-Benchmarks besprochen. Diese sind alle relativ einfach einzurichten und durchzuführen und können zu einer erheblichen Leistungssteigerung führen. Ich glaube, dass es viele ähnliche und einfache Techniken gibt, und Sie sollten immer versuchen, nach ihnen Ausschau zu halten. Diese Themen werden normalerweise in verschiedenen Blogbeiträgen beschrieben, wobei Anthropic einer der Blogs ist, der mir am meisten dabei geholfen hat, die LLM-Leistung zu verbessern.

👉 Finden Sie mich in den sozialen Netzwerken:

📩 Abonnieren Sie meinen E-newsletter

🧑‍💻 Nehmen Sie Kontakt auf

🔗 LinkedIn

🐦 X / Twitter

✍️ Medium

Sie können auch einige meiner anderen Artikel lesen:

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert