Всем привет! Как вы поняли, в последний месяц я снова закопалась в делах и пыталась понять, как нормально жить эту жизнь (спойлер: поняла не особо). За это время, конечно, произошло много всего (чего стоит один Сэм Альтман и еще 700+ человек в OpenAI, которые прямо сейчас снимаются в увлекательном сериале про ИИ и бизнес). Но я тут начну не с таких громких новостей, а с чего-то поменьше. Например, расскажу про препринт статьи, в которой я стала соавтором =)

В начале осени я проходила мимо Лаиды и ее коллег, которые пытались решать задачу детекции сгенерированных текстов. Постановка задачи необычная: это не просто задача бинарной классификации типа "этот текст реальный", "этот текст сгенерированный". Задача ставится так: есть текст из 10 предложений. Известно, что начало текста (1+ предложений) написано человеком. Но, начиная с какого-то предложения, текст может стать сгенерированным. Задача простая: по тексту определить номер предложения, с которого начинается генерация. Проще говоря, на этом можно поставить задачу классификации на 10 классов: с какого номера предложения начинается сгенерированный текст.

Задача имеет отношение к реальности: многие люди пишут для ChatGPT начало текста и просят его дописать. Так что многие тексты получаются не полностью сгенерированными, но частично. И полезно было бы иметь детекторы, которые могли бы определять место, где текст перестает быть написанным от руки.

Задача усложняется тем, что тексты разделены на несколько доменов по жанру (газетные статьи/рецепты блюд/...). И можно учить модель на текстах одного домена и проверять на текстах другого. Это важно, т.к. хочется в идеале получить детектор, который мог бы детектить фейковые тексты любого жанра.

В завершение описания задачи надо сказать, что задача новая. В такой постановке задачи практически нет работ. Поэтому наша работа в статье состоит главным образом в том, чтобы исследовать эту задачу, попробовав на ней модели разного вида.

Итак. Проходя мимо коллег, я заметила, что у них были несколько идей решения этой задачи. Среди них:
- бейзлайн: LogReg/GradBoost на средней длине слов в предложении. Было замечено, что часто распределение длин предложений, сгенерированных LLM, отличается от того, что пишут люди. Этот бейзлайн дает ~20% acc in-domain и ~10% acc out-of-domain (по сути, случайное угадывание)
- лучшая модель — RoBERTa, дообученная в supervised режиме на эту задачу. Она дает 45-55% acc in-domain и 13-31% acc out-of domain. То есть, довольно сильно переобучается;
- были и еще другие методы, которые показывали результаты между двумя описанными выше. О них можно подробнее почитать в статье.

Так вот. Проходя мимо этого всего у меня возник вопрос: почему не попробовать очевидный подход с log likelihood?
Идея такая: берем LLM. Например, GPT-2. Для каждого префикса текста считаем распределение вероятности на следующий токен. Считаем log likelihood реального токена текста на основе этого распределения. Ожидается, что фейковый текст будет для GPT-2 казаться более "естественным", потому что его генерировали модели похожего устройства. То есть, ожидается, что там, где текст переходит от реального к сгенерированному, будет резкий скачок в log likelihood.

Идея модели тогда может быть такая: считаем log likelihood для каждого токена каждого предложения. Затем для каждого предложения усредняем log likelihood его токенов. В итоге каждый текст начинает представляться массивом чисел длины 10. На этом всем обучаем что-нибудь простое (GB/LogReg) на задачу классификации на 10 классов.

И это работает: дает 30-40% acc in-domain и 20-35% acc out-of-domain (причем 20% — это на оч плохом домене). То есть, в in-domain ведет себя похуже Роберты, но зато показывает лучшую переносимость между доменами. И если посмотреть на коэффициенты Logreg, то можно заметить, что LogReg действительно учится искать "скачок" в log likelihood, и на этом основывает свое решение.

Вот так. Статья вот. Текст, правда, очень сырой, и мы будем его сильно править перед подачей на конфы. Ну и у меня еще пара идей появились, которые я тут хочу попробовать.
Последнюю неделю все только и говорят, что о Семе Альтмане и его приключениях в OpenAI. Все-все новости я пересказывать не буду, их за меня освещали уже много кто. Если хотите вникнуть в то, что произошло, можно в Сиолошной читать этот пост и далее.

Но что я пишу-то тогда: сегодня появились интересные слухи по поводу того, что стало причиной конфликта. Уже несколько дней назад издания писали, что причиной могло быть письмо сотрудников OpenAI к совету директоров компании. В нем они якобы писали, что недавно в компании произошел очередной прорыв на пути к AGI, и выражали опасение, что это "может угрожать человечеству".

