Contextual Position Encoding: Learning to Count What's Important
все, думаю, пользовались разными позиционными кодировщиками - абсолютными, относительными, обучаемыми, кто-то даже сильно знаком с RoPE, а кто-то с алиби. цель всех этих вариантов была добавить релевантную информацию относительно позиции токена.
а для чего? ну, далее механизму внимания было легче проводить всякие риуталы с токеном *в контексте с другими токенами.* так а почему бы не попробовать сразу сделать поз энкодинг с опорой на контекст?
авторы предложили именно такое (СoPE), объединили детали из относительного и обучаемых энкодингов - позиции кодируются как сумма сигмоид между дот продактом запросов и ключей (queries & values). таким образом получается опора на предыдущий контекст исключительно, так еще и через сигмоиду определяем степень влияния этого контекста
к тому же такой позиционный скаляр может принимать и дробные значения. поэтому составляют обучаемый эмбеддинг для каждой целочисленной позиции (вплоть до максимальной длины трансформера), а под получившуюся позицию (которая может быть дробной) интерполируют соседние эмбеддинги под целочисленные позиции (да, немного душновато, зато круто как по мне!)
с CoPE ллмки начинают лучше считать объекты (даже если считать на инференсе приходится оод значения по сравнению с трейном) и в выборочном копировании, да и не отстает в классичном языковом моделировании
смущает только Figure 3 (и далее в рассуждениях я могу ошибаться) -как я пон, они говорят, что может CoPE обобщаться на более длинный контекст, что отчасти так, у него меньше перплексия, но ввиду грамотной интерполяции (а не экстраполяции) дробных позиций - если мы удлиняем контекст с 512 до 1024 например на евале, то все равно будем видеть токены от 0 до 512, пушто на трейне мы их и не видели. то есть этот метод действительно выглядит лучше, но кмк по другим причинам (если вы нашли ошибку в моем рассуждении - напишите, мне интересно почитать)
энивей, это новый крутой метод делать поз энкодинг - авторы имхо достаточно показали преимущество над RoPE и абсолютным и относительным позиционным кодированием + код есть (и комплексити побольше, но несильно), осталось посмотреть, что происходит на больших моделях вместе с этим
👀LINK
все, думаю, пользовались разными позиционными кодировщиками - абсолютными, относительными, обучаемыми, кто-то даже сильно знаком с RoPE, а кто-то с алиби. цель всех этих вариантов была добавить релевантную информацию относительно позиции токена.
а для чего? ну, далее механизму внимания было легче проводить всякие риуталы с токеном *в контексте с другими токенами.* так а почему бы не попробовать сразу сделать поз энкодинг с опорой на контекст?
авторы предложили именно такое (СoPE), объединили детали из относительного и обучаемых энкодингов - позиции кодируются как сумма сигмоид между дот продактом запросов и ключей (queries & values). таким образом получается опора на предыдущий контекст исключительно, так еще и через сигмоиду определяем степень влияния этого контекста
к тому же такой позиционный скаляр может принимать и дробные значения. поэтому составляют обучаемый эмбеддинг для каждой целочисленной позиции (вплоть до максимальной длины трансформера), а под получившуюся позицию (которая может быть дробной) интерполируют соседние эмбеддинги под целочисленные позиции (да, немного душновато, зато круто как по мне!)
с CoPE ллмки начинают лучше считать объекты (даже если считать на инференсе приходится оод значения по сравнению с трейном) и в выборочном копировании, да и не отстает в классичном языковом моделировании
смущает только Figure 3 (и далее в рассуждениях я могу ошибаться) -
энивей, это новый крутой метод делать поз энкодинг - авторы имхо достаточно показали преимущество над RoPE и абсолютным и относительным позиционным кодированием + код есть (и комплексити побольше, но несильно), осталось посмотреть, что происходит на больших моделях вместе с этим
👀LINK
group-telegram.com/rizzearch/266
Create:
Last Update:
Last Update:
Contextual Position Encoding: Learning to Count What's Important
все, думаю, пользовались разными позиционными кодировщиками - абсолютными, относительными, обучаемыми, кто-то даже сильно знаком с RoPE, а кто-то с алиби. цель всех этих вариантов была добавить релевантную информацию относительно позиции токена.
а для чего? ну, далее механизму внимания было легче проводить всякие риуталы с токеном *в контексте с другими токенами.* так а почему бы не попробовать сразу сделать поз энкодинг с опорой на контекст?
авторы предложили именно такое (СoPE), объединили детали из относительного и обучаемых энкодингов - позиции кодируются как сумма сигмоид между дот продактом запросов и ключей (queries & values). таким образом получается опора на предыдущий контекст исключительно, так еще и через сигмоиду определяем степень влияния этого контекста
к тому же такой позиционный скаляр может принимать и дробные значения. поэтому составляют обучаемый эмбеддинг для каждой целочисленной позиции (вплоть до максимальной длины трансформера), а под получившуюся позицию (которая может быть дробной) интерполируют соседние эмбеддинги под целочисленные позиции (да, немного душновато, зато круто как по мне!)
с CoPE ллмки начинают лучше считать объекты (даже если считать на инференсе приходится оод значения по сравнению с трейном) и в выборочном копировании, да и не отстает в классичном языковом моделировании
смущает только Figure 3 (и далее в рассуждениях я могу ошибаться) -как я пон, они говорят, что может CoPE обобщаться на более длинный контекст, что отчасти так, у него меньше перплексия, но ввиду грамотной интерполяции (а не экстраполяции) дробных позиций - если мы удлиняем контекст с 512 до 1024 например на евале, то все равно будем видеть токены от 0 до 512, пушто на трейне мы их и не видели. то есть этот метод действительно выглядит лучше, но кмк по другим причинам (если вы нашли ошибку в моем рассуждении - напишите, мне интересно почитать)
энивей, это новый крутой метод делать поз энкодинг - авторы имхо достаточно показали преимущество над RoPE и абсолютным и относительным позиционным кодированием + код есть (и комплексити побольше, но несильно), осталось посмотреть, что происходит на больших моделях вместе с этим
👀LINK
все, думаю, пользовались разными позиционными кодировщиками - абсолютными, относительными, обучаемыми, кто-то даже сильно знаком с RoPE, а кто-то с алиби. цель всех этих вариантов была добавить релевантную информацию относительно позиции токена.
а для чего? ну, далее механизму внимания было легче проводить всякие риуталы с токеном *в контексте с другими токенами.* так а почему бы не попробовать сразу сделать поз энкодинг с опорой на контекст?
авторы предложили именно такое (СoPE), объединили детали из относительного и обучаемых энкодингов - позиции кодируются как сумма сигмоид между дот продактом запросов и ключей (queries & values). таким образом получается опора на предыдущий контекст исключительно, так еще и через сигмоиду определяем степень влияния этого контекста
к тому же такой позиционный скаляр может принимать и дробные значения. поэтому составляют обучаемый эмбеддинг для каждой целочисленной позиции (вплоть до максимальной длины трансформера), а под получившуюся позицию (которая может быть дробной) интерполируют соседние эмбеддинги под целочисленные позиции (да, немного душновато, зато круто как по мне!)
с CoPE ллмки начинают лучше считать объекты (даже если считать на инференсе приходится оод значения по сравнению с трейном) и в выборочном копировании, да и не отстает в классичном языковом моделировании
смущает только Figure 3 (и далее в рассуждениях я могу ошибаться) -
энивей, это новый крутой метод делать поз энкодинг - авторы имхо достаточно показали преимущество над RoPE и абсолютным и относительным позиционным кодированием + код есть (и комплексити побольше, но несильно), осталось посмотреть, что происходит на больших моделях вместе с этим
👀LINK
BY rizzearch
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/s3UPyiOMnBqITzR4csx5v0Mvxc44ORRy_p_aLq8D5_LXYOqRuTlv0CKGp3JEsQP9hh4D8Z-QrXu9WF3bUJ99argwdE9vo0r4Tuk16fmAAFE9ZTGzppzHWJF5OtBmkwHVBEJ7givYw_s-EmJ14HxSoG5wvBlLcqZ8_Ygoy92D2scTpDFp1vPcs61EIpevFW16-TH53TArxCbjUoalLqvM5BOlsKj1E6LOYepFklLTyMvwpqKTR9xlEnTveJKJrAo1LTMTsmi0meEUxgHbcQDPDo4VirnFltnJd5n1n5t9MOa5l3y8SR2UAUQFezfRIQbsT4DOlOs4KB20-KpZb2ybsQ.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/e7pBQB18p9AOiLlU6k7NfJUNx1oGjMNc8DJSINyvXSFjz1vDOcCyV7cci2gEaz6EEfryrvmDluRV9-1Wvw0gBa94MsDD7HysDgXAX9FTIBea-m0M--pDO7RGYsP5_bqOGowVLqlPEzqxlvPUHaFLMbbk3n16Iv9pkO07643KOcavuO6GzwBNRomvNea2jImtgKSq1kEXDIImwsBX1qF0MtOfyshGLUkIJ6TyhO5CW67tvyaRRDFjLf09NOaGv9wS0NMWLyh-Q6yXclPm24TzPIES3YUBzKJKsc9vXg1SerBgVpwAwRHkDaYTH2PLKpqP03UWy79OvCyZ_guY7s0IGQ.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/Ult-Hs5_DA_9OkC1cecmUpAFqaYbMWuxmTm9AWVKYe7So04cbYMUNyK9t54xEzG2TWhJU40D6hIbSqsH62R-q1cBfa3qLwyLnGWwLiGVPuDlskD-h4CLTqVWr-JFlzlh9LeAdIiyE8iaPfV5atRblh1gPBpyUh79bMh48OuaB6RttnpZsdGtq3JlVp61UrcBX4IelMe2QBaZkupJDLZzoVDJzOy6Lf1qYRtzuyr-OmSJXCu0e6fD2dcVoEJSDC9rcTvytgVPNwSCPOwSdGzLh1Sf8wE33NTypegfUUShXVVWBzvAZUhNol9jCu-ebzHpDFC0Zw5uhldTdOCLGmfBog.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/rNznqstFhOGug2GezmhFdNeyfHyqgmKoFFleXoGpzabxeOjabdBjWnbB7aiKZP4Okn_5dPfvaKFoIQxhqtsjXvBKUPsJFPxdHmYFlnss6uFjuYKbcFX8Ne5cUwBhTzi-Y4pCAyXmT_X4rJS5XMXsOxJmb6tFMblaswCbAw8jTc6Tubs8nhQxGgKpES-iVSJUMFv80Ivrs7U-DY7OOrgJpFuKYBTdodt04prJ38nNfK8ymwjAxoSAMjOJxggVas7AT5gqvHBLO2ZaQmGZdyrlhHh5qywLrOmThX5Q6ptKJOb_bxTIOZ9looeP0kps7oLaAwOjAHcj-JMkeV8ns-EEEA.jpg)
Share with your friend now:
group-telegram.com/rizzearch/266