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/TmcXdwehZht7YNMj2ZilJWnxBVrzR75tJfWR4e7lhUeCETV6mUfoQXOZZrpD_n_3EPh5z2wH4-cC6hLAYlbNvYMQg5QvOruVb8UGqRg2_P6A_NBEP6QyJzWyxmrgLZCcwKDr_Uq_Yixw38LDJcAGI1G46Y5mV4qbu8AFZIrkFkeEbAVT04A5U3gsNZMsGm4AstBg1AcWs3Po0UklxWc66HPy-CciAljX_RCwpGoNcEWIfU3cpehBH6oVJt1UBdDQa0_IQho_JxBVzI2kr_jmOU326HK-CRn9y5O0eqYNyi_h9qwpAc0_B1YRuvb4T0jIX1pbon52z-fT9fuSQ2iCYw.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/qaPLoj6djwNwWGxWQ32hVFClASfJ92hgdTbLjW0LTdLcoZUaF3IvErFjj6ZMnNEX6i_LGUxA-85V3Ua596_lYRqtIhuG3SgZB1LNYfgz_PEbNpI_7UlfpUhl8RvMTUVuFugHuF8D0qiyEHhxfz3yg_aLmrwsqlFUxuAT-d_mAA2944PDw14eNicqyGhTlHcSDEdjFxcsAEEpIHklDNcLMeGpRIyscNAgQUz2w2n75yOJj19TpGomITD8aB-6fOM93YyKzw3o7GNC0hBAAAlxE0dG6MZI_RVGQkx4pSx_vKBmTYRYW1hnAqJeYhmzIFy3F5eNZNGhkTYzFR6mPp9LOA.jpg)
Share with your friend now:
group-telegram.com/rizzearch/266