Viele Gemini-Modelle haben große Kontextfenster mit mindestens 1 Million Tokens. Bisher waren Large Language Models (LLMs) stark durch die Menge an Text (oder Tokens) begrenzt, die gleichzeitig an das Modell übergeben werden konnte. Das lange Kontextfenster von Gemini eröffnet viele neue Anwendungsfälle und Entwicklerparadigmen.
Der Code, den Sie bereits für Fälle wie die Textgenerierung oder multimodale Eingaben verwenden, funktioniert auch mit langem Kontext ohne Änderungen.
In diesem Dokument erhalten Sie einen Überblick darüber, was Sie mit Modellen mit einem Kontextfenster von mindestens einer Million Tokens erreichen können. Auf der Seite finden Sie einen kurzen Überblick über ein Kontextfenster und Informationen dazu, wie Entwickler mit dem langen Kontext umgehen sollten. Außerdem werden verschiedene Anwendungsfälle für den langen Kontext und Möglichkeiten zur Optimierung seiner Nutzung beschrieben.
Die Größe des Kontextfensters für bestimmte Modelle finden Sie auf der Seite Modelle.
Was ist das Kontextfenster?
Die Gemini-Modelle werden in der Regel so verwendet, dass Informationen (Kontext) an das Modell übergeben werden, das dann 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 findest du in unserem Leitfaden zu generativen Modellen.
Erste Schritte mit langem Kontext
Ältere Versionen generativer Modelle konnten jeweils nur 8.000 Token verarbeiten. Neuere Modelle haben diese Kapazität weiter erhöht und akzeptieren 32.000 oder sogar 128.000 Token. Gemini ist das erste Modell, das 1 Million Tokens verarbeiten kann.
In der Praxis würde 1 Million Tokens so aussehen:
- 50.000 Codezeilen (mit 80 Zeichen pro Zeile)
- Alle SMS, die Sie in den letzten 5 Jahren gesendet haben
- 8 englische Romane mittlerer Länge
- Transkripte von über 200 Podcastfolgen mittlerer Länge
Die begrenzteren Kontextfenster, die in vielen anderen Modellen üblich sind, 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 speichern.
Diese Techniken sind in bestimmten Fällen weiterhin wertvoll. Das umfangreiche Kontextfenster von Gemini lädt jedoch zu einem direkteren Ansatz ein: Geben Sie alle relevanten Informationen vorab an. Da Gemini-Modelle speziell mit umfangreichen Kontextfunktionen entwickelt wurden, bieten sie leistungsstarkes kontextbezogenes Lernen. So lernte Gemini beispielsweise mithilfe von nur kontextbezogenen Lernmaterialien (eine 500-seitige Grammatik, ein Wörterbuch und etwa 400 Parallelsätze) Englisch in Kalamang zu übersetzen – eine Papuasprache mit weniger als 200 Sprechern – mit einer Qualität, die der eines menschlichen Lernenden mit denselben Materialien ähnelt. Das veranschaulicht den Paradigmenwechsel, der durch den langen Kontext von Gemini ermöglicht wird. Durch robustes kontextbezogenes Lernen eröffnen sich neue Möglichkeiten.
Anwendungsfälle mit langem Kontext
Der Standardanwendungsfall für die meisten generativen Modelle ist zwar immer noch die Texteingabe, aber die Gemini-Modellfamilie ermöglicht ein neues Paradigma für multimodale Anwendungsfälle. Diese Modelle können Text, Video, Audio und Bilder nativ verstehen. Sie werden von der Gemini API begleitet, die multimodale Dateitypen akzeptiert.
Text im Langformat
Text hat sich als die Intelligenzschicht erwiesen, die einen Großteil des Momentums bei LLMs trägt. Wie bereits erwähnt, war eine der praktischen Einschränkungen von LLMs, dass das Kontextfenster für bestimmte Aufgaben nicht groß genug war. Dies führte zur schnellen Einführung von Retrieval-Augmented Generation (RAG) und anderen Techniken, die dem Modell dynamisch relevante Kontextinformationen zur Verfügung stellen. Mit immer größeren Kontextfenstern stehen neue Verfahren zur Verfügung, die neue Anwendungsfälle ermöglichen.
Zu den neuen und gängigen Anwendungsfällen für textbasierten langen Kontext gehören:
- Zusammenfassung großer Textkorpora
- Bei früheren Summarisierungsoptionen mit kleineren Kontextmodellen war ein Schiebefenster oder eine andere Methode erforderlich, um den Status früherer Abschnitte beizubehalten, wenn neue Tokens an das Modell übergeben wurden.
- Fragen und Antworten
- Bisher war dies nur mit RAG möglich, da der Kontext begrenzt war und die Modelle nur wenige Fakten abrufen konnten.
- Workflows auf Agent-Ebene
- Text ist die Grundlage dafür, wie Agenten den Überblick darüber behalten, was sie getan haben und was sie tun müssen. Wenn nicht genügend Informationen über die Welt und das Ziel des Agents vorhanden sind, ist die Zuverlässigkeit der Agenten eingeschränkt.
Many-shot in-context learning ist eine der einzigartigsten Funktionen, die durch lange Kontextmodelle ermöglicht werden. Studien haben gezeigt, dass das gängige Paradigma „Single-Shot“ oder „Multi-Shot“, bei dem dem Modell ein oder wenige Beispiele für eine Aufgabe präsentiert werden, auf Hunderte, Tausende oder sogar Hunderttausende von Beispielen hochskaliert werden kann, um neue Modellfunktionen zu ermöglichen. 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 Barrierefreiheit des Mediums selbst eingeschränkt. Es war schwierig, den Inhalt zu überfliegen, Transkripte konnten die Feinheiten eines Videos oft nicht erfassen und die meisten Tools verarbeiten Bild, Text und Audio nicht gleichzeitig. Mit Gemini können mithilfe von Textfunktionen mit langem Kontext Schlussfolgerungen gezogen und Fragen zu multimodalen Eingaben mit gleichbleibender Leistung beantwortet werden.
Beispiele für neue und gängige Anwendungsfälle für den Kontext „Videos mit langer Wiedergabedauer“:
- Fragen und Antworten zu Videos
- Videospeicher, wie in Project Astra von Google dargestellt
- Videountertitel
- Videoempfehlungssysteme, indem vorhandene Metadaten um neue multimodale Informationen ergänzt werden
- Videoanpassung: Anhand eines Datenkorpus und der zugehörigen Videometadaten werden Teile von Videos entfernt, 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 verarbeitet werden. Dies wirkt sich auf die Abrechnung und die Nutzungslimits aus. Weitere Informationen zu Prompts mit Videodateien finden Sie im Leitfaden zu Prompts.
Audioinhalte im Langformat
Die Gemini-Modelle waren die ersten nativ multimodalen Large Language Models, die Audio verstehen konnten. Bisher mussten Entwickler mehrere domänenspezifische Modelle wie ein Sprach-zu-Text-Modell und ein Text-zu-Text-Modell zusammenstellen, um Audio zu verarbeiten. Dies führte zu einer zusätzlichen Latenz, die durch das Ausführen mehrerer Rückgabeanfragen erforderlich war, und zu einer verringerten Leistung, die in der Regel auf nicht verbundene Architekturen der Mehrfachmodelleinrichtung zurückzuführen ist.
Zu den neuen und gängigen Anwendungsfällen für den Audiokontext gehören:
- Sprache-zu-Text und Übersetzung in Echtzeit
- Fragen und Antworten in Podcasts / Videos
- Transkription und Zusammenfassung von Videokonferenzen
- Sprachassistenten
Weitere Informationen zu Prompts mit Audiodateien finden Sie im Leitfaden zu Prompts.
Optimierungen für langen Kontext
Die wichtigste Optimierung bei der Arbeit mit langem Kontext und den Gemini-Modellen ist das Kontext-Caching. Neben der 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 pro Stunde für die Speicherung bezahlen. Die Eingabe-/Ausgabekosten pro Anfrage mit Gemini Flash sind beispielsweise etwa viermal niedriger als die standardmäßigen Eingabe-/Ausgabekosten. Wenn der Nutzer also häufig mit seinen Daten chattet, ergeben sich für Sie als Entwickler enorme Kosteneinsparungen.
Einschränkungen für langen Kontext
In verschiedenen Abschnitten dieses Leitfadens ging es darum, wie Gemini-Modelle eine hohe Leistung bei verschiedenen „Nadel im Heuhaufen“-Suchanfragen erzielen. Bei diesen Tests wird die einfachste Konfiguration berücksichtigt, bei der Sie nach einer einzelnen Nadel suchen. Wenn Sie nach mehreren „Nadeln“ oder bestimmten Informationen suchen, ist die Leistung des Modells nicht so genau. Die Leistung kann je nach Kontext stark variieren. Das ist wichtig, da es einen Trade-off zwischen den Kosten und der Wahrscheinlichkeit gibt, dass die richtigen Informationen abgerufen werden. Sie können mit einer einzelnen Abfrage eine Genauigkeit von etwa 99% erzielen. Sie müssen jedoch jedes Mal, wenn Sie diese Abfrage senden, die Kosten für das Eingabetoken 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 das Kontext-Caching die mit der Verwendung von Gemini-Modellen verbundenen Kosten erheblich senken kann, während die Leistung hoch bleibt.
Häufig gestellte Fragen
Wo sollte ich meine Suchanfrage im Kontextfenster platzieren?
In den meisten Fällen, insbesondere wenn der gesamte Kontext lang ist, ist die Leistung des Modells besser, wenn Sie Ihre Suchanfrage am Ende des Prompts (nach dem gesamten anderen Kontext) platzieren.
Geht die Modellleistung zurück, wenn ich einer Abfrage mehr Tokens hinzufüge?
Wenn keine Tokens an das Modell übergeben werden müssen, sollten Sie sie in der Regel nicht übergeben. Wenn Sie jedoch eine große Menge an Tokens mit Informationen haben und Fragen zu diesen Informationen stellen möchten, kann das Modell diese Informationen in vielen Fällen mit einer Genauigkeit von bis zu 99% extrahieren.
Wie kann ich meine Kosten bei Abfragen mit langem Kontext senken?
Wenn Sie ähnliche Tokens / Kontexte haben, die Sie häufig wiederverwenden möchten, kann das Kontext-Caching dazu beitragen, die Kosten für das Stellen von Fragen zu diesen Informationen zu senken.
Wirkt sich die Kontextlänge auf die Modelllatenz aus?
Jede Anfrage hat unabhängig von ihrer Größe eine gewisse feste Latenz. Längere Abfragen haben jedoch in der Regel eine höhere Latenz (Time to First Token).