LLM vs RLM
LLM qurish biz o‘ylaganchalik qiyin ish emas ekan. Uni mashq qildirish, unga sifatli ma’lumotlar topish, deploy qilish, monitoring qilish va h.k.z.lar qilish qiyin. Yaqinda Attention mexanizmi haqida yozgandim. Aynan o‘sha mexanizm kontekstni (context) boshqaradi. Kontekstni tushunish uchun u doim ortga qarab yuradi. Ya’ni model chapdan-o‘ngga qarab shunchaki o‘qib ketmaydi, balki ushbu gapdagi qaysi so‘z menga bu so‘zni yaxshiroq tushunishimga yordam beradi degan savol bilan yurish qiladi va so'zlar bilan aloqa xaritasi yasaydi, uni GPU'dagi VRAM (Video RAM)da KV Cache ga saqlaydi .
Nima uchun modellarda 128k - 256k ba’zan 1M context limit bor? Sababi oddiy matematika, Quadratic Complexity. Huddi tepada aytganimdek, agar ba’zimda 5 ta odam bo‘lsa, ular bir-birlari bilan oson gaplasha olishadi. Agar 100 ta odam bo‘lsa 100 000 ta kombinatsiya, 1 000 000 odam bo‘lsa ehheeeee. Undan tashqari VRAM buncha katta ma’lumotlar saqlashi qiyinlashib boradi.
LLM lar uchun har bir token (so‘z) boshqa token’larga qarashi kerak context da qolishi uchun. Matn hajmi ikki baravar oshsa, hisoblash (computational work) ishi ikki baravar emas, to‘rt baravar oshadi, insane.
Bu muammoni yechish uchun kodlarni indekslash kabi yechimlar chiqgan. Ammo ularni biznesi uzoqqa bormaydi deb o‘ylayman. Shaxsan o‘zim ishda RLM ya’ni Recursive Language Model qurish jarayonida qatnashib ko‘rdim. Large Language Modellardan farqi shundaki, u rekursiv o‘zini-o‘zi chaqira oladi, ammo nega? Context muammosini yechish uchun. Decomposer mexanizmi ya'ni LLM ortidagi "Divide-and-conquer" algoritmi.
LLM:
• katta prompt bersangiz, prompt o‘rtasiga yetganda boshini unutib qo‘yishi mumkin
• prompt dagi barcha narsaga diqqat (attention) qilmoqchi bo‘ladi
• Internal weight ga asoslanib ishlaydi (trainingdagi ma’lumotlar bilan)
RLM:
• Faqat kichik va kerakli parchaga (snippet) diqqat qiladi. Keyingi bo‘lakga o‘tish uchun recursion ishlatadi.
• Controller mexanizmi orqali katta topshiriqni kichik bo‘laklarga bo‘lib kerak paytda o‘zini-o‘zi chaqira oladi kerakli parcha bilan.
• 1M matn uchun "filter" yozib kerakli qismini o‘qiy oladi.
RLM bilan 10M context gacha bemalol chiqsa bo‘lar ekan. To‘liq test qilib production da yuritib ko‘rilmagan, ammo eksperiment sifatida qilingan ishni bo‘lishdim. Bu kompaniya siri emas, ochiq manba. Sirli tomonlar hozircha "miyada" 😅
Post #633
8.95K