LW IT Solutions
« Blog Overview /Cloud & AI / Chunk-Größe und Überlappung in einer RAG-Wissensbasis: Auswirkungen...
This post in other languages:

Chunk-Größe und Überlappung in einer RAG-Wissensbasis: Auswirkungen auf Embedding-Zahl, Token-Budget und Neuindexierung

Chunk-Größe und Überlappung in einer RAG-Wissensbasis: Auswirkungen auf Embedding-Zahl, Token-Budget und Neuindexierung
Inhalt
  1. Warum die Überlappung Geld kostet
  2. Wofür die Überlappung überhaupt da ist
  3. An der Struktur zu schneiden schlägt das Schneiden nach Zahl
  4. Zwei Größen, zwei verschiedene Fehler
  5. Die Kosten, die wiederkehren
  6. Die Einstellung zu ändern heißt neu aufzubauen
  7. Quellen

Eine Wissensbasis für einen KI-Assistenten beginnt damit, lange Dokumente in kurze Abschnitte zu zerlegen. Zwei Zahlen entscheiden darüber, wie das geschieht: wie lang ein Abschnitt sein soll, und wie weit zwei aufeinanderfolgende Abschnitte einander überlappen. Beide sind in einer Minute eingetragen, gelten für den gesamten Bestand und lassen sich nachträglich nur ändern, indem alles noch einmal von vorn verarbeitet wird.

Und beide werden zweimal bezahlt: einmal beim Aufbau der Wissensbasis, und danach bei jeder einzelnen Frage aufs Neue. Deshalb lohnt es sich, sie auszurechnen statt sie zu schätzen.

Gemessen wird in Token – grob gesagt in Wortteilen; hundert Token sind etwa siebzig Wörter deutscher Prosa. Jeder fertige Abschnitt wird in eine lange Zahlenfolge übersetzt, die seine Bedeutung festhält. Diese Zahlenfolge heißt Einbettung, und gesucht wird später nicht im Text, sondern in ihr.

Ein Dokumentstreifen mit zwei Reihen überlappender Abschnitte: bei 64 Token Überlappung decken fünf Abschnitte denselben Bereich ab, für den es bei 128 sechs braucht
Dasselbe Dokument, dieselbe Abschnittsgröße. Nur die Schrittweite unterscheidet sich – und mit ihr die Zahl der Abschnitte.

Warum die Überlappung Geld kostet

Die Abschnitte rücken nicht um ihre volle Länge vor, sondern nur um den Teil, der nicht überlappt. Bei einer Abschnittsgröße von 512 Token und einer Überlappung von 64 rückt jeder Abschnitt also um 448 vor. Für dasselbe Dokument braucht es damit mehr Abschnitte – und weil jeder Abschnitt in voller Länge abgelegt wird, landet der überlappende Teil zweimal im Speicher.

Die Tabelle zeigt, was das für ein Dokument von 200.000 Token bedeutet, bei einer Abschnittsgröße von 512.

Überlappung Abschnitt rückt vor um Zahl der Abschnitte Abgelegt insgesamt Aufschlag
64 Token (12 %) 448 447 228.864 +14 %
128 Token (25 %) 384 521 266.752 +33 %
256 Token (50 %) 256 781 399.872 +100 %

Die letzte Zeile lohnt sich zu merken: Eine Überlappung von der halben Abschnittsgröße legt jedes Token zweimal ab. Der Aufschlag wächst nicht gleichmäßig mit der Überlappung, sondern schießt hoch, sobald der Vorschub schmal wird. Deshalb liegt der brauchbare Bereich zwischen zehn und zwanzig Prozent, und deshalb braucht alles oberhalb eines Drittels einen Grund.

Wofür die Überlappung überhaupt da ist

Ein starrer Schnitt trennt dort, wo der Zähler abläuft, und das ist regelmäßig mitten in dem Satz, in dem die Antwort steht. Die Überlappung sorgt dafür, dass dieser Satz in mindestens einem Abschnitt vollständig vorkommt – und das ist ihre gesamte Aufgabe.

Die Überlappung muss also nur so groß sein wie die Stelle, die nicht zerrissen werden darf. Bei Fließtext sind zwei bis drei Sätze großzügig, und zwei bis drei Sätze sind etwa sechzig bis hundert Token. Größere Werte werden meist aus Vorsicht gewählt und im Speicher bezahlt, ohne etwas einzubringen: Ein Satz, der ohnehin vollständig in einen Abschnitt passt, passt nicht vollständiger hinein, weil er auch im nächsten steht.

An der Struktur zu schneiden schlägt das Schneiden nach Zahl

Die bessere Antwort auf dasselbe Problem ist, gar nicht erst mitten im Satz zu trennen. An Überschriften zu schneiden, dann an Absätzen und erst dann auf eine Tokenzahl zurückzufallen, wenn ein Absatz die Größe übersteigt, nimmt der Überlappung den größten Teil ihres Grundes – und es erzeugt Abschnitte, deren Inhalt zusammengehört, was die Einbettung ja abbilden soll.

Die Ergänzung, die fast nichts kostet, ist der Überschriftenpfad je Abschnitt, dem Text vorangestellt. Ein Abschnitt, der mit Handbuch > Abrechnung > Kündigung beginnt, wird besser gefunden und liest sich in der Vorgabe besser, weil er den Zusammenhang mitbringt, den der Schnitt genommen hat.

Zwei Größen, zwei verschiedene Fehler

Abschnittsgröße Was sie gut kann Wie sie scheitert
128 – 256 genauer Abruf, der Treffer ist genau die Stelle die Stelle kommt ohne den Satz an, der sie erklärt
400 – 800 ein Absatz samt Zusammenhang, ein Thema je Einbettung kaum; das ist der Arbeitsbereich
1024 – 2048 ganze Kapitel, nichts wird je abgeschnitten die Einbettung mittelt mehrere Themen und passt auf nichts scharf

Der Fehler großer Abschnitte ist der von außen schwer sichtbare. Eine Einbettung ist ein einziger Punkt für den ganzen Text; ein Abschnitt über drei Gegenstände liegt also irgendwo zwischen allen dreien und keinem nahe. Der Abruf meldet das nicht, er liefert einfach etwas anderes, und die Antwort entsteht aus einer Stelle, die nicht ganz die richtige war.

Die Kosten, die wiederkehren

Einen Bestand einzubetten ist billig und geschieht einmal. Die Abschnittsgröße ist aber zugleich die Einheit, in der der abgerufene Text gemessen wird, den der Assistent bei jeder Frage vorgelegt bekommt – und der wird jedes Mal bezahlt. Acht Abschnitte zu 512 Token sind 4096 Token, die das Modell liest, bevor es die Frage überhaupt gesehen hat.

Auf diese Zahl ist auszulegen, denn sie multipliziert sich mit der Zahl der Fragen und nicht mit der Größe des Bestands. Die Abschnittsgröße zu halbieren und dafür doppelt so viele Abschnitte abzurufen, lässt die Rechnung gleich und erhöht die Genauigkeit; sie zu halbieren, ohne die Anzahl anzufassen, halbiert die Rechnung und riskiert, mit zu wenig Zusammenhang anzukommen. Beides sind Entscheidungen, und beide stehen in derselben Zeile.

Die Einstellung zu ändern heißt neu aufzubauen

Die Abschnittsgrenzen stecken in den Einbettungen. Eine andere Größe erzeugt andere Texte, andere Einbettungen und andere Kennungen, eine teilweise Umstellung gibt es also nicht – der Bestand wird neu eingebettet, und anderswo gespeicherte Kennungen zeigen auf Abschnitte, die es nicht mehr gibt.

Das spricht für eine Gewohnheit von Anfang an: Rohdokumente, Schnitt und Einbettung als drei getrennte Schritte zu führen und das Zwischenergebnis auf die Platte zu schreiben. Neu einzubetten ist dann ein erneuter Lauf des letzten Schritts auf einem bereits aufbereiteten Bestand statt eines Nachmittags, an dem rekonstruiert wird, wie der Text überhaupt hineingekommen ist.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Kommentar schreiben

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.

ALL ARTICLES & CATEGORIES

CCTV

Diese Rubrik per RSS verfolgen

Cloud & AI

Diese Rubrik per RSS verfolgen

Data Privacy

Alle 12 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Digital Analytics

Alle 47 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Digital Marketing

Alle 25 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

IT & Networks

Alle 16 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Raspberry Pi

Diese Rubrik per RSS verfolgen

Smart Home

Alle 16 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Web Entwicklung

Diese Rubrik per RSS verfolgen

WordPress-Plugins & Tricks

Diese Rubrik per RSS verfolgen