@ExeLover

Как поместить большую модель на нескольких видеокартах?

Хочу дообучить Llama 3 (70B) (подаю запрос уже второй раз т.к первый отклонен) на своем датасете, но только весит это модель огого. В одну карточку в 80 гигов я не уложу саму модель, что уж там и про датасет говорить. Есть какие-то способы уместить модель + датасет на нескольких карточках?
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
Требования оперативной памяти к GPT моделям примерно 2x байт от количества параметров (на самом деле сложнее и больше но но начинают говорить именно с этой оценки). Полистай сообщения этого бота на huggingface, вот пример для llama2-70b
float32	256.29 GB
float16	128.15 GB
int8	64.07 GB квантизация
int4	32.04 GB квантизация


Для использовании модели не для ее обучения и тюнинга, более чем достаточно 8битной квантизации, мало того, 6-ти и 5-битная квантизация понижает ее качество на считанные доли процентов (4-бит уже единицы процентов). Шум и галлюцинации слабых моделей значительно выше чем эти различия (например простое перефразирование системного текста или вопроса, без изменения его смысла, изменит результат значительнее).

Если тебе нужно использовать модель на python с помощью tensorflow, бери код с офф страницы модели и используй bitsandbytes. Не подскажу по тому, как раскидать модель по нескольким видеокартам тут, проектов тьма, есть даже те что работают по сети (т.е. не в пределах одной машины) типа petals.

И у тебя есть альтернатива, используй проект llama.cpp, позволяет запускать модель на процессоре (значительно эффективнее чем реализация на tensorflow) и есть поддержка gpu, одновременно нескольких и разных, причем любой, не только nvidia, плюс если vram не хватает, можно оставить часть весов в памяти и досчитывать на процессоре, что все равно эффективнее.

p.s. llama3-70b с помощью llama.cpp я запускал на процессоре с памятью 64Gb, с квантизацией 5bit, примерно 1.4токена в секунду, что все еще быстрее для англоязычных текстов чем пишет большинство людей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы