Viele Gemini-Modelle haben große Kontextfenster mit 1 Million oder mehr Tokens. Bisher waren Large Language Models (LLMs) durch die Menge an Text (oder Tokens) erheblich eingeschränkt, die dem Modell gleichzeitig übergeben werden konnte. Das lange Kontextfenster von Gemini eröffnet viele neue Anwendungsfälle und Entwicklerparadigmen.
Der Code, den Sie bereits für Anwendungsfälle wie die Texterstellung oder multimodale Eingaben verwenden, funktioniert ohne Änderungen mit langem Kontext.
In diesem Dokument erhalten Sie einen Überblick darüber, was Sie mit Modellen mit Kontextfenstern von 1 Million und mehr Tokens erreichen können. Auf dieser Seite finden Sie einen kurzen Überblick über das Kontextfenster. Außerdem wird erläutert, wie Entwickler mit dem langen Kontext umgehen sollten, welche Anwendungsfälle es für den langen Kontext gibt und wie sich die Nutzung des langen Kontexts optimieren lässt.
Die Kontextfenstergrößen der einzelnen Modelle finden Sie auf der Seite Modelle.
Was ist das Kontextfenster?
Die Gemini-Modelle werden in der Regel so verwendet, dass Sie Informationen (Kontext) an das Modell übergeben, das daraufhin eine Antwort generiert. Eine Analogie für das Kontextfenster ist das Kurzzeitgedächtnis. Das Kurzzeitgedächtnis eines Menschen kann nur eine begrenzte Menge an Informationen speichern. Das gilt auch für generative Modelle.
Weitere Informationen zur Funktionsweise von Modellen finden Sie in unserem Leitfaden zu generativen Modellen.
Erste Schritte mit langem Kontext
Frühere Versionen generativer Modelle konnten jeweils nur 8.000 Tokens verarbeiten. Neuere Modelle haben diese Grenze auf 32.000 oder sogar 128.000 Tokens erhöht. Gemini ist das erste Modell, das 1 Million Tokens akzeptieren kann.
In der Praxis würden 1 Million Tokens so aussehen:
- 50.000 Codezeilen (mit den standardmäßigen 80 Zeichen pro Zeile)
- Alle SMS, die Sie in den letzten fünf Jahren gesendet haben
- 8 durchschnittlich lange englische Romane
- Transkripte von über 200 Podcastfolgen durchschnittlicher Länge
Die in vielen anderen Modellen üblichen, eingeschränkteren Kontextfenster erfordern oft Strategien wie das willkürliche Löschen alter Nachrichten, das Zusammenfassen von Inhalten, die Verwendung von RAG mit Vektordatenbanken oder das Filtern von Prompts, um Tokens zu sparen.
Diese Techniken sind zwar in bestimmten Szenarien weiterhin nützlich, aber das umfangreiche Kontextfenster von Gemini ermöglicht einen direkteren Ansatz: alle relevanten Informationen im Voraus bereitzustellen. Gemini-Modelle wurden speziell für die Verarbeitung großer Kontexte entwickelt und bieten daher leistungsstarkes In-Context Learning. Gemini lernte beispielsweise, zu übersetzen, indem es nur kontextbezogene Lernmaterialien verwendete (eine 500 Seiten umfassende Referenzgrammatik, ein Wörterbuch und etwa 400 parallele Sätze). Die Qualität der Übersetzungen aus dem Englischen ins Kalamang, eine Sprache mit weniger als 200 Sprechern, war dabei ähnlich wie bei einem menschlichen Lernenden, der dieselben Materialien verwendet. Dies veranschaulicht den Paradigmenwechsel, der durch den langen Kontext von Gemini ermöglicht wird und durch robustes In-Context-Lernen neue Möglichkeiten eröffnet.
Anwendungsfälle mit langem Kontext
Der Standardanwendungsfall für die meisten generativen Modelle ist zwar weiterhin die Texteingabe, die Gemini-Modellfamilie ermöglicht jedoch ein neues Paradigma multimodaler Anwendungsfälle. Diese Modelle können Text, Video, Audio und Bilder nativ verstehen. Dazu gehört auch die Gemini API, die multimodale Dateitypen unterstützt.
Text im Langformat
Text hat sich als die Intelligenzebene erwiesen, die einen Großteil der Dynamik rund um LLMs untermauert. Wie bereits erwähnt, lag ein Großteil der praktischen Einschränkungen von LLMs daran, dass kein ausreichend großes Kontextfenster für bestimmte Aufgaben zur Verfügung stand. Dies führte zur schnellen Einführung von Retrieval-Augmented Generation (RAG) und anderen Techniken, die dem Modell dynamisch relevante Kontextinformationen liefern. Mit immer größeren Kontextfenstern stehen jetzt neue Techniken zur Verfügung, die neue Anwendungsfälle ermöglichen.
Einige neue und Standardanwendungsfälle für langen Kontext auf Textbasis:
- Zusammenfassen großer Textmengen
- Bei früheren Zusammenfassungsoptionen mit kleineren Kontextmodellen war ein gleitendes Fenster oder eine andere Technik erforderlich, um den Status der vorherigen Abschnitte beizubehalten, wenn neue Tokens an das Modell übergeben wurden.
- Fragen und Antworten
- Bisher war dies aufgrund der begrenzten Menge an Kontext und der geringen Faktenwiedergabe von Modellen nur mit RAG möglich.
- Agentische Workflows
- Text ist die Grundlage dafür, wie Agents den Status ihrer Aktionen und der erforderlichen Aktionen beibehalten. Wenn nicht genügend Informationen über die Welt und das Ziel des Agents vorhanden sind, wird die Zuverlässigkeit von Agents eingeschränkt.
Many-shot in-context learning ist eine der einzigartigsten Funktionen, die durch lange Kontextmodelle ermöglicht werden. Studien haben gezeigt, dass die Skalierung des gängigen Paradigmas mit einem oder mehreren Beispielen, bei dem dem Modell ein oder mehrere Beispiele für eine Aufgabe präsentiert werden, auf Hunderte, Tausende oder sogar Hunderttausende von Beispielen zu neuen Modellfunktionen führen kann. Es hat sich gezeigt, dass dieser Many-Shot-Ansatz ähnlich wie Modelle funktioniert, die für eine bestimmte Aufgabe optimiert wurden. Für Anwendungsfälle, in denen die Leistung eines Gemini-Modells für einen Produktions-Roll-out noch nicht ausreicht, können Sie den Many-Shot-Ansatz ausprobieren. Wie Sie später im Abschnitt zur Optimierung des langen Kontexts noch einmal untersuchen werden, ist diese Art von Arbeitslast mit hoher Eingabetoken durch Kontext-Caching in einigen Fällen wesentlich wirtschaftlicher und hat sogar eine geringere Latenz.
Videos im Langformat
Die Nützlichkeit von Videoinhalten war lange Zeit durch die mangelnde Zugänglichkeit des Mediums selbst eingeschränkt. Es war schwierig, den Inhalt zu überfliegen, Transkripte konnten oft nicht die Nuancen eines Videos erfassen und die meisten Tools verarbeiten Bild, Text und Audio nicht gemeinsam. Mit Gemini können Sie Fragen zu multimodalen Eingaben beantworten lassen und dabei von einer gleichbleibenden Leistung profitieren.
Hier sind einige neue und standardmäßige Anwendungsfälle für Video-Langkontext:
- Fragen und Antworten zu Videos
- Videospeicher, wie er bei Project Astra von Google gezeigt wird
- Videountertitelung
- Videoempfehlungssysteme, indem vorhandene Metadaten mit neuen multimodalen Informationen angereichert werden
- Videoanpassung durch Analyse eines Datensatzes und zugehöriger Videometadaten und anschließendes Entfernen von Teilen von Videos, die für den Zuschauer nicht relevant sind
- Moderation von Videoinhalten
- Videoverarbeitung in Echtzeit
Bei der Arbeit mit Videos ist es wichtig zu berücksichtigen, wie die Videos in Tokens umgewandelt werden, da dies sich auf die Abrechnung und die Nutzungslimits auswirkt. Weitere Informationen zum Erstellen von Prompts mit Videodateien
Audioinhalte im Langformat
Die Gemini-Modelle waren die ersten nativ multimodalen Large Language Models, die Audio verstehen konnten. Bisher mussten Entwickler für die Verarbeitung von Audioinhalten mehrere domänenspezifische Modelle verknüpfen, z. B. ein Speech-to-Text-Modell und ein Text-to-Text-Modell. Dies führte zu zusätzlicher Latenz, die durch die Ausführung mehrerer Roundtrip-Anfragen erforderlich war, und zu einer verringerten Leistung, die in der Regel auf die nicht zusammenhängenden Architekturen der Einrichtung mehrerer Modelle zurückzuführen ist.
Einige neue und Standardanwendungsfälle für Audio-Kontext sind:
- Sprache-zu-Text und Übersetzung in Echtzeit
- Fragen und Antworten zu Podcasts und Videos
- Besprechungstranskript und ‑zusammenfassung
- Sprachassistenten
Weitere Informationen zum Erstellen von Prompts mit Audiodateien finden Sie im Prompting-Leitfaden.
Optimierungen für langen Kontext
Die primäre Optimierung bei der Arbeit mit langem Kontext und den Gemini-Modellen ist die Verwendung von Kontext-Caching. Neben der bisherigen Unmöglichkeit, viele Tokens in einer einzigen Anfrage zu verarbeiten, waren die Kosten die andere Haupteinschränkung. Wenn Sie eine App "Mit Ihren Daten chatten" haben, bei der ein Nutzer 10 PDFs, ein Video und einige Arbeitsdokumente hochlädt, müssten Sie in der Vergangenheit mit einem komplexeren RAG-Tool (Retrieval Augmented Generation) / Framework arbeiten, um diese Anfragen zu verarbeiten und einen erheblichen Betrag für in das Kontextfenster verschobene Tokens zu bezahlen. Jetzt können Sie die vom Nutzer hochgeladenen Dateien im Cache speichern und die Speicherung stundenweise bezahlen. Die Kosten für Ein- und Ausgabe pro Anfrage mit Gemini Flash sind beispielsweise etwa viermal geringer als die Standardkosten für Ein- und Ausgabe. Wenn der Nutzer also häufig mit seinen Daten chattet, können Sie als Entwickler viel Geld sparen.
Einschränkungen bei langem Kontext
In verschiedenen Abschnitten dieses Leitfadens ging es darum, wie Gemini-Modelle eine hohe Leistung bei verschiedenen „Nadel im Heuhaufen“-Evaluationsvorgängen erzielen. Bei diesen Tests wird die einfachste Einrichtung berücksichtigt, bei der Sie nach einer einzelnen Nadel suchen. Wenn Sie mehrere „Nadeln“ oder bestimmte Informationen suchen, ist die Genauigkeit des Modells nicht so hoch. Die Leistung kann je nach Kontext stark variieren. Das ist wichtig, da es einen inhärenten Kompromiss zwischen dem Abrufen der richtigen Informationen und den Kosten gibt. Sie können mit einer einzelnen Anfrage eine Genauigkeit von etwa 99% erreichen, müssen aber jedes Mal, wenn Sie diese Anfrage senden, die Kosten für die Eingabetokens bezahlen. Wenn Sie also 100 Informationen abrufen möchten und eine Leistung von 99% benötigen, müssen Sie wahrscheinlich 100 Anfragen senden. Dies ist ein gutes Beispiel dafür, wie sich durch das Zwischenspeichern von Kontext die Kosten für die Verwendung von Gemini-Modellen erheblich senken lassen, ohne dass die Leistung darunter leidet.
Häufig gestellte Fragen
Wo ist der beste Ort, um meine Anfrage in das Kontextfenster einzufügen?
In den meisten Fällen, insbesondere wenn der gesamte Kontext lang ist, ist die Leistung des Modells besser, wenn Sie Ihre Anfrage / Frage am Ende des Prompts (nach dem gesamten anderen Kontext) platzieren.
Leidet die Modellleistung, wenn ich einer Anfrage mehr Tokens hinzufüge?
Wenn Sie keine Tokens an das Modell übergeben müssen, sollten Sie das auch nicht tun. Wenn Sie jedoch eine große Menge an Tokens mit einigen Informationen haben und Fragen zu diesen Informationen stellen möchten, kann das Modell diese Informationen sehr gut extrahieren (in vielen Fällen mit einer Genauigkeit von bis zu 99 %).
Wie kann ich die Kosten für Anfragen mit langem Kontext senken?
Wenn Sie eine ähnliche Gruppe von Tokens / Kontext haben, die Sie häufig wiederverwenden möchten, kann das Kontext-Caching dazu beitragen, die Kosten für Fragen zu diesen Informationen zu senken.
Wirkt sich die Kontextlänge auf die Modelllatenz aus?
Bei jeder Anfrage gibt es eine gewisse feste Latenz, unabhängig von der Größe. Im Allgemeinen haben längere Anfragen jedoch eine höhere Latenz (Zeit bis zum ersten Token).