Но что это был за прорыв? Никто точно не знает (и не знает, был ли он вообще), но один из вариантов отсылает к этой недавней статье OpenAI. Давайте разберемся, в чем идея статьи:

Работа эта посвящена обучению LLM решению задач по математике. То есть, модель получает на вход условие задачи, и должна сгенерировать ее решение. Обычно при обучении таких моделей с помощью RL reward считается один раз, в конце генерации решения. Условно: "все решение говно" или "все решение правильное". И неважно, была ли ошибка в генерации решения сделана в самом начале и повлекла за собой неверное рассуждение а дальнейшем, или же до самого конца решение было верным, а ошибка была в последнем выводе.

Авторы статьи предлагают сделать простую модификацию: давайте оценивать не только все сгенерированное решение в целом, но и каждый его шаг. Таким образом можно будет при обучении посылать более осмысленные сигналы в модель, которые будут точно говорить ей, в каком месте что-то пошло не так. Для оценивания каждого шага решения модели-генератора обучается отдельная модель-оценщик (в принципе, как и в стандартном сеттинге при оценке всего решения целиком).

Во время инференса же будем делать так: попросим обученную модель-генератор сгенерировать кучу (скажем, 1000) решений для данной задачи. Потом возьмем модель-оценщик и попросим из этой тысячи решений выбрать самое "верное" с ее точки зрения. Если посчитать accuracy на тестовых данных (процент правильных полученных решений на тестовой выборке с помощью такого алгоритма), то скор получается сильно выше, чем если учить модель обычным способом, когда reward считается только в конце генерации.

Надо сказать, что статья эта называется "Let's Verify Step-by-Step". Это отсылает к известному трюку промт-инжениринга для ChatGPT, который позволяет получить более правильные ответы ChatGPT на сложных задачах. Состоял он в том, что если попросить ChatGPT решить каку-то задачу и добавить в запрос фразу "Let's think step-by-step", то модель начнет выдавать в среднем более верные решения. Здесь в статье идея действительно похожа — мы теперь оцениваем решение модели step-by-step, а не один раз в конце, как раньше.

А еще тут у меня возникла такая мысль: идея инференса очень похожа на задачу P vs NP. Смотрите: найти правильное решение — сложно, но довольно просто проверить его на правильность. Поэтому давайте мы не будем стараться получить идеальный генератор решения, который с первого раза генерит все правильно, а будем использовать брутфорс (генерацию кучи вариантов решений) и верификатор.

Вот такие пироги. В целом, мне идея кажется очень простой и очевидной. А еще, как заметили в комментариях, статья вышла аж в мае, а шумиха началась только сейчас. Так что если и есть связь шумихи с этой статьей, то там должно было произойти что-то еще (например, новое улучшение, которое и вызвало ажиотаж). А может, связи между этой статьей и недавними событиями и вовсе нет ¯\_(ツ)_/¯
Игорь (автор Сиолошной) в своем последнем посте еще замечает вот что: OpenAI не так давно заявили, что компания занимается разработкой модели для научных исследований. Короче, хотят заменить research scientist'ов LLM-рисерчером. И вот эта статья с LLM-кой, которая умеет решать задачи по математике — это один шажочек в этом направлении. Очень интересно, насколько "умной" удастся сделать этого LLM-рисерчера, и удастся ли действительно с его помощью уменьшить необходимость в умненьких кожаных PhD.

Вот меня в последний год несколько раз спрашивали вопросы типа "кого первым заменит ИИ" и "стоит ли бояться потерять работу", а теперь вот говорят, что хотят заменить меня😂
Еще в тему нашей недавней статьи про Artificial Text Boundary Detection: скоро стартует конкурс SemEval-2024 по детекции сгенерированных текстов. Конкурс привязан к воркшопу ACL 2023 Workshop SemEval.

В этом году у конкурса три трека:
- Трек А: бинарная классификация текстов на реальный/сгенерированный;
- Трек B: многоклассовая классификация текстов. Нужно понять, чем был сгенерирован текст: человеком или одной из N моделей;
- Трек С: ровно та задача, которую мы решаем в статье. Дан текст, и нужно понять, с какого мента заканчивается реальный текст и начинается сгенерированный.

Данные для всех треков лежат тут. Обещали выложить страницу соревнования до 20 ноября, но что-то пока что я ее не вижу. Ну, скоро точно должна быть.

Что я тут хотела сказать: этот конкурс — еще один признак того, что задача, которую мы решаем в статье имеет смысл)

Ну и если говорить о конкурсах по детекции текстов, то на Kaggle тоже сейчас идет один. Там даже за лучшие решения денег дают. Правда, если зайти в leaderboard, то можно очень удивиться — там уже 0.96 ROC AUC получили. Мои коллеги на это сказали, что там есть сильный лик в данных. Состоит он в том, что для всех текстов, и тренировочных, и тестовых, известен промпт, с помощью которого текст сгенерировали. Принимая это во внимание, у меня возникает вопрос: а че ROC AUC еще не 1-то?

Если знаете еще какие-то контесты по таким задачам (или по детекции сгенеренных картинок), делитесь в комментариях.
Этика и искусственный интеллект
#промо

В какие сферы нельзя допускать искусственный интеллект, а где он может стать отличным помощником?

Спикеры конференции Yet another Conference on Education от Яндекса уверены, что разрешение спорных вопросов, психологические проблемы и ситуации, где важно личное мнение, — вот три сферы в образовании, в которые ИИ не должен вмешиваться.

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

Еще среди тем конференции:
❶ Наука о данных и проблема мотивации. В чем связь?
❷ Можно ли управлять университетами с помощью больших данных?
❸ Перестанут ли учиться школьники, если будут повсеместно использовать GPT?
❹ Чем студентов привлекает образование в региональных IT-хабах и учат ли там ML и DL
❺ Опыт взаимодействия художника, писателя и AI-тренера с ИИ

➡️ Если вы хотите узнать больше о том, что еще важно во взаимодействии с искусственным интеллектом, смотрите запись конференции бесплатно на официальном сайте.
Ого, какой интересный сегодня день: день рождения ChatGPT (ему годик) и этого канала (а ему уже три!)

В честь дз принято дарить подарки — и у меня есть небольшой =) Скоро на YouTube DLS будет интересная открытая лекция, и я вас туда приглашаю! Подробнее, о чем и когда будет лекция, напишу на днях сюда.

🎉 — поздравить ChatGPT (я обязательно ему все передам)
🍾 — поздравить канал

И большое спасибо, что читаете! 🧡
C наступившим Новым Годом всех! Желаю всем профессиональных успехов, и пусть AI вас не заменит, но будет вам помогать =)

И, по традиции, первый пост в новом году — о предсказаниях кастельно развития AI на 2024 год.
#ai_inside

Каждый год Forbes делает 10 предсказаний в сфере AI на следующий год. Список за 2023 год можно найти тут, а вот по этой ссылке можно почитать ретроспективу: что оказалось правдой, а что нет. Forbes считают, что оказались правы в 8/10 случаев — лучше, чем в прошлом году! А вот я в том году оказалась ох как не права относительно выхода GPT-4...😅

Давайте же теперь посмотрим, что Forbes предрекают нам на год 2024) В этом году тут довольно интересно получилось.

Итак, 10 predictions и мои мысли относительно них:

1. Nvidia резко активизирует свои усилия, чтобы стать поставщиком облачных услуг.
Мысль тут вот какая: большинство клиентов, использующих Nvidia GPU, не платят деньги напрямую Nvidia. Они используют эти GPU через облачные сервисы Amazon, Google Cloud и подобные. При этом все эти компании понимают, насколько большую цену сейчас имеют чипы, и активно занимаются разработкой своих. То есть, становятся конкурентами Nvidia. Поэтому для Nvidia логично было бы создать свою облачную платформу для продажи GPU-часов, чтобы не зависеть от посредников и не быть в пролете, если эти посредники откажутся от чипов Nvidia в пользу своих. Вообще, компания уже начала реализовывать идею — они запустили сервис DGX Cloud. Forbes предсказывают, что это Nvidia будет дальше активно развивать это направление.

2. Stability AI закроется.
Причины такого предсказания просты:
- уход многих ключевых сотрудников из компании;
- уход ключевых инвесторов из совета директоров из-за разногласий с CEO Эмадом;
- проваленная попытка поднять раунд инвестиций в 2023 году
Собственно, Forbes считают, что Stability AI не сможет поднять новых инвестиций или даже найти покупателя, и закроется.

3. Термины «большая языковая модель» и «LLM» станут менее распространенными.
Тут имеется в виду вот что: в последнее время эти две фразы используются как синоним "крутой AI-модели". Ну, потому что GPT-3 и GPT-4, самые крутые и известные в широком кругу модели, — это LLM-ки. Но, предсказывают Forbes, в этом году начнут появляться мультимодальные мощные модели, а также foundation models в других областях — робототехнике, биологиии т.п. И вместе с этим будет меняться и наша речь — мы перейдем от "cool AI == LLM" к другим обозначениям.

