Gemini 1.5 Flash hat standardmäßig ein Kontextfenster von 1 Million Tokens und Gemini 1.5 Pro ein Kontextfenster von 2 Millionen Tokens. Bisher waren Large Language Models (LLM) stark durch die Menge an Text (oder Tokens) begrenzt, die gleichzeitig an das Modell übergeben werden konnte. Das lange Kontextfenster von Gemini 1.5 mit nahezu perfekter Abrufrate (über 99%) eröffnet viele neue Anwendungsfälle und Entwicklerparadigmen.
Der Code, den Sie bereits für Anwendungsfälle wie die Inhaltsgenerierung oder multimodale Eingaben verwenden, funktioniert auch mit langen Kontexten.
In diesem Leitfaden erfahren Sie kurz die Grundlagen des Kontextfensters, wie Entwickler über den langen Kontext nachdenken sollten, verschiedene Anwendungsfälle für den langen Kontext in der Praxis und Möglichkeiten zur Optimierung der Verwendung des langen Kontexts.
Was ist ein Kontextfenster?
Die Gemini 1.5-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
Die meisten generativen Modelle, die in den letzten Jahren erstellt wurden, konnten nur 8.000 Token gleichzeitig verarbeiten. Neuere Modelle haben diese Leistung noch weiter gesteigert, indem sie 32.000 oder 128.000 Token akzeptierten. Gemini 1.5 ist das erste Modell, das 1 Million Token verarbeiten kann. Mit Gemini 1.5 Pro sind es jetzt 2 Millionen Token.
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
Auch wenn die Modelle immer mehr Kontext berücksichtigen können, gehen viele gängige Annahmen zur Verwendung von Large Language Models von dieser inhärenten Einschränkung des Modells aus, was seit 2024 nicht mehr der Fall ist.
Zu den gängigen Strategien zur Bewältigung der Einschränkung kleiner Kontextfenster gehören:
- Willkürliches Entfernen alter Nachrichten / Text aus dem Kontextfenster, wenn neuer Text eingeht
- Vorherige Inhalte zusammenfassen und durch die Zusammenfassung ersetzen, wenn das Kontextfenster fast voll ist
- RAG mit semantischen Suchanfragen verwenden, um Daten aus dem Kontextfenster in eine Vektordatenbank zu verschieben
- Deterministische oder generative Filter verwenden, um bestimmten Text oder bestimmte Zeichen aus Prompts zu entfernen, um Tokens zu speichern
Viele davon sind in bestimmten Fällen zwar immer noch relevant, aber standardmäßig fügen Sie jetzt einfach alle Tokens in das Kontextfenster ein. Da Gemini 1.5-Modelle speziell mit einem langen Kontextfenster entwickelt wurden, sind sie für das kontextbezogene Lernen viel besser geeignet. Beispiel: Wenn nur Lehrmaterialien (eine 500-Seiten-Referenzgrammatik, ein Wörterbuch und ≈ 400 zusätzliche parallele Sätze) im Kontext bereitgestellt werden, sind Gemini 1.5 Pro und Gemini 1.5 Flashin der Lage, vom Englischen nach Kalamang das Übersetzen zu lernen – eine Papua-Sprache mit weniger als 200 Sprechern und daher fast keine Onlinepräsenz – mit einer Qualität, die der einer Person ähnelt, die aus denselben Materialien gelernt hat.
Dieses Beispiel verdeutlicht, wie Sie darüber nachdenken können, was mit dem langen Kontext und den kontextbezogenen Lernfunktionen von Gemini 1.5 möglich ist.
Anwendungsfälle mit langem Kontext
Der Standardanwendungsfall für die meisten generativen Modelle ist zwar immer noch die Texteingabe, aber die Gemini 1.5-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 Vertex AI API für Gemini 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 der Retrieval-Augmented Generation (RAG) und anderer Techniken, die dem Modell dynamisch relevante Kontextinformationen zur Verfügung stellen. Mit immer größeren Kontextfenstern (aktuell bis zu 2 Millionen in Gemini 1.5 Pro) 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 für Kundenservicemitarbeiter
- 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 zusammen. Mit Gemini 1.5 können mithilfe der Funktionen für Langtexte Schlussfolgerungen gezogen und Fragen zu multimodalen Eingaben mit gleichbleibender Leistung beantwortet werden. Bei einem Test mit der Nadel in einem Video-Haystack-Problem mit 1 Million Tokens konnte Gemini 1.5 Flash das Video im Kontextfenster mit über 99,8% wiedererkennen.Gemini 1.5 Pro erreichte beim Video-MME-Benchmark eine Spitzenleistung.
Beispiele für neue und gängige Anwendungsfälle für den Kontext „Videos mit langer Wiedergabedauer“:
- Frage-Antwort-System für 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 findest du im Leitfaden zu Prompts.
Audioinhalte im Langformat
Die Gemini 1.5-Modelle waren die ersten nativ multimodalen Large Language Models, die Audio verstehen konnten. Bisher mussten Entwickler mehrere domänenspezifische Modelle wie ein Speech-to-Text-Modell und ein Text-to-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 geringeren Leistung, die in der Regel auf nicht verbundene Architekturen der Mehrfachmodelleinrichtung zurückzuführen ist.
Bei Standardbewertungen von Audio-Hystacks kann Gemini 1.5 Pro die ausgeblendeten Audiodaten in 100% der Tests finden und Gemini 1.5 Flash in 98,7 %.der Tests “ Gemini 1.5 Flash unterstützt bis zu 9,5 Stunden Audio in einer einzelnen Anfrage.Gemini 1.5 Pro kann mit dem Kontextfenster mit 2 Millionen Tokens bis zu 19 Stunden Audio verarbeiten. Bei einem Testsatz mit 15-minütigen Audioclips erreicht Gemini 1.5 Pro eine Wortfehlerrate von etwa 5,5 %. Das ist deutlich niedriger als bei spezialisierten Modellen für die Spracheingabe – ohne die zusätzliche Komplexität einer zusätzlichen Eingabesegmentierung und ‑vorverarbeitung.
Zu den neuen und gängigen Anwendungsfällen für den Audiokontext gehören:
- Sprache-zu-Text und Übersetzung in Echtzeit
- Podcast / Video – Fragen und Antworten
- 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 1.5-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 sind niedriger als die Standardeingabe-/Ausgabekosten. Wenn der Nutzer also häufig mit seinen Daten chatten möchte, bedeutet das für Sie als Entwickler eine enorme Kostenersparnis.
Einschränkungen für langen Kontext
In verschiedenen Abschnitten dieses Leitfadens ging es darum, wie Gemini 1.5-Modelle eine hohe Leistung bei verschiedenen "Nadel im Heuhaufen"-Evaluationsvorgängen 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 Kosten für die Verwendung von Gemini-Modellen erheblich senken kann, während die Leistung hoch bleibt.
Nächste Schritte
- Weitere Informationen zum Zählen von Tokens
- Weitere Informationen zum Berechnen von Tokens
- Informationen zum Testen von Chat-Prompts
- Weitere Informationen zum Testen von Text-Prompts
- Texteinbettungen abrufen