Langer Kontext

Gemini hat standardmäßig ein Kontextfenster von 1 Million Tokens. Bisher waren Large Language Models (LLMs) durch die Menge an Text (oder Tokens) begrenzt, die dem Modell gleichzeitig übergeben werden konnte. Das große Kontextfenster von Gemini mit nahezu perfektem Abruf (>99%) eröffnet viele neue Anwendungsfälle und Entwicklerparadigmen.

Der Code, den Sie bereits für Anwendungsfälle wie Inhaltsgenerierung 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 und Möglichkeiten zur Optimierung der Nutzung des langen Kontexts behandelt.

Was ist ein Kontextfenster?

Die Gemini-Modelle werden im Grunde so verwendet, dass Sie Informationen (Kontext) an das Modell übergeben, das dann eine Antwort generiert. Eine Analogie für das Kontextfenster ist das Kurzzeitgedächtnis. Im Kurzzeitgedächtnis einer Person kann nur eine begrenzte Menge an Informationen gespeichert werden. 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

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 sogar 2 Millionen Tokens.

In der Praxis sehen 1 Million Tokens so aus:

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

Auch wenn die Modelle immer mehr Kontext aufnehmen können, geht ein Großteil der konventionellen Weisheit über die Verwendung von Large Language Models von dieser inhärenten Einschränkung des Modells aus, die ab 2024 nicht mehr zutrifft.

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

  • Alte Nachrichten / Text werden willkürlich aus dem Kontextfenster entfernt, wenn neuer Text eingeht.
  • Vorherige Inhalte zusammenfassen und durch die Zusammenfassung ersetzen, wenn das Kontextfenster fast voll ist
  • RAG mit semantischer Suche 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 und so Tokens zu sparen

Viele dieser Methoden sind in bestimmten Fällen immer noch relevant. Der Standardansatz besteht jedoch darin, alle Tokens in das Kontextfenster einzufügen. Da Gemini-Modelle speziell für ein langes Kontextfenster entwickelt wurden, eignen sie sich viel besser für das In-Context Learning. Mit nur Lehrmaterialien (einer 500 Seiten umfassenden Referenzgrammatik, einem Wörterbuch und etwa 400 zusätzlichen parallelen Sätzen), die alle im Kontext bereitgestellt werden, können Gemini 1.5 Pro und Gemini 1.5 Flash lernen, zu übersetzen. Das gilt auch für die Übersetzung aus dem Englischen ins Kalamang, eine Sprache, die von weniger als 200 Menschen gesprochen wird und daher kaum online vertreten ist. Die Qualität der Übersetzung ist dabei vergleichbar mit der einer Person, die aus denselben Materialien gelernt hat.

Dieses Beispiel zeigt, wie Sie sich vorstellen können, was mit dem langen Kontext und den In-Context-Learning-Funktionen von Gemini möglich ist.

Anwendungsfälle für langen 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. Zur Vereinfachung gibt es die Gemini Enterprise API für Gemini, die multimodale Dateitypen akzeptiert.

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 vorhanden 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 (derzeit bis zu 2 Millionen bei Gemini 1.5 Pro) stehen 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 des geringen Faktenwissens der Modelle nur mit RAG möglich.
  • Agentic Workflows
    • Text ist die Grundlage dafür, wie Agents den Status ihrer Aktionen und der Aufgaben, die sie ausführen müssen, 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, die Inhalte 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 dank der Textfunktionen mit langem Kontext Fragen zu multimodalen Eingaben beantwortet werden, ohne dass die Leistung nachlässt.

Hier sind einige neue und Standardanwendungsfälle für Video-Langkontext:

  • Fragen und Antworten zu Videos
  • Videospeicher, wie bei Project Astra von Google gezeigt
  • 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

Wenn Sie mit Videos arbeiten, ist es wichtig zu wissen, wie Videos in Tokens umgewandelt werden, da sich dies auf die Abrechnung und die Nutzungslimits auswirkt. Weitere Informationen zum Prompting mit Videodateien finden Sie im Prompting-Leitfaden.

Audioinhalte im Langformat

Die Gemini-Modelle waren die ersten nativ multimodalen großen Sprachmodelle, die Audio verstehen konnten. Bisher mussten Entwickler für die Verarbeitung von Audio mehrere domänenspezifische Modelle wie ein Speech-to-Text-Modell und ein Text-zu-Text-Modell miteinander verknüpfen. Dies führte zu einer zusätzlichen Latenz, die durch die Ausführung mehrerer Roundtrip-Anfragen erforderlich war, und zu einer geringeren Leistung, die in der Regel auf die nicht zusammenhängenden Architekturen 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 einzelnen Anfrage und Gemini 1.5 Pro kann mit dem Kontextfenster mit 2 Millionen Tokens bis zu 19 Stunden Audio akzeptieren. Außerdem erreicht Gemini 1.5 Pro bei einem Testset mit 15-minütigen Audio-Clips eine Wortfehlerrate (Word Error Rate, WER) von etwa 5,5%, was viel niedriger ist als bei spezialisierten Speech-to-Text-Modellen, ohne dass eine zusätzliche Eingabesegmentierung und ‑vorverarbeitung erforderlich ist.

Einige neue und Standardanwendungsfälle für Audio-Kontext sind:

  • Sprache-zu-Text und Übersetzung in Echtzeit
  • Question Answering für 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 wichtigste 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 stundenweise für die Speicherung bezahlen. Die Kosten für Ein- und Ausgabe pro Anfrage sind geringer als die Standardkosten für Ein- und Ausgabe. Wenn der Nutzer also häufig genug 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 nur eine 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 einzigen 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 mit dem Kontext-Caching die Kosten für die Verwendung von Gemini-Modellen erheblich senken lassen, ohne dass die Leistung darunter leidet.

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.