Jak planowanie akceleratorów wpływa na domową sztuczną inteligencję dla wielu użytkowników?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Planowanie zadań akceleratora wpływa na działanie domowej sztucznej inteligencji dla wielu użytkowników, decydując o tym, które żądania zostaną uruchomione, będą współdzielić poszczególne iteracje, zachowają stan pamięci lub zaczekają za innymi zadaniami.

Wielu domowników może wysyłać zapytania o zupełnie różnych kosztach: krótkie pytanie o sterowanie oświetleniem, długi dokument, obraz, polecenie głosowe lub zadanie agenta generujące wiele wywołań. Akcelerator nie jest w stanie określić ważności dla domowników wyłącznie na podstawie czasu nadejścia. Planista musi łączyć kolejność w kolejce, limity tokenów, przetwarzanie wsadowe, priorytety, dopuszczanie do pamięci i utrzymywanie modeli w pamięci, podczas gdy czas generowania wyników pozostaje nieprzewidywalny. Poniższe sekcje wyjaśniają, dlaczego ten sam sprzęt może wydawać się sprawiedliwy, szybki albo bezużyteczny — zależnie od sposobu podejmowania tych decyzji.

FIFO Traktuje Czas Nadejścia jako Jedyny Priorytet

Kolejka FIFO (pierwsze weszło, pierwsze wyszło) jest prosta, ale długi prompt lub odpowiedź może opóźnić wiele krótkich żądań, które nadeszły później.

Żądania LLM mają różne koszty tokenów, dlatego sprawiedliwość oparta wyłącznie na liczbie żądań może zapewnić jednemu użytkownikowi znacznie więcej czasu akceleratora niż innemu.

FIFO jest przewidywalne przy małym obciążeniu, ale przy zróżnicowanych zadaniach domowych powoduje blokowanie kolejki przez pierwsze żądanie.

Przetwarzanie Ciągłych Partii Dzieli Iteracje między Użytkowników

Planisty działający na poziomie iteracji mogą dodawać nowe sekwencje między krokami dekodowania i usuwać zakończone, bez konieczności przebudowywania jednej stałej partii.

Planowanie iteracyjne w Orca zwiększa wykorzystanie zasobów, umożliwiając jednoczesny postęp kilku użytkowników.

Współdzielenie nie gwarantuje jednakowej szybkości. Planista nadal decyduje, ile sekwencji zostanie dodanych, jak często każda z nich będzie wykonywać postęp oraz czy nowe wstępne przetwarzanie może przerwać aktywne dekodowanie.

Polityki Priorytetów Chronią Żądania Wrażliwe na Opóźnienia

Sterowanie głosowe i krótki czat interaktywny mogą wymagać szybszego dopuszczenia niż podsumowania działające w tle, generowanie embeddingów lub obrazów.

Llumnix obsługuje priorytety związane z opóźnieniami dla zróżnicowanych żądań LLM.

Priorytety muszą uwzględniać mechanizm starzenia lub limity, aby zadania w tle w końcu zostały uruchomione, a jeden uprzywilejowany użytkownik nie mógł zagłodzić pozostałych domowników.

-15% OFF

Dopuszczanie do Pamięci Może Zablokować Żądanie Jeszcze Przed Obliczeniami

Żądanie potrzebuje pamięci podręcznej KV i obszaru roboczego oprócz wag modelu. Planista może opóźnić dopuszczenie, nawet gdy jednostki obliczeniowe wydają się bezczynne, ponieważ wolna pamięć jest niewystarczająca.

Poradnik ZimaSpace dotyczący presji pamięci przy wielu użytkownikach wyjaśnia, dlaczego dłuższe konteksty zmniejszają liczbę rozmów, które mogą pozostać aktywne.

Wstrzymanie sekwencji zwalnia pojemność, ale później może wymagać ponownego wykonania obliczeń lub odtworzenia jej stanu, przez co polityka pamięci powoduje dodatkowe opóźnienia.

Wstępne Przetwarzanie i Dekodowanie Wymagają Różnego Planowania

Długie wstępne przetwarzanie intensywnie wykorzystuje moc obliczeniową, podczas gdy dekodowanie tokenów wielokrotnie odczytuje wagi i stan pamięci podręcznej. Uruchamianie ich razem bez kontroli może zatrzymać strumieniowe wyświetlanie wyników.

Sarathi-Serve wykorzystuje planowanie bez blokowania oraz porcjowane wstępne przetwarzanie, aby zwiększyć przepustowość i ograniczyć wpływ na opóźnienia.

Planista domowy może rezerwować możliwość dekodowania dla aktywnych rozmów i dzielić duże wstępne przetwarzanie dokumentów, zamiast pozwalać jednemu żądaniu monopolizować długą iterację.

Sprawiedliwość Należy Mierzyć w Kategoriach Widocznych dla Użytkownika

Łączna liczba tokenów na sekundę może wzrosnąć, podczas gdy jeden użytkownik czeka znacznie dłużej niż inny. Śledź czas oczekiwania w kolejce, czas do pierwszego tokena, odstęp między tokenami, czas ukończenia oraz udział w obsłudze według użytkownika lub klasy zadań.

Virtual Token Counter definiuje sprawiedliwość uwzględniającą tokeny, zamiast traktować każde żądanie jednakowo.

Używaj wyraźnych klas dla obsługi głosowej, czatu interaktywnego, agentów, embeddingów i zadań konserwacyjnych. Następnie testuj nakładające się długie i krótkie żądania, aby potwierdzić, że wybrana polityka odpowiada oczekiwaniom domowników.

Planowanie nie zwiększy dostępnej mocy akceleratora, ale może zdecydować, czy niedobór zasobów objawi się sprawiedliwym spowolnieniem, skokami opóźnień ogona czy zablokowaniem wszystkich innych użytkowników przez jedną osobę.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.