In großen Modellanwendungen ist die Verarbeitung komplexer Anfragen oft mit hohen Latenzzeiten und Kosten verbunden, insbesondere wenn sich der Inhalt der Anfrage häufig wiederholt. Dieses "langsame Anfrage"-Problem tritt besonders in Szenarien mit langen Eingabeaufforderungen und hochfrequenten Interaktionen auf. Um diese Herausforderung zu bewältigen, hat OpenAI kürzlich das Prompt-Caching Funktion. Mit dieser neuen Technologie wird eine doppelte Berechnung vermieden, indem derselbe Präfixanteil, der vom Modell verarbeitet wird, zwischengespeichert wird, wodurch die Antwortzeit und die mit der Anfrage verbundenen Kosten erheblich reduziert werden. Insbesondere bei langen Hint-Anfragen mit statischem Inhalt kann die Zwischenspeicherung von Hinweisen die Effizienz erheblich verbessern und den betrieblichen Aufwand verringern. In diesem Beitrag stellen wir im Detail vor, wie diese Funktion funktioniert, welche Modelle unterstützt werden und wie die Cache-Trefferrate durch eine vernünftige Hint-Struktur optimiert werden kann, um Entwicklern zu helfen, die Erfahrung bei der Verwendung großer Modelle zu verbessern.
Was ist Large Model Prompt Caching (Prompt Caching)?
Prompt Caching ist ein Mechanismus, der dazu dient, die Latenzzeit und die Rechenkosten für die Verarbeitung langer Prompts mit wiederholtem Inhalt zu reduzieren. Ein "Prompt" bezieht sich in diesem Zusammenhang auf die Eingabe, die Sie an das Modell senden. Anstatt die ersten N Eingabe-Token eines Hinweises jedes Mal während des Anfrageprozesses neu zu berechnen, speichert das System die Ergebnisse früherer Berechnungen. Stattdessen speichert das System die Ergebnisse früherer Berechnungen zwischen, so dass es die zwischengespeicherten Daten für nachfolgende Anfragen mit demselben Cue-Präfix wiederverwenden kann, was die Verarbeitung beschleunigt, die Latenzzeit verringert und Kosten spart.
Vereinfacht ausgedrückt, funktioniert der Hinweis-Cache wie folgt:
- Zwischenspeichern der ersten 1024 Token Das System prüft, ob die ersten 1024 Token des Prompt-Inhalts mit der vorherigen Anfrage übereinstimmen, und wenn ja, speichert es die Berechnung dieser Token.
- Cache-Treffer Wenn eine neue Anfrage mit einem zwischengespeicherten Hinweis übereinstimmt, nennen wir dies einen "Cache-Treffer". In diesem Fall enthält die Antwort detaillierte Informationen über den Cache-Token, wodurch sich die Rechenzeit und die Kosten verringern lassen.
- Kosten senken : in Standardeinsatzart in dem zwischengespeicherte Token zu einem ermäßigten Preis abgerechnet werden, während in der Vorkonfigurierte Bereitstellungstypen bei dem Cache-Tags sogar einen 100%-Rabatt erhalten können.
Ein sehr anschauliches Schema für die Zwischenspeicherung von Stichworten ist offiziell vorgegeben:
Wie Sie aus der obigen Abbildung ersehen können, kann dieser Teil der Anfrage nicht über das Modell aufgelöst werden, sondern direkt über die zwischengespeicherten Ergebnisse gelesen werden, wenn die vorherigen Token in Ihrer ursprünglichen Anfrage die gleichen sind wie die vorherige Anfrage.
Derzeit bietet OpenAI offiziell die folgenden cachefähigen Modelle an:
Modellierung | Texteingabekosten | Audio-Eingabekosten |
---|---|---|
gpt-4o (außer gpt-4o-2024-05-13 und chatgpt-4o-latest) | Billig 50% | unanwendbar |
gpt-4o-mini | Billig 50% | unanwendbar |
gpt-4o-echtzeit-vorschau | Billig 50% | Billig 80% |
o1-vorschau | Billig 50% | unanwendbar |
o1-mini | Billig 50% | unanwendbar |
Die aktuellen Modelle, die das Cue-Caching unterstützen (z. B. gpt-4o, gpt-4o-mini, gpt-4o-realtime-preview usw.), sind alle effektiv bei der Reduzierung der Kosten für die Texteingabe, insbesondere mit dem Kostenrabatt von 50%, und das Modell gpt-4o-realtime-preview genießt sogar den Kostenrabatt von 80% Kostenvorteil bei der Verarbeitung von Audioeingaben. Die Unterstützung dieser Modelle verbessert nicht nur die Antworteffizienz des Modells, sondern bietet Entwicklern auch eine kostengünstige, leistungsstarke Lösung, insbesondere für Szenarien, die häufige Wiederholungsanfragen erfordern oder große Mengen an statischen Inhalten enthalten.
So funktioniert der Hinweis-Cache
Laut der aktuellen offiziellen OpenAI-Dokumentation müssen die folgenden Bedingungen erfüllt sein, wenn Ihre Anfrage den Cache nutzen soll:
- Die Länge der Aufforderung muss mindestens betragen 1024 Tags .
- aufgefordert, Erste 1024 Tags Muss in einem Folgeantrag enthalten sein identisch .
Darüber hinaus ist anzumerken, dass offiziell die 1024 Token zu Beginn die Mindestlänge des Cache sind, aber die 128 Token der späteren Treffer, d.h. die Länge des Cache sind 1024, 1152, 1280, 1408, so dass1024 Token ist das Minimum, 128 Token in StufenDie Art und Weise, wie es gespeichert wird.
Wenn ein "Cache-Treffer" auftritt, enthält die API-Antwort gepufferte_tokens
an, die angibt, wie viele Token aus dem Cache stammen. Zum Beispiel wird die Anzahl der Token, die an o1-preview-2024-09-12 Eine Anfrage nach einem Modell kann die folgende Antwort liefern:
{
"created":1729227448.
"model": "o1-preview-2024-09-12".
"object": "chat.completion".
"Verwendung":{
"completion_tokens":1518,
"prompt_tokens":1566,
"total_tokens":3084,
"completion_tokens_details":{
"schlussfolgernde_tokens":576
},
"prompt_tokens_details":{
"cached_tokens":1408
}
}
}
In diesem Beispiel ist die1408 Markierungenaus dem Cache geholt, was die Verarbeitungszeit und die Kosten erheblich reduziert.
Zeit sparen nach Hinweis-Cache-Treffer
OpenAI sagt offiziell, dass Modelle nicht die ganze Zeit Informationen im Cache halten. Der aktuelle Mechanismus in Bezug auf Cue-Caching für die GPT-Serie von Modellen ist wie folgt:
- Cache Dauer Der Cache befindet sich in der 5-10 Minutenwird nach dem inaktiven Zustand des Caches gelöscht. Wenn auf die letzte Verwendung des Caches länger als eine Stunde nicht mehr zugegriffen wurde, wird er vollständig entfernt.
- Cache verfehlt Wenn eines der ersten 1024 Token der Eingabeaufforderung anders ist, wird das Cache verfehlt zum jetzigen Zeitpunkt
gepufferte_tokens
einen Wert von 0 haben wird. - Cache wird nicht gemeinsam genutzt Hinweise, dass der Cache nicht in einem anderenabonnierenzwischen ihnen geteilt. Jedes Abonnement hat seinen eigenen Cache.
Unterstützte gecachte Inhaltstypen
Die Funktionalität des Hint-Cache ist je nach Modell unterschiedlich. Zum Beispiel.Modelle der Serie o1Es unterstützt nur Text, nicht aber Systemmeldungen, Bilder, Werkzeugaufrufe oder strukturierte Ausgaben, so dass seine Zwischenspeicherfunktion hauptsächlich auf den Teil der Benutzernachrichten anwendbar ist. Die Website gpt-4o und gpt-4o-mini Das Modell unterstützt die Zwischenspeicherung von mehr Inhaltstypen, einschließlich:
- Nachrichten Eine vollständige Reihe von Meldungen, einschließlich Systemmeldungen, Benutzernachrichten und Hilfsmeldungen.
- Bildmaterial Bilder (entweder Links oder base64-kodierte Daten), die in Benutzernachrichten enthalten sind, vorausgesetzt, dass die
Detail
Die Parameter sind konsistent. - Werkzeug Aufruf Nachrichten-Arrays und werkzeugdefinierte Caches enthalten.
- Strukturierte Ausgabe Strukturierter Ausgabemodus, der an eine Systemnachricht angehängt ist.
Um die Wahrscheinlichkeit von Cache-Treffern zu erhöhen, empfiehlt es sich, Duplikate an den Anfang des Nachrichtenfeldes zu stellen.
Hinweis auf die API-Version von OpenAI, die vom Cache unterstützt wird
Die Cue-Caching-Funktion wurde erstmals in der API-Version 2024-10-01-Vorschau bei der Bereitstellung von Unterstützung. Für o1 Modellreihe Darüber hinaus enthält die API-Antwort jetzt die gepufferte_tokens
um die Anzahl der vom Cache gefundenen Token anzuzeigen.
Schritte zur Aktivierung der Cue-Zwischenspeicherung:
- Mindestlänge Vergewissern Sie sich, dass die Eingabeaufforderung mindestens 1024 Token lang ist.
- einheitliche Vorsilbe (math.) Sicherstellen, dass die ersten 1024 Token der Eingabeaufforderung über alle Anfragen hinweg konsistent sind.
- API-Antwort Wenn ein Cache-Treffer auftritt, zeigt die API-Antwort die
gepufferte_tokens
an, die angibt, wie viele Token zwischengespeichert werden.
Ist es möglich, die Zwischenspeicherung von Hinweisen zu deaktivieren?
Hinweise werden in allen unterstützten Modellen zwischengespeichert Standardmäßig aktiviert und ist derzeit Keine Deaktivierungsoption . Das bedeutet, dass die Zwischenspeicherung automatisch aktiviert wird, wenn Sie ein unterstütztes Modell verwenden, sofern die Anfrage zulässig ist.
Warum ist die Zwischenspeicherung von Stichworten so wichtig?
Die Zwischenspeicherung von Stichwörtern bietet zwei wesentliche Vorteile:
- Geringere Verzögerung Caching: Caching beschleunigt die Antwortzeiten erheblich, da eine doppelte Verarbeitung desselben Inhalts vermieden wird.
- Kosten sparen Zwischenspeicherung: Durch die Zwischenspeicherung wird die Anzahl der zu verarbeitenden Token reduziert und damit die Gesamtberechnungskosten gesenkt, insbesondere bei langen Prompts mit vielen doppelten Inhalten.
Das Zwischenspeichern von Hinweisen ist besonders vorteilhaft für Anwendungsszenarien, in denen häufig dieselben Daten oder Hinweise verarbeitet werden müssen, wie z. B. bei KI-Systemen, Datenextraktion und sich wiederholenden Abfragen.
Best Practices für OpenAI-Hinweis-Caching
Um die Wahrscheinlichkeit von Cache-Treffern zu erhöhen, gibt OpenAI auch einige offizielle Ratschläge:
- Strukturierte Prompts: statische oder sich wiederholende Inhalte vor dem Prompt und dynamische Inhalte hinter dem Prompt.
- Überwachen Sie Cache-Metriken: Optimieren Sie Hinting- und Caching-Richtlinien, indem Sie Cache-Trefferraten, Latenzzeiten und Cache-Markierungsprozentsätze überwachen.
- Verwenden Sie lange Hinweise und außerhalb der Stoßzeiten: Verwenden Sie längere Hinweise und starten Sie Anfragen außerhalb der Stoßzeiten, um die Chancen auf Cache-Treffer zu erhöhen, da der Cache während der Stoßzeiten häufiger geleert wird.
- Wahrung der Konsistenz: Verringern Sie die Wahrscheinlichkeit von Cache-Flushes, indem Sie regelmäßig Anfragen mit demselben Präfix verwenden.
OpenAI's Hint Caching Technik Häufig gestellte Fragen und Antworten
- Wie wird beim Caching der Datenschutz gewährleistet?
Die Cue-Caches werden nicht von verschiedenen Organisationen gemeinsam genutzt. Nur Mitglieder der gleichen Organisation können auf den gleichen Cue-Cache zugreifen. - Beeinflusst die Zwischenspeicherung von Hinweisen das Output-Markup oder die endgültige Antwort?
Cue-Cachehat keine Auswirkungen aufDie Ausgabe des Modells. Die generierte Ausgabe ist immer dieselbe, unabhängig davon, ob die Zwischenspeicherung verwendet wird oder nicht. Da nur die Prompts selbst zwischengespeichert werden, wird die tatsächliche Antwort jedes Mal auf der Grundlage der zwischengespeicherten Prompts neu errechnet.
- Ist es möglich, den Cache manuell zu löschen?
Die manuelle Löschung des Caches wird derzeit nicht unterstützt. Prompts, die über einen längeren Zeitraum nicht verwendet wurden, werden automatisch aus dem Cache entfernt. Normalerweise wird der Cache in der 5-10 Minuten wird nach einer Zeit der Inaktivität geleert, aber in Zeiten mit geringem Datenverkehr kann der Cache höchstens eine Stunde . - Muss ich für die Nutzung des Hinweis-Caches extra bezahlen?
Nicht erforderlich. Die Zwischenspeicherung wird automatisch aktiviert, und es entstehen keine zusätzlichen Kosten für den Benutzer. - Werden zwischengespeicherte Hinweise auf die TPM-Grenzen angerechnet?
Ja, die Zwischenspeicherung wirkt sich nicht auf die Ratenbegrenzung aus, da die Cache-Treffer weiterhin auf die Gesamtzahl der Anfragen angerechnet werden. - Kann ich Hint-Cache-Rabatte in Scale Tier und Bulk API verwenden?
Tipp Cache-Rabatte gelten nicht für die Bulk-API, wohl aber für Scale Tier. Bei Scale Tier unterliegen auch Überlauf-Tokens den Cache-Rabatten. - Gilt das Hint-Caching auch für Anfragen ohne Datenspeicherung?
Ja, die prompte Zwischenspeicherung entspricht der bestehenden Politik der vollständigen Datenspeicherung.
Zusammenfassungen
Die Cue-Caching-Funktion von Azure OpenAI bietet eine wertvolle Optimierungslösung für die Handhabung langer Cues und sich wiederholender Anfragen. Sie verbessert die Effizienz des Modells erheblich, indem sie die Berechnungslatenz und die Kosten reduziert.
Es wird erwartet, dass Azure OpenAI-Nutzer ein effizienteres und kostengünstigeres Serviceerlebnis genießen können, wenn mehr Modelle unterstützt werden und das Hint-Caching-Feature weiter optimiert wird.