<|begin_of_text|><|start_header_id|>system<|end_header_id|>

You are a helpful chatbot that always answers in Uzbek.<|eot_id|><|start_header_id|>user<|end_header_id|>

Ushbu kod parchasining ma'nosi nima? U qaerdan kelib chiqqan bo'lishi mumkin va nima uchun u kerak? val attnMaskMul = sciCore.triangle ((DataType.FLOAT32, seqLen, seqLen, 0.0, 1.0) val attnMaskAdd = sciCore.triangle ((DataType.FLOAT32, seqLen, seqLen, Double.NEGATIVE_INFINITY, 0.0) att * attnMaskMul + attnMaskAdd<|eot_id|><|start_header_id|>assistant<|end_header_id|>

Ushbu kod parchasi, ehtimol, diqqat mexanizmini chuqur o'rganish modelining amalga oshirilishidan kelib chiqadi. Xususan, u diqqat ballari matrisidagi ba'zi elementlarni niqoblash uchun ishlatiladi, bu esa kirish ketma-ketligi elementlari o'rtasidagi haqiqiy bo'lmagan bog'liqliklarni o'z ichiga oladi. Kod avval ikki matritsa yaratadi, attnMaskMul va attnMaskAdd, ikkalasi ham seqLen tomonidan ketma-ket ket ket ket ketlashtirilgan va ma'lumotlar turi FLOAT32. Ushbu matritsalar uchburchakli niqob hosil qiluvchi qiymatlarga to'ldirilgan, bu erda diagonaldan yuqori qiymatlari attnMaskMul uchun 1.0 va attnMaskAdd uchun 0.0 ga, diagonaldan pastki qiymatlari attnMaskMul uchun 0.0 ga va attnMAdd uchun<|eot_id|><|start_header_id|>user<|end_header_id|>

Qachon bu haqiqiy bo'lmagan aloqalar paydo bo'ladi va nega biz ularni niqoblashimiz kerak? Bu keng tarqalgan holatmi?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

Xato aloqalar o'qitish jarayonida hosil bo'ladi va uchburchak niqob ularni niqoblash uchun shakllangan. Birini nima uchun kerak bo'lishi mumkinligini tushunish uchun, uchburchak niqoblari qanday va nima uchun ishlatilishini ko'rib chiqaylik. Yuqoridagi e'tibor modeli avtomatik regress Transformer ekanligini taxmin qilaylik. Bu shuni anglatadiki, keyingi token bashorat faqat oldingi tokenlarga bog'liq. Shunday qilib, keyingi tokenni bashorat qilish uchun, siz faqat oldingi tokenlar ishtirok etishiga ishonch hosil qilishingiz kerak. (Agar yo'q bo'lsa, bu o'qishda aldab qo'yish kabi bo'ladi, chunki model allaqachon keyingi nima ekanligini biladi). Shu sababli e'tibor niqoblari quyidagicha bo'ladi ```block [0, 1, 1, 1] [0, 1, 1] [<|eot_id|>