Krav: Jeg har tidligere implementeret deepseek-r1:32b-modellen med Ollama, som er meget bekvem og hurtig, egnet til personlig hurtig implementering. Hvis det er et enterprise-produktionsmiljø, hvordan bør det så implementeres? Generelt bruges vllm og sglang til udrulning, og denne artikel bruger vLLM til at implementere DeepSeek-R1-modellen.
Ollama vs. vLLM
Forskellene er som følger:
| Kontrastdimensioner | Ollama | vLLM | | Kerneplacering | Letvægtslokaliseringsværktøjer til individuelle udviklere og småskalaeksperimenter | Inferensrammeværk på produktionsniveau, med fokus på virksomhedsniveau-scenarier med høj samtidighed og lav latenstid | | Hardwarekrav | Understøtter CPU og GPU, lavt hukommelsesaftryk (bruger kvantiseringsmodellen som standard) | Man må stole på NVIDIA GPU'er, som har et højt hukommelsesforbrug | | Modelunderstøttelse | Indbygget forudtrænet modelbibliotek (understøtter 1700+ modeller), automatisk download af kvantitative versioner (primært int4) | Manuel download af den originale modelfil (f.eks. HuggingFace-format) understøtter et bredere udvalg af modeller | | Udrulningsvanskeligheder | En-knap installation og brug ud af boksen uden behov for programmeringsgrundlag | Python-miljø og CUDA-driver er påkrævet, og teknisk erfaring er påkrævet | | Ydelseskarakteristika | Enkeltslutningshastigheden er hurtig, men samtidighedens behandlingsevne er svag | Høj gennemstrømning, understøttelse af dynamisk batchbehandling og tusindvis af samtidige forespørgsler | | Ressourceforvaltning | Justér ressourceforbruget fleksibelt og frigiv automatisk videohukommelsen, når den er inaktiv | Videohukommelsens belægning er fast, og ressourcer skal reserveres for at kunne håndtere spidsbelastninger |
En kort introduktion til vLLM'er
vLLM er et hurtigt og brugervenligt bibliotek af LLM-inferenser og -tjenester.
vLLM med nye algoritmer omdefinerer det nyeste teknologiniveau for LLM-tjenester: . Sammenlignet med HuggingFace Transformers tilbyder den op til 24 gange højere gennemstrømning uden ændringer i modelarkitekturen. Ved at halvere hashraten og øge gennemstrømningen ti gange sammenlignede undersøgelsen vLLM's gennemstrømning med det mest populære LLM-bibliotek, HuggingFace Transformers (HF), og den tidligere HuggingFace Text Generation Inference (TGI) med SOTA-gennemstrømning. Derudover delte undersøgelsen det eksperimentelle setup op i to typer: LLaMA-7B med NVIDIA A10G GPU som hardware; Den anden er LLaMA-13B med NVIDIA A100 GPU (40GB) på hardware. De udtog input/output-længder fra ShareGPT-datasættet. Resultaterne viste, at gennemstrømningen af vLLM var 24 gange højere end HF og 3,5 gange højere end TGI.
vLLM-dokumentation:Hyperlink-login er synlig. Kildekodeadresse:Hyperlink-login er synlig. Ydelsestest:Hyperlink-login er synlig.
Du behøver ikke forstå billedet, koen er færdig!
Miljøforberedelse
Jeg købte Tencent Cloud højtydende applikationstjenester og konfigurerede dem således:
Ubuntu 20.04 Miljøkonfiguration: Ubuntu 20.04, Driver 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Regnekrafttype: To-kort GPU grundtype - 2*16GB+ | 16+TFlops SP | CPU - 16 kerner | RAM - 64GB
Installer Conda
Opret et python-miljø med Conda, indsæt scriptet direkte:
Udrul DeepSeek-R1 ved hjælp af en vLLM
Opret et python-miljø med conda med følgende kommando:
Installer vllm og modelscope med følgende kommandoer:
Download DeepSeek-R1-modellen ved hjælp af modelscope med følgende kommando:
Henvisning:Hyperlink-login er synlig.
Start deepseek-modellen med vllm med følgende kommando:
Hvis du støder på "Bfloat16 understøttes kun på GPU'er med en computekapacitet på mindst 8.0. Din Tesla T4 GPU har en beregningskapacitet på 7,5. Du kan bruge float16 i stedet ved eksplicit at sætte 'dtype'-flaget i CLI, for eksempel: --dtype=half." Advarsel, tilføj bare parametre i henhold til advarslen.
Bemærkning:
- --tensor-parallel-size og GPU-tællingsindstillinger
- --gpu-memory-utilization styrer procentdelen af den anvendte hukommelse
- --served-model-navn Modelnavnet brugt i API'et
- --disable-log-requests deaktiverer logningsanmodninger
vLLM Linux GPU installationsdokumentation:Hyperlink-login er synlig. Motorparametre:Hyperlink-login er synlig.
Se GPU-status, som vist nedenfor:
Brug Postman-tests
Browser åben:http://ip:8000/ Grænsefladedokumentation:http://ip:8000/docs
Postbudskald, som vist på følgende billede:
Benchmarking
Download testkoden med følgende kommando:
Kommandoen udføres som følger:
Resultat: Gennemstrømning: 2,45 forespørgsler/s, 1569,60 samlede tokens/s, 1255,68 outputtokens/s
(Slut) |