На что уходит GPU memory при training LLM
На какие сущности уходит GPU memory при обучении LLM, и почему KV cache обычно используют на inference, а не на training?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Память уходит на weights, gradients, optimizer states и activations. KV cache полезен на autoregressive inference с фиксированными весами, а на training нужен backprop через parallel forward.
Полный разбор
При обучении память занимают параметры модели, gradients, optimizer state вроде Adam moments, activations для backward, temporary buffers и batch/sequence-dependent tensors. Adam в mixed precision может добавлять кратный overhead к размеру параметров.
KV cache ускоряет decode на inference: прошлые K/V можно не пересчитывать, потому что веса фиксированы и токены генерируются по одному. На training вся последовательность обрабатывается параллельно с teacher forcing, нужно хранить или восстанавливать вычислительный граф для backprop, поэтому обычный inference-style KV cache не является базовой оптимизацией обучения.