01
vLLM دېگەن نېمە؟
What Is vLLM?
LLM inference ئۈچۈن ياسالغان تېز runtime ۋە server layer
vLLM — large language model نى GPU ئۈستىدە تېخىمۇ ئۈنۈملۈك ئىجرا قىلىش ئۈچۈن ياسالغان inference engine. ئۇنىڭ ئاساسىي نىشانى latency نى تۆۋەنلىتىش، throughput نى ئاشۇرۇش ۋە KV cache نى ئۈنۈملۈك باشقۇرۇش.
Inference
speed + concurrency مۇھىم
02
نېمىشقا vLLM تېز؟
Why It Delivers High Throughput
GPU memory نى تېجەش ۋە request لارنى تىزگىنلەش ئۇنىڭ ئەڭ چوڭ كۈچى
Speed 01
PagedAttention
KV cache نى بەت-بەت باشقۇرىدۇ
Traditional contiguous allocation غا سېلىشتۇرغاندا fragmentation نى ئازايتىپ، بىر قانچە request نى بىللە ساقلاشقا قولايلاشتۇرىدۇ.
Speed 02
Continuous Batching
queue نى توختاتماي batch قىلىدۇ
Batch پۈتۈنلەي بوشاشنى كۈتمەيدۇ؛ يېڭى request كىرگەندە runtime ئۇنى ئەقلىي قوشۇپ GPU utilization نى يۇقىرى ساقلايدۇ.
Speed 03
OpenAI-Compatible Server
API layer ئاسان
بار client code نى يەنە يازمايلا vLLM server غا كۆچۈرەلەيسىز. بۇ migration cost نى تۆۋەنلىتىدۇ.
Speed 04
Sampling Efficiency
decode flow نى ياخشىلايدۇ
Speculative ۋە batching بىلەن ماسلىشىپ، active request سانى كۆپ بولغاندامۇ توغرا performance profile بېرىدۇ.
03
vLLM Server نى قانداق قوزغىتىمىز؟
Serving an OpenAI-Compatible Endpoint
ئەڭ كۆپ ئىشلىتىلىدىغان باشلىنىش قەدەملىرى
# install
pip install vllm
# start the server
vllm serve meta-llama/Llama-3.1-8B-Instruct \
--host 0.0.0.0 \
--port 8000 \
--dtype auto \
--max-model-len 8192
# call it like an OpenAI endpoint
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Llama-3.1-8B-Instruct",
"messages": [{"role": "user", "content": "RAG نى قىسقا چۈشەندۈر"}]
}'
باشلىنىش تەۋسىيەسى
ئالدى بىلەن يەككە GPU، بىر مودېل، OpenAI-compatible endpoint بىلەن باشلاڭ. Benchmark نى كۆرۈپ ئاندىن tensor parallel، quantization ياكى autoscaling قا ئۆتۈڭ.
04
Performance Tuning نىڭ ئاچقۇچلىرى
Key Runtime Knobs
Speed نى ئاشۇرۇش ئۈچۈن «بىرلا flag» يوق؛ workload بويىچە تەڭشەش كېرەك
| Option | تەسىرى | قاچان ئۆزگەرتىلىدۇ | دىققەت |
| max-model-len | context ئۇزۇنلۇقى | long context workload | memory كۆپ كېتىدۇ |
| tensor-parallel-size | multi-GPU shard | مودېل بىر GPU غا سىغماسا | network overhead بار |
| dtype | precision | bf16/fp16/auto | hardware غا ماسلاشتۇر |
| gpu-memory-utilization | cache share | throughput fine-tune | OOM خەۋپى |
vllm serve mistralai/Mistral-7B-Instruct \
--dtype bfloat16 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.92 \
--max-model-len 4096
05
GPU Memory، KV Cache ۋە Quantization
Capacity Planning for Serving
Inference bottleneck نىڭ كۆپ قىسمى model weights بىلەنلا ئەمەس، KV cache بىلەنمۇ مۇناسىۋەتلىك
Plan 01
Weights
مودېل ئېغىرلىقى
7B، 14B، 70B قاتارلىق مودېللارنىڭ ئۆزىلا GPU memory نىڭ چوڭ قىسمىنى ئىگىلەيدۇ. dtype بۇ يەردە بىۋاسىتە تەسىر قىلىدۇ.
Plan 02
KV Cache
context ئۇزۇنلۇقى بىلەن ئۆسىدۇ
Concurrent request ۋە long context كۆپ بولغاندا KV cache سىستېمىنىڭ ئەڭ چوڭ memory consumer ىغا ئايلىنىدۇ.
Plan 03
Quantization
سۈرئەت ۋە سۈپەت تەڭپۇڭلۇقى
4-bit ياكى 8-bit load cost نى تۆۋەنلىتىدۇ، ئەمما workload بويىچە quality impact نى benchmark قىلىش كېرەك.
Plan 04
Prompt Discipline
context نى زورلاپ ئۇزارتما
Long context قا سىغىدۇ دەپ ھەممە retrieved document نى تىقىۋېتىش wrong optimization. Relevant context نىلا بېرىڭ.
06
Benchmark دا نېمىنى ئۆلچەيمىز؟
Latency and Throughput Metrics
«تېز» دېگەن سۆزنى TTFT، tokens/sec ۋە queue behavior غا ئايرىپ كۆرۈش كېرەك
| Metric | مەنىسى | نېمىگە پايدىلىق | تەۋسىيە |
| TTFT | first token ۋاقتى | chat UX | interactive app ئۈچۈن مۇھىم |
| Tokens/sec | decode speed | long generation | reporting/app summaries |
| P95 Latency | ئاخىرقى قانچىلىك يامان | tail performance | queue effect نى كۆرسىتىدۇ |
| Throughput | بىرلىكتە request count | batch traffic | capacity planning |
{
"model": "Llama-3.1-8B-Instruct",
"concurrency": 16,
"ttft_ms_p50": 690,
"ttft_ms_p95": 1210,
"tokens_per_second": 154.2,
"gpu_memory_gb": 20.8,
"notes": "8192 context, bf16, single node"
}
07
Multi-GPU ۋە Tensor Parallelism
Scaling Beyond a Single GPU
چوڭ مودېللەرنى بىر قانچە GPU غا تارقىتىش
70B+ مودېللەر بىر GPU غا سىغمايدۇ. vLLM نىڭ tensor parallelism ئىقتىدارى مودېلنى GPU لار ئارىسىدا پارچىلايدۇ. بۇ pipeline parallelism دىن پەرقلىق — batch بۆلۈنمەيدۇ، weight بۆلۈنىدۇ.
# 2 GPU with tensor parallelism
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--tensor-parallel-size 2 \
--dtype bfloat16 \
--max-model-len 4096 \
--gpu-memory-utilization 0.90
# 4 GPU for even larger models
vllm serve mistralai/Mixtral-8x22B-Instruct-v0.1 \
--tensor-parallel-size 4 \
--dtype auto
TP
Tensor Parallel
Weight نى بۆلۈش
ھەر GPU مودېلنىڭ بىر قىسىم weight لىرىنى ساقلايدۇ. NVLink بولسا تېخىمۇ تېز.
PP
Pipeline Parallel
Layer نى بۆلۈش
vLLM دا experimental. ئادەتتە TP كىفايە قىلىدۇ.
NVLink
GPU Interconnect
يۇقىرى تېزلىكتىكى ئۇلىنىش
PCIe دىن 5-10x تېز. Multi-GPU setup دا NVLink بولسا latency پەرقى سىزىلارلىق.
Shard
Memory Planning
GPU Memory نى تەقسىملەش
TP=2 بولسا ھەر GPU نىڭ memory يۈكى يېرىمغا چۈشىدۇ. KV cache مۇ تارقىتىلىدۇ.
Python Client بىلەن چاقىرىش
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed", # vLLM auth optional
)
response = client.chat.completions.create(
model="meta-llama/Llama-3.1-70B-Instruct",
messages=[
{"role": "system", "content": "تېخنىكا ماھىرى سىز."},
{"role": "user", "content": "RAG نىڭ ئەۋزەللىكىنى قىسقا چۈشەندۈر."}
],
max_tokens=512,
temperature=0.7,
)
print(response.choices[0].message.content)
08
Streaming ۋە Async Requests
Real-Time Token Output
ئابونت كۈتۈپ قالماسلىقى ئۈچۈن token-by-token streaming
Chat UI ۋە API gateway لار ئادەتتە streaming تەلەپ قىلىدۇ. vLLM OpenAI-style SSE streaming نى قوللايدۇ — پۈتۈن جاۋاب تامام بولۇشنى كۈتمەي، ھەر token چىققاندا يوللىنىدۇ.
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="x")
stream = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "Python دا RAG pipeline چۈشەندۈر"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Async بىلەن Concurrent Requests
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(base_url="http://localhost:8000/v1", api_key="x")
async def ask(question: str) -> str:
resp = await client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": question}],
)
return resp.choices[0].message.content
async def main():
questions = ["RAG نېمە؟", "LangChain نېمە؟", "vLLM نېمە؟"]
results = await asyncio.gather(*[ask(q) for q in questions])
for q, r in zip(questions, results):
print(f"Q: {q}\nA: {r[:100]}...\n")
asyncio.run(main())
Tip: vLLM نىڭ continuous batching ئىقتىدارى سەۋەبىدىن بىر نەچچە concurrent request يوللىغاندا server ئۇلارنى ئاپتوماتىك batch قىلىدۇ — ئابونت تەرەپتە ئالاھىدە batch logic يېزىش زۆرۈر ئەمەس.
09
vLLM، Ollama ۋە TGI نىڭ پەرقى
Choosing a Serving Stack
بىرى «ئەڭ ياخشى» ئەمەس؛ سىزنىڭ workload قا ماس كەلگىنى ياخشى
| Runtime | قەيەردە كۈچلۈك | ماس كىلىدىغان ئىش | نۇقتا |
| vLLM | throughput + API compatibility | production serving, concurrent chat | high-traffic app |
| Ollama | local simplicity | developer laptop, local demos | easy start |
| TGI | HF ecosystem integration | huggingface-centric stack | ops style پەرقى بار |
Rule of thumb: laptop ياكى private offline demo ئۈچۈن Ollama ئاددىي. API-compatible serving ۋە concurrency ئۈچۈن vLLM كۈچلۈك. Existing Hugging Face ops stack بولسا TGI نى قاراپ بېقىڭ.
10
Deploy Checklist
From Single GPU to Real Traffic
Production غا چىقىشتىن بۇرۇن ئەڭ لازىم بولغان ئىشلار
Deploy
Warmup
مودېل load ۋاقتىنى ھېسابلا
Container start بولغاندىن كېيىن model download/load ۋاقىتى بار. Readiness probe نى شۇنىڭغا ماسلاشتۇرۇڭ.
Deploy
Request Limits
queue overflow نى باشقۇر
Concurrency ئاشقاندا timeout ۋە queue length limit بولسۇن. بولمىسا tail latency ناچارلىشىدۇ.
Deploy
Prompt Budget
input نى كونترول قىل
Token budget policy بولمىسا context inflation throughput نى يەپ كېتىدۇ.
Deploy
Observe
GPU ۋە app metrics نى بىرلەشتۈر
nvidia-smi، request latency، token metrics ۋە error rate نى بىر داشبوردتا كۆرگىلى بولسۇن.
ئەڭ قىسقا يەكۈن
High-speed inference دېگەن پەقەت GPU كۈچلۈك دېگەنلىك ئەمەس. Runtime architecture، batching behavior، memory planning ۋە client pattern نىڭ ھەممىسى بىرلىكتە performance نى بەلگىلەيدۇ.