Latenz
Latenz bezeichnet die Zeitspanne zwischen dem Absenden einer Anfrage an ein KI-Modell und dem Erhalt der ersten Antwort – ein kritischer Faktor für die Nutzererfahrung in produktiven Anwendungen.
Was ist Latenz?
Latenz (englisch: latency) ist die messbare Verzögerung zwischen einer Anfrage und der zugehörigen Antwort. Im Kontext von KI-APIs und Large Language Models unterscheidet man typischerweise zwei wichtige Metriken:
- Time to First Token (TTFT): Wie lange dauert es, bis das erste Token der Antwort eintrifft?
- Time per Output Token (TPOT): Wie schnell werden die nachfolgenden Tokens generiert?
Warum ist Latenz wichtig?
Hohe Latenz macht Anwendungen träge und unbrauchbar – besonders in Echtzeit-Szenarien wie Chatbots oder Code-Assistenten. Selbst ein leistungsfähiges Modell verliert an Wert, wenn Nutzer mehrere Sekunden auf die erste Reaktion warten müssen.
Einflussfaktoren auf die Latenz
- Modellgröße: Größere Modelle (mehr Parameter) brauchen länger zur Inferenz
- Kontextlänge: Ein langer Prompt erhöht die Verarbeitungszeit
- Hardware: GPUs/TPUs reduzieren die Latenz erheblich
- Netzwerk: Entfernung zum API-Endpunkt (Region wählen!)
- Auslastung: Shared Infrastructure unter Last
Praktisches Beispiel
Latenz lässt sich in Python einfach messen:
import time
import openai
client = openai.OpenAI()
start = time.time()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Erkläre Latenz in einem Satz."}]
)
end = time.time()
print(f"Latenz: {end - start:.2f}s")
print(f"Tokens generiert: {response.usage.completion_tokens}")
print(f"Token/s: {response.usage.completion_tokens / (end - start):.1f}")
Latenz reduzieren – Tipps für Entwickler
| Maßnahme | Effekt |
|---|---|
| Kleineres Modell wählen | Sehr hoch |
| Streaming aktivieren | Gefühlte Latenz sinkt |
| Prompt kürzen | Mittel |
| API-Region optimieren | Gering bis mittel |
| Antwort cachen | Sehr hoch (bei gleichen Anfragen) |
Streaming als Lösung
Mit Streaming werden Tokens sofort ausgegeben, sobald sie generiert werden. Die Gesamt-Latenz bleibt gleich, aber die gefühlte Latenz sinkt drastisch – der Nutzer sieht sofort eine Reaktion:
for chunk in client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Zähle bis 5."}],
stream=True
):
print(chunk.choices[0].delta.content or "", end="", flush=True)
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.