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

PS рекламы в канале нет
Download Telegram
Редкая рубрика ‘сегодня нейросеть сказала’:
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
И еще небольшая статья – Large Language Models are not Fair Evaluators
https://arxiv.org/abs/2305.17926

Авторы тут нашли, что если попросить GPT4 / ChatGPT выбрать лучший ответ вслепую, и даже если написать в промте, что не нужно обращать внимание на порядок ответов, все равно у модели будет существенный баес тупо в зависимости от очередности вариантов.

GPT-4 очень предпочитает ответы, стоящие на первом месте, а ChatGPT – на втором. Например, при оценке GPT-4, когда сравнивали Vicuna 13B и ChatGPT, Vicuna выиграла в 66 случаях из 80, просто потому, что ее ответы шли первыми в промте. Что интересно, такого баеса не прослеживается, когда сравнивают модели одного размера – тут Vicuna и Alpaca

Чтобы с этим бороться, авторы предлагают (и показывают улучшения) две простые техники: 1) просить модель-эвалюатора генерить объяснения, почему какой-то ответ лучше, и присваивать ответам какие-нибудь скоры качества. 2) просто менять ответы местами и брать среднее по этим скорам
🔥11
Вдогонку к посту: очень хочу увидеть какие-нибудь работы по оценке объективности эвалюации GPT-4 других языковых моделей. Например, авторы The False Promise of Imitating Proprietary LLMs пишут про то, что оценки людей-разметчиков и GPT-4 были очень согласованы между собой, а потом в статье показывают, что разметчики не обращали внимание на фактологчность и просто предпочитали стиль ответа а-ля ChatGPT. Получается, GPT-4 тоже стиль скорее оценивала?

Авторы Less is More for Allignment аналогично сравнивали разметку людей и GPT-4 для своей модели LIMA – это LLaMA 65B, натюненная на 1000 хороших human-annotated ответах. На графике например видно, что свои собственные ответы GPT-4 оценивала гораздо выше, чем отмечали люди. Я собственно думаю, что «успех» LIMA на эвалюации был ровно в том, что она выучила стиль, который зашел и людям, и GPT-4, так как из 1000 примеров огромных скилов и знаний она не могла почерпнуть

Этот баес, кмк, нужно хорошо исследовать. На downstream задачах можно посчитать качество автоматически и получить какую-то более или менее объективную оценку. А диалоговую генерацию и всяких all-purpose assistants все чаще сравнивают через GPT-4, что, может быть, порождает совсем не достоверные результаты
👍121
^Было принятно решение апдейтнуть морально-устаревшую аватарку сделанную через GAN
👍45🔥6🤔3🤮3
Тем временем APA выпустила официальный гайд, как теперь правильно цитировать ChatGPT в научных публикациях

Очень понравилась их вставка про то, что по-хорошему это надо цитировать как личную переписку, но тут получается, что нет личности, которая вам отвечает

https://apastyle.apa.org/blog/how-to-cite-chatgpt
🤔17😁2👌2
И дальше про LLMs evaluating LLMs: на днях вышел пейпер, где авторы собрали 4550 заданий из 30 курсов Mathematics and Electrical Engineering and Computer Science (EECS) в MIT. Эти 30 курсов достаточно сдать, чтобы выпуститься, собственно, бакалавром

И вот они говорят, что ChatGPT решает 30% этих задач, а GPT-4 делает идеальный скор 100% (и получает диплом with honors)

Но есть нюанс : как же получали скоры того, насколько хорошо пройдены тесты? Особенно с учетом того, что в датасете большая часть вопросов были с открытым ответом или на программирование? Ответ прост – оценить решения GPT-4 попросили саму GPT-4. Human evaluation в статье нет

Еще GPT-4 «решала» задания в очень приятных условиях: при генерации ответов в промте использовали few-shot (давали 3 похожих вопроса из датасета вместе с решением – то есть при решении она видела человеческие ответы на ту же тему), chain-of-thought, self-crtique и expert prompting, применяя все эти методы поочередно, и без ограничения на число итераций

В Твиттере конечно не все долистали до эвалюации, потому там очередная волна «this is a game changer»
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡467👍2🤔2🥴1
я обучала одну модель
И дальше про LLMs evaluating LLMs: на днях вышел пейпер, где авторы собрали 4550 заданий из 30 курсов Mathematics and Electrical Engineering and Computer Science (EECS) в MIT. Эти 30 курсов достаточно сдать, чтобы выпуститься, собственно, бакалавром И вот…
А еще статья настолько не понравилась другим андерградам MIT, что они выпустили отдельный подробный разбор датасета:
https://flower-nutria-41d.notion.site/No-GPT4-can-t-ace-MIT-b27e6796ab5a48368127a98216c76864

Что они там нашли:
- Нерешаемые задания, для ответа на которые нужно было увидеть картинки / графики / предшествующую задачу, которые не были доступны GPT-4
- Повторения заданий, при чем есть полные повторения вопросов, так и просто очень похожие формулировки. Напомню, что авторы вставляли 3 похожих вопроса и ответы на них в промт модели, по сути обеспечивая data leak
- Просто коряво сделенные промты, где место вопроса занимал system prompt и наоборот
🔥17🤬3😁1
Свежие сплетни из Твиттера про архитектуру GPT-4 👀

George Hotz на подкасте Latent Space вбросил, что GPT-4 – это Mixture of Experts, в котором 8 экспертов по 220B параметров (то есть 1.76T в совокупности). Каждый эксперт учился на своей выборке данных и заданий

Еще сказано что-то про «16 inferences» – пока нет единого мнения, что это значит конкретно. Что получают по два ответа откаждого эксперта, может быть? Это и есть some little trick?

Пока пара человек подтвердила, что слышала такие же слухи, так что might be true
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥175
This media is not supported in your browser
VIEW IN TELEGRAM
Статья с демо, полным мемного потенциала – MotionGPT: Finetuned LLMs are General-Purpose Motion Generators

https://qiqiapink.github.io/MotionGPT/

Суть идеи: у нас есть 3D-модель человечка, которая совершает какие-то движения. Каждое движение мы можем прогнать через VAE-энкодер (предобученный) и получить какой-то токен, который будет означать текущую позу. Что-то типа ‘токен 259’ = ‘человек сидит с поднятыми руками и повернув голову’

Дальше мы берем языковую модель (тут LLaMA), подаем токен исходной позы и просим сгенерировать следующие motion tokens согласно описанию. Например, описание может быть ‘человечек скрючившись идет а потом прыгает’. Поскольку в датасете был ground truth (реальные последовательности движений, соответствующие описанию), то лосс просто кросс-энтропийный, ничего необычного. Тюнили кстати через LoRa всего 0.4% параметров

Дальше сгенерированные motion tokens разворачиваются обратно в позы через тот же VAE. Единственное заметное ограничение тут – поскольку все позы дискретные, то есть каждый токен означает какое-то конкретное движение из датасета, сложно как-то генерализоваться и совершать действия, которых в тренировочных данных не было
👍11🔥21🤔1