Расчет требуемой видеопамяти для LLM
При подборе видеокарты или AI-ускорителя одним из основных критериев является количество видеопамяти, которое необходимо для загрузки LLM-модели. В этом посте коротко опишу, как посчитать требуемый объем памяти.
Подбираем LLM модель
Для начала надо определиться с моделью. Итак, пусть
P – количество параметров модели (указываем в миллиардах).
Q – степень квантизации модели (4 / 8 и т.д.).
Формула расчетов
Основная формула расчетов будет такой.
The formula is simple:
Символ | Значение |
---|---|
M | Требуемый объем видеопамяти (в гигабайтах). |
P | Количество параметров в модели, например для 7B модели (7 миллиардов параметров) – будет 7. |
4B | 4 байта, выражает количество байт, используемых для одного параметра. |
32 | Так как в 4-х байтах содержится 32 бита. |
Q | Степень квантизации, количество бит, которые используются для загрузки модели. Например 16 бит, 8 бит, 4 бита. |
1.2 | Корректировка в 20% оверхеда при загрузки дополнительной информации в видеопамять. |
Теперь попробуем посчитать на примере.
Пример расчетов памяти для LLM
Возьмем модель Llama-2-70B-Chat , с квантизацией на 16 бит. Эта модель состоит из 70 миллиардов параметров.
Сожрет памяти она довольно много, одного A100 80GB явно не хватит. А вот 2 x A100 80Gb должно хватитть для работы этой модели в 16-битном режиме.
Как уменьшить количество требуемой для LLM видеопамяти
Для этого собственно и используется кванизация. Квантизация — метод уменьшения размера памяти, используемой для нейросети, с помощью замены значений весов на значения меньшей точности. Например, float64 на float32. При этом обычно ускоряются вычисления, так как скорость проведения операция на числах с типами меньшей точности или специализированных типах прилично выше, чем на исходных. Нужно найти файл модели уже квантизованный в нужный нам размер. На HuggingFace есть совершенно замечательный персонаж TheBloke, который этим занимается. Вот тут расположен репозитарий квантизованных моделей Llama. Для примера возьмем 4-х битрную квантизацию llama-2-70b-chat.Q4_0.gguf и посчитаем, сколько памяти надо для нее.
Отлично, теперь нам нужно “всего” 42 Gb видеопамяти. Для этого хватит уже 2 x Nvidia L4 24Gb GPU. Уже гораздо лучше!