Wybór GPU do LLMs: ile pamięci GPU potrzebuję?

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Oszacuj pamięć potrzebną na wagi, KV cache i środowisko wykonawcze, zanim porównasz szybkość GPU. Następnie zmierz przepustowość pamięci, wydajność obliczeniową i połączenia dla planowanego rozkładu żądań. Model, którego wagi mieszczą się w pamięci, nadal może przekroczyć jej pojemność, gdy kilka długich żądań jest przetwarzanych jednocześnie.

W obliczeniach pamięci uwzględnij wymaganą liczbę równoczesnych żądań i długości sekwencji.

Oszacuj zapotrzebowanie na pamięć

Model o 7 miliardach parametrów zapisany w FP16 zajmuje około 14 GB na same wartości wag. INT4 zmniejsza te wartości do około 3.5 GB, ale współczynniki skalowania, nieskwantyzowane tensory i alokacje środowiska wykonawczego wymagają dodatkowej pamięci. Istotna jest rzeczywista alokacja pamięci artefaktu.

Następnie oszacuj pamięć KV cache na podstawie architektury, precyzji pamięci podręcznej, długości aktywnych sekwencji i wielkości partii. Na koniec uwzględnij tymczasowe aktywacje, bufory, narzut alokatora oraz rezerwę opartą na pomiarach.

W prostym przykładzie planowania 14 GB wag i zmierzona alokacja KV wynosząca 4 GB wymagają już 18 GB przed uwzględnieniem pozostałych alokacji. Na karcie o pojemności 24 GB zostaje więc niewiele miejsca, jeśli narzut środowiska wykonawczego lub dłuższe żądania zużyją resztę. Nie dowodzi to, że każdy model o 7 miliardach parametrów ma pamięć podręczną o wielkości 4 GB.

Przepustowość pamięci i połączenia między GPU zmieniają porównanie

Wariant GPUDeklarowana pamięćDeklarowana przepustowość pamięci
H100 SXM80 GB HBM33.35 TB/s
H200 SXM141 GB HBM3e4.8 TB/s
B200 SXM180 GB HBM3eDo 8 TB/s

Te wartości pochodzą z architektury referencyjnej NVIDIA HGX. Opisują konkretne warianty, a nie specyfikacje, które można stosować zamiennie do każdej karty z tej samej rodziny.

Podczas dekodowania z małymi partiami odczytywanie wag i stanu mechanizmu uwagi może sprawić, że przepustowość pamięci będzie ważniejsza niż maksymalna wydajność operacji macierzowych. Większe partie, długie fazy przetwarzania wejścia i zoptymalizowane jądra obliczeniowe mogą zmienić zasób ograniczający wydajność. Gdy model potrzebuje wielu GPUs, uwzględnij czas komunikacji kolektywnej oraz dostępne połączenia między urządzeniami.

Porównaj rzeczywisty koszt jednego pomyślnie obsłużonego żądania przy tych samych celach jakości i latencji. Uwzględnij wymagane grupy GPU oraz niewykorzystaną pojemność; sama aktualna cena wynajmu nie pokazuje efektywności obsługi modelu.

Sekcja o wyborze GPU w LLM Engineering Guide porównuje dodatkowe urządzenia. Skorzystaj z planowania pamięci KV cache, aby oszacować zmienną alokację.