Training — machine-learning model parametrlarini dataset va objective asosida bosqichma-bosqich yangilab, kerakli pattern yoki vazifani o‘rgatish jarayoni. Model inputdan prediction qiladi, loss hisoblanadi va optimizer parameterlarni lossni kamaytiradigan yo‘nalishda o‘zgartiradi.
Training sifati faqat model architecture’siga emas, data, objective, optimization, evaluation va hisoblash infratuzilmasiga ham bog‘liq.
Dataset
Training dataset model ko‘radigan sample’lardan tashkil topadi.
Sample:
bo‘lishi mumkin.
Data real vazifani va target userlarni yetarli ifodalashi kerak.
Train, validation va test
Dataset ko‘pincha uch qismga ajratiladi:
- train — parameterlarni o‘zgartirish;
- validation — hyperparameter va model tanlash;
- test — yakuniy mustaqil baho.
Bir user yoki bir documentning juda o‘xshash nusxalari turli splitga tushsa leakage yuz beradi.
Preprocessing
Training va inference inputi bir xil qoidaga tayanadi.
Jarayon:
- normalization;
- resize;
- tokenization;
- feature extraction;
- missing value;
- encoding;
- augmentation.
Preprocessing versioni model artifact bilan saqlanadi.
Forward pass
Batch modelga beriladi va output hisoblanadi.
Masalan:
image → logits
text → token probability
features → prediction
Forward pass activationlarni hosil qiladi.
Trainingda ular backward pass uchun memory’da saqlanishi mumkin.
Loss function
Loss prediction va target orasidagi xatoni sonli qiymatga aylantiradi.
Misollar:
- cross-entropy;
- mean squared error;
- contrastive loss;
- ranking loss;
- reconstruction loss.
Loss business metric bilan aynan bir xil bo‘lmasligi mumkin.
Backpropagation
Backpropagation chain rule orqali lossning har parameterga gradientini hisoblaydi.
Gradient parameter o‘zgarsa loss qanday o‘zgarishini ko‘rsatadi.
Framework automatic differentiation bilan computation graph bo‘ylab gradient chiqaradi.
Optimizer
Optimizer gradient asosida parameterlarni yangilaydi.
Keng tarqalgan:
- SGD;
- momentum;
- Adam;
- AdamW;
- RMSProp.
Optimizer state memory sarfini sezilarli oshirishi mumkin.
Learning rate
Learning rate update qadamining kattaligini belgilaydi.
Juda katta bo‘lsa training beqaror yoki divergent.
Juda kichik bo‘lsa sekin convergence.
Schedule:
- warmup;
- cosine decay;
- step decay;
- linear decay;
- plateau bo‘yicha kamaytirish.
Batch
Dataset sample’lari batchlarga bo‘linadi.
Katta batch gradientni barqarorroq hisoblaydi va hardware throughputni oshiradi.
Juda katta batch generalizationga ta’sir qilishi mumkin.
Gradient accumulation kichik device memory bilan katta effective batch yaratadi.
Epoch
Model training datasetning barcha sample’larini bir marta ko‘rsa bir epoch tugaydi.
Katta streaming datasetda epoch tushunchasi step soni bilan almashtirilishi mumkin.
Bir necha epoch model data’ni takror ko‘radi.
Juda ko‘p epoch overfittingga olib kelishi mumkin.
Shuffle
Training sample’lari har epochda aralashtiriladi.
Bu batchlar bir xil tartibda kelishini kamaytiradi.
Time series yoki sequence dependency mavjud bo‘lsa to‘liq shuffle noto‘g‘ri.
Distributed trainingda sampler barcha workerlar orasida sample’larni taqsimlaydi.
Regularization
Overfittingni kamaytirish usullari:
Regularization modelning train data’ni aynan yodlashini cheklaydi.
Overfitting
Training loss pasayib, validation sifati yomonlashsa model training data’ga ortiqcha moslashgan bo‘lishi mumkin.
Sabablar:
Test set tuning uchun ishlatilmaydi.
Underfitting
Trainingning o‘zida ham sifat past bo‘lsa model capacity, feature, optimization yoki training vaqti yetishmasligi mumkin.
Juda kuchli regularization ham underfitting yaratadi.
Train va validation error birgalikda ko‘riladi.
Checkpoint
Training davomida:
saqlanadi.
Nosozlikdan keyin training davom ettiriladi.
Faqat weight saqlansa ayni optimization holati tiklanmasligi mumkin.
Mixed precision
FP16 yoki BF16 hisoblash throughput va memoryni yaxshilashi mumkin.
Ayrim operationlar FP32da saqlanadi.
FP16da gradient underflow uchun loss scaling ishlatilishi mumkin.
Hardware va framework automatic mixed precision beradi.
Distributed training
Katta model yoki dataset bir nechta acceleratorga taqsimlanadi.
Usullar:
- data parallel;
- tensor parallel;
- pipeline parallel;
- sharded optimizer;
- distributed data.
Communication bandwidth va synchronization bottleneck bo‘lishi mumkin.
Reproducibility
Random seed, data order, library, hardware va nondeterministic kernel natijaga ta’sir qiladi.
Config va artifactlar versionlanadi.
To‘liq bit-level reproducibility har platformada mumkin bo‘lmasligi ehtimoli bor.
Metric diapazoni va bir nechta run muhim.
Data governance
Training data uchun:
boshqariladi.
Sensitive va copyrighted data’dan foydalanish texnik masaladan tashqari huquqiy talablarni ham keltiradi.
Hyperparameter
Model weightidan tashqari developer tanlaydigan qiymatlar hyperparameter hisoblanadi:
- learning rate;
- batch size;
- layer soni;
- dropout;
- optimizer;
- schedule;
- augmentation.
Ular validation natijasi va hisoblash budgeti bilan tanlanadi. Test set hyperparameter tanlashda ishlatilmaydi.
Curriculum
Training sample’lari osondan qiyinga yoki ma’lum tartibda berilishi mumkin. Curriculum learning ayrim vazifada convergence’ni yaxshilaydi. Noto‘g‘ri curriculum modelni tor distributionga yopishtirib qo‘yishi mumkin.
Data loader
Storage’dan batch tayyorlash GPUdan sekin bo‘lsa accelerator bekor kutadi. Prefetch, parallel worker, sharding va pinned memory throughputni oshirishi mumkin. Data transform deterministik va xatoga chidamli bo‘ladi.
Experiment tracking
Har run config, code commit, dataset version, metric va artifact bilan saqlanadi. Eng yaxshi checkpoint qaysi sharoitda yaratilgani keyin qayta tiklanadi.
Bog‘liq tushunchalar
Machine-learning training, Dataset, Loss function, Backpropagation, Optimizer, Learning rate, Batch, Epoch, Regularization, Checkpoint, Distributed training