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/sHPk6pFxkcSSGMLnrY46w1qNqqsbavxkolQVaGmT8dlriXqxSRaWvzRI9EzZxFyp9hbgoE7buu3zjakRMnJKI8Y5wQ7mozWm3lbUVF1MUrL7LFP4dQpJSlnF8mJs6TK5XQGjSSNVoiSltbQL2jFMEymbiZLhRwzsBXbaLoQAb7YPjw01u1dk1YmogUxi2P6oSup5mTpgQ4J2uNQGXSWu_zd0LrmSAEz1RAfjtl1rDwaLb9Ri4I3kOjoFBMAAL6c-Em0N9_-fWlloPdzmRBGC1cMDjDBpA3dw70SYP5EUK-eg4zeWp9AKxQVAF9yKvogv5vP-U7ewHqkApQsgnn_wkg.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/trRb59defO8e2xhX8oAKqtkMbqaSzW-IOWJFDCBp4hfcz_m9NYK7M6IRFfNnVj_2QcozCLYwEgj0EoMcB1G6S-99NFpIhH8E6F68T_RkrL7S8Gi5ZSq7pD7blIua2TpjpTuGR7_vk8RIp2ZtOfN30XiNZO9P5gbKifeo5g86H2HIUJzZRyuHbmGovKa6NAWov41l7jUFaiXI81a5xq_11S66DFHhu_Akz7dVrYglHjAOgYV2ZsyfigxnUQ9fATJuRrFJMJN8BbXLkGyneT7HGX8giPDyE2N1DGDRb41gcQs4xOa3bC2-_4j0RtPdOzOpC3yrWGZlGqnViiA5jlrakQ.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/MbzkLLUClNyN1aLVq74lvyvchij_ugFdk_Xks2DWyunqgMDHEn1PBGD8Nhimx_98xoWCT0wCbYnG79iy-1OTpYmeAojtODH4iSIyRpRe1vA1W73FX6M9Px1TysxAXoVdq_DPLUGgRsiLYdZIMIOGm3Lhh4QH4ZIt1dnxmRDLeSlbEjHOA2bvMsrUdPtv1j1Gh1fGel2shOwdD1z2dNPWJNXEiKhXQSIYE0Rpx79B9DNGoNIuN6UAm7j73hom5HRCRK-fIDMbi5FM-57bztIaq3FvxNJPyDZLs7FLNYvXRDSCw3tGo99wWgYPn6P8alE2AnNFI9BuCjU-Abk-UL8sLw.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/teQ65cCsg2MaBZbmfYNd3ACj7xziOllmQToZAOtkG_MUj8pxiSbaul4jPvfvckUOs92-r1FxAOix-Y2jJavTmY4q2trCfGJxuiJV264YgMCJQnpSqVqK7GmYCp781Lo9URgC-uEs-yii7yLQe4XSQixK6YVpnhvRY51UXf6Zkamo0n4PvL2_La5Yaijs1aLPpGMW1xIE8-QZaFdbZ1as0H0ZW6O6I0z2kwrJBZV8hFsT5mJOHjGPlL1RbO6vcjyaL9LbeIWnXq-N1xGrDNNhHraz65quSS1yIPVG5_bh48z40uAsIfWmptqSt3hN8CGOjwtWzC3tI-i7uH5i19mrUA.jpg)
Share with your friend now:
group-telegram.com/rizzearch/266