Inference — oldindan o‘qitilgan machine-learning modelga yangi input berib, prediction, classification, embedding, matn, rasm yoki boshqa natija olish jarayoni. Training parametrlarni o‘zgartiradi, inference esa mavjud parametrlarni ishlatadi.
Inference local qurilma, server, cloud accelerator, browser yoki edge environmentda bajarilishi mumkin.
Input
Model kutgan formatdagi input qabul qiladi.
Masalan:
- image tensor;
- token ID;
- audio feature;
- numeric feature;
- graph;
- multimodal paket.
Training va inference preprocessingi mos bo‘lishi kerak.
Feature order yoki normalization farqi model sifatini buzadi.
Forward pass
Inference odatda model bo‘ylab forward pass bajaradi:
input
→ layerlar
→ output
Gradient hisoblash talab qilinmasligi mumkin.
Shu sababli memory va compute trainingdan kamroq bo‘ladi.
Framework inference mode’da autogradni o‘chiradi.
Output
Output vazifaga qarab:
- class logit;
- probability;
- regression value;
- bounding box;
- token probability;
- embedding;
- generated sample
bo‘lishi mumkin.
Raw output post-processingdan keyin userga tushunarli natijaga aylanadi.
Batch inference
Bir nechta input bitta batchda modelga uzatiladi.
GPU parallel ishlagani sabab throughput oshishi mumkin.
Katta batch latency va memoryni oshiradi.
Online service latency va throughput o‘rtasida muvozanat tanlaydi.
Online inference
User requestiga real vaqtda javob beradi.
Talablar:
- past latency;
- yuqori availability;
- autoscaling;
- timeout;
- request isolation;
- monitoring.
Recommendation, fraud detection va chatbot bunga misol.
Batch inference
Katta dataset ma’lum jadval bo‘yicha qayta ishlanadi.
Masalan:
- tungi recommendation score;
- millionlab rasm classification;
- data warehouse prediction;
- embedding generation.
Latency sekund yoki soat bo‘lishi mumkin, throughput muhimroq.
Streaming inference
Sensor, audio yoki event ketma-ket keladi.
Model state yoki sliding window bilan har yangi qismga natija beradi.
State session bilan bog‘lanadi.
Out-of-order event va missing data boshqariladi.
Latency
Inference latency quyidagi qismlardan iborat:
Faqat GPU kernel vaqtini o‘lchash user ko‘rgan umumiy latency’ni bermaydi.
Percentile metriclar p95 va p99 tail latency’ni ko‘rsatadi.
Throughput
Throughput vaqt birligida nechta sample yoki token qayta ishlanishini bildiradi.
Batching, parallel worker va accelerator throughputni oshiradi.
Bir requestning latency’si yomonlashmasligi uchun dynamic batching maksimal kutish vaqtiga ega.
Model serving
Serving platform:
- model load;
- version;
- batching;
- hardware;
- endpoint;
- health check;
- metrics;
- autoscaling;
- rollout
ni boshqaradi.
Bir serverda bir nechta model saqlansa GPU memory scheduling muhim.
Cold start
Model memoryga yuklanmagan bo‘lsa birinchi request sekin bo‘ladi.
Cold startga:
ta’sir qiladi.
Warm replica yoki model cache ishlatiladi.
Quantization
Weight va activationni past precisionda ishlatish inference’ni tezlashtirishi va memoryni kamaytirishi mumkin.
Masalan:
- FP16;
- BF16;
- INT8;
- past bitli weight.
Sifat calibration va hardware supportga bog‘liq.
Compilation
Model graph acceleratorga mos optimizatsiya qilinadi.
Operation fusion, constant folding va kernel selection ishlatilishi mumkin.
Dynamic shape va unsupported operation compilationni cheklaydi.
Compiled artifact hardware va runtime versioniga bog‘liq bo‘lishi ehtimoli bor.
CPU, GPU va accelerator
CPU kichik model va past traffic uchun yetarli bo‘lishi mumkin.
GPU katta matrix operationda kuchli.
TPU, NPU va boshqa accelerator ma’lum precision va operatorlarga optimallashgan.
Total cost faqat device narxidan iborat emas.
Autoregressive inference
Til modelida tokenlar ketma-ket generatsiya qilinadi.
Har yangi token oldingi contextga bog‘liq.
KV cache oldingi key-value representationlarni saqlab, qayta hisoblashni kamaytiradi.
Context uzunligi memory sarfini oshiradi.
Prefill va decode
LLM inference ikki asosiy bosqichga bo‘linishi mumkin:
- prefill — input tokenlarni parallel qayta ishlash;
- decode — yangi tokenlarni birma-bir yaratish.
Uzun prompt prefill vaqtini, uzun javob decode vaqtini oshiradi.
Throughput metriclari prompt va output token bo‘yicha ajratiladi.
Decoding
Generativ model output tanlash usuliga ega:
Deterministik vazifa va kreativ vazifa boshqa setting talab qiladi.
Random seed bo‘lsa ham hardware va kernel sabab to‘liq reproducibility bo‘lmasligi mumkin.
Model versioni
Inference request qaysi model version bilan bajarilgani loglanadi.
Yangi version:
orqali chiqariladi.
Prediction sifat va latency oldingi version bilan solishtiriladi.
Monitoring
Kuzatiladi:
- latency;
- throughput;
- error;
- saturation;
- memory;
- prediction distribution;
- drift;
- input quality;
- cost;
- safety signal.
Model endpoint ishlayotgan bo‘lsa ham prediction sifati yomonlashgan bo‘lishi mumkin.
Dynamic batching
Serving tizimi qisqa vaqt oralig‘ida kelgan requestlarni bitta batchga birlashtiradi. Maksimal batch hajmi va kutish muddati belgilanadi. Traffic yuqori bo‘lsa throughput oshadi, past bo‘lsa request ortiqcha kutilmaydi. Turli sequence uzunligi padding waste yaratishi mumkin, shu sababli requestlar uzunlik bo‘yicha guruhlanadi.
Autoscaling
Replica soni faqat CPU yoki GPU usage bilan emas, queue uzunligi, token throughput va p95 latency bo‘yicha oshirilishi mumkin. Model yuklash sekin bo‘lsa scaling qarori oldindan capacity saqlaydi. Scale-down aktiv requestlarni uzmasligi kerak.
Shadow inference
Yangi model user javobiga ta’sir qilmasdan ayni inputda parallel ishlatiladi. Natija sifat, latency va resource bo‘yicha eski model bilan solishtiriladi. Sensitive output logga to‘liq yozilmasligi mumkin.
Fallback
Accelerator unavailable yoki model timeout bo‘lsa kichik model, cached natija yoki safe error ishlatilishi mumkin. Fallbackning sifati va semantik farqi userga mos boshqariladi.
Bog‘liq tushunchalar
Machine-learning inference, Forward pass, Model serving, Online inference, Batch inference, Latency, Throughput, Quantization, KV cache, Prediction, Accelerator