przepustowość pamięci

Ilość danych, jaką sprzęt przepycha między pamięcią a rdzeniami w ciągu sekundy. Przy generowaniu odpowiedzi to ona, a nie moc obliczeniowa, wyznacza sufit prędkości — bo każdy pojedynczy token wymaga przeczytania wszystkich wag modelu.

W Polsce nazywane też:

przepustowość pamięcipasmo pamięcimemory bandwidthsufit pamięciowy

Model o siedmiu miliardach parametrów zapisany w czterech bitach waży 3,5 GB. Żeby wygenerować jedno słowo odpowiedzi, sprzęt musi przeczytać te 3,5 GB z pamięci. Żeby wygenerować następne — znowu wszystkie 3,5 GB. I tak dla każdego tokenu.

To jedno zdanie wyjaśnia, dlaczego prędkość generowania nie zależy głównie od tego, jak szybko sprzęt liczy.

Czym jest przepustowość pamięci

Przepustowość pamięci to ilość danych, jaką akcelerator przepycha między pamięcią a rdzeniami obliczeniowymi w ciągu sekundy, podawana w gigabajtach na sekundę. Jest parametrem sprzętu, niezależnym od modelu — ale to właśnie ona, w połączeniu z rozmiarem wag, wyznacza górną granicę liczby tokenów na sekundę przy generowaniu odpowiedzi.

Wzór na sufit

Górną granicę liczy się przez podzielenie przepustowości przez rozmiar modelu w pamięci:

– laptop, pamięć operacyjna, około 80 GB/s — model 3,5 GB daje sufit około 23 tokenów na sekundę,
– karta graficzna klasy desktop, około 1000 GB/s — ten sam model daje sufit blisko 290 tokenów na sekundę,
– karta serwerowa z pamięcią HBM, ponad 3300 GB/s — sufit przekracza 900 tokenów na sekundę.

Realnie osiąga się siedemdziesiąt do osiemdziesięciu procent tej wartości. Reszta to narzut na wyniki pośrednie, pamięć podręczną kontekstu i synchronizację.

Dlaczego kwantyzacja przyspiesza model

Powszechne wytłumaczenie brzmi, że mniejsza precyzja upraszcza obliczenia. To nie jest główny powód. Kwantyzacja przyspiesza model przede wszystkim dlatego, że jest mniej bajtów do przeczytania. Plik czterokrotnie mniejszy to czterokrotnie mniej danych przepychanych przez tę samą rurę przy każdym tokenie.

Model zmniejsza się nie po to, żeby zmieścił się na dysku, tylko po to, żeby zmieścił się w przepustowości.

Ograniczenie pamięciowe kontra obliczeniowe

Zadanie ograniczone pamięciowo to takie, w którym rdzenie czekają na dane. Zadanie ograniczone obliczeniowo to takie, w którym dane czekają na rdzenie. Generowanie token po tokenie należy do pierwszej kategorii i wykorzystuje moc obliczeniową akceleratora na poziomie kilku procent.

Przetwarzanie promptu należy do drugiej — bo wszystkie tokeny wejściowe idą przez model naraz, więc jeden odczyt wag obsługuje tysiąc jednostek pracy zamiast jednej.

Z tej asymetrii wynika większość ekonomii serwowania modeli: batching, różnica w cenie tokenów wejściowych i wyjściowych oraz to, dlaczego karta obsługująca jedną rozmowę marnuje się prawie w całości.

akcelerator obliczeniowyUkład zaprojektowany do wykonywania wielu prostych operacji równolegle — karta graficzna, TPU lub NPU. Dla modeli językowych liczą się w nim dwa parametry osobno: moc obliczeniowa, która rządzi przetwarzaniem promptu, i przepustowość pamięci, która rządzi generowaniem odpowiedzi.przetwarzanie promptu i generowanieDwie fazy pracy modelu o przeciwnej charakterystyce. Prefill przetwarza cały prompt równolegle, obciąża rdzenie i decyduje o czasie do pierwszego tokena. Decode generuje odpowiedź sekwencyjnie, obciąża pamięć i decyduje o liczbie tokenów na sekundę.wnioskowanie modeluUżycie wytrenowanego modelu do wygenerowania odpowiedzi, przy zamrożonych wagach. Dzieli się na przetworzenie promptu i sekwencyjne generowanie token po tokenie — stąd różne stawki za tokeny wejściowe i wyjściowe oraz to, że długa odpowiedź kosztuje czasowo więcej niż długi prompt.kwantyzacjaZapisanie wag modelu z mniejszą precyzją liczbową, co zmniejsza zużycie pamięci i przyspiesza obliczenia kosztem dokładności. Umożliwia uruchamianie dużych modeli lokalnie. To nie to samo co destylacja — kwantyzacja zmienia zapis tych samych wag, destylacja tworzy nowy, mniejszy model.Infrastruktura wnioskowania modeliSprzęt i oprogramowanie dedykowane do uruchamiania modeli AI w czasie rzeczywistym — GPU accelerators, batching, quantization, model serving — odpowiadające na żądania z odpowiednią latencją i kosztem. Własna infrastruktura uzasadniona przy dużych wolumenach lub wymaganiach data sovereignty.Lokalny model językowyModel językowy uruchamiany lokalnie — bez zewnętrznego API — zapewniający prywatność danych, działanie offline i przewidywalne koszty. Llama, Mistral, Phi jako popularne modele. Ollama jako de facto standard dla developerów.