я обучала одну модель
4.59K subscribers
457 photos
29 videos
21 files
379 links
Shitposting on various subjects

PS рекламы в канале нет
Download Telegram
Давайте уже сразу выводы в название папир запихивать ну а че
🤩10👍3👎1🥴1
Scaling Transformer to 1M tokens and beyond with
RMT

https://arxiv.org/pdf/2304.11062.pdf

Крутой резерч да еще и от DeepPavlov!
Статья Recurrent Memory Transformer вышла год назад, но завирусился сейчас именно этот технический репорт, где авторы применяют механизм конкретно к BERT

Схема может быть не очень понятная, но суть достаточно простая: длинный текст разбивают на отрывки, к началу первого отрывка добавляют обучаемый memory-вектор, он обрабатывается как часть входной последовательности. После форвард-пасса в этом векторе обновляется информация, его подают в начало следующего сегмента, и так реккурентно идут, пока не кончится исходный длинный текст. Во время тренировки, как синей линией показано, эти вектора обучаются через обычный бэкпроп

Проверяли способности модели на нескольких типах заданий: 1) в начале подается факт, который нужен для ответа на вопрос, а потом много нерелевантной информации 2) нужный факт замешан где-то в тексте и его нужно найти 3) нужно найти несколько фактов и исходя из них ответить на вопрос

При тренировке на 7 больших отрывках у модели получается accuracy в районе 100%. Авторы даже показывают, что размер текста можно до 2М токенов увеличить без существенной потери качества

Ограничений тут несколько:
- На инференсе вам все равно нужно прогнать через модель весь огромный текст в 1-2М токенов, а это долго, и ретривал пока для этого лучше работает
- В задачах, которые приводятся в статье, модели нужно вычленить один или несколько фактов, а не запомнить весь контекст. С этим относительно небольшой тренируемый вектор справляется, но нет уверенности, что этот подход сработает, если нужно запомнить сильно больше деталей

P.S. Шмидхубер опять был прав, когда сказал, что чем больше что-то похоже на RNN, тем лучше
🔥22👍5👌1
Нашла крутую тулу, где можно посравнивать вышедшие за последние время модели 🌟

С учетом того, сколько новых моделей выходит каждую неделю, очень сложно становится понять, что из этого вообще работает хорошо и для каких задач. Тут можно попарно сравнивать LLM: вы пишете что-то в чат, вам отвечают две рандомные модели, вы в слепую оцениваете результаты, и вам раскрывают, где какая. Сейчас поддерживаются пожалуй самые нашумевшие недавние релизы: Vicuna, OpenAssistant, LLaMA, Alpaca, StableLM и не только

https://chat.lmsys.org/?arena
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍7🔥5
Another day another model, на этот раз от Mosaic

Почему может быть интересно:
- Выпустили модель MPT-7B-StoryWriter-65k+, с контекстным окном 65k токенов для написания длинных историй (учили на книжках). Кажется самый большой контекст, который есть в опенсорсе сейчас
- Выпустили MPT-7B-Instruct, которая следуюет инструкциям и отвечает в краткой форме. Учили на датасетах Dolly и HH-RLHF от Anthropic
- Last but not least выпустили MPT-7B-Chat, который учили на ShareGPT-Vicuna (это пошернные переписки пользователей с ChatGPT), Alpaca и снова HH-RLHF

Еще из приятного:
- Foundation model MPT-7B (от которой тюнили все остальное) учили на 1T токенов, как и LLaMA
- У всего этого снова божеская лицензия, позволяющая коммерческое использование
- Выложили код для тренировки с FlashAttention
- Поддерживают сервинг из коробки через FasterTransformer (вау!)

hf: https://huggingface.co/mosaicml/mpt-7b
демо для чата: https://huggingface.co/spaces/mosaicml/mpt-7b-chat
👍17🔥3
Статья с завораживающим названием Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes
https://arxiv.org/abs/2305.02301

В качестве затравки авторы утверждают: 🌸«our 770M T5 model outperforms the 540B PaLM model using only 80% of available data on a benchmark task» 🌸

