Langer Kontext

Gemini 1.5 Flash hat standardmäßig ein Kontextfenster mit 1 Million Tokens und Gemini 1.5 Pro mit einem Kontextfenster mit 2 Millionen Tokens. In der Vergangenheit waren Large Language Models (LLMs) durch die Menge an Text (oder Tokens) begrenzt, die gleichzeitig an das Modell übergeben werden konnten. Das lange Kontextfenster von Gemini 1.5 mit fast perfektem Abruf (>99%) bietet viele neue Anwendungsfälle und Entwicklerparadigmen.

Der Code, den Sie bereits für Fälle wie Inhaltsgenerierung oder multimodale Eingaben verwenden, funktioniert sofort mit langer Ausführungszeit.

In diesem Leitfaden werden die Grundlagen des Kontextfensters, wie Entwickler einen langen Kontext betrachten, verschiedene reale Anwendungsfälle für einen langen Kontext und Möglichkeiten zur Optimierung der Verwendung von langem Kontext haben.

Was ist ein Kontextfenster?

Die grundlegende Verwendung der Gemini 1.5-Modelle besteht darin, Informationen (Kontext) an das Modell zu übergeben, das anschließend eine Antwort generiert. Eine Analogie für das Kontextfenster ist der Kurzzeitspeicher. Es gibt eine begrenzte Menge an Informationen, die im kurzfristigen Arbeitsspeicher einer Person gespeichert werden können. Dasselbe gilt für generative Modelle.

Weitere Informationen zur Funktionsweise von Modellen finden Sie in unserem Leitfaden für generative Modelle.

Erste Schritte mit langer Kontext

Die meisten in den letzten Jahren erstellten generativen Modelle konnten jeweils nur 8.000 Tokens verarbeiten. Neuere Modelle haben dies weiter vorangetrieben, indem sie 32.000 Tokens oder 128.000 Tokens akzeptierten. Gemini 1.5 ist das erste Modell, das 1 Million Tokens akzeptieren kann, und jetzt 2 Millionen Tokens mit Gemini 1.5 Pro.

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

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

Obwohl die Modelle immer mehr Kontext erfordern, geht die herkömmliche Meinung bei der Verwendung von Large Language Models oft auf diese inhärente Einschränkung des Modells aus, die ab 2024 nicht mehr der Fall ist.

Hier einige gängige Strategien, um die Einschränkung kleiner Kontextfenster zu bewältigen:

  • willkürlich alte Nachrichten / Text aus dem Kontextfenster löschen, wenn neuer Text eingeht
  • Zusammenfassen des vorherigen Inhalts und Ersetzen durch die Zusammenfassung, wenn das Kontextfenster fast voll ist
  • RAG mit der semantischen Suche verwenden, um Daten aus dem Kontextfenster in eine Vektordatenbank zu verschieben
  • Deterministische oder generative Filter verwenden, um bestimmte Text/Zeichen aus Aufforderungen zu entfernen und Tokens zu speichern

Obwohl viele davon in bestimmten Fällen weiterhin relevant sind, besteht der Standardstart jetzt nur darin, alle Tokens in das Kontextfenster einzufügen. Da Gemini 1.5-Modelle mit einem langen Kontextfenster speziell entwickelt wurden, können sie viel besser im Kontext lernen. 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, wie Sie sich Gedanken darüber machen können, was mit langem Kontext und den kontextabhängigen Lernfunktionen von Gemini 1.5 möglich ist.

Anwendungsfälle im langen Kontext

Obwohl der Standardanwendungsfall für die meisten generativen Modelle immer noch die Texteingabe ist, ermöglicht die Gemini 1.5-Modellfamilie ein neues Modell multimodaler Anwendungsfälle. Diese Modelle können Text, Video, Audio und Bilder nativ verstehen. Sie werden der Einfachheit halber von der Vertex AI API für Gemini verwendet, die multimodale Dateitypen verwendet.

Text im Langformat

Text hat sich als die Intelligenzschicht erwiesen, die einen Großteil des Momentums bei LLMs trägt. Wie bereits erwähnt, bestand ein Großteil der praktischen Einschränkung von LLMs darin, dass das Kontextfenster für bestimmte Aufgaben nicht groß genug ist. Dies führte zur schnellen Einführung von Retrieval Augmented Generation (RAG) und anderen Techniken, die dem Modell dynamisch relevante Kontextinformationen zur Verfügung stellten. Mit größeren und größeren Kontextfenstern (derzeit bis zu 2 Millionen auf Gemini 1.5 Pro) sind jetzt 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 Textkorpus
    • 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.
  • Question Answering
    • In der Vergangenheit war dies nur mit RAG möglich, da der faktische Recall der Modelle und der Kontext gering war.
  • Agentenbasierte Workflows
    • Text bildet die Grundlage dafür, wie Kundenservicemitarbeiter den Status ihrer Aktivitäten und ihrer Maßnahmen behalten. nicht genügend Informationen über die Welt haben und das Ziel des Agents ist eine Einschränkung der Zuverlässigkeit von Agents.

