BlogKoszty

Przypisywanie wydatków na modele zespołom i pracy, które je spowodowały

Żeby wyjaśnić rachunek za LLM, przypisuj każde zapytanie w chwili, gdy przechodzi przez bramkę: klucz dla każdego zespołu lub usługi, tagi dla funkcji i zadania oraz identyfikator zapytania, który da się połączyć z wynikiem biznesowym. Wyceniaj te zapytania tak, jak rozlicza je twoja umowa, koszty, których nie spowodowało żadne pojedyncze zapytanie, rozdzielaj według reguły znanej wszystkim, a ponowienia i porzucone przebiegi licz jako koszt, a nie szum. Potem co miesiąc uzgadniaj sumę z raportem dostawcy. Wynik to wydatki na zespół i zadanie oraz koszt zaakceptowanego wyniku.

Zaktualizowano

Oznaczaj zapytania na wejściu, a nie po przyjściu faktury

Faktura dostawcy pokazuje modele i tokeny, a nie zespoły. Brakujący kontekst może dodać bramka. Log wydatków LiteLLM zapisuje na przykład dla każdego zapytania zahashowany klucz, wewnętrznego użytkownika i zespół, do których należy klucz, tagi zapytania, model i użyty endpoint. Wydaj klucz dla każdego zespołu lub usługi i wymagaj tagów dla funkcji i zadania. Dokumentacja oznacza śledzenie wydatków i raporty według tagów jako funkcję wersji enterprise, więc sprawdź licencję, zanim na nich oprzesz rozliczenia.

O tym, czy tagi się sprawdzą, decydują dwa szczegóły. LiteLLM ostrzega, że pole użytkownika podane w treści zapytania jest deklarowane przez samego wywołującego i może przesunąć wydatki poza właściciela klucza, więc przypisuj według klucza, a nie tego pola. Osobne workspace'y lub klucze u dostawcy dla każdego zespołu dają też drugi, niezależny podział: Usage and Cost API Anthropic grupuje użycie według workspace'u i klucza API.

Wyceniaj zapytania tak, jak wystawia się fakturę

Bramki szacują koszt na podstawie tabeli cen. LiteLLM używa swojej mapy kosztów modeli, oznacza zapytania wycenione na zero z powodu brakującej stawki i opisuje procedurę dla rozbieżności kosztów: wyrównaj zakresy czasu, porównaj kategorie tokenów łącznie z cache, a potem ustal, czy różnica wynika z pobierania danych, wzoru czy mapy cen. Wpisz do tej tabeli wynegocjowane stawki, ceny odczytu i zapisu cache oraz warunki zobowiązań zakupowych, inaczej liczba każdego zespołu będzie błędna w tę samą stronę.

Rozdziel to, czego nie spowodowało żadne pojedyncze zapytanie

Część kosztów nie ma identyfikatora zapytania: własne GPU razem z godzinami bezczynności, bramka i stos obserwowalności, przebiegi ewaluacji, ponowne indeksowanie do retrievalu i czas zespołu platformowego. Wywołania routera i klasyfikatora to przypadek pośredni. Auto routing w LiteLLM zapisuje wywołania klasyfikatora z tożsamością zapytania, które je uruchomiło, więc mogą iść za tym zapytaniem. Dla reszty wybierz jedną regułę i ją opublikuj:

  • Według udziału w tokenach, prosto i blisko tego, jak rozliczają się modele hostowane
  • Według sekund GPU, sprawiedliwiej przy modelach własnych, gdzie długie prompty zajmują pamięć
  • Jako stały udział platformy, dla kosztów niezależnych od użycia

Zmiana reguły w połowie roku sprawia, że każdy wykres trendu kłamie, więc wybierz ją świadomie i się jej trzymaj.

Licz ponowienia, fallbacki i porzucone przebiegi

Zapytanie, które użytkownik widzi raz, może zostać rozliczone kilka razy. Dokumentacja LiteLLM zaznacza, że liczba zapytań w logu wydatków obejmuje osobno każdą próbę wysłaną do dostawcy, a każdy wiersz zapisuje, czy obsłużył go fallback. Przebiegi agentów, które się zapętlają i kończą porażką, zużywają tokeny bez efektu. Pokazuj to jako osobną pozycję dla każdego zespołu. To bywa najtańsza dostępna oszczędność, bo nikt tych wydatków nie chciał.

Od kosztu zapytania do kosztu zaakceptowanego wyniku

Koszt zapytania nagradza tanie odpowiedzi, z których nikt nie korzysta. Połącz identyfikatory zapytań z wynikiem, który firma już rejestruje, na przykład z ekstrakcją przyjętą bez poprawek albo szkicem odpowiedzi dla klienta wysłanym z drobnymi zmianami. Hipotetyczny miesiąc, w którym 2000 € wspólnych kosztów platformy dzieli się według udziału w tokenach, 40 i 60 procent:

  • Ekstrakcja faktur: 4200 € bezpośrednio plus 800 € wspólnych, 111 000 z 120 000 faktur przyjętych bez poprawek, około 0,045 € za przyjętą fakturę
  • Szkice odpowiedzi: 6800 € bezpośrednio, w tym 900 € na ponowienia i porzucone przebiegi, plus 1200 € wspólnych, 18 000 z 30 000 szkiców wysłanych, około 0,44 € za wysłany szkic

Druga pozycja wymaga przyjrzenia się. Wysyłane są mniej niż dwa szkice na trzy, a około jednej ósmej wydatków bezpośrednich nic nie dało. Czy 0,44 € to dobra cena, zależy od tego, ile czasu konsultanta oszczędza każdy wysłany szkic, a to może ocenić tylko zespół wsparcia.

Uzgadniaj wynik z finansami co miesiąc

  1. 1

    Zacznij od faktury

    Weź sumę z faktury każdego dostawcy i jego raport użycia za ten sam okres.

  2. 2

    Porównaj z bramką

    Zsumuj wydatki z bramki za ten okres i wyjaśnij różnicę pozycja po pozycji.

  3. 3

    Znajdź ruch, który ominął bramkę

    Porównaj użycie u dostawcy dla każdego klucza API lub workspace'u z wydatkami w bramce dla tych samych kluczy i okresu. Użycie, którego bramka nigdy nie zapisała, wskazuje na bezpośrednie wywołania, nawet jeśli mają ważny klucz. Anthropic raportuje też użycie z playgroundu w konsoli bez klucza API i użycie w domyślnym workspace bez identyfikatora workspace'u, więc pojawiają się one jako osobne, nieprzypisane pozycje.

  4. 4

    Opublikuj showback

    Udostępnij wydatki na zespół, pozycję zmarnowanych kosztów i koszt zaakceptowanego wyniku, jak sugerują wytyczne FinOps Foundation dotyczące AI, zanim zaczniesz rozliczać zespoły wewnętrznie.

Pytania

Czy obciążać zespoły kosztami LLM, czy tylko im je pokazywać?

Najpierw pokazywać. Dopóki suma z bramki nie zgadza się z fakturami przez kilka miesięcy z rzędu, obciążanie rodzi spory o liczby zamiast decyzji o pracy.

Czy to obejmuje też subskrypcje agentów kodujących?

Częściowo. Licencje i subskrypcje rozlicza się na osobę, a nie na zapytanie, więc potrzebują osobnej pozycji obok użycia rozliczanego według zużycia. Usługa Cloudsail optymalizacji kosztów LLM obejmuje taki podział właśnie dla agentów kodujących.

Czy potrzebujemy do tego bramki?

Do zgrubnego podziału nie. Osobne workspace'y lub klucze u dostawcy dla każdego zespołu już dają wydatki według zespołu. Tagi na poziomie zadania, sumy dla wielu dostawców i łączenie z wynikami biznesowymi są dużo prostsze z jedną bramką na ścieżce.

Porozmawiaj z inżynierem

Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.

Rezerwacja odbywa się w Kalendarzu Google.

Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.

Przycisk przygotowuje e-mail w twoim własnym programie pocztowym, a wysyłasz go samodzielnie. Polityka prywatności (wersja robocza)