KI
Was ist KI-Inferenz?
Die meisten Erklärungen zur KI-Inferenz beginnen mit einer Definition und enden vor dem Teil, auf den es wirklich ankommt. Diese hier geht den umgekehrten Weg.
Training und Inferenz sind unterschiedliche Aktivitäten
Training ist die Art und Weise, wie ein Modell erstellt wird. Man nimmt eine sehr große Menge an Text, lässt sie durch eine Architektur mit Milliarden von anpassbaren Parametern laufen und korrigiert diese Parameter wiederholt, bis das Modell Text gut vorhersagt. Das passiert einmal, es dauert Monate, erfordert einen großen Cluster, und wenn es fertig ist, hat man eine Datei. Einen Satz von Gewichten.
Inferenz ist das, was jedes Mal passiert, wenn jemand diese Datei verwendet. Die Gewichte ändern sich nicht. Das Modell lernt nicht aus der Frage. Es führt eine feste Berechnung durch: Erzeuge bei dieser Eingabe die wahrscheinlichste Fortsetzung.
Die Unterscheidung ist kommerziell von Bedeutung, da sich die Kosten in entgegengesetzte Richtungen verhalten. Das Training ist ein großer, einmaliger Aufwand, den eine Handvoll Organisationen auf der Welt auf sich nehmen. Inferenz ist ein kleiner, wiederkehrender Aufwand, der bei jeder einzelnen Anfrage anfällt, und das ist der Aufwand, den fast jedes Unternehmen tatsächlich bezahlt.
Was passiert, wenn ein Modell antwortet
Gehen wir eine Anfrage durch.
Tokenisierung. Ihr Text wird in Token zerlegt, das sind Zeichenblöcke, im Durchschnitt etwa drei Viertel eines Wortes. „Infrastruktur“ könnte aus zwei oder drei Token bestehen. Jedes wird zu einer Zahl.
Prefill. Das Modell liest Ihren gesamten Prompt auf einmal und erstellt eine interne Darstellung davon. Dieser Schritt erfolgt parallel, ist also im Verhältnis zu seiner Größe schnell und skaliert mit der Länge Ihres Prompts. Eine kurze Frage ist hier günstig. Eine Frage mit vierzig Seiten angehängter, abgerufener Dokumente ist es nicht.
Decode. Nun generiert das Modell. Es erzeugt ein Token, fügt es an die Sequenz an und läuft erneut, um das nächste zu erzeugen. Dies geschieht sequenziell und kann nicht parallelisiert werden, da Token fünf von der Existenz von Token vier abhängt. Jedes Token in der Antwort ist ein weiterer Durchlauf durch das Modell.
Diese Asymmetrie ist das nützlichste Detail, das man über Inferenz verstehen muss. Das Lesen Ihres Prompts ist eine parallele Operation. Das Schreiben der Antwort sind Hunderte von sequenziellen Operationen. Das ist der Grund, warum eine lange Antwort spürbar länger dauert als eine lange Frage und warum „mach es prägnanter“ auch bedeutet „mach es billiger“.
Der KV-Cache
Wenn jedes generierte Token ein erneutes Lesen der gesamten Sequenz von vorne erfordern würde, wäre die Generierung unbrauchbar langsam. Deshalb behält das Modell seine Zwischenschritte von vorherigen Token im Speicher und verwendet sie wieder. Das ist der KV-Cache.
Der Cache ist der Grund, warum die Generierung schnell ist. Er ist auch der Grund, warum die Inferenz auf eine Weise speicherhungrig ist, die jene überrascht, die nur das Budget für die Gewichte einplanen. Die Gewichte haben eine feste Größe. Der Cache wächst mit jedem gleichzeitigen Benutzer und jedem Token an Kontext und liegt im selben GPU-Speicher. Lange Konversationen und viele gleichzeitige Benutzer konkurrieren um denselben Platz.
Das hat eine praktische Konsequenz. Wenn mehrere Anfragen von der Maschine bedient werden könnten, die bereits den relevanten zwischengespeicherten Kontext enthält, bedeutet das Senden einer Anfrage an einen anderen Ort das erneute Berechnen bereits existierender Arbeit. Die Verteilung von Anfragen ohne Rücksicht darauf, was wo zwischengespeichert ist, kostet Durchsatz, was sich nie als Fehler, sondern nur als ein langsameres System bemerkbar macht.
Durchsatz und Latenz sind nicht dasselbe Ziel
Zwei Zahlen werden oft synonym verwendet, obwohl sie es nicht sein sollten.
Latenz ist die Zeit, die ein Benutzer wartet. Zeit bis zum ersten Token, und wie schnell die Token danach ankommen.
Durchsatz ist die Anzahl der Token, die das System pro Sekunde für alle Benutzer generiert.
Batching verbessert den Durchsatz, indem mehrere Anfragen zusammen verarbeitet werden, was die GPU weitaus effizienter nutzt als eine Anfrage nach der anderen. Es kann auch jede einzelne Anfrage etwas langsamer machen, da sie warten muss, um in der Gruppe verarbeitet zu werden. Eine Chat-Schnittstelle, bei der jemand den Cursor beobachtet, ist ein Latenzproblem. Eine nächtliche Dokumentenklassifizierung ist ein Durchsatzproblem. Die Optimierung für das eine verschlechtert das andere. Daher lautet die erste Frage bei jedem Inferenz-Deployment, welches der beiden Sie tatsächlich optimieren.
Wo Inferenz ausgeführt wird
Dieselben Gewichte können an verschiedenen Orten ausgeführt werden, und hier liegen die architektonischen Entscheidungen.
Eine gehostete API bedeutet, dass der Anbieter sie betreibt. Sie senden einen Prompt über das Internet und erhalten Token zurück. Einfach zu übernehmen, und Ihre Prompts werden auf einer Infrastruktur verarbeitet, die Sie nicht kontrollieren.
Eigene Server bedeuten, dass Sie sie selbst betreiben. Die Gewichte liegen auf Hardware, die Sie besitzen oder mieten, die Prompts verlassen Ihr Netzwerk nicht und Sie übernehmen die operative Arbeit, das System stabil zu halten.
Die Berechnung ist in beiden Fällen identisch. Der Unterschied liegt darin, wer die Daten während der Berechnung hält, wer die Anfrage sehen kann und welche Aufzeichnungen danach existieren.
Warum das der Teil ist, auf den es ankommt
Inferenz ist der Ort, an dem ein KI-System auf echte Daten trifft. Keine Testdaten, keine Trainingsdaten. Der tatsächliche Kundendatensatz, der Patientenbrief, die Vertragsklausel oder die Fallakte, die jemand am Dienstag um halb fünf in einen Prompt eingefügt hat.
Das bedeutet, dass die Inferenz der Ort ist, an dem jede Frage, die eine Regulierungsbehörde stellen wird, beantwortet wird – oder eben nicht. Welcher Mitarbeiter hat diese Anfrage gesendet? Welches Modell hat sie empfangen? Was war darin enthalten? Was kam zurück? Wurde davon irgendetwas protokolliert?
Das Training ist der Ort, an dem die Fähigkeiten eines Modells entstehen. Die Inferenz ist der Ort, an dem die Verpflichtungen einer Organisation greifen. Das sind unterschiedliche Probleme, und nur eines davon müssen Sie lösen.
KI-Erklärung: Dieser Artikel wurde mit Unterstützung von KI entworfen und vor der Veröffentlichung vom Xinity-Team überprüft, faktengeprüft und bearbeitet.