Many-shot in-context learning ist eine der einzigartigsten Funktionen, die durch lange Kontextmodelle ermöglicht werden. Untersuchungen haben gezeigt, dass das gängige Beispielparadigma "Single-Shot" oder "Multi-Shot" verwendet wird, bei dem dem Modell ein oder einige Beispiele für eine Aufgabe präsentiert werden, und das Modell auf Hunderte von Geräten skaliert wird. Tausende oder sogar Hunderttausende von Beispielen können zu neuen Modellfunktionen führen. 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 wird schon lange durch den fehlenden Zugriff des Mediums selbst eingeschränkt. Es war schwierig, den Inhalt zu übersehen. Transkripte konnten den feinen Unterschied eines Videos oft nicht erfassen, und die meisten Tools verarbeiten Bild, Text und Audio nicht zusammen. Bei Gemini 1.5 ermöglichen die Langzeit-Textfunktionen die Fähigkeit, Fragen zu multimodalen Eingaben mit kontinuierlicher Leistung zu verstehen und zu beantworten. Gemini 1.5 Flash wurde bei einem Test auf der Nade in einem Video-Hystack-Problem mit 1 Million Tokens getestet, was einen Recall von über 99,8% des Videos im Kontextfenster erreichte und 1.5 Pro den Stand der Technik für {101 }Video-MME-Benchmark

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

  • Question Answering für Videos
  • Videospeicher, wie mit Project Astra von Google gezeigt
  • Videountertitelung
  • Videoempfehlungssysteme durch Anreichern vorhandener Metadaten mit neuem multimodalem Verständnis
  • Videoanpassung, indem ein Korpus von Daten und zugehörigen Videometadaten analysiert und für den Betrachter nicht relevante Teile von Videos entfernt werden
  • 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 hat Auswirkungen auf die Abrechnungs- und Nutzungslimits. Weitere Informationen zu Prompts mit Videodateien finden Sie in der Anleitung zu Prompts.

Audioinhalte im Langformat

Die Gemini 1.5-Modelle waren die ersten nativ multimodalen Large Language Models, die Audio verstehen konnten. In der Vergangenheit musste der typische Entwicklerworkflow dazu führen, dass mehrere domainspezifische Modelle wie ein Sprach-zu-Text-Modell und ein Text-zu-Text-Modell zur Audioverarbeitung zusammengefügt werden. Dies führte zu zusätzlicher Latenz, die aufgrund der Durchführung mehrerer Umlaufanfragen erforderlich war, und eine verminderte Leistung, die in der Regel auf getrennte Architekturen der Einrichtung mehrerer Modelle 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 archiviert Gemini 1.5 Pro bei einem Testset von 15-minütigen Audioclips eine Wortfehlerrate von ca. 5,5 %. Das ist viel niedriger als bei speziellen Spracherkennungsmodellen ohne die zusätzlichen Komplexität der zusätzlichen Eingabesegmentierung und Vorverarbeitung.

Einige neue und standardmäßige Anwendungsfälle für 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 in der Anleitung zu Prompts.

Optimierungen im langen Kontext

Die primäre Optimierung bei der Arbeit mit langem Kontext und den Gemini 1.5-Modellen ist die Verwendung von Kontext-Caching. Neben der vorherigen Möglichkeit, viele Tokens in einer einzelnen Anfrage zu verarbeiten, waren die anderen Haupteinschränkungens die Kosten. 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 für die Speicherung pro Stunde bezahlen. Die Eingabe-/Ausgabekosten pro Anfrage sind geringer als die Standardkosten für Eingabe / Ausgabe. Wenn der Nutzer also mit seinen Daten chatten kann, bedeutet dies eine enorme Kosteneinsparung für Sie als Entwickler.

Einschränkungen beim 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. Diese Tests betrachten die einfachste Einrichtung, bei der Sie eine einzige Nadel haben, nach der Sie suchen. Wenn Sie mehrere "Nadeln" oder bestimmte Informationen haben, nach denen Sie suchen, funktioniert das Modell nicht mit derselben Genauigkeit. Die Leistung kann je nach Kontext stark variieren. Dies ist wichtig, da ein inhärenter Kompromiss zwischen dem Abrufen der richtigen Informationen und den Kosten besteht. Sie können für eine einzelne Abfrage ca. 99% erhalten, müssen jedoch die Kosten für das Eingabetoken jedes Mal bezahlen, wenn Sie diese Abfrage senden. Wenn Sie also 100 Informationen abrufen möchten, müssen Sie mit einer Leistung von 99% wahrscheinlich 100 Anfragen senden. Dies ist ein gutes Beispiel dafür, bei dem Kontext-Caching die Kosten für die Verwendung von Gemini-Modellen erheblich senken kann, während die Leistung hoch bleibt.

Nächste Schritte