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

PS рекламы в канале нет
Download Telegram
Наверняка вам попадались выдержки из недавнего интервью Джона Шульмана (кофаундера OpenAI) на Dwarkesh Podcast. Вернее даже одна конкретная выдержка, где Джон говорит, что его работу искусственный интеллект заменит через 5 лет

Я решила целиком посмотреть интервью, так как Джон достаточно интересный чел: он первый автор в статье про PPO, лидит команду, которая файнтюнит модели в OAI, а после недавних событий еще и видимо alignment на нем. Так что вот список каких-то интересных его тейков:
- Его главный фокус сейчас на том, чтобы научить модели выполнять длинные и сложные задачи, а не решать мелкие таски за один шаг. Например, хочется чтобы модель не просто подсказала тебе код для конкретной функции, а могла по промпту сделать целый репозиторий. С тем, чтобы обучать модели на таких “длинных” задачах много проблем, но одновременно с этим Джон считает это low-hanging fruit. Решать это он предлагает с помощью RL, видимо как-то адаптировав и улучшив текущие методы тренировки
- Fun fact №1: у gpt-3.5 изначально планировался web browsing, но потом оказалось, что своих знаний у модели достаточно для QA, и особого смысла в этом не оказалось
- Fun fact №2: изначально gpt-3.5 вообще не различала, что она может или не может делать (например, она могла сказать, что успешно отправила кому-то письмо или заказала что-то в магазине). Чтобы это пофиксить оказалось достаточно около 30 примеров в датасете для файнтюна!
- Для обучения ChatGPT данные делились на инструкции и чат. При чем, прототипы модели, которые обучались на чат-данных, оказывались более просты в использовании (лучше понимали, что от них хочет пользователь), выдавали более осмысленные ответы и лучше отдавали себе отчет, что они могут и что не могут выполнить. Объяснение этому Джон видит в том, что в формате инструкций задача “complete this text, but in a nice or helpful way” довольно мутная и непонятная, как для разметчиков, которые готовят данные, так потом и для модели. А качественные чат-данные людям было проще собирать и размечать, так как было понятнее, как именно модель должна ответить. Видимо за счет этого был скачок InstructGPT -> ChatGPT
- Интересная интуиция откуда у больших моделей emergent capabilities: можно представить, что когда у нас столько параметров, модель в латентном пространстве развивает много линий размышления параллельно, и повышается шанс, что какая-то из них будет верной (примерно как происходит в MoE)
- Также довольно необычный комментарий касательно Model Spec (это недавний вайтпейпер о том, какое поведение OAI считает желательным и нежелательным) – Джон сказал, что модели должны быть продолжением воли человека и делать, что от них просят, и что OAI не хочет тут занимать патерналистскую позицию и насаждать свои моральные представления. Снова заставляет задуматься о каком-то проигрыше фракции сейфитистов, так как я не могу представить такой ответ от OAI еще пару лет назад….
- Интересное было объяснение тому, почему модель часто выплевывает очень водянистую и обширную статью в ответ на какой-то вопрос: она тренировалась на одном ответе за раз (а не на всей истории диалога), поэтому она пытается уместить всю информацию в одно сообщение, а не ждет от вас каких-то уточняющих вопросов
- Наконец про следующие шаги в разработке моделей Джон отметил проактивность: в идеале пользователь не будет обращаться к модели как к поисковику с какими-то изолированными запросами. Модель скорее должна быть как helpful colleague, который сам тебе может предложить какие-то решения, напомнить о чем-то, и так далее
🔥31👍62🤔2🤡2
У Anthropic вышла очень большая статья про interpretability – они нашли в своей модели Claude Sonnet множество хорошо и четко интерпретируемых фич, отражающих определенные концепты. Многие из них оказались мультилингвальными и даже мультимодальными

В отличие от некоторых предыдущих работ в этой области (например, вот этой от OAI), интерпретировали они не нейроны по-отдельности, а активации. Это важно, потому что логично предположить, что за большинство концептов в LLM отвечают не конкретные нейроны, а какая-то их комбинация. И что скорее всего эта комбинация может быть также размазана между слоями (в limitations к статье отдельно обсуждается cross-layer superposition, кому интересно)

Как конкретно с технической точки зрения находили фичи?
- Активации замеряли в residual stream на каком-то среднем слое сети (каком конкретно не говорят, так как модель проприетарная). Для тех, кто забыл, что такое residual stream (я тоже забыла, не переживайте) – он проходит через все слои трансформера, от входных эмбеддингов до самого последнего линейного слоя. Каждый трансформер-блок (attention-head + MLP) “читает” информацию из него, а результаты его работы плюсуются к этому residual stream, и он итеративно обновляется после после каждого блока. Так что получается, что он “собирает” в себя информацию за последние сколько-то блоков, и логично предположить, что где-то посередине модели он будет в себе содержать какие-то абстрактные идеи и понятия. Попродробнее про residual stream и интуицию за ним можно почитать тут

- Фичи находили с помощью sparse autoencoders. Энкодеру на вход поступает как раз residual stream, который он разворачивает в слой большей размерности. Внутри этого латентного пространства как раз и будут находиться интерпретируемые фичи! Раньше у Anthropic выходила статья, где они это обнаруживали на маленькой игрушечной модели. Помимо того, что декодер учили реконструировать потом по этом фичам активации обратно, еще накидывалась регуляризация, чтобы его веса были в основном sparse (по сути это означает, что каждую активацию, которую мы подаем на вход, мы можем разложить на небольшое количество латентных фич, а остальные занулятся)
После тренировки такой энкодер представляет активации как линейную комбинацию латентных фич, где веса декодера “умножаются” на силу активации

– О данных для обучения SAE особо не говорится в статье, но извлекали фичи из семпла на 10M токенов из The Pile и Common Crawl. В статье пробуются автоэнкодеры трех размеров – 1M, 4M и 34M. В 34M варианте 65% фичей оказались мертыми – они не активировались ни разу на всей выборке

– Чтобы среди всех фичей найти хорошо интерпретируемые, авторы использовали Claude Opus: ему показывали примерно 1000 примеров, где активировалась какая-то фича, с указанием токенов, на которые она реагировала. Opus должен был выдать оценку, есть ли какая-то связь между текстами, или фича не особенно специфичная / не понятно, что именно она отражает. Насколько я понимаю, интерпретацию этих фичей авторы присваивали сами вручную

1/3
👍20🔥2👌21🤩1😍1
Наверное самой известной фичой из этой статьи стала фича моста Золотые Ворота в Сан-Франциско. Как видно из картинки, эта фича детектит описания этого моста, при чем на куче языков и даже на картинках. А при низких значениях активации (= при более низкой специфичности) она в целом детектирует мосты или туристические достопримечательности

На этом же можно посмотреть, как с помощью фичей можно контролировать поведение модели. Во время форвард пасса модели мы можем заменить residual stream c определенного этапа на реконструкцию SAE, где мы “выкрутим” активацию нужной нам фичи на определенное значение (по сути просто умножим на какой-то фактор). Следать так нужно будет во всех последующих слоях и для каждого токена

Так вот, если выкрутить фичу Золотых Ворот в 10 раз, то Claude начнет считать себя мостом Золотые Ворота и сведет любой ваш вопрос к этому мосту. Anthropic даже дали возможность пообщаться с Golden Gate Claude, но сейчас видимо убрали эту модель 😭

Еще некоторые фичи, которые мне понравились:
– Фича, которая перечисляет все районы Лондона
– Несколько фич, которые по сути могут делать хайлайт кода
– Фичи, которые считают элементы в списках
– Фичи, которые находят небезопасный код, например, бэкдоры, и при этом также активируются на картинки со скрытыми камерами, потайными микрофонами, отмычками или всякий прочий spyware

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

2/3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6🤯1
Хочется еще упомянуть несколько важных свойств автоэнкодеров, которые авторы обнаружили в статье

– У фичей есть своя геометрическая структура, где похожия фичи оказываются близки к друг другу (что ожидаемо). Например, Золотые Ворота близки ко всем остальным достопримечательностям СФ, а отдаленно они связаны с другими популярными местами, типа статуи Иисуса в Рио-де-Жанейро
– Одинаковые фичи оказываются близки в автоэнкодерах всех размеров. Различие между ними в том, что в больших экодерах происходит feature splitting – если в маленькой модели мы найдем какое-то общее понятие, то в больших модель оно разобъется на что-то более конкретное. Вот тут есть интерактивный UMAP
– Нашелся также и scaling law:
Если концепт появляется один раз на миллиард токенов, то нам нужно пропорционально миллиарду активных фич в SAE, чтобы найти ту, которая бы уникально описывала этот концепт
– Для 82% фичей не нашлось сильно скоррелированных нейронов
– Хотя SAE тренировались только на тексте, они оказались способны реагировать и на картинки!
– Фичи отвечают как за абстрактные, так и за конкретные концепты. Например, одна и та же фича активируется на общие рассуждение о безопасности кода, и на конкретные примеры такого кода
– Если модели нужны промежуточные размышления, то активируются фичи, которые отвечают за “пропущенный концепт”. На конкретном примере: если модели нужно ответить на вопрос “Кто был главным соперником команды, в которой играл Коби Брайант”, то больше всего на финальный ответ “Boston Celtics” будут влиять фичи “Коби Брайант” -> его команда “Los Angeles Lakers” (пропущенный концепт) -> фича, отвечающая за спортивные противостояния. Я обожаю, когда в статьях такое находят! По-моему это отличная ответчочка на мнение, что LLM это стохастические попугаи и не понимают, что они генерируют