4. Самые продвинутые закрытые модели будут по-прежнему значительно превосходить самые продвинутые открытые модели.
Все мы видим, как компании вроде Meta или Google делают все более крутые модели, и все меньше нам о них рассказывают. При этом расцветает open source, и по качеству открытые модельки где-то даже догоняют закрытые. Поэтому многим кажется, что open source вот-вот полностью догонит closed source.
Но Forbes в это не верят — они считают, что open source сильно отстает как по времени, так и по ресурсам. GPT-4 вышел в начале 23 года, а open-source аналога все еще нет. За это время внутри OpenAI, скорее всего, ушли уже очень далеко вперед. Плюс, у компаний вроде Microsoft, Meta, Google есть куча денег, которые они вкладывают в развитие моделек. Open source такой кучей денег похвастаться не может.

5. Ряд компаний из списка Fortune 500 создадут новую должность в высшем руководстве: "Chief AI Officer"
Тут Forbes проводят аналогию с ситуацией десятилетней давности, когда популярным стал cloud computing, и компании создавали новую должность "Chief Cloud Officers". Создание должности "Chief AI Officer" поможет компаниям как бы заявить, что их намерения в разработке AI-решений достаточно серьезны.

Продолжение в следующем посте⬇️
10 предсказаний Fobes для сферы AI в 2023 году, часть 2. Первая часть тут.
#ai_inside

6.
Архитектура, альтернативная трансформеру, получит значимое распространение
В последнее время Transformer — это база многих известных моделей. Это "архитектура по умолчанию", которая доминирует на рынке моделей. Но ничто не вечно, и когда-то, скорее всего, Transformer будет заменен чем-то более эффективным.

Что может прийти на смену трансформеру? Например, какая-нибудь модель, сложность которой относительно длины входящей последовательности растет не квадратично, как у Трансформеров, а суб-квадратично. Это было было намного эффективнее.
Разработкой таких моделей, например, занимается лаба профессора Chris Ré в Стенфорде. Вот, например, несколько их работ на эту тему — S4, Monarch Mixer, Hyena. А еще недавно выпустили статью про модель Mamba, которая, говорят, наделала шуму в AI research коммьюнити. Надо будет почитать и написать посты по этим моделям, что ли)

В общем, Forbes предсказывают, что в 2024 году Трансформеры не уйдут полностью (слишком глубоко сидят), но появится что-то, что создаст им конкуренцию.

7. Стратегические инвестиции поставщиков облачных услуг в стартапы в области AI и связанные с ними последствия для бухгалтерского учета будут оспорены регулирующими органами.
Тут какой-то замут с хитрыми схемами инвестиций компаний в AI-стартапы. Forbes считают, что лавочку в 2024 году постараются прикрыть, и это отразится на объеме инвестиций в AI. Подробнее лучше почитать в Forbes, я боюсь, что неправильно это пойму и напишу бред.

8. Отношения Microsoft и OpenAI начнут ухудшаться.
В Forbes считают, что цели Microsoft и OpenAI не всецело совпадают, и что в 2024 году в партнерстве этих двух компаний начнут проявляться проблемы. Например, так как OpenAI стремится наращивать свой корпоративный бизнес, в какой-то момент OpenAI станет прямым конкурентом Microsoft. Или вот еще что: Microsoft инвестирует в разработки небольших LLM-ок внутри своей компании. Одна из причин — крутить для клиентов большие модельки от OpenAI типа GPT-4 — довольно дорого. А дальше можно подумать о проблемах AI safety, regu;ation и т.п., которые точно начнут возникать. Как обе компании будут с ними справляться?

В целом, Forbes считают, что в 2024 году мы увидим первые признаки разногласий между двумя партнерами.

9. Часть ажиотажа и стадного инстинкта, которые в 2023 году перешли от криптовалюты к AI, вернутся к криптовалюте в 2024 году.
Говорят, что крипта — это циклическая индустрия, и у нее периодически бывают взлеты и падения. А сейчас она еще подросла в цене. Многие сегодняшние "только в AI" инвесторы в прошлом точно так же инвестировали "только в крипту", и Forbes ожидают заворота этого витка от AI в сторону крипты. Интересно, посмотрим)

