Jak obniżyć koszty LLM bez utraty jakości odpowiedzi?

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Mierz koszt pomyślnie wykonanego zadania, a następnie testuj limity długości odpowiedzi, buforowanie, przetwarzanie wsadowe lub tańsze modele na wydzielonym zbiorze ewaluacyjnym. Niższy rachunek za tokeny jest przydatny tylko wtedy, gdy system nadal spełnia wymagania dotyczące jakości i opóźnień. Zacznij od powtarzanej pracy lub kosztownych grup żądań widocznych w danych o użyciu.

Ustal rzeczywisty koszt

W przypadku API z cenami za milion tokenów uproszczony koszt żądania bez buforowania wynosi:

cost=input tokens×input price+output tokens×output price106\text{cost} = \frac{\text{input tokens} \times \text{input price} + \text{output tokens} \times \text{output price}}{10^6}

Korzystaj z aktualnych stawek, takich jak te w dokumentacji cenowej OpenAI. Osobno uwzględniaj ceny buforowanych danych wejściowych, opłaty za narzędzia i ponowne próby. Porównuj sumę kosztów wszystkich wywołań potrzebnych do ukończenia zadania, w tym kierowania żądań i walidacji.

Przy utrzymywaniu systemu na własnej infrastrukturze uwzględnij czas GPU, niewykorzystaną moc obliczeniową, przechowywanie danych, sieć, obsługę i pracę inżynierską. Dzielenie tylko kosztu wynajmu GPU przez liczbę wygenerowanych tokenów może ukryć znaczne koszty.

Dopasuj zmianę do odpowiednich żądań

ZmianaGdzie może pomócCo sprawdzić
Krótsze odpowiedziOdpowiedzi ze zbędnymi szczegółamiKompletność i błędy obcięcia
Buforowanie prefiksówPowtarzające się zgodne prefiksy promptówWspółczynnik trafień, warunki dostawcy i zajęta pamięć
Przetwarzanie wsadowePraca, która może poczekaćTermin ukończenia i obsługa błędów
Kierowanie żądań do modeliŻądania, na które może odpowiedzieć tańszy modelBłędnie skierowane żądania, koszt mechanizmu kierowania i jakość całego procesu
KwantyzacjaObsługiwane pary modelu i środowiska wykonawczego na własnej infrastrukturzeJakość, przepustowość, pamięć i użyteczna wielkość wsadu

Nie usuwaj wyszukanych materiałów źródłowych tylko po to, by skrócić prompt. Sprawdź, czy brakujący kontekst zwiększa liczbę błędnych odpowiedzi lub ponownych prób.

Porównuj kompletne zadania

Załóżmy, że hipotetyczne obciążenie kieruje 70% żądań do tańszego modelu, a 30% do mocniejszego. Koszt wywołań modeli wynosi 0.7 × cheap cost + 0.3 × strong cost, do czego dochodzą kierowanie żądań, ponowne próby i inne wywołania. To założenia dotyczące ruchu, a nie prognoza oszczędności.

Uruchom ten sam zbiór ewaluacyjny przed zmianą i po niej. Podaj błędy jakości, opóźnienia, odsetek ukończonych zadań i całkowity koszt. RouteLLM ilustruje kierowanie żądań z ograniczeniami jakości w konkretnych eksperymentach; historyczny stosunek kosztów nie przewiduje Twojego rachunku.

Przeczytaj sekcję optymalizacji kosztów w LLM Engineering Guide, aby poznać powiązane techniki udostępniania modeli.