Спасибо, что дочитали этот лонгрид! Мне очень понравилась статья, и если вас тоже заинтриговала тема mechanistic interpretability, авторы предалагют вот этот гайд: https://neelnanda.io/mechanistic-interpretability/getting-started
👍349🔥6
The Platonic Representation Hypothesis
https://arxiv.org/abs/2405.07987

Знал ли Платон, что однажды его процитируют в ML-папире? 🤔 Маловероятно, но гипотеза авторов статьи как будто имеет довольно очевидные корни: они утверждают, что нейросети с разными архитектурами, натренированные на разных данных и на разные задачи, сходятся к одному общему представлению реальности (то есть видят хотя бы одну и ту же тень на стене платоновской пещеры)

Чтобы как-то количественно измерить representational alignment, они предлагают довольно простой метод – взять feature vectors, измерить расстояния между комбинациями разных точек, посмотреть насколько близки оказываются эти расстояния среди разных моделей (если конкретно, то берут kNN вокруг точки и смотрят, какое будет пересечение этих множеств у моделей)

Результаты из этого получаются следующие:
1. Модели, которые лучше всего решают Visual Task Adaptation Benchmark, оказываются достаточно сильно заалайнены друг с другом -> алаймент повышается с увеличением способностей моделей

2. Репрезенатции сходятся в нескольких модальностях сразу: чтобы это проверить, брали Wikipedia caption
dataset. Репрезентации языковых моделей использовали, чтобы считать расстояния между описаниями пар картинок, а визуальные модели – между самими изображениями. На графике видно, что взимосвязь между перфомансом языковых моделей и их алайнментом с визуальными моделями линейная

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

3. Языковые модели, которые хорошо заалайнены с визуальными, оказались и лучше на downstream задачах, типа Hellaswag (задания на здравый смысл) и GSM8K (математика)

Почему такой алайнмент происходит? Основное объяснение авторов – constrained optimization. Можно считать, что каждое новое наблюдение и новая задача накладывают ограничения на наш набор весов. Если мы наращиваем объем задач, то остается только небольшое подмножество репрезентаций, которое бы позволило модели решать все эти задачи на достаточно хорошем уровне. Плюс, благодаря регуляризации у нас всегда есть simplicity bias, который ограничивает наше пространство решений еще больше. Теоретический клейм тут как раз в том, что такое оптимальное подмножество в результате должно отражать underlying reality

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

Очень интересные мысли есть и в дискашене. Например, что делать с информацией, которая существует только в одной модальности (how could an image convey a concept like “I believe in the freedom of speech”)?
👍40🤯82🔥1🐳1
я обучала одну модель
The Platonic Representation Hypothesis https://arxiv.org/abs/2405.07987 Знал ли Платон, что однажды его процитируют в ML-папире? 🤔 Маловероятно, но гипотеза авторов статьи как будто имеет довольно очевидные корни: они утверждают, что нейросети с разными…
Вдогонку к этой статье хотела прикрепить твит jack morris (очень люблю его аккаунт). Он говорит, что очень много чего понял про дип лернинг из статьи Pretraining Without Attention: авторы потратили кучу времени, чтобы построить архитектуру, не похожую на Трансформер (state space model + sequence routing), перепробовали кучу разных конфигураций, чтобы в итоге выяснить, что при равном количестве параметров они примерно с Трансформерами сравнялись

Из этого он постулирует, что при достаточном количестве параметров и когда things are reasonably well-conditioned (достаточно нелинейности и скип-коннекшенов), то архитектура на самом деле не имеет никакого значения

Если же верна предпосылка The Platonic Representation Hypothesis, и все модели независимо от архитектуры сходятся к одной какой-то репрезентации реальности, то кажется что “качество” такой репрезентации зависит от FLOPs, и не особо от чего-то еще. Если это и есть верхний порог того, насколько хорошо мы можем аппроксимировать (например, если лосс LLaMA 3 все же однажды перестанет падать после 15-ого триллиона токенов), то стоит ли нам задуматься, аппроксимируем ли мы нужную функцию?

В конце The Platonic Representation Hypothesis авторы отмечают, что для специализированного ИИ может быть не оптимально моделировать реальность вслед за человеком, если он может найти какой-то shortcut или какие-то эффективные репрезентации, оторванные от реальности (такой, какой ее себе представляем мы), чтобы решать свои задачи. Нужно ли будет ASI тоже научиться моделировать реальность совсем не так, как мы, и выучить для этого какую-то совсем другую функцию? 🚬
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32🤯41👍1
Forwarded from AbstractDL
Confidence Neurons: у каждой LLM есть нейрон, который регулирует «температуру» генерации

