Изисквания: Преди това съм внедрявал deepseek-r1:32b модела с Ollama, който е много удобен и бърз, подходящ за лично бързо внедряване. Ако това е корпоративна производствена среда, как трябва да бъде внедрена? Обикновено vllm и sglang се използват за внедряване, а тази статия използва vLLM за внедряване на модела DeepSeek-R1.
Ollama срещу vLLM
Разликите са следните:
| Контрастни размери | Оллама | vLLM | | Позициониране на ядрото | Леки инструменти за локализация за отделни разработчици и малки експерименти | Рамка за извеждане на производствено ниво, фокусирана върху корпоративни сценарии с висока паралелност и ниска латентност | | Хардуерни изисквания | Поддържа CPU и GPU, ниска памет (използва модел на квантуване по подразбиране) | Трябва да разчитам на NVIDIA GPU-та, които имат висока консумация на памет | | Поддръжка на модели | Вградена предварително обучена библиотека с модели (поддържа 1700+ модела), автоматично изтегляне на количествени версии (главно int4) | Ръчното изтегляне на оригиналния файл с модела (например формат HuggingFace) поддържа по-широк набор от модели | | Трудност при разполагане | Инсталация с един бутон и използване от кутията без необходима програмна база | Изисква се Python среда и CUDA драйвер, както и технически опит | | Характеристики на производителността | Единичната скорост на извод е бърза, но способността за обработка на паралелност е слаба | Висока пропускателна способност, поддръжка за динамична пакетна обработка и хиляди едновременни заявки | | Управление на ресурси | Регулирайте използването на ресурси гъвкаво и автоматично освобождавайте видео паметта, когато е в покой | Заетостта на видео паметта е фиксирана и ресурсите трябва да се запазят, за да се справят с пиковите натоварвания |
Кратко въведение във vLLM
vLLM е бърза и лесна за използване библиотека с изводи и услуги за LLM.
vLLM с нови алгоритми преосмисля най-новото технологично ниво на LLM услугите: . В сравнение с HuggingFace Transformers, той предлага до 24 пъти по-висока пропускателна способност без промени в архитектурата на модела. Намалявайки наполовина хешрейта и увеличавайки пропускателната способност десетократно, изследването сравни пропускателната способност на vLLM с най-популярната LLM библиотека HuggingFace Transformers (HF) и предишния HuggingFace Text Generation Inference (TGI) с SOTA пропускателната способност. Освен това изследването раздели експерименталната конфигурация на два типа: LLaMA-7B с NVIDIA A10G GPU като хардуер; Другият е LLaMA-13B, с NVIDIA A100 GPU (40GB) на хардуер. Те взеха проби за дължини на вход/изход от набора от данни ShareGPT. Резултатите показаха, че пропускателната способност на vLLM е 24 пъти по-висока от HF и 3.5 пъти по-висока от TGI.
vLLM документация:Входът към хиперлинк е видим. Адрес на изходния код:Входът към хиперлинк е видим. Тестове за производителност:Входът към хиперлинк е видим.
Не е нужно да разбирате картината, кравата е готова!
Екологична подготовка
Закупих високопроизводителни приложения на Tencent Cloud и ги конфигурирах по следния начин:
Ubuntu 20.04 Конфигурация на средата: Ubuntu 20.04, Драйвер 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Тип изчислителна мощност: Двукартов GPU основен тип - 2*16GB+ | 16+TFlops SP | CPU - 16 ядра | RAM - 64GB
Инсталирай Conda
Създай python среда с Conda, постави скрипта директно:
Разгръщане на DeepSeek-R1 с помощта на vLLM
Създайте python среда с conda със следната команда:
Инсталирайте vllm и modelscope със следните команди:
Изтеглете модела DeepSeek-R1 с помощта на modelscope със следната команда:
Препратка:Входът към хиперлинк е видим.
Стартирайте deepseek модела с vllm със следната команда:
Ако срещнете "Bfloat16 се поддържа само на GPU с изчислителни възможности поне 8.0. Твоят Tesla T4 GPU има изчислителни възможности 7.5. Можете да използвате float16 вместо това, като изрично зададете флага 'dtype' в CLI, например: --dtype=half." Внимание, просто добавете параметри според предупреждението.
Забележка:
- --tensor-parallel-size и настройки за броя на GPU
- --gpu-memory-utilization контролира процента използвана памет
- --served-model-name Името на модела, използвано в API-то
- --disable-log-requests деактивира заявките за логване
Документация за инсталация на vLLM Linux GPU:Входът към хиперлинк е видим. Параметри на двигателя:Входът към хиперлинк е видим.
Вижте статуса на GPU, както е показано по-долу:
Използване на тестовете Postman
Отваряне на браузъра:http://ip:8000/ Документация на интерфейса:http://ip:8000/docs
Пощальонско повикване, както е показано на следното изображение:
Бенчмаркинг
Изтеглете тестовия код със следната команда:
Командата се изпълнява по следния начин:
Резултат: Пропускателна способност: 2.45 заявки/с, общо 1569.60 токени/с, 1255.68 изходни токени/с
(Край) |