Glossar

Prompt-Caching

Steigern Sie die KI-Effizienz mit promptem Caching! Erfahren Sie, wie Sie mit dieser leistungsstarken Technik Latenzzeiten reduzieren, Kosten senken und KI-Anwendungen skalieren können.

Die Zwischenspeicherung von Eingabeaufforderungen ist eine Optimierungstechnik, die vor allem bei großen Sprachmodellen (Large Language Models, LLMs) zur Beschleunigung des Inferenzprozesses eingesetzt wird. Dabei werden die Zwischenergebnisse der Berechnungen, insbesondere die Schlüssel-Wert-Zustände (KV) im Aufmerksamkeitsmechanismus, eines anfänglichen Teils einer Eingabeaufforderung gespeichert. Wenn eine neue Eingabeaufforderung denselben Anfang (Präfix) hat, kann das Modell diese zwischengespeicherten Zustände wiederverwenden, anstatt sie neu zu berechnen, was die Latenzzeit und die für die Generierung einer Antwort erforderliche Rechenlast erheblich reduziert. Dies ist besonders effektiv bei Anwendungen mit konversationeller KI oder sich wiederholenden Abfragen.

So funktioniert Prompt-Caching

Wenn ein LLM eine Textsequenz, z. B. einen Satz oder einen Absatz, verarbeitet, berechnet es die Aufmerksamkeitswerte für jedes Token in seinem Kontextfenster. Dies ist ein rechenintensiver Teil des Prozesses, insbesondere bei langen Prompts. Der Kerngedanke hinter der Zwischenspeicherung von Prompts, oft auch KV-Caching genannt, besteht darin, redundante Arbeit zu vermeiden. Wenn das Modell die Aufforderung "Übersetze den folgenden englischen Text ins Französische:" bereits verarbeitet hat, speichert es den daraus resultierenden internen Zustand. Wenn es später die Aufforderung "Übersetze den folgenden englischen Text ins Französische: 'Hello, world!'" erhält, kann es den zwischengespeicherten Zustand für die ursprüngliche Phrase laden und die Berechnung nur für den neuen Teil, "'Hello, world!'", beginnen. Dadurch wird der Prozess der Texterzeugung bei nachfolgenden, ähnlichen Anfragen erheblich beschleunigt. Systeme wie vLLM sind darauf ausgelegt, diesen Prozess effizient zu verwalten und den Gesamtdurchsatz zu verbessern.

Anwendungen in der realen Welt

Die Zwischenspeicherung von Eingabeaufforderungen ist eine entscheidende Optimierung für viele reale KI-Systeme, die das Benutzererlebnis durch schnellere Antworten verbessert.

  • Interaktive Chatbots und virtuelle Assistenten: In einer Chatbot-Konversation baut jede Runde auf dem vorherigen Austausch auf. Durch das Zwischenspeichern des Gesprächsverlaufs als Präfix kann das Modell die nächste Antwort generieren, ohne den gesamten Dialog neu zu verarbeiten, was zu einer viel flüssigeren und reaktionsschnelleren Interaktion führt. Dies ist von grundlegender Bedeutung für die Leistung moderner virtueller Assistenten.
  • Codegenerierung und -vervollständigung: KI-gestützte Kodierungsassistenten wie GitHub Copilot verwenden häufig Caching. Der vorhandene Code in einer Datei dient als eine lange Eingabeaufforderung. Durch das Zwischenspeichern der KV-Zustände dieses Codes kann das Modell schnell Vorschläge für die nächste Zeile generieren oder eine Funktion vervollständigen, ohne dass die gesamte Datei bei jeder Eingabe eines Zeichens neu analysiert werden muss, wodurch eine Inferenz in Echtzeit möglich wird.

Prompt-Caching im Vergleich zu verwandten Konzepten

Es ist hilfreich, das Prompt-Caching von anderen verwandten Techniken zu unterscheiden:

  • Schnelles Engineering: Der Schwerpunkt liegt auf der Entwicklung effektiver Prompts, die dem KI-Modell die gewünschten Antworten entlocken. Das Caching optimiert die Ausführung dieser Prompts, unabhängig davon, wie gut sie entwickelt sind.
  • Prompt-Anreicherung: Die Eingabeaufforderung eines Benutzers wird um Kontext oder klärende Informationen ergänzt , bevor sie an das Modell gesendet wird. Die Zwischenspeicherung erfolgt während oder nach der Verarbeitung des (potenziell angereicherten) Prompts durch das Modell.
  • Promptes Tuning und LoRA: Hierbei handelt es sich um parameter-effiziente Feinabstimmungsmethoden (PEFT), die das Verhalten eines Modells durch das Training kleiner zusätzlicher Parametersätze anpassen. Caching ist eine Optimierung während der Inferenzzeit, bei der die Modellgewichte selbst nicht verändert werden.
  • Retrieval-Augmented Generation (RAG): Verbessert Prompts, indem relevante Informationen aus externen Wissensdatenbanken abgerufen und dem Kontext des Prompts hinzugefügt werden. Während RAG die Eingabe verändert, kann die Verarbeitung der kombinierten Eingabeaufforderung (ursprüngliche Abfrage + abgerufene Daten) weiterhin durch Caching erfolgen.
  • Standardausgabe-Caching: Beim herkömmlichen Web-Caching wird die endgültige Ausgabe einer Anfrage gespeichert. Bei der Zwischenspeicherung von Eingabeaufforderungen werden häufig Berechnungszwischenstände innerhalb der Verarbeitungspipeline des Modells gespeichert, was eine flexiblere Wiederverwendung ermöglicht, insbesondere bei Eingabeaufforderungen, die gemeinsame Präfixe, aber unterschiedliche Endungen haben.

Während die Zwischenspeicherung von Eingabeaufforderungen vorwiegend mit LLMs in Verbindung gebracht wird, könnte das zugrundeliegende Prinzip der Zwischenspeicherung von Berechnungen auch in komplexen multimodalen Modellen Anwendung finden, bei denen Textaufforderungen mit anderen Modalitäten interagieren. Bei Standardaufgaben der Computer Vision (CV) wie der Objekterkennung mit Modellen wie Ultralytics YOLO ist dies jedoch weniger üblich. Plattformen wie Ultralytics HUB rationalisieren die Bereitstellung und Verwaltung von KI-Modellen, wobei Optimierungen wie Caching für die Leistung in Produktionsumgebungen entscheidend sein können.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert