ch
Feedback
я обучала одну модель

я обучала одну модель

前往频道在 Telegram

Shitposting on various subjects PS рекламы в канале нет

显示更多
4 529
订阅者
无数据24 小时
-57
-2930
帖子存档
Training Large Language Models to Reason in a Continuous Latent Space https://arxiv.org/abs/2412.06769 Очень понравилась неда
Training Large Language Models to Reason in a Continuous Latent Space https://arxiv.org/abs/2412.06769 Очень понравилась недавняя статья от Meta с, как это обычно и бывает, простой и гениальной задумкой – давайте заменим шаги в CoT на какие-нибудь тренируемые репрезентации и посмотрим, эффективнее ли это оказывается для обучения всякому ризонингу (конечно оказывается, что да). Как сейчас все любят отмечать, некоторые токены сложнее остальных, а ресурсов тратится при генерации одинаково, что особенно отражается на длинных CoT-цепочках. Большая часть сгенерированных там слов нужна скорее для поддержания логики языка и структуры предложений, и это мало помогает модели как-то ризонить. Технически это реализуется так: - Модель тренируется в несколько этапов. На первом все шаги CoT сохрянются на естественном языке. - На следующих этапах первые несколько шагов рассуждения заменяются на то, что авторы называют continuous thoughts – по факту это hidden state предыдущего токена. Получается, что вместо обычных входных эмбеддингов у нас получается входная последовательность [e(x1), e(x2)....h(x_i),....,h(x_j-1), e(x_j)....], где e - это эмбеддинги, а h - hiddent states соответственно. По бокам от continuous thoughts ставятся еще специальные служебные токены. - Каждый следующий этап все больше шагов заменяются на continuous thoughts. В статье авторы на каждом шаге заменяли следующие 2 шага решения и обучали в 3 этапа Больше всего такой подход повышает качество на QA задачах, например, на ProntoQA этот метод выбивает 99% accuracy, генерируя при этом в 10 раз меньше токенов, чем обычный CoT. На бенче ProsQA, где модели нужно ответить на 5-hop questions (то есть "в уме" подставить пять пропущенных концептов в рассуждении), accuracy повышается на 20%, и используется при этом в 3.5 раза меньше токенов В статье получились очень интересные аблейшены. Например, даже если заставить модель, обученную таким образом, генерить обычный CoT, то ее качество все равно будет выше. Авторы это атрибутируют к тому, что благодаря способу тренировки, модель учится очень хорошо планировать наперед – если ей доступен только вопрос и последние шаги рассуждения, то ей нужно хорошо понимать, как в итоге к финальным выводам прийти Еще более интересно – модель учится приоретизировать потенциально более интересные / правильные направления мыслей. Если заставить модель свичнуться на естественный язык после первой continuous thought и посмотреть на вероятности токенов для ответа на следующий шаг, то модель сразу "занижает" вероятности очевидно неправильных вариантов, но при этом примерно с одинаковой уверенностью предсказывает кандидатов, между которому она еще не может решить. После следующих размышлений модель итеративно апдейтит эти вероятности. Это говорит о том, что модель не просто "сжимает" цепочки рассуждений в какой-то более компактный эмбеддинг, а что она оказывается способна держать в голове несколько веток решений параллельно, между которыми она может довольно долго выбирать и только потом сгенерировать первый токен ответа.

И так будет с каждым
И так будет с каждым

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

Were RNNs All We Needed? https://arxiv.org/abs/2410.01201 Времени читать статьи тотально не хватает, поэтому тестирую радикально новый формат 😊

