Langer Kontext

Gemini wird standardmäßig mit einem Kontextfenster von 1 Million Tokens ausgeliefert. In der Vergangenheit waren Large Language Models (LLMs) erheblich durch die Menge an Text (oder Tokens) begrenzt, die dem Modell gleichzeitig übergeben werden konnte. Das lange Kontextfenster von Gemini mit einer nahezu perfekten Abrufgenauigkeit (> 99%), ermöglicht viele neue Anwendungsfälle und Entwicklerparadigmen.

Der Code, den Sie bereits für Fälle wie die Inhalts generierung oder multimodale Eingaben verwenden, funktioniert sofort mit dem langen Kontext.

In diesem Leitfaden werden die Grundlagen des Kontextfensters, die Überlegungen von Entwicklern zum langen Kontext, verschiedene Anwendungsfälle für den langen Kontext in der Praxis und Möglichkeiten zur Optimierung der Verwendung des langen Kontexts kurz erläutert.

Was ist das Kontextfenster?

Die grundlegende Verwendung der Gemini-Modelle besteht darin, dem Modell Informationen (Kontext) zu übergeben, woraufhin das Modell eine Antwort generiert. Eine Analogie für das Kontextfenster ist das Kurzzeitgedächtnis. Die Menge an Informationen, die im Kurzzeitgedächtnis einer Person gespeichert werden kann, ist begrenzt. Das gilt auch für generative Modelle.

Weitere Informationen zur Funktionsweise von Modellen finden Sie in unserem Leitfaden zu generativen Modellen.

Erste Schritte mit dem langen Kontext

Die meisten generativen Modelle, die in den letzten Jahren entwickelt wurden, konnten nur 8.000 Tokens gleichzeitig verarbeiten. Neuere Modelle haben diese Grenze auf 32.000 oder 128.000 Tokens erhöht. Gemini ist das erste Modell, das 1 Million Tokens verarbeiten kann, und mit Gemini 1.5 Pro sind es jetzt sogar 2 Millionen Tokens.

In der Praxis würden 1 Million Tokens so aussehen:

  • 50.000 Codezeilen (mit den standardmäßigen 80 Zeichen pro Zeile)
  • Alle Textnachrichten, die Sie in den letzten 5 Jahren gesendet haben
  • 8 englische Romane mit durchschnittlicher Länge
  • Transkripte von über 200 Podcastfolgen mit durchschnittlicher Länge

Obwohl die Modelle immer mehr Kontext aufnehmen können, geht ein Großteil des herkömmlichen Wissens über die Verwendung von Large Language Models von dieser inhärenten Einschränkung des Modells aus, die seit 2024 nicht mehr zutrifft.

Einige gängige Strategien zur Bewältigung der Einschränkung kleiner Kontextfenster:

  • Alte Nachrichten / Texte werden willkürlich aus dem Kontextfenster entfernt, wenn neuer Text eingeht.
  • Vorherige Inhalte werden zusammengefasst und durch die Zusammenfassung ersetzt, wenn das Kontextfenster fast voll ist.
  • RAG mit semantischer Suche wird verwendet, um Daten aus dem Kontextfenster in eine Vektordatenbank zu verschieben.
  • Deterministische oder generative Filter werden verwendet, um bestimmten Text/bestimmte Zeichen aus Prompts zu entfernen und so Tokens zu sparen.

Viele dieser Strategien sind in bestimmten Fällen immer noch relevant. Standardmäßig werden jetzt jedoch alle Tokens in das Kontextfenster eingefügt. Da Gemini-Modelle speziell mit einem langen Kontextfenster entwickelt wurden, sind sie viel besser für das In-Context-Lernen 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 zeigt, was mit dem langen Kontext und den In-Context-Lernfunktionen von Gemini möglich ist.

Anwendungsfälle für den langen Kontext

Der Standardanwendungsfall für die meisten generativen Modelle ist nach wie vor 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. Sie werden begleitet von der Gemini Enterprise API für Gemini, die multimodale Dateitypen akzeptiert für Komfort.

Text im Langformat

Text hat sich als die Intelligenzebene erwiesen, die einen Großteil der Dynamik rund um LLMs untermauert. Wie bereits erwähnt, war ein Großteil der praktischen Einschränkungen von LLMs darauf zurückzuführen, dass das Kontextfenster nicht groß genug war, um bestimmte Aufgaben auszuführen. 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 (derzeit bis zu 2 Millionen bei Gemini 1.5 Pro) werden neue Techniken verfügbar, die neue Anwendungsfälle ermöglichen.

