Požadavky: Dříve jsem nasadil model deepseek-r1:32b s Ollamou, který je velmi pohodlný a rychlý, vhodný pro osobní rychlé nasazení. Pokud jde o podnikové produkční prostředí, jak by mělo být nasazeno? Obecně se pro nasazení používají vllm a sglang a tento článek využívá vLLM k nasazení modelu DeepSeek-R1.
Ollama vs. vLLM
Rozdíly jsou následující:
| Kontrastní rozměry | Ollama | vLLM | | Umístění jádra | Lehké lokalizační nástroje pro jednotlivé vývojáře a malé experimenty | Inferenční rámec na produkční úrovni, zaměřený na podnikové scénáře s vysokou souběžností a nízkou latencí | | Hardwarové požadavky | Podporuje CPU a GPU, nízká paměťová náročnost (používá kvantizační model ve výchozím nastavení) | Musíte se spolehnout na NVIDIA GPU, které mají vysokou spotřebu paměti | | Podpora modelů | Vestavěná knihovna předtrénovaných modelů (podporuje 1700+ modelů), automatické stahování kvantitativních verzí (hlavně int4) | Ruční stažení původního modelového souboru (např. formát HuggingFace) podporuje širší škálu modelů | | Obtížnost nasazení | Instalace jedním tlačítkem a použití po vybalení bez nutnosti programování | Je vyžadováno prostředí Python a ovladač CUDA, a technické zkušenosti | | Výkonnostní charakteristiky | Rychlost jednoho inference je vysoká, ale schopnost zpracování souběžnosti je slabá | Vysoká propustnost, podpora dynamického dávkového zpracování a tisíce současných požadavků | | Správa zdrojů | Flexibilně upravte využití zdrojů a automaticky uvolněte video paměť v nečinnosti | Obsazenost video paměti je pevná a je třeba rezervovat zdroje pro zvládnutí špičkové zátěže |
Krátký úvod do vLLM
vLLM je rychlá a snadno použitelná knihovna inference a služeb LLM.
vLLM s novými algoritmy redefinuje nejnovější technologickou úroveň LLM služeb: . Ve srovnání s HuggingFace Transformers nabízí až 24krát vyšší propustnost bez jakýchkoli změn architektury modelu. Studie snížila hashrate na polovinu a desetkrát zvýšila propustnost a porovnala propustnost vLLM s nejpopulárnější knihovnou LLM, HuggingFace Transformers (HF), a předchozí HuggingFace Text Generation Inference (TGI) s propustností SOTA. Navíc studie rozdělila experimentální sestavu do dvou typů: LLaMA-7B s grafickou kartou NVIDIA A10G jako hardwarem; Druhý je LLaMA-13B s grafickou kartou NVIDIA A100 (40GB) na hardwaru. Vzorkovali délky vstupů/výstupů z datové sady ShareGPT. Výsledky ukázaly, že propustnost vLLM byla 24krát vyšší než HF a 3,5krát vyšší než TGI.
Dokumentace vLLM:Přihlášení k hypertextovému odkazu je viditelné. Adresa zdrojového kódu:Přihlášení k hypertextovému odkazu je viditelné. Testování výkonu:Přihlášení k hypertextovému odkazu je viditelné.
Nemusíte chápat obraz, kráva je hotová!
Příprava na životní prostředí
Zakoupil jsem si vysoce výkonné aplikační služby Tencent Cloud a nakonfiguroval je následovně:
Ubuntu 20.04 Konfigurace prostředí: Ubuntu 20.04, ovladač 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Typ výpočetního výkonu: Dvoukaretní GPU základní typ - 2*16GB+ | 16+TFlops SP | CPU - 16 jader | RAM - 64GB
Install Conda
Vytvořte python prostředí s condou, vložte skript přímo:
Nasazení DeepSeek-R1 pomocí vLLM
Vytvořte python prostředí s conda pomocí následujícího příkazu:
Nainstalujte vllm a modelscope pomocí následujících příkazů:
Stáhněte model DeepSeek-R1 pomocí modelscope pomocí následujícího příkazu:
Odkaz:Přihlášení k hypertextovému odkazu je viditelné.
Spusťte model deepseek pomocí VLLM následujícím příkazem:
Pokud narazíte na "Bfloat16" je podporován pouze na GPU s výpočetní kapacitou alespoň 8.0. Vaše GPU Tesla T4 má výpočetní kapacitu 7.5. Místo toho můžete použít float16 explicitním nastavením příznaku 'dtype' v CLI, například: --dtype=half." Varování, prostě přidejte parametry podle varování.
Poznámka:
- --nastavení velikosti tenzoru paralelní a počtu GPU
- --GPU-Memory-Utilization ovládá procento využité paměti
- --served-model-name Název modelu použitý v API
- --disaktiv-log-requests deaktivuje logging requesty
Dokumentace instalace GPU Linux vLLM:Přihlášení k hypertextovému odkazu je viditelné. Parametry motoru:Přihlášení k hypertextovému odkazu je viditelné.
Podívejte se na stav GPU, jak je vidět níže:
Používejte testy poštáka
Otevřený prohlížeč:http://ip:8000/ Dokumentace rozhraní:http://ip:8000/docs
Volání pošťáka, jak je vidět na následujícím obrázku:
Benchmarking
Stáhněte testovací kód pomocí následujícího příkazu:
Příkaz se provádí následovně:
Výsledek: Propustnost: 2,45 požadavků/s, 1569,60 celkem tokenů/s, 1255,68 výstupních tokenů/s
(Konec) |