Как понять, запустится ли модель на локальном ПК
Если на ПК только CPU
Формула для очень грубой оценки:
ток/с ≈ пропускная способность RAM / размер модели в памяти
Во время генерации текста модель обычно обрабатывает по одному токену за шаг.
На CPU это чаще всего упирается не в вычисления, а в память: нужно постоянно подгружать веса модели из RAM.
Пропускная способность RAM зависит от типа оперативной памяти и количества каналов. Обычно используют два канала: 2 или 4 планки.
Ориентиры:
- DDR4: ≈ 50 ГБ/с
- DDR5: ≈ 96 ГБ/с, округлим до 100 ГБ/с
Полезные команды в Linux:
Узнать тип оперативной памяти:
sudo dmidecode -t memory | grep -w "Type"
Узнать доступный объем оперативной памяти:
free -h
Пример
Итак, пример очень грубого расчета, который просто позволяет оценить скорость генерации токенов для ПК.
Условия:
- Модель:
qwen2.5:14b, 9 ГБ - Доступная память: 22 ГБ
- Пропускная способность RAM: 50 ГБ/с
Расчет:
ток/с ≈ 50 / 9 ≈ 5.5 ток/с
Важно:
- 4–7 ток/с — примерно скорость чтения человека
- 8–15 ток/с — комфортная генерация
На что еще стоит обратить внимание: запустится ли модель вообще.
RAM ≥ размер модели + контекст + запас системы
Краткий вывод: для ПК без GPU важны объем оперативной памяти и ее тип, который влияет на пропускную способность.
Если на ПК добавили GPU
По сути, логика грубого расчета аналогична CPU:
ток/с ≈ пропускная способность VRAM / размер модели в памяти
Примерная пропускная способность VRAM:
- RTX 3060, 12 ГБ: ~360 ГБ/с
- RTX 4060 / 4070: ~400–500 ГБ/с
- RTX 4090: ~1000 ГБ/с
В среднем можно рассматривать диапазон от 500 до 1000 ГБ/с.
Пример для qwen2.5:14b и RTX 3060
Условия:
- Модель:
qwen2.5:14b, 9 ГБ - VRAM: 12 ГБ
- Пропускная способность VRAM: ~360 ГБ/с
Расчет:
ток/с ≈ 360 / 9 ≈ 40 ток/с
Это очень грубая оценка. Реальная скорость будет ниже из-за вычислений, длины контекста, формата модели и программной реализации.
Важно: если модель не помещается в видеопамять
Если модель не помещается в VRAM, часть модели остается в обычной RAM / на CPU. Данные приходится гонять через PCIe. PCIe намного медленнее VRAM и имеет большие задержки.
Почему шина становится узким местом:
- Для генерации каждого токена GPU нужно обращаться к весам модели.
- Если часть весов лежит в RAM, данные нужно передавать через PCIe.
- PCIe 3.0 x16 дает около 16 ГБ/с, PCIe 4.0 x16 — около 32 ГБ/с.
- Это в 10–20 раз меньше, чем пропускная способность VRAM.
- Поэтому GPU может простаивать в ожидании данных.
Пример: частичный оффлоад
Условие: у вас 8 ГБ VRAM, а модель занимает 9 ГБ. Вы загружаете 8 ГБ в видеокарту, а 1 ГБ оставляете в обычной RAM. В llama.cpp или Ollama такое частичное размещение может настраиваться, например, параметром -ngl.
Результат: узким местом становится шина PCIe между материнской платой и видеокартой. Ее скорость составляет примерно 16–32 ГБ/с.
Итог: скорость резко падает и может опуститься до 5–10 ток/с, так как GPU постоянно ждет данные из обычной памяти.
Если модель не помещается в видеопамять, преимущество высокой пропускной способности видеокарты теряется. Происходит возврат к сценарию с CPU/RAM: эффективная пропускная способность может падать до уровня оперативной памяти, например до ~50 ГБ/с, если используется DDR4.
Краткий итог
- Для CPU: важны объем RAM и пропускная способность RAM.
- Для GPU: важны объем VRAM и пропускная способность VRAM.
- Модель должна помещаться в память полностью или почти полностью.
- Если модель не влезает в VRAM, скорость может сильно упасть из-за PCIe и обычной RAM.
Оставить отзыв
Комментарии
Загрузка комментариев...
★ Оставить отзыв