ChatGPT qanday ishlaydi? Yetti mingta Shekspir, och baliqlar va matematika (2-qism)
Sun’iy intellekt, neyrotarmoqlar, ChatGPT haqidagi KATTA MAQOLAning davomi.
(1-qism: ChatGPT qanday ishlaydi? T9, oriq-semiz erkaklar, Barak Obama, transformer)
2019-yil: GPT-2 yoxud yetti mingta Shekspirni til modeliga qanday joylash mumkin?
Agar neyrotarmoqni rasmlarni tanib olishga o‘rgatmoqchi bo‘lsangiz, shunchaki “mana senga 100 500 ta tabiat va turli mahsulotlarning ulkan arxiviga havola, kerak bo‘lsa, tartibla!”, deya olmaysiz. Modelni o‘rgatish uchun avval o‘quv ma’lumotlari to‘plamini belgilashingiz kerak — ya’ni har bir fotosuratni uning xususiyatlarini bildiruvchi so‘zlar bilan boyitishingiz talab etiladi (masalan, yozilishi, aytilishi bir xil, ammo har xil ma’noli so‘zlar bor).
Til modellarini o‘rgatishning ajoyibligi nimada, bilasizmi? Ularni mutlaqo har xil matnli ma’lumotlar bilan “oziqlantirish” mumkin va bu ma’lumotlarni oldindan maxsus belgilash kerak emas. Bu xuddiki maktab o‘quvchisini, uning oldiga turli kitoblar to‘la jomadonni qo‘yib, hech qanday ko‘rsatma bermasdan, o‘qishni qaysi biridan boshlashni aytmasdan o‘qitishga o‘xshaydi — til modelining o‘zi o‘qib, shu jarayonda kerakli bilimlarni orttirib boraveradi!
Demak, biz til modelini o‘zidan oldingi so‘zlar haqidagi ma’lumotlarga asoslanib, keyingi so‘zni bashorat qilishga o‘rgatmoqchimiz, to‘g‘rimi? Inson tomonidan qachonlardir yozilgan har qanday matn — uning uchun tayyor darslik ma’lumoti hisoblanadi. Chunki u allaqachon “ba’zi so‘zlar va jumlalar to‘plami” ketma-ketliklarini o‘zida jamlashga ulgurgan.
Keling, GPT-1da sinovdan o‘tgan Transformerlar texnologiyasi masshtablashish nuqtai nazaridan juda muvaffaqiyatli bo‘lganini yana bir bor eslaymiz: u katta hajmdagi ma’lumotlar va “massiv” modellar (ko‘p sonli parametrlardan iborat) bilan ajdodlariga qaraganda ancha samarali ishlay oladi. 2019-yilda OpenAI olimlari ham shunday xulosaga kelishdi: “Ulkan til modellarini yaratish fursati keldi!”
Umuman olganda, GPT-2ni ikkita asosiy yo‘nalishda — mashg‘ulot ma’lumotlari to‘plami (dataset) va model o‘lchami (ko‘rsatkichlar soni) tubdan yangilashga qaror qilindi.
O‘sha paytda til modellarini o‘rgatish uchun maxsus, katta, yuqori sifatli, ochiq matnli ma’lumotlar to‘plami yo‘q edi. Shunday sharoitda OpenAI xodimlari oqilona chora qo‘llashdi: eng ommalashgan inglizzabon onlayn-forum — Redditga kirib, uchtadan ko‘p “layk” to‘plagan barcha postlardagi giperhavolalarni ko‘chirib olishdi (hazil emas, buyam ilmiy yondashuv!). Yakunda hammasi bo‘lib 8 millionga yaqin havolalar to‘plandi, jami yuklab olingan matnlar “og‘irligi” 40 gigabaytni tashkil etdi.
Xo‘sh, bu ko‘pmi yoki ozmi? Keling solishtiramiz: Uilyam Shekspirning saylanma asarlari (barcha pesalari, sonet va she’rlari) 850 000 ta so‘zdan iborat. Kitobning bir sahifasiga o‘rtacha 300 tadan inglizcha so‘z joylashadi — shu taxlit buyuk ingliz adibi qalamiga mansub asarlar taxminan 2 800 sahifa bo‘ladi. Ana shuncha sahifadagi matnlar kompyuterda 5,5 megabayt xotirani egallaydi. Yoki GPT-2ni o‘qitish uchun Reddit orqali to‘plangan matnlar to‘plami (40 Gb)dan 7 300 baravar kam...
Bir odam daqiqasiga o‘rtacha bir sahifa o‘qiy oladi. Hatto sutkasiga 24 soatlab faqat mutolaaga sarflagan (ovqatlanmay va uxlamay) taqdiringizda ham zakovat bobida GPT-2ga yetishingiz uchun kamida 40 yil kerak bo‘ladi!
Mashg‘ulot ma’lumotlari hajmi bilan ish bitmaydi. Besh yashar bolani Shekspirni takror-takror mutolaa qilishga majburlab, kamiga kvant fizikasi ma’ruzalarini tinmay qulog‘iga quygan bilan aqlli bo‘lib qolmaydi. Bunda ham shu: til modeli ulkan ma’lumotlarni “yamlamay yuta olishi” uchun avvalo murakkab va sig‘imdor bo‘lishi shart. Xo‘sh, bu murakkablik qanday o‘lchanadi, nimalarda ko‘zga tashlanadi?
Til modellari dunyosida nega Plus Size modellari ko‘proq qadrlanadi?
Xotirangizdan ko‘tarilmagan bo‘lsa, yuqorida til modellari ichida Y=k*X+b ko‘rinishidagi tenglamalar mavjudligini aytdik, bu yerda qidirilayotgan igrek (Y) — biz bashorat qilishga urinayotgan navbatdagi so‘z, iks (x)lar esa kirishdagi so‘zlar — ulardan kelib chiqib biz bashoratni amalga oshiramiz.
Xo‘sh, nima deb o‘ylaysiz: 2019-yilda eng katta GPT-2 modelini tavsiflovchi tenglamada nechta parametr bor edi? Yuz mingta yoki bir necha milliontami? Yuqoriroqni nishonga olavering: formulada naq bir yarim milliard (1 500 000 000) parametr bor edi. Shuncha raqamni faylga yozib, kompyuteringizda saqlasangiz ham, u 6 gigabayt joyni egallaydi! Bir tomondan, bu modeldagi matnli ma’lumotlar massivi (Reddit orqali to‘plangan 40 Gb)dan ancha kam. Ikkinchi tomondan, model ushbu matnni to‘liq eslab qolishi shart emas, odamlar tomonidan yozilgan matnlardan ajratilishi mumkin bo‘lgan ba’zi bog‘liqliklar (patternlar, qoidalar)ni topsa kifoya.
Ushbu parametrlar (ularni “og‘irlik” yoki “koeffitsiyentlar” ham deyishadi) modelni o‘qitish jarayonida olinadi, keyin saqlanadi va boshqa o‘zgarmaydi. Ya’ni, modeldan foydalanilganda, bu ulkan tenglamada har safar turli “x”lar almashtiriladi (kirish matnidagi so‘zlar), lekin tenglama parametrlari (“x”lardagi “k” sonli koeffitsiyentlari) o‘zgarishsiz qoladi.
Modelga qanchalik murakkab tenglama o‘rnatilgan bo‘lsa (ya’ni parametrlari qanchalik ko‘p bo‘lsa), u ehtimollikni shuncha yaxshiroq va haqiqatga yaqinroq bashorat qiladi. GPT-2 modelidan boshlab matnlar shu qadar yaxshi chiqishni boshladiki, OpenAI tadqiqotchilari, xavfsizlik nuqtai nazaridan, modelni ochiq ishga tushirishdan ham cho‘chib qolishdi.
Chindan ham ulkan “sifatli sakrash” edi! Yodingizda bo‘lsa, T9/GPT-1 modellari nari borsa SMS-xabarni yozishda navbatdagi so‘zni tanlashda tavsiya berishdan boshqasiga yaramas edi. GPT-2 esa yuqori sinf o‘quvchisi darajasida insho yoza oladi! Unga “Iqlim o‘zgarishiga ijobiy ta’sir ko‘rsatish uchun qanday fundamental iqtisodiy va siyosiy o‘zgarishlar talab etiladi?” mavzusida insho yozdirishdi. Inshoni taxallus ostida tegishli tanlovning hakamlar hay’atiga yuborishganida, ular hech narsani payqashmadi. Albatta, insho juda yuqori baholanmadi, g‘olib bo‘lmadi. Ammo, “qanday bema’ni narsani yubordingiz!”, — degan javob ham kelmadi.
“Insho savodli yozilgan, dalillar misollar bilan mustahkamlangan, biroq g‘oya yangilik emas”.
Hakamlardan biri GPT-2 yozgan inshoni shunday baholadi.
Miqdorning sifatga o‘zgarishi
Umuman olganda, model hajmi kattalashib borgani sayin uning sifatli yangi xususiyatlari ochilib borishi hayratlanarli. Keling, GPT-2 o‘zlashtirgan ko‘nikmalarni batafsilroq ko‘rib chiqamiz.
Matndagi ikkima’noliklarni hal etish uchun maxsus topshiriqlar to‘plami bor, ular matnni to‘g‘ri tushunishda yordam beradi. Masalan, ikkita gapni solishtiring:
- Baliq o‘ljani yutdi. U mazali edi.
- Baliq o‘ljani yutdi. U och edi.
Birinchi misoldagi “u” olmoshi qaysi ob’yektga tegishli — baliqgami yoki o‘ljaga? Ikkinchi holatdachi? Ko‘pchilik kontekstdan osongina tushunadi, bir holatda “u” o‘lja, boshqa holatda esa baliq. Ammo buni tushunish uchun siz shunchaki jumlani o‘qibgina qolmay, balki holat rasmini xayolan chizib ko‘rishingiz kerak! Masalan, baliq turli vaziyatlarda ham och, ham mazali (pishirilib, likopchada turganida) bo‘lishi mumkin.
Odamlar bu kabi topshiriqlarni 95 foiz holatda to‘g‘ri yechishadi, ammo ilk til modellari bu jumboqni 50/50 holatda tavakkaliga topgan, xolos.
Ehtimol, shuncha qiynalib o‘tirmay, javoblarga ega katta ma’lumotlar bazasini (bir necha ming misollar bilan) to‘plab, neyrotarmoq shularni topishga o‘rgatilsa kifoyaku, deyishingiz ham mumkin. Eski modellarda shunday ham qilishgan, ammo ular 60 foizlik muvaffaqiyat chegarasidan nariga o‘ta olmadi. GPT-2ni esa hech kim bunaqa fokuslarga o‘rgatmagandi, u esa kutilmaganda “ixtisoslashgan” ajdodlarini ham dog‘da qoldirib, och baliqlarni 70 foiz aniqlikda topishni mustaqil o‘rganib oldi!
Miqdorning sifatga o‘zgarishi shu bo‘ladi. Qizig‘i, parametrlar sonining uch baravarga — 115 milliondan 350 milliongacha ko‘payishi bilan model “baliq” muammosini aniq hal etishida jiddiy ijobiy siljish deyarli sezilmaydi, biroq model o‘lchami yana ikki baravar kattalashtirilsa — 700 mln parametrga yetkazilsa, sifatli sakrash yuz beradi, til modeli o‘zi maxsus o‘rgatilmagan mutlaqo notanish topshiriqlarni ham a’lo darajada uddalay olishi hayratga solishni boshlaydi.
Qisqacha ma’lumot: GPT-2 2019-yilda chiqarilgan, o‘zidan oldingi modelga nisbatan o‘quv matni ma’lumotlari hajmi hamda modelning o‘lchami (parametrlar soni) 10 baravar oshirilgan. Bunday miqdoriy o‘sish natijasida model favqulodda sifatli va yangi ko‘nikmalarga ega bo‘ldi: uzun va tugal ma’noli insholar yozishdan tortib dunyoqarashni belgilovchi murakkab topshiriqlarni yechishga o‘tdi.
2020-yil: GPT-3
GPT-2ni “semirtirish” (va aqlliroq qilish) bilan bir muddat ovoragarchiliklardan so‘ng OpenAI shovvozlari o‘ylab qolishdi: “Modelni yanayam kattalashtirsak nima bo‘ladi? Deylik, 100 barobarga”. Shu tariqa 2020-yilda navbatdagi talqin — GPT-3 dunyoga keldi. U oldingisiga nisbatan 116 baravar ko‘p — 175 milliard ko‘rsatkichlari maqtana olardi! Neyrotarmoqning o‘zi esa aql bovar qilmas 700 gigabayt tosh bosardi!
GPT-3ni o‘qitish uchun ma’lumotlar to‘plami yanam kengaydi: taxminan 10 baravarga oshib, 420 gigabayt qo‘shildi — sanoqsiz kitoblar, Vikipediya va turli internet saytlaridan olingan matnlar joylandi. Shunchalikki, endi buncha hajmdagi ma’lumotni o‘qib tushunish uchun o‘nlab odamlarga 50 yil tinmay o‘qish ham kamlik qilardi.
Qiziqarli nyuans darhol e’tiborni tortadi: GPT-2dan farqli o‘laroq, GPT-3 (700 Gb) endi o‘zi o‘qib o‘rganayotgan ma’lumotlar to‘plami (420 Gb)dan kattalashib ketgandi. Bu esa paradoksni keltirib chiqaradi: bizning “neyromiya”, xom ma’lumotlarni o‘rganish jarayonida, o‘ziga berilgan dastlabki ma’lumotdan-da kattaroq hajmdagi ma’lumotni hosil qiladi.
Bunday umumlashtirish (“ma’nolashtirish”) avvalgisidan ham afzalroq ekstrapolyasiya imkonini beradi, ya’ni modelni o‘qitishda kam uchragan yoki umuman uchramagan matnlarni yaratishda yaxshi natijalar ko‘rsatadi. Endi modelni muayyan vazifani yechishga o‘rgatish shart bo‘lmay qoldi — o‘rniga topshiriq so‘zlar bilan ta’riflanib, bir nechta misollar keltirilsa kifoya, o‘zidan nima talab qilinayotganini anglagan GPT-3 bu yog‘ini o‘zi bajara olardi!
Yana shunisi oydinlashdiki, hech kim “tor doiradagi” vazifalarni o‘rgatmagan GPT-3 qiyofasidagi “universal Xalk” o‘zigacha mavjud bo‘lgan ixtisoslashgan modellarning kuragini osongina yerga tekkizishni boshladi. Masalan, faqat tarjima uchun mo‘ljallangan neyrotarmoqlar bor, GPT-3 fransuz yoki nemischadan ingliz tiliga tarjimani ularga nisbatan yaxshiroq va tezroq bajarishni boshladi. Qanaqasiga? Hech kim o‘rgatmasa ham GPT-3 qanday qilib tilmoch bo‘lib oldi? Hammasi oddiy, GPT-3 — lingvistik model, vazifasi faqat navbatdagi so‘zni to‘g‘ri topishdan iborat. Shu.
Bu hali holva. GPT-3 matematikani mustaqil o‘rganib olganiga nima deysiz?!
O‘zingiz o‘ylang: til modeli matnlarni so‘zlar bilan davom ettirishga o‘rgatilgandi, u esa, masalan, “378 + 789 =” yozilsa aynan “1167” deb davom ettirib ketmoqda, boshqacha emas! Matematikani o‘zi o‘rganib oldi. Axir bu mo‘’jiza emasmi?!
Aytgancha, GPT-2ni qiynagan “och baliq” jumbog‘ini GPT-3 xuddi odam kabi 90 foizdan yuqori aniqlikda topishni ham o‘rganib oldi. Shu o‘rinda savol tug‘iladi: uning hajmi yana 100 baravar oshirilsa nima bo‘ladi? Deylik, o‘nlab trillion ko‘rsatkichlar qo‘shilsa...
Keling, shu yerda kichik chekinish qilib, “model vazifalarni bajara oladi”, degani nimaligiga aniqlik kiritib olsak. Mohiyatan jarayon quyidagicha: modelga qandaydir so‘rov matnini kiritamiz, u esa o‘z taklifi bilan uni to‘ldiradi. Agar bu davom (generatsiya) biz kutganimiz bilan mos kelsa, demak, model o‘ziga berilgan vazifani uddalagan bo‘ladi.
Biz kiritadigan matn prompt deb ataladi. Nimani xohlayotganimizni qanchalik aniq tasvirlasak, model nima qilish kerakligini yaxshiroq tushunadi. Agar so‘rovga o‘nlab misollarni qo‘shib bersak, natijasi kutganimizdan ham a’lo bo‘ladi!
(Davomi bu yerda)
Izoh qoldirish uchun saytda ro'yxatdan o'ting
Kirish
Ijtimoiy tarmoqlar orqali kiring
FacebookTwitter