Масштабирование Saiga2 70B Q4

#1
by belyakoff - opened

Подскажите, что можно использовать для масштабирования больших языковых модлей (LLM) в продакшене для цели рапараллеливания запросов?

Описание ситуации:
Пытаемся масштабировать Saiga2 70B Q4, необходимо обсепечить параллельность работы 30 клиентов при использовании чат-бота.
Аппаратное оснащение: 4 RTX 4090 на каждый из трёх инстансов (физических машин).
Для распараллеливания использовали uvicorn+fastapi, но не взлетело. При запуске каждого воркера требуется 11 Гб с каждой карты дополнительно (столько весит вся модель + эмэддинги для векторного хранилища). Соответственно, 30 воркеров запустить невозможно при таком подходе.

Так в чем проблема?

Так в чем проблема?

uvicorn на каждый отдельный воркер подгружает модель заново;
gunicorn позволяет загрузить модель в несколько воркеров один раз, но при этом инференс никакой модели недоступен, ошибка:
RuntimeError: Cannot re-initialize CUDA in forked subprocess. Ошибка: "To use CUDA with multiprocessing, you must use the 'spawn' start method about accelerate."

https://github.com/huggingface/text-generation-inference
Не для GGUF версии, конечно.

IlyaGusev changed discussion status to closed

Sign up or log in to comment