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/O_9PMuYYKY0cS9R-sP6Pe75ubVgGCaXBacaMkbw3hDofo89Q3QfemTH6SGSpmLfPYWmTTp1O0suZF4o-_jaJRxnO4He125BnOQbxFxzFDnzDVA4aF26OKthL57_cXgbffmQdIHKHWe-kvwZJMNP0wG97qdZJT-FZBzVkOjDFyz5jjpAs9BhIvceu7mTFKS8XMXEy0U1ChRwf-tHr0JQYD4yVTbKUFUyYxXcKHovyTzihUyh9Ke4ojSPae3z1lVrVoMfOUR4uhnBfjzE31YEHkhsrKiLI1PJgq7GEjbXBWQH7jCwqK1C2SD6jB7fw-iAMj7pIklDf-qYRZM3ho0jJlw.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/hOtOuUjlZsBILsgN--LE8-qMA0_DBXl6iylvnJLCcK2Qqn2M71wvi_98aWTU5STKUM61xHgvUmJF8RWdKmAM2B-3qWyiA7-ZDT0pgw5eeRK6GuQVsUE3G8ZXMMnU4vBb6gp2PEm4nafxfEIGxSS3LBBKdvDL0cwp_1rGEdaBXZ3C2Pgtq7VqdmRe0sLM1FsL0a1rNQg8o9WyNbULD0gLsNw5kiCb_V85wqALaBirB6pLmZHaQ84Je_D6tXDlaC5XpSnzgQuC9SRsuwDIAsgimwwpRCELu3T-3DacGjcDZwJ6_bkYwOah7pS1VrHz8uMOGP6mNVd4DqV73kxs_hYAVA.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/W0Ts8AiU6qV9nFhJf1KK3MAAIm1E90ww2cnrr6tuXNvFSB6_ZCZwo2awgicDi2KAU4c1dwofEYYNniSHBsnmFJPpnNjoNSqaaOi8kIeGRTWYKGT5Y9o9-Jn05mXYtqFcr_Nk-2mvk5f3KnumRnBlMf_Y74E84yBAtUvtrEamD_Dc0qJIjWzj1a7vuxxVo9N1s8ZeaR8wFQuxW57Ayw2DQzUnj00PXxsvRCo-lSwUhPU3L6EyIkQP1nbXvkVzsXsmGtSxzV1jVIF0xcr_r6Kaf-m1xnRqCt90b11Yds65mjg7zPl0H8gLjs_g9A2OCy5c9VH5_ydAAF5olduUOfooVw.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/Ufd-FthRo9N1dSLrxjfkG3RGtAvbUcBBAMUOK-zzFE93JfqP8mZ_XAz7a3FhfGiUK1JUqlo6hNhFKT_lKl0ntVDYATKpIivbBvZuHpjHRXsuZUMjmsOe7ZgPq62qmlx7oJNGOWvCCXOE7Drosz7a8aacjDzfsy0wbHUzHkVJ0CgIRgd5G_0Bw5QjSYoxGPUetd2u40BtnRF2umzbPqn9Oadu7wV419gvQejIVoc6aQA5D1aEF_tA9G4a8REEbqRyXOFKuSU_Q9xnXry5cYAp7_a-n5X8vTPx-W4Ka_wZnTvnKIfRwTnRjiSHEaip5VYotxAIOrLCPxatCJLiB6iYjA.jpg)
Share with your friend now:
group-telegram.com/rizzearch/266