ayshakhatun9365
Dołączył: 11 Lis 2024 Posty: 1
|
Wysłany: Pon Lis 11, 2024 08:16 Temat postu: Low Latency Inference Chapter 2: Blackwell nadchodzi. NVIDIA |
|
|
Wiele z najbardziej ekscytujących zastosowań dużych modeli językowych (LLM), takich jak interaktywne boty mowy, współpiloci kodujący i wyszukiwanie, musi zacząć szybko odpowiadać na zapytania użytkowników, aby zapewnić pozytywne doświadczenia użytkowników. Czas, jaki zajmuje LLM wchłonięcie monitu użytkownika (i kontekstu, który może być znaczny) i rozpoczęcie wyprowadzania odpowiedzi, nazywa się czasem do pierwszego tokena (TTFT).
W miarę jak LLM-y rosną w rozmiarze – najnowsze modele społecznościowe obejmują teraz setki miliardów parametrów – dostarczają one dokładniejsze odpowiedzi, a także obsługują jeszcze większe okna kontekstowe, aby umożliwić użytkownikom zadawanie dłuższych, bogatych w informacje zapytań. Na przykład rodzina LLM-ów Llama 3.1 i 3.2 obsługuje do 128 tys. okien kontekstowych tokenów, czyli mniej więcej tyle, ile wynosi długość powieści. Te możliwości sprawiają, że LLM-y są bardziej użyteczne, ale wymagają również większej wydajności obliczeń równoległych, aby zapewnić dobrą interaktywność.
Do tej pory AI skalowało się z modelem przedtreningowym. Ostatnie postępy będą również skalowane z generowaniem syntetycznych danych po treningu i rozumowaniem w czasie wnioskowania. Wydajność wnioskowania i skalowanie są teraz niezwykle ważne.
W tym poście pokazujemy, w jaki sposób system NVIDIA GH200 NVL32, oparty na 32 superchipach NVIDIA GH200 Grace Hopper, połączonych za pomocą systemu przełączników NVLink, z udoskonaleniami TensorRT-LLM, jest skalowalny, aby zapewnić wyjątkową analizę TTFT na potrzeby wnioskowania długokontekstowego przy użyciu najnowszych modeli Llama 3.1 70B i 405B.
Czas do pierwszego tokenu ma znaczenie w przypadku zastosowań w czasie rzeczywistym
Aplikacje takie jak AI speech bots, asystenci cyfrowi, AI NPC w grach i inne mają na celu symulację naturalnych, ludzkich zdolności konwersacyjnych. W przypadku tych przypadków użycia kluczowe jest TTFT w zakresie kilkuset milisekund.
Aby zrozumieć wpływ TTFT na doświadczenie użytkownika, rozważ następujące animacje. Pierwsza przedstawia TTFT trwające około pół sekundy, a druga przedstawia TTFT trwające około pięciu sekund.
Animacja symulująca interaktywnego bota czatu, który potrzebuje 0,5 sekundy, aby zacząć odpowiadać na zapytania użytkowników.
Rysunek 1. Animacja pokazująca czas do otrzymania pierwszego tokena (TTFT) wynoszący 0,5 sekundy.
Animacja symulująca interaktywnego bota czatu, który potrzebuje 5 sekund, aby zacząć odpowiadać na zapytania użytkowników.
Rysunek 2. Animacja pokazująca 5-sekundowy czas do otrzymania pierwszego tokena (TTFT).
Szybkie TTFT jest szczególnie skuteczne w usługach, w których ważna jest aktualna wiedza, jak w przypadku niedawnego wzrostu przepływów pracy agentów. Aby budować użytecznych agentów, Retrieval-Augmented Generation (RAG) – które wzbogaca monity LLM o odpowiednie dane – jest potrzebne do dokładnych działań i odpowiedzi. Oznacza to, że konteksty mogą być bardzo długie i obejmować dziesiątki lub setki tysięcy tokenów. Posiadanie szybkiego TTFT, nawet w tak długich kontekstach, sprawia, że te usługi wydają się bardziej interaktywne.
Poniżej pokażemy, w jaki sposób NVIDIA GH200 NVL32 jest w stanie osiągnąć najszybszy opublikowany czas TTFT dla modeli Llama 3.1, nawet w bardzo długich kontekstach.
NVIDIA 2024 Zaktualizowana lista numerów telefonów z całego świata GH200 NVL32 superdoładowuje TTFT w celu wnioskowania na podstawie długiego kontekstu
Aby wygenerować pierwszy nowy token w odpowiedzi na żądanie wnioskowania, tokeny wejściowe muszą zostać przetworzone przez LLM. Ta faza wnioskowania, znana jako wstępne wypełnianie, często ma dużą liczbę tokenów, a zatem korzysta ze zwiększonej łącznej wydajności obliczeniowej. Można ją przyspieszyć, dzieląc obliczenia na wiele procesorów GPU przy użyciu technik paralelizmu , takich jak paralelizm tensorowy.
Gdy obliczenia są rozdzielane na wiele procesorów GPU przy użyciu paralelizmu tensorowego, wszystkie procesory GPU biorące udział w obliczeniach muszą wymieniać dane między wszystkimi innymi procesorami GPU w synchronizacji AllReduce, która odbywa się dwa razy na warstwę modelu. Wraz ze wzrostem liczby procesorów GPU biorących udział w obliczeniach, rośnie całkowita ilość ruchu synchronizacji. Llama 3.1 405B obejmuje 126 warstw, co daje 252 synchronizacje AllReduce na krok wnioskowania. Oznacza to, że uruchomienie Llama 3.1 405B na 32 procesorach GPU z sekwencją wejściową 122 880 tokenów generuje 114 TB łącznego ruchu połączeń międzysystemowych. Aby zminimalizować czas spędzony podczas tych synchronizacji i zmaksymalizować czas dostępny dla procesorów GPU, potrzebna jest struktura GPU-GPU typu all-to-all o dużej przepustowości i niskim opóźnieniu.
GH200 NVL32 to rozwiązanie w skali rack, które łączy 32 superchipy NVIDIA GH200 Grace Hopper — każdy złożony z procesora NVIDIA Grace CPU i procesora graficznego NVIDIA Hopper GPU połączonych przez NVLink-C2C — za pomocą systemu przełączania NVLink. Umożliwia to każdemu procesorowi graficznemu Hopper komunikację z dowolnym innym procesorem graficznym w domenie NVLink przy pełnej przepustowości 900 GB/s, co daje łączną przepustowość 28,8 TB/s. System przełączania NVLink oznacza, że połączone 32 układy GH200 tworzą „jeden potężny procesor graficzny” o mocy obliczeniowej FP8 AI do 127 petaFLOP-ów. Pomaga to radykalnie skrócić czas TTFT, szczególnie w przypadku najbardziej wymagających modeli z długim kontekstem.
W przypadku skalowania z ośmiu procesorów graficznych NVIDIA H200 Tensor Core do 32 superchipów GH200 Grace Hopper, TTFT dla zapytania 122 880 tokenów Llama 3.1 405B, TTFT jest przyspieszane 3-krotnie, umożliwiając doświadczenie w czasie rzeczywistym. A nawet dla Llama 3.1 70B, TTFT dla zapytania o tej samej długości ma 2,6-krotne przyspieszenie w TTFT.
W poniższych sekcjach pokażemy, w jaki sposób GH200 NVL32 umożliwia responsywne, długie wnioskowanie kontekstowe Llama 3.1 70B i 405B.
Lama 3.1 70B
Pojedynczy system GH200 NVL32 osiąga czas TTFT wynoszący zaledwie 472 milisekundy podczas uruchamiania programu Llama 3.1 70B przy użyciu sekwencji wejściowej o długości 32 768. W praktyce oznacza to, że program Llama 3.1 70B może rozpocząć generowanie podsumowania 90-stronicowego dokumentu lub sugestii kodowania dla tysięcy linii kodu w czasie krótszym niż pół sekundy. _________________ 2024 Zaktualizowana lista numerów telefonów z całego świata |
|