rizzearch
1.01K subscribers
988 photos
11 videos
320 links
Кайфули на каждый день

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
xLSTM: Extended Long Short-Term Memory

make LSTM great again 😎😎😎

как бы ни был крут лстм по заверениям Шмидхубера, которому мы обязаны за все современные методы во всех областях дл :roflanebalo:, эта рнн неидеальна в связи с проблемами, который каждый знает по первым урокам в дл

авторы данной статьи, один из которых кстати ответственен за сам лстм, добавили неплохие эмпирические фичи для улучшения оверолл перформанса, и в принципе справились с этим

что же они добавили? заменили нелинейность в forget gate и input gate на экспоненту и добавили матричную память, которая обновляется по covariance update rule

1) зачем заменять на экспоненту? для численной стабильности, в основном, что очень критично для рнн в принципе из-за вечных проблем с затуханием или взрывом градиентов + добавляют стабилизатор в логарифмическом пространстве на входной и забывающий гейты, чтобы точно ниче не разрывалось во время бекворда (часто используемый работающий трюк с экспоненциацией в численном анализе - есть даже факт, что деление чисел с плавающей точкой менее стабильно, чем возводить в экспоненту разницу логарифмов fyi)

2) а матричная память сделана довольно интересно - это не что иное, как ассоциативная память (посты о которой вы можете найти здесь). аналогично терминологии трансформера, создают запросы, ключи и значения qkv и получают хидден стейт в качестве значени v наиболее близких к запросу q (есчо смотрите формулы). кстати в формулу обновления ассоциативной памяти так же включены инпут и форгет гейты чтобы сделать ее более “lstm-like” + это все параллелизуется

правда есть вопросик к последнему пункту - почему бы не получать хидден стейт без ассоциативной памяти, а просто иметь обучаемую матрицу, которую будем домножать на запросы → получим ли то же самое? кнш прикольно, что ассоциативная память так тут используется (и это даже работает!), но простота - сестра таланта хз

также круто, что показывают результаты, где они не лучше всех - потому что суть статьи изначально в том, чтобы показать улучшенный лстм (а значит и лучше резы в большинстве случаев), а не новую соту которая превосходит трансформер брррр

👀LINK

P.S в абстракте пишут “LSTM constituted the first Large Language Models (LLMs)”. имхо спорно, по мне первые большие языковые модели были оч объемные н-граммы от гугла
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
554👍11
ORPO: Monolithic Preference Optimization without Reference Model

кому в алайменте жить хорошо

как устроен пайплайн сейчас - есть модель, файнтюним ее при помощи supervised objective на домене/таске/вотевер, но потом еще надо и обучать на преференциях чтобы норм результат был? почему нужен последний пункт, если во время обучения с учителем мы и так отдаем предпочтение тому, что называем таргетом?

и действительно интересный вопрос - тк во время SFT и происходит неявное обучение “преференций” - при минимизации кросс энтропии мы выдаем бОльшее предпочтение таргет токенам. да, но при этом занижаются логиты всех остальных токенов из вокабуляра. а потому в результате модель выучит не прям то, что мы хотим (адекватного чат-бота например), а нечто, что способно по грамматике и структуре напоминать что-то, что пытается выдать себя за чат-бота

и авторы дополнительно эмпирически такое показывают, ну оттого и алаймент нужен на уровне легкой теории, а не просто по эмпирическим соображениям + из-за факта, что SFT (reference) модель не очень умеет в преференции, они совмещают этапы супервайзд файнтюнинга с обучением на эти самые преференции и получают ORPO

для этого они на этапе SFT напрямую добавляют preference penalty, который не зависит от референс модели, а только от параметров текущего состояния сетки, и он оптимизирует что-то вроде логарифма отношения отношений вероятностей (звучит сложно но прикольно, в статье так же добавили пункт почему считают так много делений оправданным)

результаты выглядят более-менее сносно, мб и на большом скейле моделек может заработать + выложили код и веса

👀LINK

пока читал статью, понял, что не умею в школьную математику - на последних 2 картинках выводят градиент reference penalty и пишут, что чем меньше P(y|x), тем больше коэффициент для градиента. имхо это не так - чем меньше P(y|x), тем больше выражение в знаменателе и значит коэффициент этот для градиента уменьшается [то есть надо наоборот бОльший P(y|x), но я редко хожу на пары по математике и могу ошибаться]
433👍1🔥1
RWKV: Reinventing RNNs for the Transformer Era

уже упоминали эту интересную статью, своего рода тоже база

можно ли попробовать пересобрать рнн в контексте трансформера и получить преимущества в виде параллелизации обучения (трансформер) и рекурсивного инференса, где в памяти можно хранить только один объект скрытой репрезентации (рнн)? - да, получится свертка

so, авторы отталкиваются от идеи attention-free трансформеров, где outer product (per-token attention) между запросами и ключами заменяют на сумму между обучаемой матрицей W и ключами K - якобы предполагают, что в этой матрице и так может содержаться вся релевантная инфа, которую просто надо сложить с ключами (что уже не так конечно, ибо произведение в линале куда мощнее сложения)

сначала они добавляют относительное позиционное кодирование в вычислении “attention-free аттеншна” к этой обучаемой матрице W, а затем добавляют новые понятия, аналогичные ключам K и значениям V + receptance вектор R как приемник информации прошлого (не путать с хидден стейтом, тут он комплексный и зависит от всех этих терминов) → метод и назвали по первым буквам этих модулей - RWKV

