Krav: Jeg har tidligere tatt i bruk deepseek-r1:32b-modellen med Ollama, som er veldig praktisk og rask, egnet for personlig rask utrulling. Hvis det er et bedriftsproduksjonsmiljø, hvordan bør det implementeres? Generelt brukes vllm og sglang til utrulling, og denne artikkelen bruker vLLM for å distribuere DeepSeek-R1-modellen.
Ollama vs. vLLM
Forskjellene er som følger:
| Kontrastdimensjoner | Ollama | vLLM | | Kjerneplassering | Lette lokaliseringsverktøy for individuelle utviklere og småskala eksperimenter | Produksjonsnivå-inferensrammeverk, med fokus på bedriftsnivå-scenarier med høy samtidighet og lav latenstid | | Maskinvare | Støtter CPU og GPU, lavt minnebehov (bruker kvantiseringsmodell som standard) | Man må stole på NVIDIA GPU-er, som har høyt minneforbruk | | Modellstøtte | Innebygd forhåndstrent modellbibliotek (støtter 1700+ modeller), automatisk nedlasting av kvantitative versjoner (hovedsakelig int4) | Manuell nedlasting av den originale modellfilen (f.eks. HuggingFace-format) støtter et bredere utvalg av modeller | | Vanskeligheter med utplassering | Ettknappsinstallasjon og bruk rett ut av boksen uten behov for programmeringsbase | Python-miljø og CUDA-driver kreves, og teknisk erfaring kreves | | Ytelsesegenskaper | Enkeltslutningshastigheten er rask, men samtidighetsbehandlingsevnen er svak | Høy gjennomstrømning, støtte for dynamisk batchbehandling og tusenvis av samtidige forespørsler | | Ressursforvaltning | Juster ressursbruken fleksibelt og frigjør automatisk videominnet når den er i hvile | Videominnebelegget er fast, og ressurser må reserveres for å håndtere toppbelastninger |
En kort introduksjon til vLLM-er
vLLM er et raskt og brukervennlig bibliotek av LLM-inferenser og tjenester.
vLLM med nye algoritmer omdefinerer det nyeste teknologinivået for LLM-tjenester: . Sammenlignet med HuggingFace Transformers tilbyr den opptil 24 ganger høyere gjennomstrømning uten endringer i modellarkitekturen. Ved å halvere hashraten og øke gjennomstrømningen ti ganger, sammenlignet studien vLLMs gjennomstrømning med det mest populære LLM-biblioteket, HuggingFace Transformers (HF), og den tidligere HuggingFace Text Generation Inference (TGI) med SOTA-gjennomstrømning. I tillegg delte studien det eksperimentelle oppsettet inn i to typer: LLaMA-7B med NVIDIA A10G GPU som maskinvare; Den andre er LLaMA-13B, med NVIDIA A100 GPU (40GB) på maskinvare. De samplet input/output-lengder fra ShareGPT-datasettet. Resultatene viste at gjennomstrømningen av vLLM var 24 ganger høyere enn HF og 3,5 ganger høyere enn TGI.
vLLM-dokumentasjon:Innloggingen med hyperkoblingen er synlig. Kildekodeadresse:Innloggingen med hyperkoblingen er synlig. Ytelsestesting:Innloggingen med hyperkoblingen er synlig.
Du trenger ikke forstå bildet, kua er ferdig!
Miljøforberedelser
Jeg kjøpte Tencent Cloud høyytelses applikasjonstjenester og konfigurerte dem slik:
Ubuntu 20.04 Miljøkonfigurasjon: Ubuntu 20.04, Driver 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Regnekrafttype: To-kort GPU grunntype - 2*16GB+ | 16+TFlops SP | CPU - 16 kjerner | RAM - 64 GB
Installer Conda
Lag et Python-miljø med Conda, lim inn skriptet direkte:
Distribuer DeepSeek-R1 ved hjelp av en vLLM
Lag et Python-miljø med Conda med følgende kommando:
Installer vllm og modelscope med følgende kommandoer:
Last ned DeepSeek-R1-modellen ved å bruke modelscope med følgende kommando:
Referanse:Innloggingen med hyperkoblingen er synlig.
Start deepseek-modellen med vllm med følgende kommando:
Hvis du møter «Bfloat16 støttes kun på GPU-er med beregningskapasitet på minst 8,0. Din Tesla T4-GPU har en beregningskapasitet på 7,5. Du kan bruke float16 i stedet ved å eksplisitt sette 'dtype'-flagget i CLI, for eksempel: --dtype=half." Advarsel, bare legg til parametere i henhold til advarselen.
Bemerkning:
- --tensor-parallel-size og GPU-telling-innstillinger
- --gpu-minne-bruk styrer prosentandelen minne brukt
- --served-model-name Modellnavnet brukt i API-et
- --deaktiverer-loggforespørsler deaktiverer loggforespørsler
vLLM Linux GPU-installasjonsdokumentasjon:Innloggingen med hyperkoblingen er synlig. Motorparametere:Innloggingen med hyperkoblingen er synlig.
Se GPU-statusen som vist nedenfor:
Bruk Postman-tester
Nettleser åpen:http://ip:8000/ Grensesnittdokumentasjon:http://ip:8000/docs
Postbudsropet, som vist i følgende bilde:
Benchmarking
Last ned testkoden med følgende kommando:
Kommandoen utføres som følger:
Resultat: Gjennomstrømning: 2,45 forespørsler/s, totalt 1569,60 tokens/s, 1255,68 utdatatokens/s
(Slutt) |