Eisen: Ik heb eerder het deepseek-r1:32b model met Ollama geïmplementeerd, wat zeer handig en snel is, geschikt voor persoonlijke snelle implementatie. Als het een enterprise-productieomgeving is, hoe moet die dan worden ingezet? Over het algemeen worden vllm en sglang gebruikt voor deployment, en dit artikel gebruikt vLLM om het DeepSeek-R1-model uit te rolën.
Ollama vs. vLLM
De verschillen zijn als volgt:
| Contrastdimensies | Ollama | vLLM | | Kernpositionering | Lichtgewicht lokalisatietools voor individuele ontwikkelaars en kleinschalige experimenten | Productieniveau inferentiekader, gericht op enterprise-niveau scenario's met hoge gelijktijdigheid en lage latentie | | Hardwarevereisten | Ondersteunt CPU en GPU, weinig geheugen (gebruikt standaard quantisatiemodel) | Je moet vertrouwen op NVIDIA GPU's, die een hoog geheugenverbruik hebben | | Modelondersteuning | Ingebouwde voorgetrainde modelbibliotheek (ondersteunt 1700+ modellen), automatische download van kwantitatieve versies (voornamelijk int4) | Handmatige download van het originele modelbestand (bijvoorbeeld HuggingFace-formaat) ondersteunt een breder scala aan modellen | | Moeilijkheidsgraad van inzet | Installatie met één knop en kant-en-klaar gebruik zonder programmeerbasis nodig | Python-omgeving en CUDA-driver zijn vereist, en technische ervaring is vereist | | Prestatiekenmerken | De snelheid van enkele inferentie is snel, maar de concurrency-verwerkingscapaciteit is zwak | Hoge doorvoersnelheid, ondersteuning voor dynamische batchverwerking en duizenden gelijktijdige verzoeken | | Resource Management | Pas het resourcegebruik flexibel aan en geef automatisch het videogeheugen vrij wanneer het inactief is | De bezetting van het videogeheugen is vast en er moeten middelen worden gereserveerd om piekbelastingen aan te kunnen |
Een korte introductie tot vLLM's
vLLM is een snelle en gebruiksvriendelijke bibliotheek van LLM-inferentie en -services.
vLLM met nieuwe algoritmen herdefinieert het nieuwste technologieniveau van LLM-diensten: . In vergelijking met HuggingFace Transformers biedt het tot 24 keer een hogere doorvoersnelheid zonder wijzigingen in de modelarchitectuur. Door de hashrate te halveren en de doorvoer tien keer te verhogen, vergeleek de studie de doorvoer van vLLM met de populairste LLM-bibliotheek, HuggingFace Transformers (HF), en de eerdere HuggingFace Text Generation Inference (TGI) met SOTA-doorvoer. Daarnaast verdeelde de studie de experimentele opstelling in twee typen: LLaMA-7B met NVIDIA A10G GPU als hardware; De andere is de LLaMA-13B, met NVIDIA A100 GPU (40GB) op hardware. Ze verzamelden input/output-lengtes uit de ShareGPT-dataset. De resultaten toonden aan dat de doorvoer van vLLM 24 keer hoger was dan HF en 3,5 keer hoger dan TGI.
vLLM-documentatie:De hyperlink-login is zichtbaar. Broncode-adres:De hyperlink-login is zichtbaar. Prestatietesten:De hyperlink-login is zichtbaar.
Je hoeft het plaatje niet te begrijpen, de koe is klaar!
Milieuvoorbereiding
Ik heb Tencent Cloud high-performance applicatiediensten gekocht en deze als volgt geconfigureerd:
Ubuntu 20.04 Omgevingsconfiguratie: Ubuntu 20.04, Driver 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Type rekenkracht: Tweekaarts GPU basistype - 2*16GB+ | 16+TFlops SP | CPU - 16 cores | RAM - 64GB
Conda installeren
Maak een python-omgeving aan met conda, plak het script direct:
Zet DeepSeek-R1 uit met een vLLM
Maak een python-omgeving met conda met het volgende commando:
Installeer vllm en modelscope met de volgende commando's:
Download het DeepSeek-R1-model met modelscope met het volgende commando:
Referentie:De hyperlink-login is zichtbaar.
Start het deepseek-model met de vllm met het volgende commando:
Als je "Bfloat16" tegenkomt, wordt alleen ondersteund op GPU's met een rekenkracht van minstens 8,0. Je Tesla T4 GPU heeft een rekenkracht van 7,5. Je kunt float16 gebruiken door expliciet de 'dtype'-vlag in de CLI in te stellen, bijvoorbeeld: --dtype=half." Waarschuwing, voeg gewoon parameters toe volgens de waarschuwing.
Opmerking:
- --tensor-parallel-size en GPU-aantal instellingen
- --gpu-geheugenbenutting bepaalt het percentage geheugen dat wordt gebruikt
- --served-model-name De modelnaam die in de API wordt gebruikt
- --deactiveer-log-requests schakelt logverzoeken uit
vLLM Linux GPU-installatiedocumentatie:De hyperlink-login is zichtbaar. Motorparameters:De hyperlink-login is zichtbaar.
Bekijk de GPU-status zoals hieronder weergegeven:
Gebruik Postman-tests
Browser open:http://ip:8000/ Interfacedocumentatie:http://ip:8000/docs
Postbode roep, zoals te zien is op de volgende afbeelding:
Benchmarking
Download de testcode met het volgende commando:
Het commando wordt als volgt uitgevoerd:
Resultaat: Doorvoer: 2,45 verzoeken/s, 1569,60 totale tokens/s, 1255,68 uitvoertokens/s
(Einde) |