Co oznaczają tokeny na sekundę w aprowizowanej przepływności?
W tym artykule opisano, jak i dlaczego usługa Databricks mierzy tokeny na sekundę dla aprowizowania obciążeń przepływności dla interfejsów API modelu foundation.
Wydajność dużych modeli językowych (LLM) jest często mierzona pod względem tokenów na sekundę. Podczas konfigurowania modelu produkcyjnego obsługującego punkty końcowe należy wziąć pod uwagę liczbę żądań wysyłanych przez aplikację do punktu końcowego. Dzięki temu można zrozumieć, czy punkt końcowy musi być skonfigurowany do skalowania, tak aby nie wpływał na opóźnienie.
Podczas konfigurowania zakresów skalowania w poziomie dla punktów końcowych wdrożonych z aprowizowaną przepływnością usługa Databricks ułatwia wnioskowanie o danych wejściowych przechodzących do systemu przy użyciu tokenów.
Co to są tokeny?
LLMs odczytywać i generować tekst pod względem tego, co jest nazywane tokenem. Tokeny mogą być wyrazami lub wyrazami podrzędnymi, a dokładne reguły dzielenia tekstu na tokeny różnią się w zależności od modelu do modelu. Na przykład możesz użyć narzędzi online, aby zobaczyć, jak tokenizator Llama konwertuje wyrazy na tokeny.
Dlaczego warto zmierzyć wydajność usługi LLM pod względem tokenów na sekundę?
Tradycyjnie obsługa punktów końcowych jest konfigurowana na podstawie liczby współbieżnych żądań na sekundę (RPS). Jednak żądanie wnioskowania llM zajmuje inną ilość czasu na podstawie liczby przekazanych tokenów i liczby generowanych przez nią żądań, co może być nierównowagą między żądaniami. W związku z tym podjęcie decyzji o skali w poziomie punktu końcowego wymaga rzeczywistego pomiaru skali punktu końcowego pod względem zawartości żądania — tokenów.
Różne przypadki użycia zawierają różne współczynniki tokenów wejściowych i wyjściowych:
- Różne długości kontekstów wejściowych: chociaż niektóre żądania mogą obejmować tylko kilka tokenów wejściowych, na przykład krótkie pytanie, inne mogą obejmować setki lub nawet tysiące tokenów, takich jak długi dokument na potrzeby podsumowania. Ta zmienność sprawia, że konfigurowanie punktu końcowego obsługującego na podstawie żądań RPS jest trudne, ponieważ nie uwzględnia różnych żądań przetwarzania różnych żądań.
- Różne długości danych wyjściowych w zależności od przypadku użycia: różne przypadki użycia dla llM mogą prowadzić do znacznie różnych długości tokenów wyjściowych. Generowanie tokenów wyjściowych jest najbardziej czasochłonną częścią wnioskowania LLM, dzięki czemu może to znacząco wpłynąć na przepływność. Na przykład podsumowanie obejmuje krótsze, pithier odpowiedzi, ale generowanie tekstu, takie jak pisanie artykułów lub opisów produktów, może generować znacznie dłuższe odpowiedzi.
Jak mogę wybrać tokeny na drugi zakres dla mojego punktu końcowego?
Aprowizowanie punktów końcowych obsługujących przepływność jest konfigurowane pod względem zakresu tokenów na sekundę, które można wysłać do punktu końcowego. Punkt końcowy jest skalowany w górę i w dół w celu obsługi obciążenia aplikacji produkcyjnej. Opłaty są naliczane za godzinę na podstawie zakresu tokenów na sekundę, do którego jest skalowany punkt końcowy.
Najlepszym sposobem, aby dowiedzieć się, jakie tokeny na sekundę w aprowizowanej przepływności obsługują punkt końcowy dla twojego przypadku użycia, jest przeprowadzenie testu obciążeniowego z reprezentatywnym zestawem danych. Zobacz Przeprowadzanie własnego testu porównawczego punktu końcowego LLM.
Należy wziąć pod uwagę dwa ważne czynniki:
Jak usługa Databricks mierzy tokeny na sekundę wydajności usługi LLM
Usługa Databricks testuje punkty końcowe względem obciążenia reprezentującego zadania podsumowania, które są typowe dla przypadków użycia rozszerzonej generacji pobierania. W szczególności obciążenie składa się z następujących elementów:
- Tokeny wejściowe 2048
- 256 tokenów wyjściowych
Wyświetlane zakresy tokenów łączą przepływność tokenu wejściowego i wyjściowego oraz domyślnie optymalizują pod kątem równoważenia przepływności i opóźnień.
Testy porównawcze usługi Databricks, które użytkownicy mogą wysyłać wiele tokenów na sekundę do punktu końcowego w partii o rozmiarze 1 na żądanie. Symuluje to jednocześnie wiele żądań osiągnięcia punktu końcowego, co dokładniej reprezentuje sposób rzeczywistego używania punktu końcowego w środowisku produkcyjnym.
Jak działa skalowanie automatyczne
Obsługa modelu oferuje szybki system skalowania automatycznego, który skaluje bazowe zasoby obliczeniowe w celu spełnienia tokenów na sekundę zapotrzebowania aplikacji. Usługa Databricks skaluje aprowizowaną przepływność w górę w fragmentach tokenów na sekundę, więc opłaty są naliczane za dodatkowe jednostki aprowizowanej przepływności tylko wtedy, gdy ich używasz.