ДаліНаступний посібник
Оцінка потрібної пам’яті GPU для LLM
технічний
Технічний КЕРІВНИЦТВО
Як фреймворки штучного інтелекту розподіляють, повторно використовують і відновлюють обмежену пам’ять на графічному процесорі та чому залишкові прогалини (фрагментація) можуть спричиняти помилки браку пам’яті, навіть якщо пам’яті технічно залишається багато.
Послухайте цей посібникШІ-розказаний · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
Пам'ять графічного процесора є фіксованою та дорогоцінною: карта може мати загальний обсяг 24, 80 або 192 ГБ, який розподіляється між вагами моделі, активаціями, градієнтами, станами оптимізатора та тимчасовими буферами. Виклик драйвера для виділення пам’яті під час кожної операції буде повільним, тому такі фреймворки, як PyTorch, використовують розподільник кешу, який захоплює великі блоки наперед і роздає підчастини, а потім зберігає звільнені частини в пулі для повторного використання. Заковика полягає у фрагментації: коли тензори різного розміру розподіляються та звільняються, вільний простір розпадається на розрізнені шматки. Ви можете мати загалом 5 ГБ вільного місця, але не вдасться виділити суміжний 2 ГБ тензор, оскільки жоден проміжок не є достатньо великим. Ось чому навчання може зазнати збою через помилку нестачі пам’яті, незважаючи на, здавалося б, доступний запас.
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.
Управління пам’яттю стає розумнішим і більш сторінковим, натхненним операційними системами. Такі методи, як розподільники у стилі віртуальної пам’яті та сторінкова увага (використовується для керування кеш-пам’яттю KV під час висновку), значно зменшують відходи та фрагментацію. Очікуйте, що фреймворки за замовчуванням використовуватимуть розширювані розподільники з дефрагментацією, кращу видимість завдяки вбудованим профайлерам і більш тісний зв’язок із розвантаженням і повторним обчисленням, щоб система автоматично жонглювала графічним процесором, центральним процесором і дисковою пам’яттю для підтримки високого рівня використання та рідкісних збоїв.
Безплатний розсилок
Три перевірені історії про ШІ щоробочого ранку, написані простою мовою. Безплатно назавжди, без реклами.
Один лист щотижня з понеділка по п'ятницю. Відписатися в один клік. Ми ніколи не продаємо та не передаємо вашу адресу.
Перевір себе
Миттєва зворотна связь на кожну відповідь та сертифікат із перевіреним ідентифікатором, яким можна поділитися, після проходження курсу.
Підтримайте безплатну освіту у сфері ШІ. AI Understanding — це некомерційна організація 501(c)(3) — без реклами, без платних стін, назавжди. Зробіть пожертву
Як фреймворки штучного інтелекту розподіляють, повторно використовують і відновлюють обмежену пам’ять на графічному процесорі та чому залишкові прогалини (фрагментація) можуть спричиняти помилки браку пам’яті, навіть якщо пам’яті технічно залишається багато. Розуміння цього є ключовим для встановлення великих моделей і уникнення таємничих аварій.
Фрагментація означає, що загальної вільної пам’яті достатньо, але вона розбита на частини, тому жоден проміжок не є достатньо великим для великого тензора.
Виклик cudaMalloc/cudaFree для кожної операції відбувається повільно, тому розподільник кешування захоплює великі блоки та повторно використовує звільнені з пулу.
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 зберігає кеш KV на сторінках фіксованого розміру, як у віртуальній пам’яті ОС, зменшуючи фрагментацію та ефективно обслуговуючи багато запитів.
Продовжуйте вчитися
Інші посібники, вибрані для цієї теми
ДаліНаступний посібник
Оцінка потрібної пам’яті GPU для LLM
технічний