Всем привет! "Третий день моих отношений с LLama-3.1"
Я протестировал несколько комбинаций моделей и конфигураций. Начну с того, что до модели 405B мне пока не дотянуться из-за необходимости использования DeepSpeed, который представляет собой мульти-кластер-инференс. Пока что непонятно, как он запускается, поэтому требуется изучение документации. Миша (мой очень хороший друг и учитель по DS), который уже имел опыт с этим, поделился некоторыми деталями, так что буду продолжать изучение.
Перейдем к модели 70B. FP16 отлично запускается на 4-х H100 (1.5 миллиона в месяц аренды, ага =) ), полностью влезает, работает стабильно на 128K контекста(
В данный момент у нас есть конфигурация с 8B на 2 GPU 4090 с 128K контекста в нашем распоряжении и параметром
Также мы можем запустить 70B в квантованном виде INT4 на 4 GPU 4090. Я уже провел тестирование, и модель работала на 128K контекста, однако у меня возникли вопросы к точности из-за значительного сокращения данных при переходе с FP16 на INT4. А еще видел пару бенчей, где место у INT4 на 10-20 пунктов ниже.
Что касается FP8, мы можем арендовать необходимое оборудование за примерно 300 тысяч рублей в месяц (одна H100) + у нас будет 2 сервера в on-premise "через месяц примерно", но при этом контекст будет ограничен (пока мне удалось выжать 3K контекста, хотя судя по табличке должно влезать 16K).
В заключение, хочу отметить, что при выборе между 8B/FP16 и 70B/FP8, предпочтение лучше отдать 70B, но при условии, что она будет работать на 128K контекста. Буду копать, как такое поднять на минимальном железе. Важно учитывать, что характеристики, указывающие на необходимый объем памяти для запуска модели, часто умалчивают о контексте и говорят типо "Вы можете запустить вот на такой видеокарте модель". Поэтому выложу официальные расчеты.
Относительно картинок и сколько памяти нужно:
Какие я использовал сервера и где Immers:
1) Для запуска 70B FP16 128K контекста.
2) Для запуска 8B FP16 128K контекста.
3) И сейчас пытаюсь уместить сюда 70B FP8 на 16K контекста (сейчас влезает 3K контекста, но возникает ошибка:
Утилизация при этом:
GPU RAM 69GB из 80 доступных.
---
Текстом таблички:
1. Таблица с требованиями к памяти для различных конфигураций моделей:
- 8B: FP16 - 16 GB, FP8 - 8 GB, INT4 - 4 GB
- 70B: FP16 - 140 GB, FP8 - 70 GB, INT4 - 35 GB
- 405B: FP16 - 810 GB, FP8 - 405 GB, INT4 - 203 GB
2. Таблица с требованиями к памяти для KV Cache в зависимости от количества токенов:
- 8B: 1K токенов - 0.125 GB, 16K токенов - 1.95 GB, 128K токенов - 15.62 GB
- 70B: 1K токенов - 0.313 GB, 16K токенов - 4.88 GB, 128K токенов - 39.06 GB
- 405B: 1K токенов - 0.984 GB, 16K токенов - 15.38 GB, 128K токенов - 123.05 GB
Я протестировал несколько комбинаций моделей и конфигураций. Начну с того, что до модели 405B мне пока не дотянуться из-за необходимости использования DeepSpeed, который представляет собой мульти-кластер-инференс. Пока что непонятно, как он запускается, поэтому требуется изучение документации. Миша (мой очень хороший друг и учитель по DS), который уже имел опыт с этим, поделился некоторыми деталями, так что буду продолжать изучение.
Перейдем к модели 70B. FP16 отлично запускается на 4-х H100 (1.5 миллиона в месяц аренды, ага =) ), полностью влезает, работает стабильно на 128K контекста(
"--max-num-seqs", "16"
). Однако FP8 не влезает на 6 GPU модели 4090, вероятно, из-за требований к памяти, которая должна быть кратной двум, например, 2, 4, 8 (моя гипотеза, хотя ошибка вообще говорит о другом: "The number of CUDA devices has changed since the first call to torch.cuda.device_count()
"). Но я только изучаю этот вопрос, как найду что-то, возможно, расскажу.В данный момент у нас есть конфигурация с 8B на 2 GPU 4090 с 128K контекста в нашем распоряжении и параметром
"--max-num-seqs", "16"
(в теории держит одновременно 16 потоков), для проектов B2B и тестов под B2C. Это мы зафиксировали и сохранили конфиги, можно масштабировать за Nginx + тупенький Round-robin.Также мы можем запустить 70B в квантованном виде INT4 на 4 GPU 4090. Я уже провел тестирование, и модель работала на 128K контекста, однако у меня возникли вопросы к точности из-за значительного сокращения данных при переходе с FP16 на INT4. А еще видел пару бенчей, где место у INT4 на 10-20 пунктов ниже.
Что касается FP8, мы можем арендовать необходимое оборудование за примерно 300 тысяч рублей в месяц (одна H100) + у нас будет 2 сервера в on-premise "через месяц примерно", но при этом контекст будет ограничен (пока мне удалось выжать 3K контекста, хотя судя по табличке должно влезать 16K).
В заключение, хочу отметить, что при выборе между 8B/FP16 и 70B/FP8, предпочтение лучше отдать 70B, но при условии, что она будет работать на 128K контекста. Буду копать, как такое поднять на минимальном железе. Важно учитывать, что характеристики, указывающие на необходимый объем памяти для запуска модели, часто умалчивают о контексте и говорят типо "Вы можете запустить вот на такой видеокарте модель". Поэтому выложу официальные расчеты.
Относительно картинок и сколько памяти нужно:
Какие я использовал сервера и где Immers:
1) Для запуска 70B FP16 128K контекста.
2) Для запуска 8B FP16 128K контекста.
3) И сейчас пытаюсь уместить сюда 70B FP8 на 16K контекста (сейчас влезает 3K контекста, но возникает ошибка:
ValueError: The model's max seq len (8000) is larger than the maximum number of tokens that can be stored in KV cache (3344). Try increasing gpu_memory_utilization or decreasing max_model_len when initializing the engine
).Утилизация при этом:
GPU RAM 69GB из 80 доступных.
---
Текстом таблички:
1. Таблица с требованиями к памяти для различных конфигураций моделей:
- 8B: FP16 - 16 GB, FP8 - 8 GB, INT4 - 4 GB
- 70B: FP16 - 140 GB, FP8 - 70 GB, INT4 - 35 GB
- 405B: FP16 - 810 GB, FP8 - 405 GB, INT4 - 203 GB
2. Таблица с требованиями к памяти для KV Cache в зависимости от количества токенов:
- 8B: 1K токенов - 0.125 GB, 16K токенов - 1.95 GB, 128K токенов - 15.62 GB
- 70B: 1K токенов - 0.313 GB, 16K токенов - 4.88 GB, 128K токенов - 39.06 GB
- 405B: 1K токенов - 0.984 GB, 16K токенов - 15.38 GB, 128K токенов - 123.05 GB
🔥9👍1
tgoop.com/neuraldeep/997
Create:
Last Update:
Last Update:
Всем привет! "Третий день моих отношений с LLama-3.1"
Я протестировал несколько комбинаций моделей и конфигураций. Начну с того, что до модели 405B мне пока не дотянуться из-за необходимости использования DeepSpeed, который представляет собой мульти-кластер-инференс. Пока что непонятно, как он запускается, поэтому требуется изучение документации. Миша (мой очень хороший друг и учитель по DS), который уже имел опыт с этим, поделился некоторыми деталями, так что буду продолжать изучение.
Перейдем к модели 70B. FP16 отлично запускается на 4-х H100 (1.5 миллиона в месяц аренды, ага =) ), полностью влезает, работает стабильно на 128K контекста(
В данный момент у нас есть конфигурация с 8B на 2 GPU 4090 с 128K контекста в нашем распоряжении и параметром
Также мы можем запустить 70B в квантованном виде INT4 на 4 GPU 4090. Я уже провел тестирование, и модель работала на 128K контекста, однако у меня возникли вопросы к точности из-за значительного сокращения данных при переходе с FP16 на INT4. А еще видел пару бенчей, где место у INT4 на 10-20 пунктов ниже.
Что касается FP8, мы можем арендовать необходимое оборудование за примерно 300 тысяч рублей в месяц (одна H100) + у нас будет 2 сервера в on-premise "через месяц примерно", но при этом контекст будет ограничен (пока мне удалось выжать 3K контекста, хотя судя по табличке должно влезать 16K).
В заключение, хочу отметить, что при выборе между 8B/FP16 и 70B/FP8, предпочтение лучше отдать 70B, но при условии, что она будет работать на 128K контекста. Буду копать, как такое поднять на минимальном железе. Важно учитывать, что характеристики, указывающие на необходимый объем памяти для запуска модели, часто умалчивают о контексте и говорят типо "Вы можете запустить вот на такой видеокарте модель". Поэтому выложу официальные расчеты.
Относительно картинок и сколько памяти нужно:
Какие я использовал сервера и где Immers:
1) Для запуска 70B FP16 128K контекста.
2) Для запуска 8B FP16 128K контекста.
3) И сейчас пытаюсь уместить сюда 70B FP8 на 16K контекста (сейчас влезает 3K контекста, но возникает ошибка:
Утилизация при этом:
GPU RAM 69GB из 80 доступных.
---
Текстом таблички:
1. Таблица с требованиями к памяти для различных конфигураций моделей:
- 8B: FP16 - 16 GB, FP8 - 8 GB, INT4 - 4 GB
- 70B: FP16 - 140 GB, FP8 - 70 GB, INT4 - 35 GB
- 405B: FP16 - 810 GB, FP8 - 405 GB, INT4 - 203 GB
2. Таблица с требованиями к памяти для KV Cache в зависимости от количества токенов:
- 8B: 1K токенов - 0.125 GB, 16K токенов - 1.95 GB, 128K токенов - 15.62 GB
- 70B: 1K токенов - 0.313 GB, 16K токенов - 4.88 GB, 128K токенов - 39.06 GB
- 405B: 1K токенов - 0.984 GB, 16K токенов - 15.38 GB, 128K токенов - 123.05 GB
Я протестировал несколько комбинаций моделей и конфигураций. Начну с того, что до модели 405B мне пока не дотянуться из-за необходимости использования DeepSpeed, который представляет собой мульти-кластер-инференс. Пока что непонятно, как он запускается, поэтому требуется изучение документации. Миша (мой очень хороший друг и учитель по DS), который уже имел опыт с этим, поделился некоторыми деталями, так что буду продолжать изучение.
Перейдем к модели 70B. FP16 отлично запускается на 4-х H100 (1.5 миллиона в месяц аренды, ага =) ), полностью влезает, работает стабильно на 128K контекста(
"--max-num-seqs", "16"
). Однако FP8 не влезает на 6 GPU модели 4090, вероятно, из-за требований к памяти, которая должна быть кратной двум, например, 2, 4, 8 (моя гипотеза, хотя ошибка вообще говорит о другом: "The number of CUDA devices has changed since the first call to torch.cuda.device_count()
"). Но я только изучаю этот вопрос, как найду что-то, возможно, расскажу.В данный момент у нас есть конфигурация с 8B на 2 GPU 4090 с 128K контекста в нашем распоряжении и параметром
"--max-num-seqs", "16"
(в теории держит одновременно 16 потоков), для проектов B2B и тестов под B2C. Это мы зафиксировали и сохранили конфиги, можно масштабировать за Nginx + тупенький Round-robin.Также мы можем запустить 70B в квантованном виде INT4 на 4 GPU 4090. Я уже провел тестирование, и модель работала на 128K контекста, однако у меня возникли вопросы к точности из-за значительного сокращения данных при переходе с FP16 на INT4. А еще видел пару бенчей, где место у INT4 на 10-20 пунктов ниже.
Что касается FP8, мы можем арендовать необходимое оборудование за примерно 300 тысяч рублей в месяц (одна H100) + у нас будет 2 сервера в on-premise "через месяц примерно", но при этом контекст будет ограничен (пока мне удалось выжать 3K контекста, хотя судя по табличке должно влезать 16K).
В заключение, хочу отметить, что при выборе между 8B/FP16 и 70B/FP8, предпочтение лучше отдать 70B, но при условии, что она будет работать на 128K контекста. Буду копать, как такое поднять на минимальном железе. Важно учитывать, что характеристики, указывающие на необходимый объем памяти для запуска модели, часто умалчивают о контексте и говорят типо "Вы можете запустить вот на такой видеокарте модель". Поэтому выложу официальные расчеты.
Относительно картинок и сколько памяти нужно:
Какие я использовал сервера и где Immers:
1) Для запуска 70B FP16 128K контекста.
2) Для запуска 8B FP16 128K контекста.
3) И сейчас пытаюсь уместить сюда 70B FP8 на 16K контекста (сейчас влезает 3K контекста, но возникает ошибка:
ValueError: The model's max seq len (8000) is larger than the maximum number of tokens that can be stored in KV cache (3344). Try increasing gpu_memory_utilization or decreasing max_model_len when initializing the engine
).Утилизация при этом:
GPU RAM 69GB из 80 доступных.
---
Текстом таблички:
1. Таблица с требованиями к памяти для различных конфигураций моделей:
- 8B: FP16 - 16 GB, FP8 - 8 GB, INT4 - 4 GB
- 70B: FP16 - 140 GB, FP8 - 70 GB, INT4 - 35 GB
- 405B: FP16 - 810 GB, FP8 - 405 GB, INT4 - 203 GB
2. Таблица с требованиями к памяти для KV Cache в зависимости от количества токенов:
- 8B: 1K токенов - 0.125 GB, 16K токенов - 1.95 GB, 128K токенов - 15.62 GB
- 70B: 1K токенов - 0.313 GB, 16K токенов - 4.88 GB, 128K токенов - 39.06 GB
- 405B: 1K токенов - 0.984 GB, 16K токенов - 15.38 GB, 128K токенов - 123.05 GB
BY Neural Deep


Share with your friend now:
tgoop.com/neuraldeep/997