1-bo‘lim
Transformer nima va u qayerdan paydo bo'ldi
RNN ning cheklovlari, 2017-yilgi maqola va uning sakkiz muallifi, e'tibor g'oyasi hamda transformerdan keyin nima o'zgargani.
Ushbu bo‘lim mundarijasi
PyTorch darsligining 17-bo'limida matnni o'rtacha embedding bilan tasnifladik va o'sha yerda bitta kamchilik aytilgan edi: u usul so'z tartibini e'tiborga olmaydi. «Yaxshi emas» va «emas yaxshi» bir xil natija berardi.
Bu bo'limda o'sha muammoni hal qilgan arxitektura bilan tanishamiz.
RNN davri va uning devori #
2017-yilgacha matn bilan ishlash deyarli har doim rekurrent tarmoqlar (RNN, LSTM, GRU) orqali bajarilardi. Ular matnni so'zma-so'z, chapdan o'ngga o'qirdi va har qadamda «xotira»ni yangilab borardi.
Bu ishlardi, lekin ikkita jiddiy muammosi bor edi.
| Muammo | Nima uchun |
|---|---|
| Ketma-ketlik | 50-so'zni hisoblash uchun avval 49 tasini hisoblash shart - parallellashtirib bo'lmaydi |
| Uzoq bog'liqlik | Jumla boshidagi so'z oxiriga yetguncha xotirada suyulib ketadi |
Ikkinchisini bitta misolda ko'rish mumkin:
«Men bolaligimda Samarqandda yashagan va o'sha yerda maktabni tugatgan do'stim bilan kecha uchrashdim.»
«Uchrashdim» so'zi kimga tegishli? «Do'stim» ga. Lekin ular orasida 9 ta so'z bor. RNN bu masofani xotira orqali bosib o'tishi kerak - va u uzoqlashgan sari bu qiyinlashadi.
Eng achinarlisi - ketma-ketlik muammosi. GPU minglab amalni bir vaqtda bajara oladi, RNN esa undan foydalana olmaydi: 50-qadam 49-qadamni kutishi shart.
2017-yil: tavsiya emas, inqilob #
2017-yil, 12-iyun. Google da ishlaydigan guruh arXiv ga «Attention Is All You Need» nomli maqola joyladi. Sarlavhaning o'zi da'vo edi: e'tibor mexanizmining o'zi yetarli, rekurrensiya ham, konvolyutsiya ham kerak emas.
Maqolaning sakkizta muallifi bor va ularning izohida g'ayrioddiy jumla turadi: «Equal contribution. Listing order is random» - hissa teng, ro'yxat tartibi tasodifiy.
O'sha izohda kim nima qilgani ham yozilgan:
| Muallif | Hissasi |
|---|---|
| Jakob Uszkoreit | RNN ni self-attention bilan almashtirishni taklif qildi va tekshiruvni boshladi |
| Ashish Vaswani, Illia Polosukhin | Birinchi transformer modellarini loyihalashtirdi va yozdi |
| Noam Shazeer | Scaled dot-product va multi-head e'tiborni taklif qildi |
| Niki Parmar | Ko'plab model variantlarini sinab, sozlab chiqdi |
| Llion Jones | Dastlabki kod bazasi, tez bashorat va vizualizatsiya |
| Łukasz Kaiser, Aidan N. Gomez | tensor2tensor ni yozdi va natijalarni sezilarli yaxshiladi |
Aidan N. Gomez o'sha paytda Toronto universiteti talabasi bo'lib, Google Brain da amaliyot o'tayotgan edi. Illia Polosukhin esa maqolada umuman tashkilot ko'rsatmagan - faqat shaxsiy pochtasi yozilgan.
Sohani o'zgartirgan maqola shunday tuzilgan guruhdan chiqdi.
Natija #
Maqola o'z g'oyasini tarjima masalasida sinadi:
| Ko'rsatkich | Natija |
|---|---|
| WMT 2014 inglizcha-nemischa | 28.4 BLEU - oldingi eng yaxshi natijadan 2 BLEU dan ko'p yuqori |
| O'qitish vaqti | 3.5 kun, 8 ta GPU |
| Oldingi modellarga nisbatan xarajat | «kichik bir ulushi» |
Ikkinchi qator birinchisidan muhimroq. Sifat oshgani yaxshi, lekin asosiy yangilik shu: model parallel o'qitilardi, shuning uchun arzon va tez edi.
Bu narx masalasi emas - bu imkoniyat masalasi. Arzonlashgani uchun kattaroq model qurish mumkin bo'ldi. Kattalashgani sayin esa kutilmagan qobiliyatlar paydo bo'la boshladi.
Nima o'zgardi #
Diqqat qiling: transformer tarjima uchun o'ylab topilgan edi. Bugun u matn yozadi, kod yozadi, rasm yaratadi va ovozni taniydi. Mualliflarning o'zlari ham bunday bo'lishini kutmagan edi.
Asosiy g'oya - bir jumlada #
E'tibor mexanizmi shunday ishlaydi: har bir so'z boshqa barcha so'zlarga qaraydi va ulardan qaysi biri o'ziga muhimligini o'zi hal qiladi.
Yuqoridagi jumlada «uchrashdim» so'zi «do'stim» ga to'g'ridan-to'g'ri qaraydi - oradagi 9 ta so'zdan o'tib yurishi shart emas. Masofa ahamiyatsiz bo'lib qoladi.
Va hamma so'z buni bir vaqtda qiladi - shuning uchun GPU to'liq ishlaydi.
| RNN | Transformer | |
|---|---|---|
| O'qish tartibi | So'zma-so'z, ketma-ket | Hammasi bir vaqtda |
| Ikki so'z orasidagi masofa | Qadamlar soniga teng | Har doim bitta qadam |
| GPU dan foydalanish | Cheklangan | To'liq |
| Uzun matn xarajati | Chiziqli | Kvadratik (kamchiligi) |
Oxirgi qator - transformerning narxi. Har so'z har so'zga qarasa, 100 ta so'z uchun 10 000 ta juftlik chiqadi. 4-bo'limda buni hisoblab ko'ramiz.
1-10 bo'limlar: e'tiborni qo'lda quramiz va undan ishlaydigan kichik GPT yasaymiz. Bu PyTorch darsligidagi «avval noldan» tartibining davomi.
11-20 bo'limlar: tayyor modellarga o'tamiz - transformers kutubxonasi,
fine-tuning, semantik qidiruv va RAG.
Birinchi qism nima uchun kerak? Tayyor modelni ishlatish oson. Lekin u kutilmagan natija berganda, ichida nima borligini bilmasangiz, nima qilishni ham bilmaysiz.
- RNN ning ikkita asosiy muammosini o'z so'zingiz bilan yozing.
- Uzoq bog'liqlikka o'zbek tilidan bitta misol toping.
- Nima uchun RNN ni parallellashtirib bo'lmasligini tushuntiring.
- «Attention Is All You Need» maqolasi qachon va qayerda chiqqanini yozing.
- Maqolaning sakkiz muallifidan uchtasini va ularning hissasini ayting.
- «Listing order is random» izohi nimani anglatishini tushuntiring.
- 28.4 BLEU va «3.5 kun, 8 GPU» dan qaysi biri muhimroq - fikringizni asoslang.
- Transformer dastlab qaysi masala uchun yaratilganini yozing.
- E'tibor mexanizmining asosiy g'oyasini bitta jumlada ifodalang.
- Transformerning kvadratik xarajati nimadan kelib chiqishini tushuntiring.
Xulosa #
- 2017-yilgacha matn bilan ishlashda RNN va LSTM hukmron edi.
- Ularning ikki muammosi bor: ketma-ketlik va uzoq bog'liqlikning susayishi.
- RNN ni parallellashtirib bo'lmaydi - 50-qadam 49-qadamni kutadi.
- 2017-yil 12-iyun: «Attention Is All You Need» maqolasi chiqdi.
- Sakkiz muallif teng hissa qo'shgan, ro'yxat tartibi ataylab tasodifiy.
- Self-attention g'oyasini Jakob Uszkoreit, multi-head e'tiborni Noam Shazeer taklif qilgan.
- Model 28.4 BLEU berdi, lekin asosiy yangilik - 3.5 kunda, 8 GPU da o'qitilgani.
- Arzonlashuv kattaroq modellarga yo'l ochdi va bu bugungi til modellariga olib keldi.
- E'tiborning mohiyati: har so'z barcha so'zlarga qaraydi va muhimini o'zi tanlaydi.
- Buning narxi - uzun matnda kvadratik xarajat.
Keyingi bo'limda matnni modelga tushunarli qilish - tokenizatsiya bilan boshlaymiz va o'zbek tili bunda qanchaga tushishini o'lchaymiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.