Epoch — machine-learning trainingida model training datasetdagi barcha sample’larni bir marta ko‘rib chiqishiga teng davr. Dataset batchlarga bo‘lingan bo‘lsa, bir epoch barcha batchlar qayta ishlanganda tugaydi. Epoch soni model data’ni necha marta takror ko‘rishini bildiradi.
Katta yoki streaming datasetlarda “epoch” aniq bir xil ma’noda ishlamasligi mumkin. Bunday holatda training step yoki token soni asosiy o‘lchovga aylanadi.
Dataset va batch
Agar datasetda 10 000 sample, batch size 100 bo‘lsa:
10 000 / 100 = 100 step
taxminan bir epochni tashkil qiladi.
Oxirgi batch to‘liq bo‘lmasligi yoki drop qilinishi mumkin.
Distributed sampler step sonini o‘zgartirishi ehtimoli bor.
Step
Step — optimizer bir marta parameterlarni yangilaydigan qadam.
Odatda har batchdan keyin bitta step.
Gradient accumulation ishlatilsa bir necha micro-batchdan keyin bitta optimizer step bajariladi.
Shu sababli batch iteration va optimizer step farq qilishi mumkin.
Epoch soni
Epoch juda kam bo‘lsa model data patternlarini yetarli o‘rganmasligi mumkin.
Juda ko‘p bo‘lsa overfitting yuz beradi.
Optimal son:
ga bog‘liq.
Universal “10 epoch” qoidasi yo‘q.
Shuffle
Har epoch boshida training sample’lari odatda aralashtiriladi.
Bu batch compositionni o‘zgartiradi va modelning tartibga bog‘lanishini kamaytiradi.
Time series, language sequence yoki grouped sample’da to‘liq shuffle qilish mumkin emas.
Shuffle unit data semantikasiga mos bo‘ladi.
Validation
Har epoch oxirida validation metric hisoblanishi mumkin.
Bu:
- overfittingni aniqlash;
- checkpoint tanlash;
- early stopping;
- learning-rate schedule
uchun qulay.
Katta validation qimmat bo‘lsa ma’lum step oralig‘ida yoki sample subsetda bajariladi.
Training loss
Bir epoch ichidagi batch losslar o‘rtachasi training loss sifatida yoziladi.
Batch hajmi turlicha bo‘lsa oddiy batch o‘rtachasi sample o‘rtachasiga teng bo‘lmasligi mumkin.
Distributed worker metriclari to‘g‘ri weighted reduction bilan birlashtiriladi.
Early stopping
Validation metric ma’lum epoch davomida yaxshilanmasa training to‘xtatiladi.
patience qancha epoch kutishni belgilaydi.
Metric noise bo‘lsa juda kichik patience trainingni erta to‘xtatadi.
Eng yaxshi checkpoint alohida saqlanadi.
Overfitting
Training metric har epoch yaxshilanib, validation metric yomonlashishi overfitting belgisi.
Model training samplelarni yodlab, yangi data’da yomon ishlaydi.
Augmentation, dropout, weight decay va kam epoch yordam beradi.
Underfitting
Training va validation metric ikkalasi ham past bo‘lsa:
bo‘lishi mumkin.
Faqat epochni oshirish barcha muammoni hal qilmaydi.
Learning-rate schedule
Schedule epochga bog‘lanishi mumkin:
- har N epochda kamaytirish;
- cosine per epoch;
- warm restart;
- plateau.
Katta datasetda step-based schedule aniqroq.
Epoch uzunligi data filtering yoki world size bilan o‘zgarsa schedule ham o‘zgaradi.
Checkpoint
Checkpoint har epoch oxirida saqlanishi mumkin.
Katta modelda har epoch juda uzoq bo‘lsa ma’lum step oralig‘ida ham saqlanadi.
Checkpoint:
ni o‘z ichiga oladi.
Resume
Training checkpointdan davom ettirilganda epoch va data sampler holati tiklanadi.
Aks holda ayrim sample qayta ko‘rilishi yoki tashlab ketilishi mumkin.
Distributed dataloader random seed epoch bo‘yicha yangilanadi.
Fine-tuning
Kichik fine-tuning datasetda 1–3 epoch ham yetarli bo‘lishi mumkin.
Ko‘p epoch modelning umumiy qobiliyatini buzishi yoki javoblarni yodlashiga olib keladi.
Held-out dataset va real promptlar bilan tekshiriladi.
Katta til modeli
Pretraining corpus juda katta bo‘lgani sabab model ba’zan to‘liq bir epochdan kam yoki bir necha pass bilan o‘qitiladi.
Bunda total token, compute budget va data mixture muhimroq.
Takroriy data memorization va diminishing return yaratishi mumkin.
Data augmentation
Image yoki audio sample har epochda boshqa random augmentation olishi mumkin.
Shunda ayni raw sample modelga boshqa ko‘rinishda keladi.
Formal sample soni o‘zgarmasa ham effective diversity oshadi.
Deterministic validationda augmentation o‘chiriladi.
Cross-validation
K-fold cross-validationda har fold alohida trainingga ega va epoch soni qayta tanlanishi mumkin.
Foldlar orasidagi metriclar model barqarorligini ko‘rsatadi.
Final model barcha data’da tanlangan setting bilan train qilinadi.
Epoch va token budget
Til modelida sample uzunliklari katta farq qiladi. Bitta epoch sample soni bo‘yicha teng ko‘rinsa ham har run boshqa token miqdorini qayta ishlashi mumkin. Shu sababli total tokens va optimizer steps ham log qilinadi. Packing va truncation epochning haqiqiy compute sarfiga ta’sir qiladi.
Sampler
Distributed trainingda har worker datasetning alohida qismini oladi. Epoch o‘zgarganda sampler seed yangilanib, yangi shuffle yaratiladi. Worker soni o‘zgarsa ayrim sample takror yoki tashlab ketilmasligi uchun sampler state to‘g‘ri tiklanadi.
Infinite dataset
Synthetic yoki streaming generator cheksiz sample yaratishi mumkin. Bunday pipeline’da epoch ma’lum step soni bilan sun’iy belgilanadi. Validation va checkpoint shu virtual epochga bog‘lanadi.
Logging
Epoch raqami bilan birga train loss, validation metric, learning rate, vaqt va throughput yoziladi. Bu overfitting boshlangan nuqtani topishga yordam beradi.
Bog‘liq tushunchalar
Epoch, Training step, Batch, Dataset, Shuffle, Validation, Early stopping, Overfitting, Learning-rate schedule, Checkpoint