10. По крайней мере один суд США постановит, что модели генеративного ИИ, обученные в Интернете, представляют собой нарушение авторских прав. Дело дойдет до Верховного суда США.
Ну тут все понятно. По подобным новостям становится понятно, что каких-то судебных разбирательств ожидать точно стоит. Посмотрим, чем закончится история с авторскими правами на трейн дата.
Мы открыли набор на весенний семестр Deep Learning School!

DLschool — это школа при ФПМИ МФТИ, где мы учим нейронным сетям с самых азов до продвинутого уровня. Полный курс состоит из двух частей, каждая из которых длится полгода.
- Первая часть посвящена введению в нейросети и компьютерному зрению. Начинаем с основ машинного обучения и нейросетей, переходим к CNN для обработки картинок, заканчиваем переносом стиля изображений и ГАНами.
- Вторая часть полностью посвящена обработке естественного языка (NLP) и обработке звука. Эту часть мы полностью недано переделали, улучшили лекции/семинары и добавили новые темы (GPT, RLHF и другое).

Сейчас идет набор на оба потока обучения — часть 1 (введение в DL + CV) и часть 2 (NLP).

Особенность нашей школы в том, что мы даем много практики (теория при этом тоже есть, разумеется, и немало). Вам предстоит много практических домашних заданий и самостоятельный итоговый проект в конце семестра. По окончании обучения вы точно получите нужные практические навыки работы с нейросетями. Больше информации об организации курса и программы обучения можно найти тут.

Преподаватели школы — ведущие специалисты российских и зарубежных IT-компаний и научные сотрудники исследовательских лабораторий. Среди них — я (Таня), буду вести у вас несколько лекций в обеих частях курса.

Школа бесплатная. Полностью онлайн: учиться можно из любой точки мира, где есть интернет. Занятия проходят раз в неделю — лекция, семинар и домашнее задание. Обучение проходит на платформе Stepik. Берем всех, отбора нет.
❗️Для первой чати курса также есть возможность приобрести дополнительный пакет, в который входит индивидуальная поддержка от менторов и преподавателей в прохождении курса, а также дополнительные вебинары. Подробнее о нем читайте на нашем сайте.

Регистрация продлится до 17 февраля. Старт обучения на первой части — 10 февраля, на второй — 17 февраля. Чтобы зарегистрироваться на курс, оставьте заявку на нашем сайте. После этого вам на почту придет письмо со ссылками на курс на Степике, на канал и чат в Телеграме (письмо может идти 15-20 минут).

Ссылки:
Наш сайт
Подробная программа и оргинформация обоих частей курса
Ответы на часто задаваемые вопросы (F.A.Q)
Наш YouTube (тут видео всех лекций и семинаров школы, а также открытые лекции и интервью)
Наша группа VK
🧡 Поддержать нашу школу на Boosty

Если остались вопросы, пишите нам на почту ([email protected]) или в комментарии под этим постом.
И ждем вас в чатике курса в новом семестре! =)
^ DLS — это то, что в последнее время занимает у меня много времени и сил. Мы там улучшаем программы обеих частей, записываем новые лекции (вот прям щас я в Москве и завтра поеду на Физтех записывать несколько лекций). Обновили полностью сайт (зацените новый дизайн). А еще организуем олимпиаду DLS по ИИ. Олимпиаду мы делаем с нуля в первый раз, поэтому там очень много веселого откапывается по пути 🫠

Короче, дел полно, и они не заканчиваются. С какой-то стороны мне DLS кажется моим мини-edtech-стартапом, только бумажной волокиты на мне меньше, чем могло бы быть, если бы это была отдельная школа, не связанная с МФТИ. А в остальном мы с еще парой человек всем занимаемся сами.

Как-нибудь напишу об этом опыте посты. Ну и сюда, в канал, тоже в ближайшее время начну писать посты, уже даже соскучилась. А вы пока приходите на новый поток DLS, и друзей зовите =)
Всем привет! Я помню, что еще в декабре я обещала позвать вас на открытую лекцию по одной из тем ML на канале DLS, но, к сожалению, все немного задержалось. Но есть и хорошие новости: мы сейчас согласуем сразу несколько классных открытых лекций на классные темы. Обязательно позову вас тут!

А пока наших лекций нет, приглашаю вас на открытую лекцию от знакомых из DeepSchool.
Тема — «Ускорение нейросетей на практике». Спикер — Саша Гончаренко, СТО стартапа enot.ai.
Время — завтра, 20 февраля, 18:00 МСК.

На лекции будет:
- как ускорить MobileNet v2 при помощи прунинга и квантования;
- как сильно не просесть в качестве при помощи дистилляции и подбора параметров;
- какие сложности могут встретиться и как их решать.

