Yakuniy modul — matn bilan ishlaydigan zamonaviy arxitektura: transformer va uning yuragi bo’lgan attention mexanizmi.
Matndan songa: token va embedding
Neyron tarmoq matnni bevosita tushunmaydi. Avval matn tokenlarga bo’linadi (so’z yoki so’z bo’laklari), har tokenga lug’atdagi raqami beriladi, so’ng har raqam embedding — o’rganiladigan son vektoriga (masalan, 768 o’lchamli) aylanadi. Embedding fazosida ma’nodosh so’zlar bir-biriga yaqin joylashadi — bu ham model o’qitish davomida o’zi topadigan xossa.
Tartib muammosi: attention o’z-o’zidan so’z tartibini sezmaydi, shuning uchun har pozitsiyaga pozitsion kodlash qo’shiladi — "bu so’z nechanchi o’rinda" degan signal.
Self-attention: har so’z hammaga qaraydi
RNN’lar matnni chapdan o’ngga bittalab o’qib, uzoq bog’lanishlarni unutib qo’yardi. Attention boshqacha savol qo’yadi: shu so’zni tushunish uchun gapdagi qaysi so’zlarga qancha e’tibor berish kerak? "Olma daraxtdan uzoqqa tushmaydi — u shirin edi" gapida "u" so’zi "olma"ga kuchli e’tibor beradi.
Mexanizm har token uchun uch vektor hisoblaydi: Q (query — nimani izlayapman), K (key — menda nima bor), V (value — mazmunim). E’tibor og’irliklari Q va K mosligidan chiqadi, natija — V’larning shu og’irliklar bilan o’rtachasi:
Attention(Q, K, V) = softmax(Q·Kᵀ / √d) · V
√d ga bo’lish — kattaliklar o’sib softmax "qotib qolmasligi" uchun. Multi-head attention — shu amalni bir nechta mustaqil "bosh"da parallel bajarish: bir bosh grammatik moslikni, boshqasi ma’no bog’lanishini kuzatishi mumkin.
Transformer bloki
Transformer — ikki qismli blokning ustma-ust takrori:
| Qism | Vazifasi |
|---|---|
| Multi-head self-attention | tokenlar orasidagi bog’lanishlarni yig’ish |
| Feed-forward (MLP) | har tokenni alohida qayta ishlash |
| + residual va layer norm | chuqur tarmoqning barqaror o’qitilishi |
RNN’dan farqli, hamma token parallel qayta ishlanadi — shu tufayli transformerlarni ulkan matn to’plamlarida o’qitish imkoni tug’ildi va aynan shu arxitektura zamonaviy til modellarining (GPT oilasi, BERT va boshqalar) asosi bo’ldi.
Oldindan o’qitilgan modellar
Zamonaviy amaliyot: modelni noldan o’qitmaysiz. Ulkan korpusda oldindan o’qitilgan (pretrained) model olinadi va o’z masalangizga fine-tune qilinadi — kichik datasetda bir necha epoch. Bu kompyuter ko’rishdagi transfer learning’ning aynan o’zi: umumiy bilim tayyor, siz faqat ixtisoslashtirasiz.
# g'oyaviy misol (transformers kutubxonasi uslubida)
model = AutoModelForSequenceClassification.from_pretrained(
"bert-base-multilingual-cased", num_labels=2)
# so'ng o'z datasetingizda odatdagi training sikli
Til modeli o’qitishning o’zi esa hayratlanarli darajada sodda vazifaga tayanadi: keyingi tokenni bashorat qil. Shu maqsad trillionlab so’zda takrorlanganda model grammatika, faktlar va mulohaza ko’nikmalarini o’zlashtirib boradi.
Amaliyot
- "Men kitobni ukamga berdim, chunki u uni so’ragan edi" gapida "u" va "uni" qaysi so’zlarga e’tibor berishi kerakligini yozing — attention aynan shu masalani yechadi.
- Q, K, V uchligini kutubxona qidiruvi metaforasida tushuntirib bering (so’rov, kartoteka, kitob mazmuni).
- 2 tokenli mini-misolda attention’ni qo’lda hisoblang: Q·Kᵀ (2×2), softmax, so’ng V bilan ko’paytma — istalgan kichik sonlar bilan.
- RNN va transformerning uzun matndagi farqini ikki jumlada yozing (ketma-ket vs parallel, unutish vs to’g’ridan-to’g’ri bog’lanish).
- O’z sohangizdan fine-tuning masalasi o’ylab toping: qaysi pretrained model, qanday dataset, nechta sinf?
Kursning yakuniy testi keyingi darsda — barcha modullardagi asosiy g’oyalar so’raladi.