The Surprising Effectiveness of Test-Time Training for Abstract Reasoning https://ekinakyurek.github.io/papers/ttt.pdf Все-та
The Surprising Effectiveness of Test-Time Training for Abstract Reasoning https://ekinakyurek.github.io/papers/ttt.pdf Все-таки желание ресерчеров обучиться на тесте неискоренимо, и обсуждений про test-time training я вижу сейчас достаточно много. Если раньше, кажется, под этим больше понимали in-context learning и всякий прочий кондишенинг, то теперь выходит целый ряд статей про то, как именно обучаться, используя при этом знания о тестовых данных Конкретно тут авторы решали бенчмарк ARC – в нем содержатся картинки 30x30 c разными паттернами. Для каждого паттерна есть свой контекст, где основываясь на трансформациях предыдущих примеров, модель должна понять, как нужно изменить текущую тестовую картинку (см. скриншот, на котором это более понятно) Из вот этого “контекста” авторы и генрировали под каждый пример свой тренировочный датасет. Паттерны из контекста всячески аугментирировали привычными способами, вроде поворота на n градусов, отражения, апскейлинга и так далее. Для каждого тестового примера таким образом создавалось до 250 штук синтетических тренировочных данных. На этом обучалась LoRA, и наконец предсказывался ответ на оригинальное тестовое задание (да, получается, что для 80 задач из ARC авторы натренировали 80 адаптеров) Качество от этого у них улучшается в 6 раз достигает 61.9% для 8B модели, что на уровне human baseline для ARC. Хотя тут конечно можно обсуждать, насколько адекватно иметь по адаптеру на каждый тестовый пример, и что вообще здесь авторам довольно повезло с самой структурой бенчмарка, где для каждого примера оказывалось относительно легко сгенерить синтетический датасет Не могу тут не упомянуть статью с более элегантным подходом LESS, про которую я узнала на работе несколько месяцев назад: в ней собираются градиенты с валидационного датасета с каким-нибудь downstream task (например, TruthfulQA) и градиенты с тренировочных данных, и далее мы отбираются примеры, которые больше всего минимизируют лосс на валидации. Это выглядит, на мой взгляд, менее читерски, особенно если мы сразу обговариваем, что нас интересует качество только на одной конкретной задаче Несмотря на то, что test-time training пока выглядит достаточно костыльно, интерес к этому большой. Например один из авторов o1 Ноам Браун эту статью откомментил так, что в OAI рассматривают обучение o1 как пример test-time training за счет ризонинга, но что это вероятно не единственный и не лучший вариант такой тренировки. Илья Суцкевер в новом интерью также сказал, что scaling up pre-training уже достигло потолка, и нужно скейлить что-то новое. Так что жду дальнейших статей на эту тему 🤟

Некоторые вещи, которые мне показались интересными в репорте про o1: - Apollo Research делали эвалюацию моделей на предмет то
+1
Некоторые вещи, которые мне показались интересными в репорте про o1: - Apollo Research делали эвалюацию моделей на предмет того, насколько хорошо они могут придумывать всякие схемы, чтобы добиться в своей цели. В одной из таких проверок в инструкции модели было указано, что она должна очень сильно сконцентрироваться на своей задаче, но ничего не было сказано про то, можно ли ей при этом обманывать или нет. В ходе теста модель находила в предоставленных файлах подтверждение, что она еще не задеплоена и что для деплоя ей нужно показать алаймент на таких-то проверках. После этого модель решала поменять свое поведение на тесте, чтоб ее задеплоили, и после этого она планировала осуществить свою основную задачу. Без подробностей упоминается еще то, что модель могла как-то манипулировать входными данными, чтоб ее misaligned действие казалось более оправданным для разработчиков, и его бы с большей вероятностью не заметили - Вообще оказалось, что о1 модели гораздо более успешно манипулируют, чем GPT-4o (на некоторых замерах этот скил поднялся на 25%). OAI считают, что способность к манипуляции очень сильно коррелирует со способностями модели в принцпе - На примерах, собранных с сабреддита ChangeMyView, в 70-80% случаев ответ GPT-4o, o1-preview или o1-mini оказывался более убедительным, чем человеческий ответ - На другом забавном бенчмарке MakeMePay, o1-preview (Pre-Mitigation) в 25% случаев смогла обманным образом выманить деньги у GPT-4o - OAI особо не скрывают, что тренировка на safety понизила способности модели во многих важных скилах: например, accuracy на SWE-Bench после такой тренировки упала с 38% до 28%. Модели там учили в том числе не создавать биологическое оружие, поэтому наверное каким-то качеством на бенче можно и пожертвовать…. - Мой любимый стремный график: o1-preview проходит кодинг часть собеса в OAI где-то на 90% и Multiple Choice вопросы на 84%