Что по факту они предлагают делать:
1. Взять действительно большую LLM (они используют PaLM)
2. Попросить ее нагенарить для нужного датасета ответы + объяснение, почему именно такой ответ выбран (rationale). Под ответами в статье в основном имеются в виду конкретно ответы на вопросы, выбрать что-то из multiple choice, задачки на логику и тд. Промт делают достаточно простой, просто во few-shot запихивают пару примеров ответов
3. Обучить на этих данных модель поменьше. Модель-ученика тренируют предсказывать и ответ, и объясение (через спецтокены label и rationale соответственно). Лосс на них считают по отдельности и складывают
4. ???
5. PROFIT

Имхо авторы занимаются здесь хайпожорством, так как дистилляцией такой подход сложно назвать. Вроде еще год назад, что ChatGPT, все поняли, что качество моделей сильно возрастает, если попросить их мыслить step by step и объяснять свой путь принятия решения. Я видела пару работ и про классификаторы, где использовалась ровно такая же логика: модель отдельно просили выдавать лейбл и отдельно объяснение; объяснение далее не использовалось, но сама необходимость его генерации очень бустило качество

В статье показано только то, что огромные LLM очень хорошо генерят эти rationale и на этом можно неплохо обучаться, а не пытаться от маленькой модели такой reasoning без дообучения просить

Неожиданно пожалуй, насколько крутой рост по метриках на бенчмарках это даает и насколько меньше данных оказывается нужно. Так что годный proof of concept получается, но с очень уж претенциозным названием
22
впервые на моей памяти хаггингфейс лежит больше получаса 🏥
Please open Telegram to view this post
VIEW IN TELEGRAM
😱36
Language models can explain neurons in language models 🤔

Очень крутая и очень интерактивная статья про explainable ai. Советую всем открыть и потыкать:
https://openaipublic.blob.core.windows.net/neuron-explainer/paper/index.html

В чем идея:
1. Берем исследуюемую модель и какой-то фиксированный датасет. Собираем инфу о том, какие нейроны как сильно активируются на каждом токене. Далее по этой информации просим GPT-4 для каждого нейрона предположить, за что он отвечает
2. Далее симулирем поведение этого нейрона, исходя из его предполагаемого назначения. Передаем в ту же GPT-4 описание, что этот нейрон якобы делает, кусок текста, и просим предсказать, какой силы активация должна у этого нейрона быть на последнем токене последовательности
3. Прогоняем этот текст через исследуемую модель и смотрим, какие активации у каких нейронов реально получились. Считаем скор, насколько предположение GPT-4 оказалось точным

Авторы исследовали GPT-2 XL и в целом для большей части нейронов ни GPT-4, ни человеческим разметчикам не удалось точно предполжить, что они делают. Но нашлись 1000+ нейронов, для которых удалось предсказать объяснение с точностью 0.8+. Еще авторы находят, что часто нейроны полисемантичны, и гораздо большую точность можно получить, если брать линейные комбинации от наиболее «ярких» нейронов

Как я уже написала, самая крутая чать работы – интерактивная
- Есть сниппет текста, где для каждого слова можно посмотреть, какие нейроны на него реагируют, какое им дано объяснение и к какому семантическому кластеру они относятся
– И есть neuron viewer, где для каждого нейрона GPT-2 можно посмотреть его объяснение и все токены в датасете, на которые он реагирует. Можно предложить и свое объяснение его поведения, так что мб так и накраудсорсится 🥳

Там же перечислен набор нейронов, которые кажется были хорошо объяснены. Например, авторы нашли отдельный нейрон для Канады, нейрон для улыбок и даже абстрактные нейроны про «doing things right» и «certainty»
Please open Telegram to view this post
VIEW IN TELEGRAM
👍227
Редкая рубрика ‘сегодня нейросеть сказала’:
24😁11👏3
It’s that time of the day again
👍16
Возвращаюсь после небольшого перерыва и сразу с овервью еще одной модели Falcon LLM

