3-7 dagi ketma-ketlik modellari oʻtgan hamma narsani bitta yashirin holatga siqib joylab, bittadan katak boʻylab yurardi. Attention gʻoyani oʻzgartiradi: kerak boʻlganda oldingi barcha kataklarni qaytadan koʻrib chiqadi va tegishli kataklarga koʻproq diqqat beradi. Soʻrov (Q)·kalit (K)·qiymat (V) sonlarini qoʻlda kuzatib boramiz, bu qismlardan qurilgan Transformer nega bugungi til modellarining asosiga aylanganini va uning narxini ham koʻramiz.
Enkoder–dekoder RNN butun gapni bitta qatʼiy uzunlikdagi vektorga joylaydi va kataklarni birma-bir navbat bilan qayta ishlaydi. Gap uzaygan sari ikki narsa muammoga aylanadi.
Tor boʻgʻiz: enkoder–dekoder tarjima modeli asl matnni bitta qatʼiy uzunlikdagi vektorga qisqartiradi, soʻng undan tarjimani hosil qiladi. Bahdanau va hammualliflar bu qatʼiy uzunlikdagi vektorni samaradorlikning tor boʻgʻizi deb hisoblab, tarjimaning har bir soʻzini yaratishda asl matndan tegishli qismni modelning oʻzi izlab topishiga imkon beradigan usulni taklif qilishdi [R1]. Bu — attention. Navbatda turish: RNN ht ni bilmasdan ht+1 ni hisoblay olmaydi, shuning uchun kataklarni bir vaqtda hisoblab boʻlmaydi. Transformer takrorlanishni (rekurrentlikni) butunlay olib tashlab, faqat attention yordamida barcha kataklarni birdaniga hisoblaydi va oʻqitishni ancha tezlashtirdi [R2].
Koreyscha «Chopariga sagwareul meogeotda» («Drozofila olmani yedi») gapini «The fly ate the apple» deb tarjima qilamiz. Har bir inglizcha soʻzni yaratishda diqqat koreyscha soʻzlar orasida taqsimlanadi. Chiziq qanchalik qalin boʻlsa, diqqat shunchalik katta.
Koreyscha tartib «chopariga (drozofila) · sagwareul (olmani) · meogeotda (yedi)», inglizcha tartib esa «The fly · ate · the apple». Feʼlning oʻrni har xil. Shuning uchun «ate» ni yaratishda eng oxirdagi «meogeotda» ga koʻproq qarash kerak. Bu rasmdagi diqqat qiymatlari tushuntirish uchun belgilangan sonlar. Haqiqiy tarjima modeli bunday moslikni oʻqitish orqali oʻzi topadi; Bahdanau va hammualliflar oʻrgatilgan diqqat inson intuitsiyasiga yaxshi mos kelishini xabar qilishgan [R1]. Diqqat qiymatlarining hammasi 0~1 oraligʻida va yigʻindisi 1 ga teng (softmax).
Attention(Q, K, V) = softmax(Q·Kᵀ / √dk) · VVaswani va boshq., 2017
| Simvol | Kutubxonada | Neyron tarmoqda |
|---|---|---|
| Q soʻrov | Nima qidirayotganimni yozgan qogʻozcha | Joriy katakka «nima kerak»ligini ifodalovchi vektor. Kirish × WQ |
| K kalit | Har bir kitobga biriktirilgan katalog kartochkasi | Har bir katak «men shunday maʼlumotman» ekanini ifodalovchi vektor. Kirish × WK |
| V qiymat | Kitobning haqiqiy mazmuni | Har bir katak haqiqatda uzatadigan maʼlumot. Kirish × WV |
| Q·K | Qogʻozcha bilan kartochka qanchalik mos keladi | Ikki vektorning skalyar koʻpaytmasi. Yoʻnalishlari qanchalik oʻxshash boʻlsa, shunchalik katta |
| ÷ √dk | — | Vektor uzaygan sari skalyar koʻpaytma kattalashib, softmax faqat bitta katakka ogʻib ketishining oldini oladi [R2] |
| softmax | Oʻqish vaqtini kitoblarga taqsimlash | Ballarni yigʻindisi 1 ga teng diqqatga aylantiradi |
| × V | Oʻqilgan vaqtga qarab mazmunni aralashtirib jamlash | Diqqatni vazn sifatida olib, qiymatlarni qoʻshadi. Bu — chiqish |
3-boʻlimda savol va kitoblar alohida edi. Self-attentionda gapdagi har bir soʻz bir vaqtning oʻzida soʻrov, kalit va qiymatdir. Har bir soʻz oʻz diqqatini boshqa barcha soʻzlarga taqsimlaydi.
Soʻz vektorlari [hayvon, ovqat, harakat, koʻrsatish soʻzi] degan toʻrt katakdan iborat qilib qoʻlda belgilandi. Soʻrov oʻzgartirishi WQ «koʻrsatish soʻzi ovqatni, harakat hayvonni qidiradi» boʻladigan qilib belgilandi. Kalit·qiymat oʻzgartirishlari oʻzgarishsiz qoldirildi. Haqiqiy Transformerda soʻz vektorlari ham, WQ·WK·WV ham oʻqitish orqali aniqlanadi, kengligi ham yuzlab katak boʻladi. Hisoblash formulasi esa bu misol bilan aynan bir xil. Kod 1 xuddi shu sonlarni chiqaradi.
Bitta gapda munosabatlar bir necha qatlamli boʻladi. «Kim yedi» va «nimani yedi» — turli savollar. Har bir head turli WQ·WK·WV ishlatib, turli munosabatni koʻradi, natijalar esa bir-biriga ulanadi.
Attention barcha kataklarni birdaniga solishtiradi. Shuning uchun soʻzlar tartibini aralashtirsak ham, har bir soʻzning natijasi aynan bir xil boʻladi. Tartibni bildirish uchun har bir oʻringa xos «pozitsion kod» soʻz vektoriga qoʻshiladi.
Asl maqolada pos pozitsiyaning juft kataklariga sin(pos / 100002i/d), toq kataklariga cos(…) qoʻyilgan [R2]. Oldingi kataklar tez, keyingi kataklar sekin tebranadi, shuning uchun har bir oʻrinda oʻziga xos naqsh hosil boʻladi. Soatning sekund, minut va soat millariga birga qaralganda vaqt bir maʼnoli aniqlanishiga oʻxshaydi. Pozitsion kodni oʻqitish orqali aniqlash usuli ham keng qoʻllaniladi. Kod 2 dagi kichik Transformer oʻqitiladigan pozitsion embeddingdan foydalangan.
Transformerning bitta bloki multi-head attention va feedforward neyron tarmoqdan (3-2 dagi MLP) iborat. Ularning har biriga kirishni oʻzgarishsiz qoʻshadigan qisqa yoʻl (qoldiq ulanish) va normallashtirish biriktiriladi, bu blok esa bir necha qatlam qilib ustma-ust qoʻyiladi.
Bir xil blok ham «qaysi katak qaysi katakni koʻra oladi» (niqob) oʻzgartirilsa, boshqa vazifaga xizmat qiladi.
Transformer keng qoʻllanilishining sabablarini uchtaga jamlash mumkin. Shunga yarasha xarajati ham bor. Eng katta xarajat — uzunlikning kvadratiga mutanosib oʻsadigan diqqat hisobi.
3-7 kod 2 dagi bilan bir xil masala (barcha kataklar ±1, toʻgʻri javob — birinchi katak) va bir xil oʻqitish sozlamalari (Adam 0.005, 30 epoxa, oʻqitish uchun 2,000 ta · test uchun 1,000 ta, 2 ta seed). Transformerda bitta self-attention bloki (kenglik 16, 2 ta head) va oʻqitiladigan pozitsion embedding ishlatildi. «Birinchi katakka beriladigan diqqat» — barcha kataklarning birinchi katakka bergan diqqatining oʻrtachasi.
Bu qism Transformerning tuzilishigacha boʻlgan mavzularni oʻz ichiga oladi. Shu tuzilma yordamida matn va rasm yaratadigan generativ modellar (katta til modellarini oldindan oʻqitish, koʻrsatmalarga amal qilishni oʻqitish, diffuziya modellari va h.k.) bu turkum doirasidan tashqarida. Keyingi qismlar (3-4 Nutq, 3-6 Vaqt qatorlari va aksiya narxlari, 3-5 Matn) maʼlumotni songa aylantirish jarayoniga eʼtibor qaratadi.
Ikkala kod ham faqat Colabda oldindan oʻrnatilgan kutubxonalardan foydalanadi. “Notebook (.ipynb) yuklab olish” tugmasini bosib, Colabda Fayl → Notebookni yuklash orqali oching yoki nusxalab, yangi notebook katagiga joylashtiring.
Kutubxona misoli, besh soʻzli self-attention, ikki head, tartibni aralashtirish va pozitsion kodni bir xil sonlar bilan hisoblaydi. Oʻz maʼlumotingizga almashtirish uchun BOOK_K·BOOK_V·QUERIES yoki soʻz vektorlari X ni oʻzgartiring.
3-7 da LSTM katta uzunliklarda uddalay olmagan masalani bitta self-attention blokli Transformer bilan qayta yechamiz. Oʻqitilgan Transformer toʻgʻri javob joylashgan birinchi katakka qancha diqqat berishini ham oʻlchaymiz. 9-boʻlim pastidagi jadval bevosita shu chiqishdan tuziladi.
ChatGPT, Qwen, Claude kabi AI yordamchilarga joylashtiriladigan promptlar. “Nusxalash” tugmasi bosilganda prompt ortidan tanlangan kod ham qoʻshiladi. 〔 〕 ichidagini oʻz vaziyatingizga moslab yozsangiz boʻladi.
AI javobi faqat boshlangʻich nuqta. Taklif qilingan maqolalar, raqamlar va kutubxona funksiyalarini albatta asl manba va rasmiy hujjatlar orqali tekshiring. Tanlov yoki maqola uchun AI yordamidan foydalangan boʻlsangiz, tashkilotchilar va jurnal qoidalariga koʻra foydalanish faktini va koʻlamini maʼlum qiling.
Bu matndagi sariq punktir tagchiziqlar bilan bir xil lugʻat. Butun turkumda bir xil yozuv ishlatiladi. Boʻlim nomini bossangiz, atama birinchi uchragan joyga oʻtasiz.
Oʻxshatish tushunishning birinchi qadami, lekin notoʻgʻri tushunchaning urugʻi ham boʻlishi mumkin. Drozofila va miya oʻxshatishlariga kuch darajasi belgilangan. Bevosita haqiqatan ham bir xil ishni bajarishiga dalil bor · Qisman faqat ayrim xususiyatlari oʻxshash · Yoʻq mos keladigan narsa maʼlum emas
| Tushuncha | Kundalik hayotdan oʻxshatish | Drozofila va miya oʻxshatishi | Oʻxshatish xato boʻladigan joy |
|---|---|---|---|
| Attention | Imtihonga tayyorlanayotganda muhim sahifalarni marker bilan belgilash | Qisman Insonning tanlab diqqat qilishi (shovqinli joyda bitta ovozga eʼtibor qaratish) | Miyadagi diqqat — sezgi, niyat, charchoq kabilar chirmashgan hodisa. Modeldagi attention esa skalyar koʻpaytma va softmax bilan aniqlangan vaznli oʻrtacha xolos |
| Q·K·V | Kutubxonadagi savol qogʻozchasi·katalog kartochkasi·kitob mazmuni | Yoʻq | Kutubxonada bitta kitob tanlab olinadi, attention esa barcha kitoblarni ulushiga qarab aralashtiradi |
| Softmax diqqati | Oʻqish vaqtini kitoblarga taqsimlash | Yoʻq | Vaqtni qanday taqsimlasangiz ham hammasi sarflanadi, lekin diqqati 0.01 boʻlgan katak ham toʻliq hisoblanadi (shuning uchun n² talab qilinadi) |
| Multi-head | Bitta hujjatni bir necha muharrir turli nuqtai nazardan oʻqishi | Yoʻq | Headning «nuqtai nazari»ni inson belgilamaydi. Oʻqitishdan keyin tahlil qilinsa, aniq vazifasi koʻrinmaydigan headlar ham koʻp |
| Pozitsion kod | Soatning sekund, minut va soat millariga birga qaralsa, vaqt aniqlanadi | Yoʻq | Soat bir kundan keyin boshiga qaytadi, pozitsion kod esa faqat oʻqitilgan uzunlik ichida tanish |
| Qoldiq ulanish | Tahrirlangan qoʻlyozma yoniga doim asl nusxani ham qoʻshib qoʻyish | Yoʻq | Asl nusxani «oʻzgarishsiz qoʻshish» — asosiy nuqta. Tuzatish kichik boʻlsa, asl nusxa deyarli oʻzgarmay keyingi qatlamga oʻtadi |
| Niqob (GPT turi) | Javoblar varaqasini yopib, faqat oldingi masalalarga qarab keyingi masalani yechish | Yoʻq | Oʻqitishda barcha kataklar birdaniga hisoblanadi. Yopiladigan narsa faqat «koʻrish mumkin boʻlgan doira» |
E-1 Muallif haqida · E-2 Ilmiy manbalar · E-3 Rasmlar uchun manbalar
Oʻqituvchilar, ish joyidagi OJT masʼullari va tyutorlar uchun mashgʻulot yoʻriqnomasi. Vaqtlar taxminiy, shuning uchun haqiqiy darsga moslab oʻzgartiring.
| Auditoriya | 3-7 ni tugatgan talabalar va xodimlar. Til modellari «qanday qismlardan yasalgani»ni bilmoqchi boʻlgan amaliyotchilar |
|---|---|
| Talab qilinadigan bilimlar | Vektorlarning skalyar koʻpaytmasi (bir xil oʻrindagilarni koʻpaytirib qoʻshish), 3-2 dagi softmax va MLP, 3-7 dagi enkoder–dekoder |
| Oʻquv maqsadlari | ① Attention formulasi softmax(QKᵀ/√d_k)V ni sonlar bilan hisoblaydi ② Self-attention, multi-head va pozitsion kod har biri nima uchun kerakligini tushuntiradi ③ Transformer asosga aylanish sabablarini va n² xarajatini birga tushuntiradi |
| Taxminiy vaqt | Oʻqish 45~55 daqiqa · animatsiya namoyishi 25 daqiqa · Colab amaliyoti 30 daqiqa (Kod 1 — 10 daqiqa, Kod 2 — bajarish 8 daqiqa + tahlil 12 daqiqa) |
Kirish 5 daqiqa (1-boʻlim, tor boʻgʻiz) → 2·3-boʻlimlar, kutubxona 15 daqiqa → 4·5-boʻlimlar 10 daqiqa → 6-boʻlim, tartibni aralashtirish 10 daqiqa → 9-boʻlim, n² va Kod 2 natijasi 5 daqiqa → tekshiruv savollari 5 daqiqa.
1·3-boʻlimlar 15 daqiqa → 8-boʻlimdagi uch tuzilmani ish holatlariga (tasniflash·qisqacha bayon·tarjima) bogʻlash 20 daqiqa → 9-boʻlim, xarajatni hisoblash (oʻz hujjatlarimiz uzunligi bilan) 15 daqiqa → Kod 2 ni bajarish·tahlil qilish 25 daqiqa → prompt kartochkalari 15 daqiqa.
Boshlovchilar uchun faqat 1·2·3·9-boʻlimlar. Oʻrta darajadagilarga 3-boʻlimdagi natija vektorini qoʻlda hisoblatib, Kod 1 bilan solishtiring va 7-boʻlimdagi 4d² + 4d ni oʻzlari keltirib chiqarsin.
| Boʻlim | Toʻxtab beriladigan savol | Boshqaruv boʻyicha maslahat |
|---|---|---|
| 1 Qolgan muammolar | «40 soʻzli gapni 8 katakli vektorga joylasak, bitta soʻzga necha katak toʻgʻri keladi?» | 5 → 40 soʻzga oʻzgartirib, sonlar qanday oʻzgarishini koʻring |
| 2 Attention | «ate ni yaratishda nega eng oxirgi soʻzga qaraladi?» | «ate» tugmasida toʻxtating |
| 3 Q·K·V | «Eng katta diqqat berilgan kitobni olib kelishning oʻzi yetmaydimi?» | «Ikkalasi ham qiziq» tanlanganda natija [5.5, 5.5] boʻlib aralashishini koʻring |
| 4 Self-attention | «“U” nimaga ishora qiladi? Model buni qanday bildi?» | u → shirin tartibida bosib, qoʻlda belgilangan qoidaning cheklovini ham koʻring |
| 5 Multi-head | «Headlarni 8 taga koʻpaytirsak, parametrlar 8 marta oshadimi?» | Model kengligi 512 da parametrlar sonini tekshiring |
| 6 Pozitsiya maʼlumoti | «Tartibni aralashtirsak ham natija bir xil boʻlsa, buning nimasi muammo?» | Pozitsion kod yoʻq → aralashtirilgan tartib → qoʻshish tartibida bosing |
| 7 Blok | «Blok parametrlarining koʻp qismi attentiondami yoki feedforwarddami?» | Asosiy variantda «feedforward ulushi»ni oʻqing |
| 8 Enkoder·dekoder | «GPT turi nega kelajakdagi kataklarni yopishi kerak?» | «Faqat dekoder» ni bosib, niqobdagi × kataklarni koʻrsating |
| 9 Asos va cheklovlar | «Hujjat uzunligi 2 marta oshsa, diqqat hisobi necha marta oshadi?» | 4,096 → 32,768 ga oʻzgartirib xotirani solishtiring va pastdagi tajriba jadvaliga oʻting |
| Notoʻgʻri tushuncha | Toʻgʻri tushuntirish | Koʻrsatiladigan sahna |
|---|---|---|
| Attention eng muhim bitta soʻzni tanlaydi | Barcha soʻzlarni ulushiga qarab aralashtiradi. Diqqati kichik soʻzlar ham natijaga kiradi | 3-boʻlimdagi «Ikkalasi ham qiziq» |
| Transformer tartibni oʻz-oʻzidan biladi | Pozitsion kod boʻlmasa, tartibni aralashtirsa ham natija bir xil | 6-boʻlim |
| Har bir headga vazifani inson belgilab beradi | Vazifalar oʻqitish orqali paydo boʻladi. Bu sahifadagi ikki head tushuntirish uchun qoʻlda belgilangan | 5-boʻlim va undan keyingi izoh |
| Transformer RNN dan har jihatdan ustun | Uzoq bogʻlanishlar va parallel hisoblashda kuchli, ammo uzunlik kvadratiga teng xarajat talab qiladi va kichik maʼlumotlarda noqulay boʻlishi mumkin | 9-boʻlim |
| Diqqat rasmi — modelning xulosa chiqarish sababi | Faqat qayerga qarab hisoblaganini koʻrsatadi, xulosa nega toʻgʻri ekanini kafolatlamaydi | 4-boʻlimdagi «shirin» |
q·k = 2×2 + 0.4×0 = 4. 4 / √2 ≈ 2.828. Bu 3-boʻlimdagi A kitob bali bilan bir xil.
Diqqat ≈ [0.238, 0.238, 0.525]. Natija = 0.238×[10,0] + 0.238×[0,10] + 0.525×[6,6] ≈ [5.53, 5.53]. Kod 1 chiqishi [5.525, 5.525].
Aynan bir xil boʻladi. Har bir soʻzning chiqishi faqat «boshqa barcha soʻzlar bilan solishtirish» orqali aniqlanadi, solishtiriladigan toʻplam esa tartibdan qatʼi nazar bir xil. Kod 1 da farq 1e-16 (hisoblash xatosi darajasida) boʻldi.
W_Q·W_K·W_V·W_O toʻrttasining har biri 512 × 512, siljishlar har biriga 512 tadan: 4 × 262,144 + 4 × 512 = 1,050,624 ta. Headlar sonini oʻzgartirsangiz, faqat head kengligi kichrayadi, matritsalar oʻlchami esa bir xil qoladi, shuning uchun son oʻzgarmaydi.
4 marta. (2n)² = 4n². 4,096² = 16,777,216 tadan 8,192² = 67,108,864 taga yetadi.
Kod 1 da √d_k ga boʻlinmasa, kutubxona misolidagi diqqat qanday oʻzgarishini hisoblang. Vektorlar 10 marta kattalashtirilganda boʻlishning taʼsiri qanday ortishini ikki gapda tushuntiring.
Kod 2 da Transformerning pozitsion embeddingini (AddPosition) olib tashlab, qayta oʻqiting. Natija va «birinchi katakka beriladigan diqqat» qanday oʻzgarishini kamida 3 ta seed bilan xabar qiling va sababini 6-boʻlim bilan bogʻlab yozing.
| Yangi boshlovchilar | 5·7-boʻlimlarni tashlab ketsangiz ham mavzu oqimi uzilmaydi. Faqat 3-boʻlimdagi kutubxona misolini qoʻlda puxta hisoblab koʻring |
|---|---|
| Chuqurlashtirilgan | 9-boʻlimdagi n² xarajatini kamaytirish usullarini (oraliqlarga boʻlib qarash, past oʻlchamli yaqinlashtirish va h.k.) oʻrganib, taqdimot qilishni topshiring. Oʻrganilgan maqolalarni asl manbadan tekshiring |
| Qoʻshimcha oʻrganish | Sangsun Ahn, «Biznes uchun maʼlumotlar fani» maʼruzalar matni (maʼlumotlar fani boʻyicha umumiy) · STEP [K-Digital] Sunʼiy intellekt yordamida tabiiy tilni qayta ishlash (3-5 va 3-8 qismlarga bogʻliq) · STEP [K-Digital] Fintex maʼlumotlarini tahlil qilish asoslari (3-6 qismga bogʻliq) |
| Oʻqituvchilar uchun materiallar | Tekshiruv savollarini baholash mezonlari va topshiriqlarning namunaviy javoblarini Oʻqituvchilar uchun javoblar sahifasi (3-8) da koʻrish mumkin |
«3-8 Attention va Transformer» qismini oxirigacha oʻqidingiz. Laboratoriya jamoasi bittadan qisqa xulosa aytib beradi.