И скажу сразу, на всякий случай: на лекции ребята также собираются представить программу своего курса, связанного с темой лекции.

Зарегистрироваться можно по ссылке. Также к лекции ребята дарят туториал по использованию ONNX Runtime, TensorRT и OpenVino.
А вот и кульминация нашей деятельности DLS последних недель — мы наконец запустили регистрацию на первую олимпиаду Deep Learning School по машинному и глубокому обучению! И я вас на эту олимпиаду приглашаю 🙃

Подробнее про олимпиаду:

▫️На олимпиаде два трека: школьники и студенты+. В школьном треке могут принять участие ученики старших классов общеобразовательных школ, гимназий и лицеев. Трек “студенты+” рассчитан на студентов вузов и молодых специалистов в области глубокого обучения. Иначе говоря, в треке "студенты+" могут участвовать вообще все желающие;

▫️Олимпиада проходит в 2 этапа: отборочный и финальный. Даты отборочного этапа — 8-11 марта, на решение задач тут отводится 24 часа. Финальный этап состоится 30 марта, здесь на решение всех задач будет 6 часов. Олимпиада проходит полностью в онлайн-режиме. Участие в олимпиаде индивидуальное;

▫️В каждом из треков будут несколько теоретических и практических задач на темы, связанные с ML/DL. В теоретических задачах нужно будет отправить правильный ответ в проверяющую систему. В практических задачах нужно будет построить модель машинного обучения для решения задач по темам классического ML, CV и NLP;

▫️ Участники, занявшие первые три места в каждом треке, получат призы. Школьники, занявшие призовые места, получат баллы ИД для поступления в бакалавриат ФПМИ МФТИ. А победители и призёры студенческого трека — баллы ИД для поступления в магистратуру ФПМИ МФТИ.

Приглашаем зарегистрироваться до 23:59 МСК 9 марта. 8 марта в 6:00 по МСК уже можно будет начать решать отборочные задание.

Ссылки ⬇️
Регистрация
Телеграм-канал с новостями олимпиады. Там же можно задать любые вопросы по олимпиаде.

Буду рада, если вы придете поучаствовать и позовете с собой друзей! Это очень нас поддержит, так как мы проводим олимпиаду в первый раз)
Как и писала выше, делаем мы эту олимпиаду в первый раз, и весь процесс оказался не таким простым. Вот эта картинка прекрасно отражает мое состояние после запуска 🫠

А сейчас мне за неделю надо накатать статью на ECCV-2024 (дедлайн подачи 8 марта). Как выложу статью, обязательно напишу тут, о чем она. Ну и backlog тем, о которых хочется написать посты в канал, уже довольно большой стал...
Всем привет! У меня классная новость: в субботу, 16 марта, в 13:00 МСК на YouTube-канале DLS состоится живая открытая лекция от компании Pinely. Приглашаю вас всех тоже!

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

Спикеры:
Павел Швечиков - Team Lead RL в Pinely
Михаил Мосягин - ML Researcher в Pinely
Алексей Пономарев - Developer в Pinely

На лекции можно будет задать любые вопросы спикерам. Ссылка на подключение будет перед началом вебинара. Запись также будет.
Приходите!
Помните, писала пост про десять AI-предсказаний Forbes на 2024 год? Там шестой пункт — про то, что "появятся архитектуры-альтернативы трансформерам". И одним из главных претендентов на архитектуру-убийцу трансформера там была названа Mamba.

Так вот, еще с того момента, как писала тот пост, хотела эту Мамбу заботать, но никак руки не доходили. Но вчера у нас в универ был reading group, который был посвящен как раз Мамбе. Хочу сказать, что reading group действительно помог быстро и понять общую идею модели. Так что собирайтесь в reading club'ы, это круто и полезно)

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

Начем с того, что Mamba — это не какая-то супер-новая архитектура, которая отличается от всего, что мы видели, и которая взяла и перевернула мир. Mamba основана на State Space Models (SSM) — архитектуре, которая была предложена аж в 1960-х. SSM хорошо подходят для работы с непрерывными типами данных, такими, как аудио.

Главные преимущества SSM:
— количество времени и пямяти, которые требуют SSM во время обучения и инференса, растет линейно относительно длины входной последовательности. Если обучить SSM на задачу языкового моделирования, то модель будет тратить константное количество времени и памяти на каждый шаг генерации;
— SSM легко поддерживают огромный размер контекста, до 1 миллиона токенов.