- Основная модель размером 40B, тренировалась на 1T токенов (это все еще меньше, чем 1.4T у LLAMA). Есть версия и на 7B
- Инференс ускоряли через Flash-Attention и Multi-query Attention, так что модель получилась в 5 раз быстрее GPT-3
- На данный момент эта архитектура занимает первые два места в OpenLLM Leaderboard от Huggingface и наконец-то подвинула LLaMA 65B. Также она обходит StableLM, RedPajama и MPT от Mosaic. Но вообще надо признать, что в топ-10 лидерборда все еще много моделей по 30B, и есть даже одна 13B (вот она)
- Выпущена под лицензией Apache 2.0, и вчера авторы заявили, что больше не будут требовать роялтис за коммерческое использование
- Секрет, как утверждается, снова в кристалльно чистых данных, скауленных с интернета. Но датасет и папиру пока не релизнули(

https://huggingface.co/tiiuae/falcon-40b-instruct
👍12
In all seriousness, вижн про выглядят круто, особенно в плане наложения приложений на окружающий мир. С одной стороны, из этого можно сделать крутой функционал, мне лично зашла идея не покупать мониторы к компу, а просто крутить вокруг него головой))) Еще сошлись во мнении с подругой, что так гораздо круче смотреть кино, чем просто на экране впереди себя, так как можно имитировать кинозал
С другой стороны, я думаю реально использование очень быстро приблизится к тому, что описано на картинке, и это убьет и так короткий attention-span зумеров (и не только) просто в ноль. Сейчас нужно все же как-то извернуться, чтобы открыть кучу интерактивных приложений параллельно (сериал параллельно с зумом, хз), а там это будет нативно, плюс, вообще не надо будет находиться у компа (но пока рядом с кабелем). Меня вообще поразил какое-то время назад феномен тиктоков, где сбоку от видео проигрывается еще несколько, часто реально летсплей сабвей серферс, чтобы людям было не скучно смотреть 60-секундный рассказ о чем-то. И думаю it’s just the beginning

Интересно кстати, когда получится избавиться от кабеля, насколько войдет в социальную норму ходить с этими штуками просто по улице? ходить так на свидания?
26😁2
Back to papers – Direct Preference Optimization: Your Language Model is Secretly a Reward Model
https://arxiv.org/abs/2305.18290

На канале было уже несколько статей о том, как можно скрестить RL и LLM, не используя при этом PPO (например, Chain of Hindsight). PPO всем хочется обойти, так как это а) сложно и нестабильно обучается б) дорого по компьюту. Тут авторы говорят: для RLHF мы собираем данные о предпочтениях юзеров (i.e. отранжированные ими ответы модели), дальше на этом учим reward модель, дальше с помощью нее через PPO обучается LLM. Но мы же хотим научиться не моделировать распределение reward’а, а непосредственно предпочтения юзеров. Почему бы нам не оптимизироваться под сами данные, а не под отдельную промежуточную модель?

Дальше они переформулируют задачу так, что она становится очень похожа на обычное contrastive обучение. У нас есть промпт x и два варианта продолжения – хороший ypref и плохой ydispref. В лосс-функции (на скриншоте), соответственно, мы будем пытаться уменьшать вероятность ydispref и повышать вероятность ypref. Также мы можем посчитать probability of completion и понять, насколько модель ошибается (то есть, насколько она предпочитает плохой ответ хорошему) – p(ydispref) - p(ypref), и заодно домножить ее на гиперпараметр β. Интутивно это означает, что лосс будет больше, когда модель оказывается сильно неправа, и мы будем «дальше» разводить likelihood для этих примеров. Этот элемент лосса также служит вместо KL-дивергенции, которая есть в обычном RLHF, то есть позволяет не отойти слишком далеко от изначальной модели и не скатиться в дегенерацию (в экспериментах авторы показывают, что без этого модель правда расходится)

Касательно результатов, этот метод довольно уверенно обходит PPO и даже SFT (на «хороших» ответах) в задачах суммаризации и на диалоговом датасете Anthropic HH (helpfulness and harmlessness). Интересно было бы посмотреть кстати, насколько дешевле и быстрее их обучение обошлось

