Was bedeuten Token pro Sekunde im bereitgestellten Durchsatz?
Dieser Artikel beschreibt, wie und warum Databricks Token pro Sekunde für Workloads mit bereitgestelltem Durchsatz für Foundation Model APIs misst.
Die Leistung für große Sprachmodelle (LLMs) wird häufig in Form von Token pro Sekunde gemessen. Bei der Konfiguration von Endpunkten für das Produktionsmodell ist es wichtig, dass Sie die Anzahl der Anfragen berücksichtigen, die Ihre Anwendung an den Endpunkt sendet. Auf diese Weise können Sie feststellen, ob Ihr Endpunkt so konfiguriert werden muss, dass er skalierbar ist und die Wartezeit nicht beeinträchtigt.
Bei der Konfiguration der horizontalen Skalierungsbereiche für Endpunkte, die mit bereitgestelltem Durchsatz eingesetzt werden, hat Databricks festgestellt, dass es einfacher ist, die Eingaben, die in Ihr System eingehen, mit Hilfe von Token zu beschreiben.
Was sind Token?
LLMs lesen und generieren Text in Form eines sogenannten Tokens. Token können Wörter oder Unterwörter sein, und die genauen Regeln zum Aufteilen von Text in Token variieren von Modell zu Modell. Sie können beispielsweise Onlinetools verwenden, um zu sehen, wie der Llama-Tokenizer Wörter in Token konvertiert.
Warum die LLM-Leistung in Form von Token pro Sekunde messen?
Traditionell werden Serving-Endpunkte auf der Grundlage der Anzahl der gleichzeitigen Anforderungen pro Sekunde (RPS) konfiguriert. Eine LLM-Rückschlussanforderung nimmt jedoch unterschiedlich viel Zeit in Anspruch, je nachdem, wie viele Tokens übergeben werden und wie viele erzeugt werden, was zu einem Ungleichgewicht zwischen den Anforderungen führen kann. Daher müssen Sie entscheiden, wie viel Skalierung Ihr Endpunkt benötigt, um die Endpunktskala im Hinblick auf den Inhalt Ihrer Anforderung – die Tokens – zu messen.
Verschiedene Anwendungsfälle bieten unterschiedliche Eingabe- und Ausgabetokenverhältnisse:
- Unterschiedliche Längen von Eingabekontexten: Während einige Anforderungen nur wenige Token umfassen können, z. B. eine kurze Frage, können andere Hunderte oder sogar Tausende von Tokens umfassen, z. B. ein langes Dokument zur Zusammenfassung. Diese Variabilität macht die Konfiguration eines Serving-Endpunkts, der nur auf RPS basiert, zu einer Herausforderung, da sie die unterschiedlichen Verarbeitungsanforderungen der verschiedenen Anforderungen nicht berücksichtigt.
- Unterschiedliche Längen der Ausgabe je nach Anwendungsfall: Unterschiedliche Anwendungsfälle für LLMs können zu erheblich unterschiedlichen Ausgabelängen führen. Die Generierung von Ausgabetoken ist der zeitintensivste Teil des LLM-Rückschlusses, sodass dies den Durchsatz drastisch beeinträchtigen kann. Beispielsweise umfasst die Zusammenfassung kürzere, prägnantere Antworten, aber die Textgenerierung, z. B. das Schreiben von Artikeln oder Produktbeschreibungen, kann viel längere Antworten generieren.
Wie wähle ich die Token pro Sekunde für meinen Endpunkt aus?
Bereitstellungsendpunkte für bereitgestellten Durchsatz werden in Form eines Token-pro-Sekunde-Bereichs, den Sie an den Endpunkt senden können. Der Endpunkt skaliert nach oben und unten, um die Last Ihrer Produktionsanwendung zu verarbeiten. Die Abrechnung erfolgt pro Stunde auf der Grundlage des Token-pro-Sekunde-Bereichs, auf den Ihr Endpunkt skaliert wird.
Die beste Möglichkeit, festzustellen, welcher Token-pro-Sekunde-Bereich für Ihren Endpunkt mit bereitgestelltem Durchsatz in Ihrem Anwendungsfall geeignet ist, besteht darin, einen Auslastungstest mit einem repräsentativen Dataset durchzuführen. Siehe Führen Sie Ihr eigenes LLM-Endpunkt-Benchmarking durch.
Es gibt zwei wichtige Faktoren zu berücksichtigen:
Die Art wie Databricks die LLM-Leistung in Token pro Sekunde misst
Databricks vergleicht Endpunkte mit einer Workload, die Zusammenfassungsaufgaben darstellen, die für Anwendungsfälle zur Generierung von Abruferweiterungen üblich sind. Insbesondere besteht die Workload aus:
- 2048 EIngabetoken
- 256 Ausgabetoken
Die angezeigten Tokenbereiche vereinen den Eingabe- und Ausgabetokendurchsatz und sind standardmäßig für einen Ausgleich von Durchsatz und Wartezeit optimiert.
Databricks-Benchmarks, die Benutzer senden können, dass viele Token pro Sekunde gleichzeitig an den Endpunkt mit einer Batchgröße von 1 pro Anforderung gesendet werden können. Dadurch werden mehrere Anforderungen simuliert, die gleichzeitig auf den Endpunkt treffen, was genauer darstellt, wie Sie den Endpunkt tatsächlich in der Bereitstellung verwenden würden.
Funktionsweise der automatischen Skalierung
Die Modellbereitstellung bietet ein schnelles automatisches Skalierungssystem, das die zugrunde liegende Berechnung skaliert, um die für Ihre Anwendung erforderliche Anzahl von Token pro Sekunde zu erreichen. Databricks skaliert den bereitgestellten Durchsatz in Token-pro-Sekunde-Blöcken hoch, sodass zusätzliche Einheiten des bereitgestellten Durchsatzes nur in Rechnung gestellt werden, wenn Sie sie verbrauchen.