Это все звучит хорошо. Но для дискретных модальностей, таких, как текст, до сих пор успешно применить SMM не удавалось. То есть, условно, не получалось достичь того, чтобы SMM имела сравнимое с транфсормерами качество на задаче языкового моделирования, не требуя при этом сильно больше времени на inference. Главным препятствием тут было то, что механизм стандартных SSM не позволяет модели выделять из входной последовательности отдельные части информации, которые важны для текущего инпута. А это — очень важное умение для LLM. А те модификации SSM, которые так делать умеют, сразу сильно теряют в скорости.

Авторы Mamba предложили пару модификаций в архитектуру современной SSM, которые и позволили Mamba наделать шуму в обществе и стать, как часто пишут, "угрозой для трансформеров". На задаче языкового моделирования Mamba достигает уровня GPT-NeoX, имея в два раза меньше обучаемых параметров. Более того, скорость инференса у Mamba тоже сильно лучше: она достигает улучшения в 5 раз по сравнению с трансформерами — это просто огромный прорыв для SMM. Конечно, это всего лишь сравнение с GPT-NeoX на нескольких бенчмарках, большой Mamba-based LLM типа GPT-4 еще нет и в помине. Но, на первый взгляд, результаты выглядят очень круто.

Но что же такое эта ваша Mamba? Если оочень кратко, то Mamba — это SSM + MLP блок Трансформера + пара трюков для ускорения модели. По архитектуру Mamba я, надеюсь, позже напишу более подробный пост или статью. А вот в трюках для ускорения становится интересно: они основаны не на архитектурных решениях, а на работе с процессором (т.е. они hardware-aware). На основе знаний о нюансах работы частей GPU, авторы предлагают хранить и обрабатывать тензоры, возникающие в процессе работы SSM, в разных частях GPU. Это сильно ускоряет процесс. Большего я тут пока сказать не могу, потому что практически ничего в устройствах hardware не понимаю (хотя моя мама была инженером-наладчиком ЭВМ, вот это ирония))

Вот как-то так. Надо еще сказать, что больше всего шуму Mamba пока что наводит не в мире NLP/LLM, а в медицине. В этом домене есть данные, представленные в виде последовательностей (геномы), и изображений огромного размера (всякие сканы тканей), поэтому у исследователей есть мысль, что Mamba сможет тут реально помочь. А в NLP то ли очень сильная инерция (мы по уши увязли в трансформерах), то ли у SSM есть серьезные ограничения, которых я пока не понимаю. А может, кто-то уже и ведет работу над SSM-LLM, и мы скоро об этом узнаем)

📃Статья Mamba
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть одна вещь в исследованиях вокруг модели CLIP, которую я пока хоть убей не понимаю. Давайте вам расскажу, может, поможете мне понять, в чем я не права.

Осенью я как-то ковыряла CLIP, и наткнулась на сразу кучку статей по очень странной, казалось бы, теме: prompt tuning for visual-language models. Идея этих статей следующая:
Смотрите, вот есть CLIP. Напомню, что это две нейросети — text encoder и image encoder. Эти нейросети переводят текст и изображения в общее пространство эмбеддингов. То есть, если есть картинка и ее текст-описание, то эмбеддинг картинки, полученный из image encoder, будет близок по косинусному расстоянию к эмбеддингу текста, полученному из text encoder. А если текст картинке не соответствует, то эмбеддинги текста и картинки будут по косинусному расстоянию далеки.

Так вот, с помощью CLIP можно решать задачу классификации картинок в zero-shot режиме, т.е. вообще без дообучения. Берем тестовый датасет картинок и названия их классов ('fish', 'dog', ...). Прогоняем названия классов через text encoder, получаем эмбеддинги классов. Далее для каждой картинки получаем ее эмбеддинг из image encoder и сравниваем его по косинусному расстоянию со всеми эмбеддингами классов. Тот класс, для которого косинусное расстояние вышло наименьшим, и будет ответом для картинки.

Таким макаром набирается, скажем, 0.65 accuracy на валидации ImageNet. А дальше возникает следующая идея: давайте придумаем, как получать более хорошие эмбеддинги классов, чтобы zero-shot accuracy стал еще выше. Например, хорошо работает идея с добавлением к названиям классов префикса 'a photo of'. Т.е. если получить эмбеддинги классов в виде 'a photo of <class_name>', то с такими эмбеддингами zero-shot acc станет на пару процентов выше.

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