разделяют на два подэтапа - где time mixing & channel mixing (хотя и там и там миксуют каналы но не суть), не что иное, как FFN, в которые скармливаем токены на данном и предыдущем таймстепах + разные нелинейности применяем. а в качестве хидден стейта работает WKV operator, который очень хитровыделанно оперирует над предыдущими таймстепами и сохраняет идею attention-free трансформеров

что в итоге? получаем, что последовательность обрабатывается в линию относительно ее длины, мы можем это дело параллелизовать во время обучения (time-parallel mode, имеет аналогии со свертками если не полное сходство) и инферить реккурентно (отголосок ссм, которые тоже во время обучения параллелятся сверткой) + реализовали кстати куда кернелы для пущей эффективности

графики перформанса можете посмотреть в статье, вроде бы неплохо, но доля скепсиса у меня всегда остается (хоть я и не нашел как ее применить)

также есть интересные графики в аппендиксе, показывающие насколько значима информация из прошлого для разных слоев модели + есть хитмапа, которая демонстрирует интуитивно “продвижение хидден стейта по последовательности для генерации последнего токена” (в виде упоминания Эйфеля и генерации слова Париж)

👀LINK
4🔥2211
Hallucination-Free? Assessing the Reliability of Leading AI Legal Research Tools

сборная солянка, где можно покритиковать и академиков, которые писали статью, и компании, которые оные прожаривали

идея RAG моделей звучит очень живо, поскольку совмещает достоверные факты (из базы документов) с возможностью ллмок обернуть это все в связный текст. но может ли такая комбинация работать удовлетворительно и без косяков в доменах, где нужна чрезвычайная точность и достоверность высказываний? например, в судебном деле и около того

вот авторы и решили протестировать AI Legal Research Tools - сервисы для профессионалов (адвокатов, судей и всего такого), который поможет, по рекламным заявлениям, получать полную и достоверную информацию по любому проф запросу

но (удивительно) это не так. ух-ты ах-ты, оказывается датабаза из эмбеддинг векторов не может заменить 4 года обучения на юридическом и опыт адвокатской практики (так то это и не могут сделать продвинутые search engines, которые развивались 50 лет, но у нас нейронки гоу бррррр)

можете почитать заявления компаний о продукте, как ловко писать заявления об универсальной аи тулзе

ну а в целом результаты очень насыщенные и авторы интересно определяют недосказанность/неправильность/необоснованность ответа и от этого приходят к выводу о галлюцинировании РАГ моделек (банальный пример - идет вопрос про несуществующего судью, а модель отвечает что-то внятное с реальными ссылками на источники)

но есть доеб к авторам - непонятно недовольство по поводу того, что им не предоставили доступа нормально проевалить их же продукты - а компании и не обязаны такое делать, как мне кажется, даже после того, как вышли первые результаты статьи с явной критикой (потому возможно они и евалили не ту систему - Practical Law больше заявляет о себе как поисковой механизм нежели полноценный ассистент, который преподносит все на блюдечке)

👀LINK
🔥32111
Be like a Goldfish, Don't Memorize! Mitigating Memorization in Generative LLMs

помимо проблем с галлюцинированием, у ллм есть противоположная проблема в меморизации длинных последовательностей, что может быть критично в плане копирайта или приватности тренировочных данных (не говоря о том что тренили огромную ллм а получили функцию которая копирует строчки из датабазы, yikes)

авторы смогли добавить лосс, который не влияет на основные способности к генерализации модели (обучали с нуля и сравнивали на валидации) + помогает довольно эффективно справиться с проблемой запоминания ⇒ получился голдфиш лосс

в чем суть? давайте накладывать рандомную маску на последовательность, которая будет с вероятностью 1/k убирать токен из основного лосса (в сетапе естественного языка k = 3, 4 очень даже норм). убирать в том плане, что для этих токенов не будет считаться log-likelihood для предикта следующего токена, но они будут участвовать в лоссе для других токенов, чтобы не нарушалась структура последовательностей и языка. и это работает! просто и со вкусом, так еще и просто интуитивно обосновано, подкрепляя это все эмпирикой

так же есть усложнение с хешированием - мол, порой попадаются в трейне одни и те же последовательности, которые слегка отличаются посимвольно. для этого и резонно применять хеш для h предыдущих токенов, и в зависимости от этого маскировать (h+1)-ый токен (также есть интересные рассуждения по поводу подбора h - не слишком маленьким, чтобы не повредить запоминанию модели н-грамм, но и не слишком большим, чтобы совсем не потерялся замысел → подобрали h = 13)

к тому же меморизация пропадает даже во время адверсариал атак, во время которых есть доступ к трейн семплам или бим серч вариантам декодинга, что вообще нетривиально и мощно

по скейлу моделек - 1В и 7В, неидеально но вполне приемлемо. статья вообще очень классная и руки так и чешутся заимплементить такое самому

еще у статьи очень классный лор - хорошо вписывают другие темы в метафору goldfish loss: sharks in the water (adversarial attack), fish oil vs snake oil (empiricism vs theory) + есть код но там надо черту ногу сломать чтобы разобраться или как в пословице говорится

👀LINK
31111