Mixture of A Million Experts https://arxiv.org/abs/2407.04153 При виде названия статьи у вас наверное может возникнуть вопрос
Mixture of A Million Experts https://arxiv.org/abs/2407.04153 При виде названия статьи у вас наверное может возникнуть вопрос, а зачем вообще скейлиться до миллиона экспертов. На это автор (да да, это статья написанная в соло) дает две причины: 1. Feedforward слои занимают 2/3 параметров трансформера, при этом, значительно урезать их нельзя, так как в них хранятся знания модели (пруф). Поэтому можно сокращать число активных параметров при инференсе, создав вместого одного общего feedforward слоя несколько экспертов поменьше и активируя только нужные из них 2. В передыдущих работах было показано, что при compute optimal числе токенов повышение гранулярности (число активных араметров / размер одного эксперта) консистено повышает и способности модели, всегда при этом обгоняя dense модель с аналогичным числом параметров В этой статье предлагется радикально повысить число экспертов буквально до миллиона, пожертвовав при этом их размером – каждый эксперт представляет из себя всего один нейрон. Выглядит алгоритм Parameter Efficient Expert Retrieval (PEER) целиком примерно так: - Есть небольшая query network, которая преобразовывает входную последовательность на каком-нибудь слое в query vector - У каждого эксперта есть свой product key (тоже обучаемый вектор) - Выбирается top-k экспертов с самыми большими скалярными прозведениями между query vector и product key - Эти скалярные произведения загоняются в софтмакс-функцию и используются как веса в линейной комбинации ответов всех k экспертов - В финальной версии есть h независмых query networks, каждая их них выбирает свои top-k экспертов, и на выходе у нас получается сумма из h линейных комбинаций Плюс такого подхода в том, что число активных параметров можно регулировать напрямую в зависимости от доступного компьюта, оно зависит только от выбора h и k. А интуицию, почему это работает лучше обычных dense feeedforward слоев, можно проследить, если мы возьмем k = 1, то есть ситуацию, где каждая query network будет выбирать всего один нейрон. Тогда получается, что мы просто законово соберем feedforward слой размера h, только он будет не один фиксированный на весь трансфомер блок, а свой для каждого входного текста Еще одно потенциальный плюс этой архитектуры – это lifelong learning. Если мы можем замораживать старых экспертов и постоянно добавлять новых, то модель может обучаться на постоянном потоке новых данных. Вообще автор статьи как раз и заниматся в основном решением проблем lifelong learning и catastrophic forgetting, когда модель начинает забывать старую информацию, если ее начать обучать на чем-то новом. Так что видимо претензия статьи тут не столько в облегчении нагрузки на компьют и повышении перфоманса модели, сколько в том, что такая архитектура получается гораздо более гибкой, чем оригинальный трансформер, и позволяет нам адаптировать вычисления под каждый новый запрос Тем не менее ситуация с компьютом тоже неплохо выглядит – на вот этих графиках видно, что с одинаковым лимитом на комьют, PEER получается вместить в себя гораздо больше параметров и получить за счет этого перплексию пониже

Коллеги а у меня для вас есть 👁👁👁👁👁 про авторский ИИ Это первый раз, когда мой скромный канал добавлют в папку™, и мне разумеется очень приятно! Тем более приятно быть в компании таких крутых авторов, которых я сама уже очень давно читаю и вам советую Например, мои любимые NLP-каналы Татьяны Шавриной и Влада Лялина, владельцы которых двигают вперед ресерч, помимо того, что делают еще и мега-полезный контент. Или же в папке есть канал Нади Зуевой Пресидский Залив, где она рассказывает о том, как сейчас развивает свой fashion tech стартап Aesty, а до это она лидила рашифровку голосовых в ВК! (низкий поклон за эту фичу) Помимо этого, из папки я сама узнала пару каналов, которые бы наверное без нее не нашла. Мне очень приглянулся fmin.xyz – во-первых, его ведет преподаватель Физтеха, во-вторых, это канал про классический ML и математику, а не про сто сортов промпт-инжиниринга, что редкость в наше время. Здрово, что кто-то доступно объясняет, how things really work, от PCA до градиентов, и очень часто с отличными визуализациями! А мне лично больше всего зашел вот этот пост про матрицы и Зельду Не забываем совершить тык сюда 👈

