Jak zmniejszyłem nasz rachunek za AI API o połowę, zachowując p99 SLA

Nasz rachunek za AI rósł zbyt szybko. Mój CFO nazwał to nie do utrzymania tempem spalania gotówki (burn rate). W tamtym czasie używaliśmy GPT-4o do wszystkiego. Działało to, ale koszty były zbyt wysokie, a opóźnienie p99 było niespójne.

Postanowiłem potraktować wybór modelu AI jako problem projektowania systemów. Przestałem szukać najlepszego modelu, a zacząłem szukać modelu najlepiej dopasowanego do naszych konkretnych parametrów SLA.

Najpierw ustaliłem jasne cele: • opóźnienie p99 poniżej 1,5 sekundy dla czatu • 99,9% dostępności • mechanizm failover w wielu regionach • przepustowość na poziomie 3-krotności szczytowego obciążenia

Gdy tylko miałem te liczby, rozwiązanie stało się jasne. Najtańszy model w przeliczeniu na token nie zawsze jest najlepszym wyborem dla środowiska produkcyjnego. Jeśli tani model podwoi Twoje opóźnienie, stracisz użytkowników.

Porównałem wiele modeli. Różnica w cenie była ogromna. GPT-4o kosztuje 10,00 USD za milion tokenów wyjściowych. GLM-4 Plus kosztuje 0,80 USD. Nasze testy wykazały, że GLM-4 Plus radzi sobie niemal tak dobrze jak GPT-4o w naszych konkretnych zadaniach, takich jak streszczanie i ekstrakcja danych.

Zbudowałem warstwę routingu, aby tym zarządzać. System działa według następujących zasad: • Kierowanie żądań na podstawie typu obciążenia • Użycie modelu zapasowego (fallback) w przypadku nagłych skoków opóźnienia • Rozproszenie ruchu między regiony • Buforowanie (cache) najczęstszych żądań

Dodałem również cache Redis. Współczynnik trafień (hit rate) osiągnął 40% w ciągu jednego tygodnia. Zmniejszyło to nasze wydatki na tokeny przy powtarzających się zapytaniach i obniżyło opóźnienie z 1,4 sekundy do 200 milisekund.

Wyniki: • Miesięczne wydatki na inferencję spadły o 58% • opóźnienie p99 spadło z 1,6 s do 1,18 s • Czas dostępności (uptime) utrzymał się na poziomie 99,95% • Współczynnik trafień cache osiągnął 42%

Trzy lekcje, które wyciągnąłem:

  1. Zbuduj własny zestaw narzędzi do ewaluacji. Nie ufaj ogólnym benchmarkom. Używaj swoich rzeczywistych danych produkcyjnych.
  2. Ściśle monitoruj limity zapytań (rate limits). Ruch regionalny może powodować nieoczekiwane skoki.
  3. Zbuduj wyłącznik bezpieczeństwa (kill switch). Zły prompt może spowodować ogromny skok zużycia tokenów. Limit maksymalnej liczby tokenów zaoszczędził nam kiedyś 14 000 USD.

Jeśli Twój rachunek za AI jest zbyt wysoki, najpierw zdefiniuj swoje SLA. Zbuduj zestaw narzędzi do ewaluacji w oparciu o rzeczywisty ruch. Następnie sprawdź ceny modeli, które obecnie ignorujesz.

Źródło: https://dev.to/bolddeck/how-i-cut-our-ai-api-bill-in-half-while-hitting-p99-slas-1l05

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi