Robocikowo>ROBOCIKOWO
Wnioskowanie

Distributed Inference

2022AktywnyOpublikowany
Rozproszona inferencja: wykonywanie forward passu modelu na wielu urządzeniach/węzłach GPU przy użyciu różnych form równoległości, gdy model nie mieści się na jednym akceleratorze.
Kluczowa innowacja
Umożliwia uruchomienie wnioskowania modeli zbyt dużych, by zmieścić się na pojedynczym akceleratorze, przez podział modelu i obliczeń na wiele urządzeń GPU/TPU i węzłów.
Kategoria
Wnioskowanie
Poziom abstrakcji
Wzorzec
Poziom operacji
InferencjaUdostępnianieWdrożenie
Zastosowania
Serwowanie dużych LLM (dziesiątki–setki mld parametrów)Inferencja modeli nie mieszczących się na jednym GPUWysokoprzepustowe API do generacji tekstuInferencja modeli Mixture-of-ExpertsWnioskowanie z długim kontekstem i dużym cache KVKlastry wielowęzłowe GPU/TPU

Jak działa

Model i obliczenia dzieli się wzdłuż jednego lub kilku wymiarów. W równoległości tensorowej macierze wag warstwy są rozcinane między GPU, a wyniki scalane operacją AllReduce/AllGather w obrębie warstwy. W równoległości potokowej kolejne warstwy przypisane są do różnych etapów (urządzeń), a aktywacje przesyłane punkt-punkt między etapami; mikrowsady ograniczają 'bąble' potoku. Data/replica parallelism replikuje model i rozdziela zapytania dla wyższej przepustowości. W modelach MoE equivalentem jest expert parallelism z rozsyłaniem tokenów operacją All-to-All. Przy niewystarczającej pamięci stosuje się sharding wag i stanu oraz offload do CPU/NVMe (ZeRO-Inference). Rozproszony cache KV i szybkie łącza (NVLink/InfiniBand) minimalizują koszt komunikacji dominujący w fazie dekodowania.

Rozwiązany problem

Pojedynczy akcelerator ma ograniczoną pamięć i moc obliczeniową, przez co największe modele (dziesiątki–setki miliardów parametrów) nie mieszczą się na jednym GPU lub działają zbyt wolno. Rozproszona inferencja rozwiązuje ograniczenie pamięci i przepustowości, dzieląc model oraz obliczenia między wiele urządzeń.

Komponenty

Tensor ParallelismPodział pojedynczych warstw/macierzy między urządzenia (intra-layer).

Macierze wag (np. projekcje w uwadze i MLP) są dzielone kolumnowo/wierszowo; wyniki łączone przez AllReduce/AllGather w obrębie warstwy.

Pipeline ParallelismRozdzielenie kolejnych warstw na etapy (inter-layer).

Model dzielony na etapy przypisane do różnych urządzeń; aktywacje przesyłane punkt-punkt; mikrowsady ograniczają bąble potoku.

Data / Replica ParallelismReplikacja modelu i rozdział zapytań dla przepustowości.

Oficjalna

Expert ParallelismRozmieszczenie ekspertów MoE na urządzeniach z routingiem All-to-All.

Oficjalna

Collective CommunicationOperacje AllReduce/AllGather/All-to-All synchronizujące urządzenia.

Realizowane bibliotekami jak NCCL; dominujący koszt komunikacyjny rozproszonej inferencji.

Weight & State Sharding / OffloadShardowanie wag i stanu, offload do CPU/NVMe (ZeRO-Inference).

Oficjalna

Implementacja

Pułapki implementacyjne
Wąskie gardło komunikacjiWysoka

Operacje kolektywne (AllReduce/All-to-All) dominują czas przy wolnych łączach międzyurządzeniowych/węzłowych.

Rozwiązanie:Szybkie łącza (NVLink/InfiniBand), nakładanie komunikacji na obliczenia, ograniczenie TP do jednego węzła.
Bąble potokuŚrednia

Niewykorzystanie urządzeń na początku/końcu potoku obniża efektywność.

Rozwiązanie:Mikrowsady i harmonogramy typu 1F1B.
Nierównomierne obciążenie / shardingŚrednia

Nierówny podział wag lub tokenów (MoE) powoduje przestoje szybszych urządzeń.

Rozwiązanie:Balansowanie shardów i routingu, dobór TP/PP do architektury.

Ewolucja

Oryginalny paper · 2022 · Reza Yazdani Aminabadi
DeepSpeed Inference: Enabling Efficient Inference of Transformer Models at Unprecedented Scale
Reza Yazdani Aminabadi, Samyam Rajbhandari, Minjia Zhang, Ammar Ahmad Awan, Cheng Li, Du Li, Elton Zheng, Jeff Rasley, Shaden Smith, Olatunji Ruwase, Yuxiong He
2018
GPipe – pipeline parallelism
Punkt przełomowy

GPipe wprowadza równoległość potokową z mikrowsadami dla gigantycznych sieci.

2019
Megatron-LM – tensor parallelism
Punkt przełomowy

Megatron-LM popularyzuje równoległość tensorową dla warstw Transformera.

2022
DeepSpeed Inference
Punkt przełomowy

Dedykowany system rozproszonej inferencji Transformerów łączący TP, PP i offload (ZeRO-Inference).

2022
Alpa – automatyczna równoległość

Alpa automatyzuje dobór równoległości inter- i intra-operatorowej dla rozproszonego uczenia i inferencji.

2023
vLLM / PagedAttention
Punkt przełomowy

vLLM wprowadza PagedAttention i rozproszone serwowanie z zarządzaniem cache KV, standard przemysłowy inferencji LLM.

Hiperparametry (konfigurowalne osie)

Tensor parallel size (TP)Wysoka

Liczba urządzeń dzielących pojedynczą warstwę.

Pipeline parallel size (PP)Wysoka

Liczba etapów potoku (grup warstw) na osobnych urządzeniach.

Data / replica parallel sizeŚrednia

Liczba replik modelu obsługujących zapytania równolegle.

Micro-batch sizeŚrednia

Rozmiar mikrowsadu ograniczający bąble potoku.

Złożoność obliczeniowa

Złożoność przestrzenna: O(P / N) na urządzenie.

Równoległość

Poziom równoległości
Częściowo równoległy

Równoległość tensorowa jest w pełni równoległa w obrębie warstwy, lecz potok wprowadza sekwencyjne zależności między etapami; faza dekodowania jest komunikacyjnie związana.

Zakres
InferencjaPomiędzy urządzeniamiPomiędzy warstwami

Wymagania sprzętowe

Podstawowe

Wymaga wielu GPU z szybkimi łączami (NVLink/InfiniBand) dla operacji kolektywnych.

Dobry fit

Pody TPU z łączami ICI dobrze wspierają równoległość modelu i potoku.