Вообще статья безумно математическая, там куча доказательств, и авторы например формально выводят, что objective в RLHF и в их лоссе один и тот же, и собственно формально выводят лосс-функцию. Надеюсь кто-то умный это тоже разберет…
Также вынуждена признать, что Приближаем Сингулярность написал первым про статью, так что чекайте его пост тоже!
👍10
я обучала одну модель
Возвращаюсь после небольшого перерыва и сразу с овервью еще одной модели Falcon LLM - Основная модель размером 40B, тренировалась на 1T токенов (это все еще меньше, чем 1.4T у LLAMA). Есть версия и на 7B - Инференс ускоряли через Flash-Attention и Multi-query…
Забыла написать про пост от HF про Falcon – The Falcon has landed in the Hugging Face ecosystem
https://huggingface.co/blog/falcon

Найти в нем можно много интересного:
1. Оказывается, >80% датасета для Falcon составляет RefinedWeb (почищенные накрауленные данные из интернета). Успех модели на лидербордах авторы приписывают очень хорошему пофильтрованному датасету, поэтому я ждала, что они как-то хитро проверяли источники и стиль текстов, классифицировали их по куче параметров и так далее. На деле фильтрация там очень минималистичная – жестко вычищали дубликаты, спам, ссылки, бойлерплейт (типа html-вставок) и просто рандом. Но семантический анализ текста там целенаправленно не делали, что для меня довольно удивительно. Guanaco от OpenAssisant например вычищали через валидацию кучи разметчиков. Кстати кусок на 600B токенов из RefinedWeb авторы выложили на HF

2. Еще из приятного HF там рассказывает про свой Text Generation Inference server – контейнер, соптимизированный для сервинга больших моделей (на нем же сервится их HuggingChat). Поддерживает сейчас LLaMA, FLAN-t5, Falcon и в теории все, что можно запихнуть в AutoModelForSeq2SeqLM

3. Выложили код, как потюнить Falcon 7B с использованием QLoRa, в том числе как запихнуть это обучение в колаб
🔥53
Хотела написать еще про пару очень актуальных ablation studies – The False Promise of Imitating Proprietary LLMs
https://arxiv.org/abs/2305.15717

Сейчас вышло довольно много работ, где предлагается натюнить модель поменьше на ответах модели побольше, тем самым забустив качество и даже обогнав модель-учителя на отдельных заданиях (Distilling Step-by-Step, например). Датасеты типа ShareGPT и GPT4all также выкладываются, чтобы можно было научиться имитировать ChatGPT. Но насколько такое обучение может реально вытянуть качество модели, гораздо меньшей по размеру?

Тут в статье авторы собрали broad-coverage датасет из ShareGPT, HC3 и r/ChatGPT, а также task-specific QA датасет (взяли вопросы и просили ChatGPT ответить). Дальше обучали на этом модели и варьировали число параметров (GPT-2 1.5B, LLaMA 7B и 13B) и число токенов в обучающем датасете (0.3M–150M tokens)

Что обнаружили: в pairwise сравнении ChatGPT и LLaMA 13B, натренированной таким способом, 40% ответов LLaMA были сочтены одинаково хорошими или лучше ChatGPT, по мнению и людей-разметчиков, и GPT-4. Но дальше провели автоматическое сравнение на задачах MMLU, HumanEval и Natural Questions (результаты на скриншоте). Там оказалось, что обученная на imitation data модель оказалась хуже, чем изначальная. На Natural Question даже видно, что чем больше на таких данные обучали, тем хуже модель ставновилась. Это при том, что в датасете была даже часть конкретно с QA-задачками

И напротив, скейлить размер модели, при прочих равных, приближало метрики к уровню ChatGPT на этих бенчмарках

Какие выводы из всего этого делают авторы: 1) скорее всего, получить перфоманс огромной модели, обучившись на датасете в тысячу примеров, не получится. Да, хорошие данные это очень важно, но capabilities gap остается и его не преодолеть без увеличения числа параметров. 2) при обучении на imitation data модели учатся повторять стиль ответа ChatGPT, но не приобретают ее скилы (например, не приобретают фактологичность, скорее даже наоборот). Поэтому ответы таких моделей нравятся разметчикам, так как не всегда им хватает экспертизы и времени на фактчекинг.

Если в целом ваша задача выучить определенную стилистику ответов, это может быть даже не плохо. Например, авторы показывают, что само обучение на генерациях ChatGPT снижает токсичность модели
🔥5👍3😁1😢1