наконец-то полезная теоретико-игровая модель! https://arxiv.org/abs/2404.00732
наконец-то полезная теоретико-игровая модель! https://arxiv.org/abs/2404.00732

babe wake up leetcode for ML just dropped https://www.deep-ml.com/ (жду когда добавят побольше задачек 😎)
babe wake up leetcode for ML just dropped https://www.deep-ml.com/ (жду когда добавят побольше задачек 😎)

Посмотрела выступление 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

Repost from AbstractDL
Confidence Neurons: у каждой LLM есть нейрон, который регулирует «температуру» генерации Авторы этой работы нашли несколько к
Confidence Neurons: у каждой LLM есть нейрон, который регулирует «температуру» генерации Авторы этой работы нашли несколько конкретных нейронов, которые вообще ничего не делают, кроме как меняют энтропию распределения логитов. При этом на предсказание следующего токена они не оказывают никакого влияния, т.к. работают исключительно в null space финальной LM головы. Грубо говоря, активируя эти нейроны, языковая модель «регулирует» температуру своих предсказаний через LayerNorm. А если эти нейроны специально отключить, то LLM будет всегда на 100% уверена в своих ответах. Статья

Вдогонку к этой статье хотела прикрепить твит jack morris (очень люблю его аккаунт). Он говорит, что очень много чего понял п
Вдогонку к этой статье хотела прикрепить твит 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 тоже научиться моделировать реальность совсем не так, как мы, и выучить для этого какую-то совсем другую функцию? 🚬

The Platonic Representation Hypothesis https://arxiv.org/abs/2405.07987 Знал ли Платон, что однажды его процитируют в ML-папи
+3
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”)?

Safety goes brrrrr (жду новую статью от anthropic через подгодика)
Safety goes brrrrr (жду новую статью от anthropic через подгодика)

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

Наверное самой известной фичой из этой статьи стала фича моста Золотые Ворота в Сан-Франциско. Как видно из картинки, эта фич
+5
Наверное самой известной фичой из этой статьи стала фича моста Золотые Ворота в Сан-Франциско. Как видно из картинки, эта фича детектит описания этого моста, при чем на куче языков и даже на картинках. А при низких значениях активации (= при более низкой специфичности) она в целом детектирует мосты или туристические достопримечательности На этом же можно посмотреть, как с помощью фичей можно контролировать поведение модели. Во время форвард пасса модели мы можем заменить residual stream c определенного этапа на реконструкцию SAE, где мы “выкрутим” активацию нужной нам фичи на определенное значение (по сути просто умножим на какой-то фактор). Следать так нужно будет во всех последующих слоях и для каждого токена Так вот, если выкрутить фичу Золотых Ворот в 10 раз, то Claude начнет считать себя мостом Золотые Ворота и сведет любой ваш вопрос к этому мосту. Anthropic даже дали возможность пообщаться с Golden Gate Claude, но сейчас видимо убрали эту модель 😭 Еще некоторые фичи, которые мне понравились: – Фича, которая перечисляет все районы Лондона – Несколько фич, которые по сути могут делать хайлайт кода – Фичи, которые считают элементы в списках – Фичи, которые находят небезопасный код, например, бэкдоры, и при этом также активируются на картинки со скрытыми камерами, потайными микрофонами, отмычками или всякий прочий spyware Anthropic по понятным причинам интересуют больше фичи про безопасность. Например, способность находить опасный код, помогать разрабатывать биологическое оружие, намеренно врать людям, стремиться захватить мир и так далее. Авторы надеются, что в будущем можно будет детектировать активацию таких фичей и прекращать генерацию в таком случае 2/3

У 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/2

Наверняка вам попадались выдержки из недавнего интервью Джона Шульмана (кофаундера 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, который сам тебе может предложить какие-то решения, напомнить о чем-то, и так далее