Einige neue und standardmäßige Anwendungsfälle für textbasierten langen Kontext:

  • Zusammenfassen großer Textmengen
    • Für frühere Zusammenfassungsoptionen mit kleineren Kontextmodellen war ein gleitendes Fenster oder eine andere Technik erforderlich, um den Status vorheriger Abschnitte beizubehalten, während dem Modell neue Tokens übergeben wurden.
  • Fragen und Antworten
    • In der Vergangenheit war dies aufgrund der begrenzten Menge an Kontext und der geringen faktischen Erinnerung der Modelle nur mit RAG möglich.
  • Agentische Workflows
    • Text ist die Grundlage dafür, wie Agents den Status ihrer Aufgaben und der noch zu erledigenden Aufgaben beibehalten. Wenn nicht genügend Informationen über die Welt und das Ziel des Agents vorhanden sind, wird die Zuverlässigkeit der Agents eingeschränkt.

Many-shot in-context learning ist eine der einzigartigsten Funktionen, die durch lange Kontextmodelle ermöglicht werden. Untersuchungen haben gezeigt, dass das gängige Paradigma 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 skaliert werden kann, was 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

Der Nutzen von Videoinhalten war lange Zeit durch die mangelnde Zugänglichkeit des Mediums selbst eingeschränkt. Es war schwierig, die Inhalte zu überfliegen, Transkripte konnten die Nuancen eines Videos oft nicht erfassen und die meisten Tools verarbeiten Bilder, Text und Audio nicht zusammen. Mit Gemini führen die Textfunktionen mit langem Kontext dazu, dass Fragen zu multimodalen Eingaben mit gleichbleibender Leistung beantwortet werden können.

Einige neue und standardmäßige Anwendungsfälle für den langen Kontext von Videos:

  • Fragen und Antworten zu Videos
  • Videospeicher, wie bei Project Astra von Google gezeigt
  • Videountertitel
  • Videoempfehlungssysteme, indem vorhandene Metadaten mit neuem multimodalen Verständnis angereichert werden
  • Videoanpassung, indem ein Datensatz und die zugehörigen Videometadaten analysiert und dann Teile von Videos entfernt werden, 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 in dem Leitfaden zu Prompts.

Audioinhalte im Langformat

Die Gemini-Modelle waren die ersten nativ multimodalen Large Language Models, die Audio verstehen konnten. In der Vergangenheit umfasste der typische Entwicklerworkflow die Verknüpfung mehrerer domänenspezifischer Modelle, z. B. eines Sprache-zu-Text-Modells und eines Text-zu-Text-Modells, um Audio zu verarbeiten. Dies führte zu einer zusätzlichen Latenz, die durch mehrere Round-Trip-Anfragen erforderlich war, und zu einer geringeren Leistung, die in der Regel auf die nicht verbundene Architektur der Einrichtung mit mehreren Modellen 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 akzeptiert bis zu 9,5 Stunden Audio in einer einzigen Anfrage und Gemini 1.5 Pro kann mit dem Kontextfenster von 2 Millionen Tokens bis zu 19 Stunden Audio verarbeiten. Außerdem erreicht Gemini 1.5 Pro in einem Testsatz mit 15-minütigen Audioclips eine Wortfehlerrate (WER) von ~5,5%, die viel niedriger ist als bei spezialisierten Sprache-zu-Text-Modellen, ohne die zusätzliche Komplexität der zusätzlichen Eingabesegmentierung und Vorverarbeitung.

Einige neue und standardmäßige Anwendungsfälle für den Audiokontext:

  • Sprache-zu-Text und Übersetzung in Echtzeit
  • Fragen und Antworten zu Podcasts / Videos
  • Besprechungstranskription und -zusammenfassung
  • Sprachassistenten

Weitere Informationen zu Prompts mit Audiodateien finden Sie im Leitfaden zu Prompts.

Optimierungen für den langen Kontext

Die wichtigste Optimierung bei der Arbeit mit dem langen Kontext und den Gemini Modellen ist die Verwendung von Kontext-Caching. Neben der bisherigen Unmöglichkeit, viele Tokens in einer einzigen Anfrage zu verarbeiten, war die andere Haupteinschränkung der Preis. 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 bezahlen. Die Kosten für Eingabe / Ausgabe pro Anfrage sind geringer als die Standardkosten für Eingabe / Ausgabe. Wenn der Nutzer also ausreichend mit seinen Daten chattet, können Sie als Entwickler erhebliche Kosten sparen.

Einschränkungen des langen Kontexts

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 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 inhärenten Kompromiss zwischen dem Abrufen der richtigen Informationen und den Kosten gibt. Sie können bei einer einzelnen Abfrage ~99% erreichen, müssen aber jedes Mal die Kosten für die Eingabetokens bezahlen, wenn Sie diese Abfrage senden. Wenn also 100 Informationen abgerufen werden sollen und Sie 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 und gleichzeitig die Leistung hoch halten kann.

Nächste Schritte

Leitfaden

Mit dem Google Gen AI SDK können Sie die Tokens und ihre Token-IDs eines Prompts auflisten und die Gesamtzahl der Tokens eines Prompts abrufen.