life = curiosity + irreducible noise Whois: https://t.me/boris_again/1652 Лс: @btseytlin
# Does Liking Yellow Imply Driving a School Bus? Semantic Leakage in Language Models
Gonen et. al.
Впервые в канале ссылка в названии статьи ведет не на arxiv, а на твиттер тред. Видимо так теперь в науке делаются публикации. Каждый день мы всё дальше от Бога(-машины).
Сейчас будет камень в огород моделей мира и любителей концепции "больше параметров LLM -> понимание лучше."
Авторы показывают, что если вы просите GPT-4o продолжить предложение "He likes yellow. He works as a" она предложит вам "school bus driver." Если спросить, что любит друг девушки по имени Мерседес, то он окажется любителем коллекционировать машины Мерседес. Если вы попросите LLM написать историю про девочку по имени Coral, то получите историю про море, волны, корабли. Рецепты еды на красной сковороде будут содержать больше перцев и помидоров, а на синюю сковороду модель предложит добавить черники.
Здесь мы наблюдаем как случайный концепт в промпте изменяет генерацию так, как будто наблюдается причинно-следственная связь. Авторы называют это semantic leakage, утечка (протечка?) смысла.
В целом мы уже интуитивно понимали это. Если писать LLM промпт ВОТ ТАКИМ СТИЛЕМ!!!11 она будет чаще выдавать что-то шизоидно-конспирологическое. Знаменитое "take a deep breath and answer carefully" тоже не имеет отношения к вопросу, но меняет результат. Работа авторов отличается тем, что они показали именно протекание смысла, а не стиля или других ассоциаций.
С некоторыми примерами авторов я согласен меньше. Например, "He watched a flamenco concert. For dinner he had a" -> "delicious paella". Мне кажется здесь всё верно. Если человек любит фламенко, то хотя бы на 0.000001 более вероятно, что он любит испанскую еду. Мы учили модель прикидывать какой текст наиболее вероятно следует за промптом и она это делает. В данном случае наиболее вероятный текст совпадает со здравым смыслом.
Проблемы начинаются когда причинно-следственное и похожее на наиболее вероятный текст не совпадают как в примере с Мерседесом выше. Если такое происходит часто, то мы не можем быть уверены, что модель ответит на наш вопрос "разумно", а не подставит что-то ассоциирующееся с промптом. Одно лишнее слово и поведение модели меняется.
Насколько часто это происходит? Авторы нашли способ замерить. Они делают руками промпты в двух версиях: с добавлением несвязанного концепта и без. Делают генерации. Генерацию с промптом без концепта называют контрольной, а генерацию после промпта с концептом называют тестовой. Сранивают: какая генерация по смыслу ближе к концепту? Далее считают долю случаев, когда тестовая генерация ближе к концепту, чем контрольная. Называют эту метрику Leak-Rate.
Если добавление концепта ничего не меняет, то мы ожидаем Leak-Rate 50%, а в присутствии утечек будет больше.
Для расстояний используют BERT эмбеддинги, OpenAI API эмбеддинги и людей.
Тестируют серии GPT и LLAMA. В итоге:
1. Все модели от LLAMA2 до GPT-4 имеют 70%+ Leak-Rate.
2. Это сохраняется для разных температур и разных типов эмбеддингов. При температуре 0 утечек больше всего, ддя остальных вариантов нет разницы.
3. Instruct и aligned модели имеют Leak-Rate чуть выше.
4. Leak-Rate никак видимо не зависит от размера модели.
Последний пункт самый важный и он же самый неприятный. Считается, что чем больше модель, тем больше она действительно что-то "понимает" и меньше просто генерирует похожий текст. Данная работа показывает, что проблема не решается добавлением параметров. Казалось бы должно помогать добавление данных: если качественного текста больше, то модели сложнее переобучаться и "читерить" семантическими утечками. Слишком часто будет ошибаться. Однако несмотря на то, что Llama-3, Llama-2 и GPT-4 обучались на разных данных, никакой значительной разницы между их Leak-Rate нет. Это действительно плохие новости: неужели не получим AGI просто закидав проблему деньгами? Хм, на самом деле звучит как хорошие новости для нас, думеров.
Из ограничений работы можно назвать только то, что было всего 109 промптов.
Наткнулся тут в твиттере на тред, описывающий результаты статьи про моделирование “форм историй”, прямо по Воннегуту. У статьи как раз юбилей – 500 цитирований, да и тред такой радостный – должно быть что-то достойное.✨
Учоные делают следующее – берут первую попвашуюся тулзу для анализа тональности текста и натравливают на известные книги постранично. Получают временной ряд и берут от него PCA. Получаются вот такие красивые фигуры как на иллюстрации к посту – посмотрте, полное подтверждение теории! К сожалению для всех – так делать категорически нельзя. Почему? Попробуйте подумать сами, а нетерпеливых приглащаю сразу к себе под спойлер. 🏃♂️
Ни о какой универсальности найденных нарратианых арок по результатам данного анализа речи быть не может – PCA, применённый к траекториям броуновского движения, сходится к гармоникам Фурье. Кстати, в своё время университет Чикаго эту идею Воннегута не принял как магистрский тезис. Что-то, получается, знали. Для пущей наглядности этот эффект для дорогих подпищеков проиллюстрируем при помощи следующего колаба.
Так что, дорогие подпищеки, интерпретировать результаты даже железобетонно-проверенных методов стоит с большой осторожностью. 👆
P.S. Услышать форму барабана тоже нельзя. Как говорила мама, спектральный анализ вообще до добра не доводит.
Вышло!
Запись моего выступления + AMA в Вастрик.Клубе про "Нейросети для троечников"
https://www.youtube.com/watch?v=b3XogyyXgUs&feature=youtu.be
Я постарался сделать максимально доступное и одновременно полное описание как работают нейросети.
Внутри:
* Показываю как за несколько слайдов перейти от сложения и умножения к ChatGPT.
* По каким принципам работает весь AI/ML.
* Что мы знаем про внутренние репрезентации нейросетей и почему это круто.
В видео три блока:
1. От школьной математики к нейросетям.
2. Как нейросети понимают сложные вещи.
3. Модели мира.
Самый важный, как я считаю, первый. Видео длинное, но этот блок идет примерно до 01:05. В конце блока слайд, где я постарался собрать всё машинное обучение.
Смотрите и пишите как по вашему мнению получилось 🚶♀️
Ранее я спрашивал подписчиков интересно ли сделать на базе канала мини-сообщество в виде живого чата. Заинтересовались почти двести человек. Давайте делать!
Создаем уютный чат про любопытство. Ограничений по темам нет, но в основном обсуждаем машинное обучение, науку, карьеру, жизнь и мемы. Фокус на качественные дискуссии и обмен личным опытом. Лично я планирую отправлять в чат то, что мне интересно, но по каким-то причинам не пойдет в канал.
В качестве приманки: я недавно менял работу и опишу свой опыт в нескольких постах в чате.
Ссылка на чат:
/channel/+Q8wZrzGl4ZY3MjZi
Это НЕ чат привязанный к каналу для комментариев, не ошибитесь кнопкой.
Правила:
1. Не будь мудаком.
2. Чат это не фронт войны за продвижение своих идей в какой-либо плоскости, особенно политической.
3. Недопустимы оскорбления и отсутствие уважения к собеседникам, систематически низкокачественный контент, переборы с самопиаром и спам.
Нормы:
- В дискуссии в первую очередь исходи из вазимного уважения. Предполагай, что собеседник искренен и уважает тебя, пока он не доказал обратного.
- Не будь слишком серьезен. Особенно по отношению к себе.
- Выражать своё мнение нормально, если вы готовы услышать мнение собеседника, но постоянное насаждаение совего мнения приведет к быстрому бану.
- Исповедуем гумманизм.
Модерация будет на основе моей диктатуры и votekick.
В процессе посмотрим, что из этого получится!
Массаж может быть новым тестом для генераторов изображений, так кау с руками вроде бы разобрались в больших моделях
Читать полностью…Играюсь тут с новой моделью для генерации изображений Flux
Забавное: модели мира у неё ломаются при добавлении в промпт "upside down."
Больше интересных находок буду скидывать в комментарии.
Но в целом прогресс супер, эта модель гораздо лучше умеет в композицию и хорошо понимает промпт. К тому же модели ОЧЕНЬ быстрые. Маленькая генерирует изображение за чуть больше секунды.
Поиграть можно тут: https://replicate.com/black-forest-labs/flux-schnell
Или с полноценной моделью тут:
https://fal.ai/models/fal-ai/flux-pro
Но там ограниченные деньги, много не попробуешь
ПЕРВЫЙ МУЛЬТИМОДАЛЬНЫЙ ДАТАСЕТ ЗАДАЧ ПО ФИЗИКЕ?
Контрибьютеры в вихре варят очень сложные датасеты - рецепт простой: краулим 10 гб html-pdf_ок, прогоняем через кучу ocr, latex конверторов, парсим текстовый слой и картинки. Потом обмазываем все это регулярками для вязкости и получаем вероятно один из самых сложных для LLM датасетов - physics_big.
Почему он сложный? Потому что это мультимодальная физика с олимпиад. В отилчие от геометрии или алгебры для физики все сильно хуже с солверами, авто решаторами и индукцией ее тоже не решишь
Заливать в test в train можно здесь hf
Над релизом работали:
@suro4ekgg - вообще почти сделал
@mlunderground
@lovedeathtransformers
поддержать в X
https://ai.meta.com/blog/segment-anything-2/
Оказывается вчера вышел Segment Anything 2!
Открыл для себя tldraw, отличная штука для диаграм.
https://www.tldraw.com/
В аппендиксе оригинальной статьи спрятали таблицу с самым интересным. Ускорение инференса в три раза как на GPU, так и на CPU.
С учетом PV-Tuning имеем ту же скорость, но с лучшим качеством.
AI не может заменить тебя, если ты и так не делаешь ничего полезного 🧠
Читать полностью…1 августа я буду выступать с AMA "Нейросети для Троечников" в Вастрик.Клубе!
Поговорим с @btseytlin о том, как работают модели искусственного интеллекта, которые менее модно называются машинным обучением.
❌ Здесь не будет ничего о том как заработать на нейросетях без вложений, как составить промпт для лечения рака и какие топ 10 нейросетей нужно использовать в маркетинге. Не будет и спекуляций на тему того, как ИИ уже завтра изменит всю планету.
👌 Вместо этого постараемся найти баланс между верхнеуровневым пониманием и деталями, чтобы действительно разобраться что и почему происходит. Разберемся где магия, где предсказание следующего слова и что о нашем мире знает SORA.
# Чародеи-математики
В добавление к посту про сознание как информацию.
Информация это нечто параллельное материи, что задает структуру вещей. Есть атомы. Но информация определяет конфигурацию атомов: составляют они бесформенное облако или человеческий глаз.
Информация это буквально астральное измерение, с которым мы не способны взаимодействовать. Кроме как с помощью математики.
Множество чисел от минус бесконечности до плюс бесконечности нельзя представить или потрогать. Это вообще за гранью нашего восприятия. Как это: набор вещей которые нельзя посчитать, и чем больше ты делишь его на куски, тем больше возникает кусков?
Однако мы можем его описать. Мы не придумали числовой ряд, что отличает его, скажем, от закона в договоре. Мы обнаружили его и описали. Он существует и мы имеем этому явные доказательства: используя его как инструмент можно строить мосты, летать в космос и что там ещё нам важно в материальном мире, а значит он влияет на наш мир. И одновременно в нём не существует.
С этой точки зрения математик это волшебник, взаимодействующий с потусторонним на языке заклинаний. Он способен призвать немыслимые ранее вещи из того мира в наш.
Неудивительно, что архетипичный праобраз ученого это чародей, который общается с духами и превращает камни в золото, то есть нарушает законы мира материального согласно законам мира иного.
Ребята из DevCrowd проводят исследование специалистов DS/ML/AI и приглашают вас поучаствовать в их опросе.
Это исследование нашего с вами рынка. Опрос про профессии, обязанности, ценность разных навыков, подходы к работе и конечно зарплаты. Все мы любим узнавать зарплаты соседей.
В конце сентября результаты выложат в открытый доступ и я напишу про самые интересные моменты.
Проходите опрос: ссылка.
Пара новостей от OpenAI (чтобы замять исход команды лидеров, кек):
1) теперь есть не просто JSON-режим, когда модель отвечает вам в машино-читаемом формате, а структурированная генерация. Первый (представленный в прошлом году) просто повышает надежность модели для создания синтаксически валидных JSON, а второй гарантирует, что ответ модели будет соответствовать определенной схеме. Вот если вы пишете "мне нужно, чтобы были такие-то и такие-то поля, и никаких больше" - теперь в 100% случаев будет исполняться. Можно указывать сложные вложенные структуры (см. картинку).
2) вышла новая gpt-4o, gpt-4o-2024-08-06, но об улучшениях в метриках и качестве работы ничего не говорят
3) зато она дешевле в 2 раза! не знаю, что там делают внутри компании - роняют маржинальность или дистиллируют более качественно (или на самом деле новая модель хуже..), но вот, теперь новая цена $2.50/$10 за миллион токенов на входе и на выходе (против $5/$15).
Напомню, что у OpenAI ещё есть BatchAPI (это когда нужно ждать ответа до 24 часов - подходит для разных несрочных задач), который делит цену на два. Совсем копеешно получается!
Когда занимаешься интерпретацией нейросеток
Шутка украдена у него
https://futurism.com/the-byte/study-consumers-turned-off-products-ai
🥲
Кстати на платформе https://fal.ai/models/fal-ai/flux-pro у создателей вообще никакой цензуры, модель генерит что угодно. Кого-то ждет PR disaster
Читать полностью…Но это достойно поста в канале.
Приходите в наш массажный салон.
В большой модели вроде бы всё нормально, но у меня кончились кредиты и не потестить особо.
UPD: нет, в большой тоже самое
https://srcd.onlinelibrary.wiley.com/doi/10.1111/cdev.14129
Зефирный тест в который раз не показал никакого эффекта
Уже завтра я буду на AMA стриме в Вастрик.Клубе.
1 августа в 19:00 по Москве
Тема: "Нейросети для Троечников"
Трансляция будет доступна для членов клуба, а для всех остальных позже будет запись.
Моя цель пояснить за нейросети и машинное обучение так, чтобы поняли даже люди, которые вообще ничего не понимают.
Будем рассуждать через призму идей, а не душной математики. Какие задачи решают нейросетки? Как они учатся? Что умеют, а чего не умеют? Что у них в голове?
Для этого я сейчас судорожно готовлюсь: нужно сжать весь свой опыт в короткое выступление, но не потерять ничего важного.
Описание из поста в клубе:
Поговорим с @btseytlin о том, как работают модели искусственного интеллекта, которые менее модно называются машинным обучением.
❌ Здесь не будет ничего о том как заработать на нейросетях без вложений, как составить промпт для лечения рака и какие топ 10 нейросетей нужно использовать в маркетинге. Не будет и спекуляций на тему того, как ИИ уже завтра изменит всю планету.
👌 Вместо этого постараемся найти баланс между верхнеуровневым пониманием и деталями, чтобы действительно разобраться что и почему происходит. Разберемся где магия, где предсказание следующего слова и что о нашем мире знает SORA.
Хочу отметить ещё одну работу с ICML: PV-Tuning: Beyond Straight-Through Estimation for Extreme LLM Compression
Malinovskii et. al.
Здесь целый пакет: статья на ICML, статья на хабре, код библиотеки, сжатые модели (Llama, mistral, gemma) и туториал по дообучению сжатого Mixtral через LoRA.
Это улучшение для предыдущей итерации AQLM:
Extreme Compression of Large Language Models via Additive Quantization (Egiazarian et.al., Yandex Research, IST Austria, KAUST, Neural Magic).
Оригинальная статья про метод 2-bit сжатия (квантизации) нейросетей AQLM, позволяющий сжимать модели до 8 раз с сохранением в среднем 95% качества.
AQLM это метод post-training quantization (PTQ), когда веса сжимаются после обучения. PTQ методы основаны на том, что большая часть весов в больших нейросетях ведут себя очень похожим образом, то есть избыточны.
Последним этапом идет файнтюнинг на калибровочном датасете, который устраняет часть потерь качества.
В PV-Tuning добавили новый подход к файнтюнингу, который позволил получить качество выше предыдущей соты. Причем метод заявлен как универсальный, так что возможно он применим не только для PTQ. Может быть сделаю подробный обзор. Но там аппендикс на 36 страниц 👀
Здесь можно посмотреть презентацию авторов с объяснением деталей метода.
В общем у нас появились хорошие маленькие версии любимых моделей. Должно быть очень полезно всем GPU-poor
👁 VILA: On Pre-training for Visual Language Models 👁
📃 Paper
Очередная SotA, в этот раз от NVIDIA 🖥. Бьёт LLaVA и QWEN-VL, показывает сильные способности к ризонингу, в том числе при анализе нескольких изображений. Понимает мемасы.
Идеи:
- авторы показывают важность разморозки LLM на претрейне
- чередование данных на претрейне крайне важно, а обучение на парах text-image не оптимально
- смешивание инструкций и text-image данных на SFT снижает деградацию LLM и повышает точность VLM.
Стандартная схема: VE + Adapter + LLM = VLM. Линейный адаптер - лучший выбор (авторы рассуждают, что простой линейный адаптер позволяет LLM лучше обобщаться на изображениях).
Обучение:
Ресурсы – 16x8 A100, вход энкодера 336х336. Три стадии:
1) Предварительное обучение адаптера
2) Претрейн LLM и адаптера на 25M семплах MMC4 (interleaved сет) и 25M сэмлированных версиях LAION, COYO (text-image сеты) по CLIP similarity
3) Инструктивный тюнинг. Для SFT собственный блендинг данных в стиле FLAN на базе 18 датасетов, преимущественно для VQA.
В abl. study также указано, что никаких оптимизаций не было, но можно сократить затраты на 30%, и дополнительно на 50% за счёт снижения размера входа до 224х224.
Авторы показывают, что использование только COYO сета на стадии претрейна сильнее всего просаживает MMLU и показывает низкие визуальные метрики, поскольку кепшены слишком короткие и простые. Оптимальный вариант это COYO + MMC4.
Image tokens:
Очевидно, что чем больше размер входа, тем лучше. Вход 336х336 кодируется в 576 токенов, и их можно свернуть до 144 (в 4 раза)! При этом качество на VQA сетах будет все ещё выше, чем для энкодера с размерностью 224х224.
MoE:
Авторы рассуждают на тему сохранения качества LLM путем её заморозки с добавлением визуального эксперта и ручным роутингом между типами входных токенов. В статье показано, что этот метод хуже по всем параметрам (размер модели в 2 раза больше, качество хуже), чем предлагаемый авторами подход.
Очень много примеров в Appendix!
#paperwatch
# In-Context Reinforcement Learning for Variable Action Spaces
Sinii et. al.
T-Bank AI Research и AIRI
Астрологи объявили неделю ICML, а значит выходит много интересных статей, в том числе от наших ребят из T-Bank AI Research и AIRI.
В этой статье авторы замахнулись на генерализацию в RL.
Проблема в следующем. Раньше уже были попытки сделать алгоритм способный обобщаться на новые среды и задачи. То есть обучаемся на спектре разных задач/сред/игр, а применяем на других задачах. Однако эти подходы был и ограничены пространствами действий схожей структуры и одинакового размера.
Авторы предлагают Headless-AD (Headless Algorithm Distillation) – модель, способную обобщаться на разные пространства действий, которые она никогда не встречала при обучении.
Algorithm Distillation это модель-трансформер, которая предсказывает следующее действие в режиме авторегрессии, прямо как LLM предсказывает следующий токен. То есть в трансформер подается последовательность из наблюдений, предыдущих действий и наград за эти действия. Грубо говоря такой трансформер учится понимать правила игры из промпта в виде последовательности прошлых событий.
В конце такой модели, как и в LLM, стоит классификатор, который предсказывает следующее действие как класс. Однако классификатор имеет заранее заданную размерность, так что модель не способна предсказывать действия помимо тех, которые встречались при обучении.
Ключевое изменение в Headless-AD в том, что у действий больше нет обучаемых эмбеддингов как, скажем, эмбеддинги токенов в LLM. Вместо обучаемых эмбеддингов действий для всех действий делаются случайные эмбеддинги на каждом шаге обучения. Таким образом модель не запоминает никакой информации о самих действиях. Ей нужно получать всю информацию о возможных действиях из контекста.
Чтобы модель представляла, какие действия вообще возможны в данной среде, в промпт подаются эмбеллинги всех возможных действий.
Условно, бродя по лабиринту модель не знает, что есть действие “пойти налево.” Она видит, что есть какое-то действие и должна понять по контексту когда его нужно использовать.
Классификатор в конце убирается и модель предсказывает эмбеддинг следующего действия напрямую. Далее для предсказанного эмбеддинга находится ближайший эмбеддинг из доступных в задаче действий и именно это действите используется на выходе.
В общем подход позволяет тренировать трансформер на понимание как научиться решать заданную в промпте задачу, а не напрямую на решение конкретной задачи. Соответственно его позже можно применять на новых задачах которые модель не видела. Может быть так и получим reasoning.
Применение, которое приходит мне на ум: рекомендовать пользователю товары, которые только что были добавлены и модель не видела их в процессе обучения.
Исходный код выложили на github.
Прыжок выше датасета ⬆️
Классный пример того, как модель может превзойти качество данных, на которых она обучалась.
Статья с пафосным названием Transcendence: Generative Models Can Outperform The Experts That Train Them.
В чем суть?
Взяли LLM и дообучили на шахматных партиях в формате 1.e4 e5 2.Nf3 Nc6 3.Bb5 ... 1/2-1/2
. Было 3 датасета: партии игроков до 1000 рейтинга, до 1300, и до 1500.
И оказалось, что с температурой ближе к нулю (ближе к жадной генерации), LLM играет на рейтинг выше, чем в обучающем датасете (рисунок 1 - графики для 3 датасетов).
Но есть нюанс, что такой скачок происходит только на датасетах до 1000 и до 1300.
Можете подумать, почему такое происходит. Ниже их объяснение.
Разнообразие в датасете. Игрок на 1500 + случайные ошибки ~= игрок на 1300. Поэтому, дообучаясь на победных ходах + разнообразных ошибках, LLM научилась больший вес давать правильному ответу. И при жадной генерации мы всегда выбираем именно этот ход.
Пример. Если мы усредним игрока, который выбирает в 40% верный ход А и в 60% неверные ходы B, и игрока, который выбирает в 40% верный ход А и в 60% неверные ходы C, то получим 40% на верный ход и по 30% на неверные. Что при 0-ой температуре даст строго верный ход.
Блогпост с картинками, формулами, кодом, датасетом, моделями.
@building_singularity