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
Share with your friend now:
group-telegram.com/rizzearch/266