Авторы этой работы нашли несколько конкретных нейронов, которые вообще ничего не делают, кроме как меняют энтропию распределения логитов. При этом на предсказание следующего токена они не оказывают никакого влияния, т.к. работают исключительно в null space финальной LM головы.

Грубо говоря, активируя эти нейроны, языковая модель «регулирует» температуру своих предсказаний через LayerNorm. А если эти нейроны специально отключить, то LLM будет всегда на 100% уверена в своих ответах.

Статья
🔥26👍6🤔6😱2🥴21👌1
Посмотрела выступление Jason Wei и Hyung Won Chung (оба из OpenAI) в Стенфорде, записанное пару месяцев назад. Первая часть от Jason Wei несет в себе довольно очевидный посыл – компьют решает все и с достаточным компьютом вы можете дождаться того момента, когда у модели появятся emergent capabilities. Hyung Won Chung продолжает эту тему, но немного с другой стороны

Он говорит: да, дешевый компьют – главный тренд, который определяет развитие ресерча, но не единственный. Как только мы начинаем заниматься каким-нибудь ML, мы сразу решаем научить модель думать в соответствии в тем, как нам кажется устроены механизмы нашего собственного мышления (teach model how we think we think). При этом то, как мы сами думаем, мы тоже не до конца понимаем

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

Вот в таком сеттинге наложение на модель каких-то ограничений и уменьшение степеней свободы стреляет нам в ногу и становится боттлнеком. Поэтому, по мнению Hyung’а, тренд в AI – это разработка все более общих методов с все более слабыми modelling assumption. При современном дешевом компьюте, мы можем дождаться, когда такая “бесструктурная” модель сама распознает какие-то паттерны в данных, а не будет полагаться на какие-то вспомогательные эвристики, наложенные ресерчерами

Как пример Hyung рассматривает эволюцию от Трансформера к современной decoder-only архитектуре, где последняя является “упрощенной” формой исходной версии: attention block берет на себя и функции self-attention, и cross-attention; для обработки входной и выходной последовательности мы используем один набор параметров, а не отдельно энкодер и декодер; attention теперь не bidirectional, а unidirectional

Интересную мысль он еще говорит в Q&A части: он тоже повторяет мнение, что архитектура не так уж и важна, а вот настоящий боттлнек – это learning objectives. Например, в том, что в обучающих датасетах у нас есть всего один “эталонный” ответ, даже когда вопрос поставлен так широко, что можно ответить кучей разных способов. Отчасти это решается переходом от maximum likelihood estimation к RLHF и всякому RL в целом

Еще он говорит, что ресерч комьюнити тебя поощряет, когда ты что-то добавляешь к модели, а не убираешь. Но тут кажется с ним можно не согласиться, так как есть уже целый жанр папир “убираем из трансформера все” (или делаем линейным, или сильно урезаем):
- Your Transformer is Secretly Linear
- Убираем poistional encoding: The Impact of Positional Encoding on Length Generalization in Transformers
- Убираем аттеншн: Pretraining Without Attention, Mamba: Linear-Time Sequence Modeling with Selective State Spaces и прочие RWKV
- Убираем большую часть KV cache, MLKV: Multi-Layer Key-Value Heads for Memory Efficient Transformer Decoding
👍25🔥10
babe wake up leetcode for ML just dropped

https://www.deep-ml.com/

(жду когда добавят побольше задачек 😎)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥58🤯3🤡1
наконец-то полезная теоретико-игровая модель!

https://arxiv.org/abs/2404.00732
26😁22🔥3😍3
Коллеги а у меня для вас есть 👁👁👁👁👁 про авторский ИИ

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

Например, мои любимые NLP-каналы Татьяны Шавриной и Влада Лялина, владельцы которых двигают вперед ресерч, помимо того, что делают еще и мега-полезный контент. Или же в папке есть канал Нади Зуевой Пресидский Залив, где она рассказывает о том, как сейчас развивает свой fashion tech стартап Aesty, а до это она лидила рашифровку голосовых в ВК! (низкий поклон за эту фичу)

Помимо этого, из папки я сама узнала пару каналов, которые бы наверное без нее не нашла. Мне очень приглянулся fmin.xyz – во-первых, его ведет преподаватель Физтеха, во-вторых, это канал про классический ML и математику, а не про сто сортов промпт-инжиниринга, что редкость в наше время. Здрово, что кто-то доступно объясняет, how things really work, от PCA до градиентов, и очень часто с отличными визуализациями! А мне лично больше всего зашел вот этот пост про матрицы и Зельду

Не забываем совершить тык сюда 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍158🤡6🔥1
в свете новостей
😁34🤡3👌2😢1