А дальше еще веселее. Возникает идея: а давайте не просто подбирать разные префиксы и их смешивать, давайте учить псевдо-префикс. Т.е. берем n "псевдо-эмбеддингов слов", берем эмбеддинг названия класса, конкатенируем их и получаем эмбеддинг промпта вида <псевдо-слово_1, ..., псевдо-слово_n, class_name>. На небольшой части трейн сета ImageNet учим эти n псевдо-эмбеддингов слов так, чтобы zero-shot результат классификации картинок ImageNet с помощью этих псевдо-эмбеддингов был как можно выше.

Так вот, к чему я это все. А к тому, что, мне кажется, что сама идея тюнинга промптом для CLIP совершенно не имеет смысла.
Объясню мысль в следующем посте ⬇️
(продолжение поста выше)

Поясню, почему я так думаю. Идея обучения промпта (prompt-tuning) далеко не нова. Она активно используется в NLP и языковых моделях в частности. Идея там такая: пусть у нас есть модель, которая на вход принимает задачу в виде текста на естественном языке. Например, "Translate the following sentence to French: I love machine learning". Моделька, скорее всего, большая, с большим количеством параметром. Если нам захочется дообучить ее под свою задачу, это потребует большого количества данных, времени и хорошего GPU. И тогда возникает хорошая идея: а давайте дообучать модельку не будем, а будем учить правильный промпт-формулировку задачи. Это гораздо проще и быстрее, и часто дает хорошие результаты. Эта идея в NLP работает примерно с появления T5 — первой достаточно большой модели, которая могла решать сразу несколько задачи и принимала на вход описание задачи на естественном языке.

Казалось бы, если идея так хороша с языковыми моделями, то почему бы не применить к CLIP? Собственно, так и рассужали авторы статьи "Learning to Prompt for Vision-Language Models", которая и предлагает идею выучивания промпта для CLIP, которую я описала выше. Но тут есть одно "но": в случае с CLIP у нас есть доступ к внутреннему пространству эмбеддингов текстов и картинок. И мы можем работать прямо в нем.

То есть, мы можем, получить из CLIP эмбеддинги названий классов и картинок, а дальше, например, навесить на эмбеддинги картинок/текста мини-нейросеть-адаптер из пары слоев. И учить эту мини-нейросеть на трейне ImageNet так, чтобы она выдавала новые эмбеддинги картинок/текста. Такие, что на них zero-shot классификация на валидации ImageNet будет показывать лучший accuracy.
И так даже сделали. Вот работа с названием CLIP-Adapter, которая сделала ровно это. Авторы показали, что это работет лучше обучения промптов из работы выше.

Вот так. Короче, я не понимаю, почему люди все еще пытаются учить промпты для CLIP, когда, казалось бы, это не имеет смысла. Зачем учить что-то (промпт), что должно порождать хорошие результаты после некоего сложно преобразования (text encoder), когда мы можем сделать намного проще — учить что-то (нейросеть-адаптер), что само сразу должно порождать нужный результат? Кажется, что в случае нейросети-адаптера задача ставится намного проще, и с оптимизационной точки зрения решить ее легче (не надо тюнить что-то, что проходит через сложное преобразование перед подачей в лосс).

И самое веселое — у статьи "Learning to Prompt for Vision-Language Models" больше 1200 цитирований😐 Это очень много. А еще на той же самой идее эти авторы написали еще статей, где чуть улучшили идею обучения промптов. И на них еще по 800 цитирований тоже...

В общем, помогите Тане понять, в чем смысл prompt-learning для CLIP, ато я совсем не знаю(
Всем привет! в субботу, 27 числа, я буду записывать новый выпуск подкаста Deep Learning Stories. Тема выпуска — соревнования по машинному обучению: взгляд со стороны участника и организатора.

Гости выпуска — Ринат Шарафетдинов, ML-инженер в команде прогнозирования спроса, и Евгений Финогеев, тимлид команды матчинга и машинного обучения, в Samokat.tech.

С гостями обсудим:
- какие соревнования по ML бывают и чем командные соревнования отличаются от индивидуальных;
- в каких соревнованиях стоит участвовать и где их находить;
- зачем компании проводят соревнования по машинному обучению и как сделать соревнование интересным;
- организация соревнований: от подготовки данных до оценки решений;
- насколько участие в соревнованиях полезно для карьеры. Хотят ли компании нанимать Kaggle-мастеров?

Как обычно, задавайте ваши вопросы по теме в комментариях под этим постом. Я постараюсь добавить эти вопросы в программу.

А прошлые выпуски подкаста Deep Learning Stroeis можно найти тут:
- Yandex Music
- Apple Music
- Google Music
- Spotify
- YouTube
#podcast
2024/05/05 08:34:21
Back to Top
HTML Embed Code: