Niektóre operacje w usłudze Firefly Graph mają koszty, których nie można obliczyć z góry. W takim przypadku obok przycisku Uruchom pojawi się wskaźnik Kredyty się różnią zamiast stałego oszacowania kredytów. W tej sekcji wyjaśniono na czym polega i jak powstaje obieg pracy o nieokreślonych kosztach oraz co należy zrobić podczas jego uruchamiania.
Co oznacza sformułowanie „Liczba kredytów różni się”?
Standardowy węzeł ma przewidywalny koszt. Jeśli uruchomisz węzeł generacji obrazu, który tworzy jeden obraz 1024×1024, usługa Firefly Graph wie, ile to kosztuje, i pokazuje koszt przed uruchomieniem.
Węzeł o nieokreślonym koszcie jest inny: Graph może potwierdzić, że kredyty zostaną zużyte, ale dokładna suma nie jest znana, dopóki obieg pracy nie zakończy wykonywania. Rzeczywisty koszt jest obliczany na podstawie faktycznego użycia i rozliczany na koncie użytkownika po zakończeniu zadania.
Dlaczego niektórych kosztów nie można przewidzieć?"]}
Istnieją dwa różne powody, dla których obieg pracy może mieć nieokreślone koszty.
- Sam węzeł produkuje zmienne dane wyjściowe: Niektóre węzły są z założenia niedeterministyczne. Najjaśniejszym przykładem jest węzeł dużego modelu językowego — koszt zależy od tego, ile tokenów model wygeneruje w odpowiedzi na polecenie, a nie jest to znane do momentu zakończenia generowania. Krótka odpowiedź i długa odpowiedź kosztują różne kwoty, a Graph nie ma sposobu przewidzenia, którą z nich model wyprodukuje. Inne węzły w tej kategorii obejmują te, które zwracają zmienną liczbę elementów (na przykład węzeł segmentacji jednostek, który zwraca tyle jednostek, ile znajdzie w obrazie wejściowym) lub węzły, których struktura wyjściowa zależy od zawartości danych wejściowych.
- Graf uruchamia węzeł zmienną liczbę razy: Nawet węzeł o stałym koszcie na wykonanie może stać się nieokreślony, gdy jest używany w kontekście listy, pętli lub strumienia. Jeśli węzeł uruchamia się raz na element na liście upstream, a rozmiar tej listy jest wytwarzany przez wcześniejszy niedeterministyczny węzeł, całkowita liczba wykonań — a zatem całkowity koszt — nie może być obliczona do momentu uruchomienia obiegu pracy. Jest to powszechne w obiegach pracy, które się rozgałęziają: węzeł segmentacji zwraca N jednostek, a węzeł generowania downstream uruchamia się raz na jednostkę. Zarówno liczba, jak i koszt na element przyczyniają się do sumy, którą da się ustalić dopiero po fakcie.
Jak powstają nieokreślone koszty?
Gdy obieg pracy zawiera co najmniej jeden węzeł o nieokreślonym koszcie lub ścieżki wykonania, które generują zmienną liczbę wywołań, funkcja Graph zastępuje standardowe oszacowanie kosztów kredytów etykietą „Liczba kredytów różni się”. Zobaczysz to w kontrolkach Uruchom przed rozpoczęciem obiegu pracy. Najechanie kursorem lub rozwinięcie wskaźnika pokazuje, które węzły w grafie przyczyniają się do zmienności, dzięki czemu można sprawdzić obieg pracy przed jego uruchomieniem.
Co potwierdzasz, gdy uruchamiasz obieg pracy?
Uruchomienie obiegu pracy z opcją Credits varies oznacza potwierdzenie, że:
- Dokładny koszt kredytowy zostanie określony przez rzeczywiste wykonanie.
- Kredyty będą zużywane na podstawie rzeczywistego użycia i potrącone z konta po zakończeniu uruchomienia.
- Przejrzano obieg pracy i zaakceptowano, że suma może być wyższa lub niższa niż porównywalny obieg pracy o stałym koszcie.
Można przejrzeć kredyty generatywne w dowolnym momencie, sprawdzając saldo, i należy zawsze monitorować wykonywanie grafu podczas rozpoczynania przetwarzania, aby zidentyfikować przypadki, gdy uruchamia więcej iteracji niż oczekiwano.
Zarządzanie nieokreślonymi kosztami
Kilka praktycznych sposobów na zachowanie kontroli:
- Najpierw przetestuj na małych danych wejściowych. Uruchom obieg pracy raz z minimalnymi danymi wejściowymi, aby zrozumieć jego typowy koszt przed uruchomieniem na dużą skalę.
- Sprawdź źródło zmienności. Wskaźnik „Liczba kredytów różni się” informuje, które węzły są jej przyczyną — czasami wystarczy niewielka zmiana w funkcji Graph, aby koszt obiegu pracy stał się przewidywalny.