ДалееСледующее руководство
Оценка памяти графического процессора, необходимой для 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-истории каждое утро буднего дня, написанные простым английским. Бесплатно навсегда, без рекламы.
Одно электронное письмо каждый будний день. Отписаться в один клик. Мы никогда не продаем и не передаем ваш адрес.
Проверьте себя
Мгновенная обратная связь по каждому ответу и общий сертификат с проверяемым идентификатором после прохождения курса.
Поддержите бесплатное образование в области искусственного интеллекта. 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 в страницах фиксированного размера, таких как виртуальная память ОС, что позволяет сократить фрагментацию и эффективно обслуживать множество запросов.
Продолжайте учиться
Другие руководства, выбранные по этой теме
ДалееСледующее руководство
Оценка памяти графического процессора, необходимой для LLM
Технический