NastępnyNastępny poradnik
Szacowanie pamięci GPU potrzebnej dla LLM
Techniczne
PRZEWODNIK techniczny
Jak struktury AI przydzielają, ponownie wykorzystują i odzyskują ograniczoną pamięć na GPU oraz dlaczego pozostałe luki (fragmentacja) mogą powodować błędy braku pamięci, nawet jeśli technicznie pozostaje dużo pamięci.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
Pamięć GPU jest stała i cenna: karta może mieć łącznie 24, 80 lub 192 GB, współdzielonych przez wagę modelu, aktywacje, gradienty, stany optymalizatora i bufory tymczasowe. Wywoływanie sterownika w celu przydzielenia pamięci dla każdej operacji byłoby powolne, więc frameworki takie jak PyTorch używają alokatora pamięci podręcznej, który przechwytuje duże bloki z góry i rozdaje podczęści, a następnie przechowuje uwolnione fragmenty w puli do ponownego użycia. Haczyk polega na fragmentacji: w miarę przydzielania i zwalniania tensorów o różnych rozmiarach wolna przestrzeń rozpada się na rozproszone fragmenty. Możesz mieć w sumie 5 GB wolnego miejsca, ale nie możesz przydzielić ciągłego tensora 2 GB, ponieważ żadna pojedyncza przerwa nie jest wystarczająco duża. Z tego powodu trening może ulec awarii z powodu błędów związanych z brakiem pamięci, pomimo pozornie dostępnego zapasu pamięci.
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
Zarządzanie pamięcią staje się coraz inteligentniejsze i bardziej stronicowane, inspirowane systemami operacyjnymi. Techniki takie jak alokatory w stylu pamięci wirtualnej i uwaga stronicowana (używane do zarządzania pamięcią podręczną KV podczas wnioskowania) radykalnie zmniejszają straty i fragmentację. Spodziewaj się, że frameworki domyślnie będą korzystać z rozszerzalnych, defragmentujących alokatorów, lepszej widoczności dzięki wbudowanym profilerom i ściślejszego powiązania z odciążaniem i ponownym obliczaniem, dzięki czemu system automatycznie żongluje procesorem graficznym, procesorem i pamięcią dyskową, aby utrzymać wysokie wykorzystanie i rzadkie awarie.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Jak struktury AI przydzielają, ponownie wykorzystują i odzyskują ograniczoną pamięć na GPU oraz dlaczego pozostałe luki (fragmentacja) mogą powodować błędy braku pamięci, nawet jeśli technicznie pozostaje dużo pamięci. Zrozumienie tego jest kluczem do dopasowania dużych modeli i uniknięcia tajemniczych awarii.
Fragmentacja oznacza, że cała wolna pamięć jest wystarczająca, ale jest ona podzielona na kawałki, więc żadna pojedyncza przerwa nie jest wystarczająco duża dla dużego tensora.
Wywoływanie cudaMalloc/cudaFree dla każdej operacji jest powolne, więc moduł alokacji pamięci podręcznej pobiera duże bloki i ponownie wykorzystuje uwolnione z puli.
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention przechowuje pamięć podręczną KV na stronach o stałym rozmiarze, takich jak pamięć wirtualna systemu operacyjnego, ograniczając fragmentację i wydajnie obsługując wiele żądań.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Szacowanie pamięci GPU potrzebnej dla LLM
Techniczne