dl_stories | Неотсортированное

Telegram-канал dl_stories - DLStories

14835

Новинки искусственного интеллекта и нейронных сетей. Разборы статей. Ну а вообще, посчу, что захочу :) Сотрудничество/предложения: @atmyre Поддержать: https://t.me/dl_stories/521

Подписаться на канал

DLStories

Сегодня в сенате США выступал Сэм Альтман (CEO OpenAI). Тема заседания — риски и регулирование AI. Были выступления нескольких людей, включая Альмана, а также ответы на вопросы.

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

Во-первых, было ожидаемо, что Сэм Альтман будет появляться на подобных мероприятиях. Ожидаемо после публикации OpenAI текста "Planning for AGI and beyond". Он суммаризует видение компании о том, как должно выглядеть дальнейшее развитие AI, какие риски оно может нести и как эти риски можно нивелировать. Подробно о тексте я писала тут. Один из главных пунктов там — это сотрудничество между крупными AI-игроками, прозрачная проверка всех выпускаемых моделей и сотрудничество с государством. Вот мы и видим, как OpenAI в лице Альтмана к государству приходит.

В посте про "Planning for AGI and beyond" я писала, что меня пункт про "сотрудничество с государством" пугает. Пугал он потому, что было непонятно, как именно компания собирается сотрудничать. Но если под "сотрудничеством" имелись в виду подобные публичные дискуссии, просвещение политиков о состоянии AI и совместная разработка идей, как именно AI сферу нужно регулировать, то я такое поддерживаю. Конечно, тут еще нужно, чтобы государство было адекватным и сотрудничало именно в таком ключе, но это уже не ответственность OpenAI.

Почему я такое поддерживаю, прекрасно иллюстрирует еще одна сегодняшняя новость: в Европе собрали AI Act — документ, который предлагает лицензировать все AI-модели, которые используются на территории ЕС. Умные люди говорят, что его принятие просто заглушит любой opensource в ЕС, и это повлечет за собой закрытие многих AI-based продуктов там. На всякий случай: акт еще не приняли, но могут принять.

Мне это видится так: политики ЕС чуток испугались AI-штук, и решили посильнее закрутить страшной штуке гайки. А пугаются люди чаще всего тогда, когда не понимают. В парламент ЕС Сэмы Альтманы не приходили и дискуссий не вели (ну или я об этом не слышала), поэтому понимание взять неоткуда. А в США на той же самой сегодняшней дискуссии, кстати, прозвучала обратная мысль относительно opensource: вставлять палки в колеса opensource-решениям мы не будем, потому что это замедлит AI-индустрию (по крайней мере, Денис пишет, что эта мысль в выступлении была, я до нее не досмотрела)
Ну или я не права, и ЕС понимают что-то лучше США) Или просто сильнее боятся. Или же ЕС сильнее беспокоится за безопасность, а США больше заинтересованы в экономике и деньгах, которые приносят AI-компании.

Ну и из этого всего еще такая мысль: меня пару раз спрашивали (звучит-то как пафосно, но правда спрашивали)) о том, как, по моему мнению, будет развиваться вся эта история с регулированием AI, которого пока нет, но которое очень нужно. Я отвечала примерно так: когда люди сталкиваются с чем-то новым, они еще не знают, как себя вести и что делать, поэтому их мотает в крайности. Где-то будут технологии запрещать совсем (а-ля как этот акт в ЕС или запрет ChatGPT в Италии), где-то будут регулировать по-минимому (как opensource в США). Где-то будут паниковать, где-то — с оптимизмом смотреть в будущее. Какое-то время общество помотает из стороны в сторону, но потом на опыте себя и других стран все придут в примерный баланс, и в конце концов будет выработан единый "костяк" идеи регулирования AI-сферы.

К слову, вот это вот "мотание в крайности" заметно не только в сфере регулирования, но и в науке. Вспомните Юдковского (и уже, отчасти, Хинтона), которые наводят панику вокруг AI и сулят неминуемую катастрофу. А с другой стороны — Ян ЛеКун, который уже в нескольких интервью говорил, что ничего близкого к Терминатору у нас нет и бояться нечего. Ну или, по крайней мере, очень рано.
Думаю, что через какое-то время, когда мы поковыряем GPT-4 получше, научное сообщество тоже больше поймет о современном состоянии и перпективах AI, и придет в большее равновесие.

Вот как-то так. Ваши мысли?)

Читать полностью…

DLStories

Foundation Models in Computer Vision, часть 2.

Тут разберем идеи обучения CV моделей, которые можно назвать кандидатами на получение foundation model in CV.

1️⃣ SAM (Segment Anything Model).
atmyre/hrnsBpXZMll">SAM — это модель от Meta AI, обученная на огромном датасете для сегментации изображений. Датасет содержит 11 млн картинок и 1.1 млрд масок сегментации. Из-за того, что SAM была обучена на таком огромном количестве данных, это получилась действительно мощная модель. Она способна на одном изображении сегментировать сразу множество объектов, включая объекты небольшого размера и даже те, что модель не видела во время обучения.

В этом плане SAM действительно можно назвать foundation model — она много понимает об объектах, и ее можно успешно дообучать на новые задачи. Но тут есть нюанс: это supervised модель. Для ее обучения нужны размеченные данные. Поэтому масштабировать SAM сложно. Тут, правда, надо сказать, что авторы статьи предложили способ получения датасета сегментаций, который наполовину ручной, а наполовину автоматический. Возможно, таким способом можно будет легче получать еще большие датасеты сегментаций и масштабировать SAM. Но на 100% заменить ручную разметку автоматикой не удастся, особенно если захочется идти "вглубь": собрать датасет, где сегментированы мелкие части объектов.

Устройство SAM я подробно разбирала atmyre/hrnsBpXZMll">в статье тут.

2️⃣ Модели для генерации картинок (Stable Diffusion & co). Тут мысль такая: чтобы научиться хорошо генерировать картинки, нужно действительно много понимать о сути и взаимодействии объектов на изображении. Тут нужно большее понимание природы объектов, чем чтобы научиться решать какую-то задачу по входящей картинке (классификацию/детекцию/...). Поэтому если учить модель генерировать high-res картинки со сложными объектами и взаимодействиями между ними, модель в процессе обучения начнет много "понимать" о данных и построит полезные внутренние представления объектов. А еще эта задача по самой своей сути масштабиреума.

Еще круче учить модель генерировать картинку на основе текста. Так модель учится понимать не только связи между объектами на изображении, но и связи между визуальными объектами и текстовым представлением. И из такой модели можно получить еще более крутые представления.
Конечно, для text-to-image моделей нужна разметка данных. Но такие данные собираются чаще всего автоматически, не вручную, что уже хорошо.

3️⃣ Третий кандидат на получение foundation model в CV — разные подходы self-supervised обучения (SSL). До недавнего времени все идеи SSL на картинках не позволяли получить модели, которые бы выучивали достаточно хорошее внутреннее представление. Но в 2021 году предложили крутую идею: Masked AutoEncoders (MAE). Об этой нейронке я писала пост вот тут. Идея такая — берем изображение, делим его на патчи, случайные патчи закрываем, подаем на вход автоэнкодеру. Задача автоэнкодера — восстановить закрытые патчи.

Такой MAE правда выучивает полезные внутренние представления, которые потом можно использовать в downstream задачах. Из этой работы выросла более общая идея Masked Learning — когда мы какую-то модель (не обязательно автоэнкодер) обучаем восстанавливать закрытые части картинки. Этот подход отлично показал себя во многих задачах. К примеру, в начале 2023 года в Гугле придумали text-to-image модель Muse, которая брала SOTA, и была основана не на диффузии. Внутри нее — трансформер, который учится как раз на задачу Masked Learning. Эту модель я разбирала тут.

А совсем недавно Meta AI выпустили DINO-v2 — новую self-supervised модель для картинок. Она бьет SOTA среди всех self-supervised моделей, и выучивает действительно полезные представления. Одно из основных отличий DINO-v2 от atmyre/ooMFzB7YADA">DINO-v1 — в том, что во второй версии к обучению модели добавили Masked Learning.

В общем, идея masked learning кажется мне хорошим кандидатом на идею обучения, которая приводит к foundation model. Тут еще можно заметить аналогию с NLP: там языковые модели тоже обучаются на задачу masked language modeling.

Какие-то такие у меня сейчас мысли. Буду рада обратной связи)

Читать полностью…

DLStories

Как решать задачу fake images detection

Как обещала выше, написала пост про то, на каких идеях можно пытаться строить решение задачи fake images detection. Но пост снова вышел большим, и я снова оформила его в виде статейки на Teletype.

Чтобы статья была полной и законченной по теме fake images detection, в начале статьи копируется информация из постов выше (почему задача детекции фейков не так проста). А ниже добавлена часть про то, как эту задачу решать.

📄 atmyre/J6qcyBNcPcw">Статья

Читать полностью…

DLStories

Задача fake image detection: почему она не так проста, как кажется (продолжение)

3️⃣ Третья проблема такая: мы хотим, чтобы наша модель для детекции работала "в полевых условиях". То есть, детектила фейки в интернете и где угодно. А в интернете картинки проходят 100500 стадий изменений: где-то они сжимаются (тот же jpeg), где-то на них накладывается шум. Да и сами люди после генерации картинки нейросетью могут изменять ее: накладывать фильтры или править что-то в фотошопе. Все это меняет характеристики картинки, и может сломать модели для детекции. Кажется, что решение — это добавить в датасет картинки, измененные разными способами, но этих способов — просто уйма. Поэтому вместо этого хочется уметь создавать модели, робастные к подобным изменениям. А эту робастность нужно уметь проверять — и тут тоже непонятно, какой протокол тестирования этой робастности выбрать.

4️⃣ А можно же не только генерить картинки с нуля, но и изменять реальные картинки. И получать фейки. И тут непонятно, учитывать ли такие "полуфейковые" картинки в подобных датасетах, или нет. И насколько картинка должна быть "изменена", чтобы считать ее фейком.

Из-за подобных проблем какого-то общепринятого бенчмарка (датасета) для задачи fake image detection пока нет. Ну, или я его не нашла. Каждая статья, которую я читала, придумывала свой датасет, собранный вручную авторами. В последней статье, которую я видела (будет на CVPR-23, кстати!) авторы вообще не сказали, как именно они генерили свой датасет ¯\_(ツ)_/¯ Они, правда, его выложить обещали, посмотрим)

Ну и напоследок два замечания:
- задача fake image detection очень похожа на задачу deepfake detection. Отличие в том, что под "дипфейками" обычно понимают картинки или видео людей, которые либо сгенерированы с нуля, либо изменены. Вот по этой задаче литературы и датасетов уйма. Конечно, модели для deepfake detection заточены именно под дипфейки (т.е. картинки людей), но некоторые идеи, может быть, можно использовать и в более общей задаче fake image detection.
- если мы научимся делать хорошие детекторы фейковых картинок, начнутся поиски идей, как эти детекторы обмануть. То есть, приходим к той же парадигме, что в adversarial attacks: строим защиту -> строим атаку, которая сбивает защиту -> строим защиту от этой атаки -> ...
На самом деле, так даже уже немного происходит) Об этом напишу в следующих постах, где буду разбирать идеи детекции фейковых картинок.

Вот так как-то. В целом, область fake images detection довольно нова, работы и подходы тут только развиваются, поэтому и много неопределенности. Но область явно важная с практической точки зрения. А вы что думаете?

Читать полностью…

DLStories

Еще хотела напомнить про этот опрос. Мы хотим завтра начать анализировать ответы, поэтому если вы хотели его пройти, пройдите, пожалуйста, в ближайшее время. Спасибо❤️

А обычный контент с разборами статей на этом канале возобновится совсем скоро.

Читать полностью…

DLStories

Ребята, тут такие дела: я уже полгода работаю над тем, чтобы создать свой собственный онлайн-курс по нейросетям. Точнее, по основам нейросетей и CNN. И мне в этом сейчас нужна ваша небольшая помощь.

Итак, о чем речь:
Как вы, наверное, знаете, я много преподаю в сфере DL. За годы этой практики у меня накопился опыт в подаче материала, появились хорошие (на мой взгляд) наработки по разным темам. А еще сформировалось видение того, как должно выглядеть хорошее, обстоятельное обучение основам computer vision. И в своем онлайн-курсе я хочу это все систематизировать и соединить в одно целое.

Короче, курс будет по основам нейросетей и CNN. Очень подробный и основательный курс, с кучей деталей и практики. В планы входит постоянная доработка курса и после выпуска, добавление новой информации и доработка старого материала.

Делаю я курс не одна, а с Тасей. Тася — это менеджер курса, т.е. с меня — контент, с нее — упаковка и организация. У Таси уже большой опыт огранизации разного рода обучений по AI, она этим профессионально занимается. И Тася мне сказала, что перед тем, как делать полный контент курса, нужно провести кастдев
Что это такое: мы хотим сделать курс таким, чтобы он был действительно вам нужен. Нам важно, чтобы он не только сочетался с нашим пониманием прекрасного, но и учил вас тому, что вам действительно необходимо. А еще учил так, чтобы вам понравилось. И чтобы лучше разобраться в этом всем, мы создали опрос. И я прошу вас его пройти. Он короткий, займет около 10 минут. Там — вопросы про ваш опыт и ожидания от обучений в сфере AI/DS.

Опрос⬇️
https://forms.gle/q72LVXUGGsbXeU5x9

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

А за процессом работы над курсом можно будет понаблюдать в блоге Таси. Там же она обещала поделиться результатами анализа опроса.

Так вот, заполните анкетку, пожалуйста! Помогите нам сделать хорошо, а плохо не сделать =)

Читать полностью…

DLStories

Data Secrets — журнал в области науки о данных.
#промо

Здесь ребята просто и практично расскажут про Big Data, нейросети, анализ данных и многое другое.

В канале вы найдете:
– Гайд "Как задеплоить модель с помощью FastAPI";
– Интересные трюки по оптимизации памяти;
– Прозрачные обзоры алгоритмов глубокого обучения;
– Математику для Data Science на пальцах;
– Забавные пересказы новых статей.

Присоединяйтесь по ссылке @data_secrets и становитесь экспертом в области науки о данных!

Читать полностью…

DLStories

Накатала в Teletype atmyre/ooMFzB7YADA">разбор DINO — идеи для self-supervised обучения vision моделей (т.е. моделей для обработки картинок).

(если не знаете, что такое self-supervised обучение, об этом ликбез был тут)

DINO был представлен в статье "Emerging Properties in Self-Supervised Vision Transformers". Кроме самого DINO, в статье приводится наблюдение, что у self-supervised трансформеров (например, обученных с помощью DINO) обнаруживается интересное свойство: если подать такому трансформеру на вход картинку, то ее карты внимания, оказывается, сигментируют объект на картинке. Об этой находке и о том, как с ее помощью получить неплохую zero-shot сегментацию нескольких объектов на картинке, я писала в посте тут.

А совсем недавно выпустили вторую версию DINO (DINOv2). В этой статейке я разобрала устройство оригинального DINO, а в следующий раз разберу DINOv2.

📄 atmyre/ooMFzB7YADA">Разбор

Читать полностью…

DLStories

Накопились разные ссылки на обучающие штуки, собрала в небольшой пост:

1. Полгода назад Andrej Karpathy завел Youtube-канал. Там начал выкладывать обучающие видео по некоторым темам. Скопился уже небольшой плейлист. Среди этих видео:
- Интро в backpropagation с кодом в колабе и картинками;
- Интро в языковое моделирование;
- Погружение в функции активаици и batchnorm;
- Backprop для cross-entropy и слоя batchnorm (тоже с кодом, красота прям);
- Пишем код GPT в колабе;
Вообще Andrej советует смотреть видео в плейлисте по порядку, т.к. каждое следующее использует знания из предыдущих. Я сама хочу посмотреть все подряд)

2. Борис сделал колаб ноутбук про взрыв и затухание градиентов. С наглядной демонстрацией, как эти явления появляются, и как чинить.

3. А Игорь из Сиолошной выложил двухчасовое видео с разбором архитектуры Трансформера. Вроде говорят, у него неплохо получалось эту тему объяснять.

Если еще что-то хорошее знаете, можно делиться в комментариях.

Читать полностью…

DLStories

Consistency Models: диффузия, которая восстанавливает картинку из шума за один шаг

Интересная работа от OpenAI попалась мне в рассылке от Synched. Тут учат диффузию генерировать картинку из шума за один шаг, без итеративного процесса денойзинга.

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

Итак, идея:
Обычная диффузия берет картинку х, зашумляет ее в течение t шагов, получая последовательность шумных картинок x_t, t =0...T. А затем учится для каждого t по x_{t+1} восстанавливать x_t.
А consistency model — это диффузионка, которую учат для любого t по x_t восстанавливать x (изначальную картинку).

То есть, пусть у нас есть траектория движения от шумной картинки x_T до изначальной картинки x. Берем две последовательные точки x_{t+1} и x_{t} на этой траектории, и обучаем модельку по x_{t+1} и x_{t} восстанавливать одинаковую картинку.

Получать точки x_{t+1} и x_{t} на траектории предлагается двумя способами:
1. Выбираем z ~ N(0, 1), зашумляем исходную картинку х с помощью z, получая x_{t} и x_{t+1}.
2. Сначала зашумить картинку х, получив x_{t+1}. Взять предобученную обычную диффузионку, с помощью нее из x_{t+1} получить x_t

В первом случае мы обучаем consistency model с нуля. Во втором же случае мы опираемся на предобученную диффузионку, т.е. по сути, это алгоритм дистилляции предобученной модели.

Consistency model при этом тоже можно сделать multi-step. Берем зашумленную картинку x_T, восстанавливаем за один шаг до x. Затем снова немного зашумляем полученный x, и снова восстанавливаем. Так можно добиться того, что качество картинки х после нескольких шагов станет лучше.

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

📄Статья

Читать полностью…

DLStories

Обещала разбор SAM, и сделала. Правда, текста снова вышло много, поэтому решила оформить в виде статейки. Заодно потестила Teletype (на замену telegra.ph). atmyre/hrnsBpXZMll">Статейка — вот

В atmyre/hrnsBpXZMll">статье — о том, как устроена архитектура SAM, как собирали датасет для обучения (не очень очевидным способом), а также как так вышло, что модель умеет сегментировать объекты на картинке по текстовому описанию, хотя в датасете никаких текстов нет вообще. Идея, как такого добились, мне лично показалась очень интересной. Собственно, практически ради нее я этот лонгрид и писала)

P.S. В Teletype, если что, тоже можно оставлять комменты и реакции к статьям =)

Читать полностью…

DLStories

Только что от автора Сиолошной узнала, что прямо сейчас на Ютубе идёт беседа Эндрю Ына с Яном ЛеКуном. Беседуют про вот эту идею остановить разработку мощного ИИ на 6 месяцев. ЛеКун против этой идеи (высказывался об этом сразу после публикации петиции), поэтому и разговор называется "Why the 6-month AI pause is a bad idea"

Начали всего 20 минут назад. К видео есть форма для вопросов и живой чат.

Смотреть тут

Читать полностью…

DLStories

Тот самый хардкорный курс по машинному обучению от Валерия Бабушкина и других топов рынка.
#промо

Теперь не обязательно покупать целиком — можно выбрать наиболее актуальные для вас задачи бизнеса.

● Ранжирование и матчинг: поймёте как применять матчинг в бизнесе и узнаете тонкости пайплайнов работы поисковых систем.

● Динамическое ценообразование: научитесь прогнозировать временные ряды, работать с диапазонами цен и применять многоруких бандитов для оптимизации выручки компании.

● Uplift-моделирование: узнаете, как выбрать правильный таргет для прогноза и организовать библиотеку факторов.

● Продвинутое A/B-тестирование: научитесь применять современные методы повышения чувствительности A/B-тестов, рассмотрите полный пайплайн тестирования и реализуете свой сервис для оценки экспериментов.

● Сценарии деплоя ML-сервисов: научитесь выводить ML-модели в прод и узнаете, когда их пора отправлять на дообучение.

Присоединяйтесь по ссылке до 7 апреля. По промокоду DL25 для вас скидка 5%.

Читать полностью…

DLStories

^ Интересно, будет ли модель от Гугла - конкурент GPT-4 использовать эту идею

Читать полностью…

DLStories

Есть такой институт, оказывается, "Будущее жизни" (да, я о таком тоже первый раз слышу). Занимаются они исследованием рисков и угроз от разных технологий: ядерки, autonomous weapons и т.п. А еще, похоже, занялись и угрозами AI. И вчера они опубликовали открытое письмо, в котором призвали на 6 месяцев остановить разработку любых AI-систем, сравнимых с GPT-4 по мощи. Письмо вот.

Идея понятна: прогресс идет слишком быстро, мы не особо понимаем, к чему он может привести. И не успеваем за этим прогрессом выработать хоть какую-то адекватную регуляцию этого ИИ.
Во время паузы предлагают сделать следующее:
- Понять, что мы хотим от AI. Хотим ли мы, чтобы AI заменял прям все профессии, которые может? Хотим ли мы сделать робота-гуманоида? Ок ли нам, что AI заполонит интернет генерациями и фейк-ньюз?
- Выработать протоколы безопасности и регуляции разработки AI: как делать AI более робастным, безопасным, надежным и... loyal (ок, но не уверена, что с этим согласна).
В этом пункте про "выработать протоколы" они даже ссылаются на недавний стейтмент OpenAI, в котором была строчка: "At some point, it may be important to get independent review before starting to train future systems, and for the most advanced efforts to agree to limit the rate of growth of compute used for creating new models". Считают, что этот момент — прямо сейчас.

В коммьюнити, насколько я понимаю, была неоднозначная реакция на этот пост. В основном выражались два консерна (с которыми я согласна):
- 6 месяцев — это очень мало (но это ладно, так-то и продлить можно);
- Это бесполезно. В мире еще нет такого консенсуса, чтобы была возможна ситуация, когда большие компании и страны договариваются приостановить разработки AI. От себя добавлю: если вам тут на ум пришло ядерное оружие, по которому сировая договоренность в каком-то виде таки была достигнута, то у AI, на мой взгляд, другая ситуация. Тут риски не так очевидны, польза быть первы и классным — очевидна. А еще, испытания ядерки в тайне держать не получится. А AI — легко.

Но тут есть еще пара веселых моментов:
- Под письмом стоят подписи таких людей, как Йошуа Бенджио, Илон Маск, Ян ЛеКун. Последний вот в твиттере сказал, что это чушь, с письмом он не согласен и его не подписывал. В приципе, неудивительно: вряд ли при подписании проверяют твою истинную имя-фамилию. Но все равно кек)
- Кто-то нашел в письме конспирологию и считает, что письмо написано не из-за реальных консернов компании по поводу AI, а просто Илон Маск бесится.
Бесится он вот почему: в 2018 году он ушел из OpenAI после неудачной попытки стать единоличным главой компании. А теперь OpenAI сделали такой крутой AI, а он остался в стороне. То, что у Маска есть по этому поводу какие-то эмоции, подтверждается тем, что он хочет создать свою компанию-конкурента OpenAI (вот новость). А институт "Будущее жизни" финансируется организацией Musk Foundation. Плюс, Илон указан на сайте как один из external advisors. Отсюда возникла мысль, что Маск просто хочет насолить OpenAI))

Ну и еще в копилку к теме: сегодня в журнале Time вышла статья Элизера Юдковского (основатель LessWrong, на вики представлен как "специалист по искусственному интеллекту, исследующий проблемы технологической сингулярности и выступающий за создание дружественного ИИ"). Статья называется "Pausing AI Developments Isn't Enough. We Need to Shut it All Down", а первая строчка касается инициативы института будущего жизни: "This 6-month moratorium would be better than no moratorium."

UPD: о, вот Лекс Фридман как раз выложил ссылку на интервью с Юдковским. В том числе и про "danger of AI to destroy human civilization"

Читать полностью…

DLStories

Как не забывать теорию Deep Learning и учить новое?
#промо

Можно подписаться на канал DeepSchool! Авторы канала — практикующие ML-инженеры, и они понятным языком расскажут вам о своей работе.

В канале вы найдете:
- короткие посты с теорией;
- разборы статей;
- советы по обучению сетей;
- вопросы с собеседований;
- и обзоры фреймворков.

Примеры постов:
1. Обзор ключевых идей MobileNet — что делает эту архитектуру столь эффективной;
2. Инструкция: на что обращать внимание при выборе и подготовке датасета;
3. Что такое attention;
4. Об асинхронности вычислений на GPU;
5. Вопрос с собеседования на дообучение сегментационной модели.

Кроме этого, в канале бывают живые интервью с людьми из ML-сферы. Например, вот интервью с Владом Лялиным — PhD студентом в University of Massachusetts Lowell. Говорили про то, как попасть на PhD в США, как подготовиться к собеседованию на стажировку в Google, Apple, Amazon, и про отличия DS-сообществ СНГ и США.

Подписывайтесь, чтобы прокачиваться в ML и узнавать новое вместе c нами =)

Читать полностью…

DLStories

Foundation Models in Computer Vision, часть 1.

В этом и следующем посте суммаризую свои мысли по поводу того, как и на основе каких идей может появиться foundation model для задач, связанных с картинками.

Для начала, в этом посте поговорим о том, что такое foundation model.

Прямо четкого определения foundation model, насколько я знаю, нет. Чаще всего под этим понимают такую модель машинного обучения, которая обучалась на какую-то задачу на огромном количестве данных, и это заставило модель выучивать хорошие и полезные внутренние представления этих данных. "Хорошие и полезные" означает, что либо эту модель после обучения можно напрямую применять для решения кучи разных задач, либо же эту модель (или ее часть) можно легко дообучить для решения кучи разных задач.
Еще одно важное свойство, которое должно быть у foundation моделей — то, что они должны масштабироваться. То есть, пусть у нас есть foundation model X. Мы ожидаем, что если мы посмтроим модель побольше, и обучим ее на ту же самую задачу на еще большем количестве данных, то эта модель сможет выучить еще более хорошие, полезные и точные внутренние представления объектов. И ее внутренние представления объектов должны давать еще более лучший результат при дообучении на другие задачи.

Получается, чтобы получить foundation model, нужно придумать такую задачу, что при обучении модели на эту задачу модель сможет выучивать хорошие внутренние представления объектов. И при этом задача должна быть такой, что при увеличении размера модели и кол-ва данных для обучения модель будет выучивать все более полезные и точные представления объектов.

В сфере NLP такую задачу придумали — это языковое моделирование. На ее основе получились GPT, которые смело можно назвать foundation model в NLP. Действительно, мы видим, что GPT — это модель, которая была обучена на большом количестве данных, и может решать самые разнообразные задачи: question answering, машинный перевод, суммаризация текста и т.п. И для нее выполняется условие масштабируемости: увеличивая размер модели и кол-во данных (GPT-2 -> GPT-3 -> GPT-4) мы получаем все более "умную" модель. Конечно, при переходе от GPT-3 к GPT-4 сам процесс обучения модели немного изменился, стал более сложным. Но суть его осталась той же, поэтому все еще можно говорить о масштабируемости.

Огромный плюс задачи языкового моделирования в том, что для нее не нужно размечать данные, и сам процесс обучения модели довольно прост. Набираем корпус текстов и заставляем модель предсказывать следующий токен на основе предыдущих. То, что разметка данных не нужна, позволяет достаточно просто модели масштабировать. Поэтому, к слову, когда говорят о foundation models, обычно имеют в виду модели, обученные в self-supervised/unsupervised режимах.

В сфере CV с foundation models дела обстоят сложнее. Прямого аналога задачи языкового моделирования тут нет, поэтому приходится изобретать что-то другое. Есть несколько идей обучения CV моделей, которые являются кандидатами на получение foundation model. Их и разберу в следующем посте ⬇️

Читать полностью…

DLStories

О чем этот канал и что тут есть

Всем привет! За последний год канал сильно вырос, а я как-то даже и не писала за это время о том, кто я, что это за канал и что тут есть. Исправляюсь!

Кто я:
Меня зовут Таня, я — единственный автор этого канала. Сейчас я PhD студент в Queen Mary University of London, исследую foundation модели computer vision. Как только из моей научки выйдет что-то хорошее, обязательно поделюсь с вами)
До PhD я работала AI рисерчером в Philips и Huawei. А еще я преподаю глубокое обучение и computer vision. Например, я один из создателей и преподавателей Deep Learning School — это бесплатная школа глубокого обучения при МФТИ. Мы проводим наборы каждый семестр, а все наши лекции и семинары лежат в открытом достпе на YouTube-канале. Подробнее о школе можно почитать тут.
Кроме этого, мы с командой DLS также записали бесплатный курс по основам машинного обучения. Подробнее о курсе тут.

О чем канал:
В канале я в основном разбираю интересные научные статьи по разным темам AI. Стараюсь разбирать как можно более полно и понятно, выделяя суть. Разборы можно найти по хэштегу #paper. Некоторые из них получаются слишком длинными, и я пишу их в atmyre">Teletype.
Кроме разборов тут бывают ссылки на обучающие материалы (хэштег #learning), а также рассуждения на разные темы вокруг AI (хэштег #ai_inside). В целом, пишу о том, что меня интересует в данный момент.

Также на канале бывает реклама, она помечена хэштегом "промо". Реклама помогает мне не упасть в социальную яму как PhD студенту, а также добавляет мотивации делать разборы статей. Стараюсь делать рекламу нечасто.

Что еще есть полезного:
У меня есть подкаст Deep Learning Stories, куда я приглашаю разных людей из мира AI поговорить за разные темы. Сейчас в подкасте 7 выпусков. Среди них о том, как проходить собеседования в AI research, нужна ли математика в AI и какая, как там с AI в медицине, квантовой физике и сейсмологии, и просто рассуждения вокруг рисерча с крутыми гостями.
Подкаст можно найти тут:
- Yandex Music
- Apple Music
- Google Music
- Spotify
- Anchor.fm
- YouTube
(скоро планирую записывать еще выпуски)

Еще у меня есть две большие статьи на Хабре:
- Что такое inductive bias и где он есть в нейросетях;
- Структурное мышление, или важное отличие человека от ИИ

Вот так. Вроде бы, ничего не забыла. В общем, welcome новым читаталям! И большое спасибо тем, кто читает канал уже давно 💜
Если есть вопросы, прошу в комментарии)

Читать полностью…

DLStories

Недавно в своих странствиях в темах для исследований и статьях по vision набрела на задачу детекции сгенерированных изображений (fake image detection). В этом и следующем посте я опишу то, что это за задача, и почему она не так проста, как кажется. А дальше постараюсь суммаризовать идеи, на которых пытаются строить решение этой задачи.

Итак, задача fake image detection: почему она не так проста, как кажется:

Задача fake image detection — отличить изображения, сгенерированные нейросетью, от реальных. В свете того, что в последнее время выходит много классных open-source моделек для генерации картинок, и генерируют они уже довольно качественно (вы только посмотрите на IF!), задача начинает быть актуальной. Вспомним хотя бы картинку Папы Римского в пуховике и картинки Трампа за решеткой: насколько я слышала, на них реально повелось много народу.

Несмотря на актуальность задачи, с исследовательской точки зрения подступиться к ней не так просто. Главный нюанс — непонятно, как построить датасет и систему оценки моделей.

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

1️⃣ Моделей для генерации картинок много разных. И постоянно выходят новые. Если собрать датасет картинок из конкретных моделей и учить на нем нейронку, есть риск переобучить ее на эти конкретные модели. И когда выйдет новая генеративка IF-2.0, на ней детекция фейков работать не будет. Ну и смысла в таком детекторе, который детектит только картинки из конкретных моделей, нет.

Эту проблему чаще всего решают так: собирают датасет фейковых картинок из нескольких моделей. И в тренировочной части оставляют фейки только из одной модели (например, ProGAN). А в тестовой части данных остаются фейки из всех других моделей — SD, Glide, других ГАНов, DALL-E и т.п. Таким образом проверяется то, что ваша модель для детекции может быть обучена на фейках из одной конкретной модели, но при этом научиться детектить фейки и из других генеративок.
Такой принцип разделения данных на трейн и тест сейчас, насколько я вижу, стандартный для статей в области детекции фейков.

2️⃣ Вторая проблема связана с балансированием фейковых и реальных картинок в датасете. Мы хотим, чтобы наша модель научилась отличать любые фейковые картинки от любых реальных. Для этого нужно убедиться, что в ваших данных реальные картинки отличаются от фейковых именно теми характеристиками, которые влияют на "фейковость". А в остальном распределения фейковых и реальных картинок должны быть одинаковы. Если сделать датасет из реальных картинок попугаев и фейковых картинок слонов, нейросеть прекрасно обучится их разделять, но что-то мне подсказывает, что на картинках вне этого датасета она хорошо работать не будет)

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

Продолжение ⬇️

Читать полностью…

DLStories

Как видите, у меня бывают периоды, когда я загружена другими делами и регулярный контент в канале делать не выходит. Как, например, сейчас. В такие моменты хочется предложить вам читать хорошие каналы моих коллег, которые тоже интересно пишут на темы, связанные с AI. Думала даже как-то сделать пост-подборку таких: в конце концов, пишем мы чаще всего про разное и по-разному, так что каналы хорошо дополняют друг друга. Ну и вы можете выбрать те, которые нравятся вам больше всего и близки вам по тематике)

А сегодня мне очень кстати написали админы нескольких каналов с предложением сделать взаимопиар. Ну я согласилась)

Список каналов с кратким описанием ниже. Все каналы из списка я читаю, мне нравятся. А три из них читаю уже прям очень давно.

- @seeallochnaya - контент вокруг ML, в основном NLP и языковых моделей. Игорь разбирает новые идеи и статьи из этой области простыми словами. Честно скажу, мне удается хоть как-то следить за тем, что там происходит в сфере языковых моделей в основном по этому каналу)
- @ai_newz - новости вокруг ML на совершенно разные темы, от CV и NLP до augmented reality и новостей про технологии и бизнес. Часто там появляются посты про новые статьи, которые я потом детально разбираю у себя. Автор — рисерчер в Meta AI, так что шарит, о чем пишет.
- @aihappens - канал предпринимателя, строящего бизнесы вокруг нейросетей. Хороший способ посмотреть на AI не только со стороны рисерча, но и со стороны бизнеса и пользователя. Также бывают разборы лекций и отдельных тем.
- @dlinnlp - контент вокруг NLP и языковых моделей. Часто бывают разборы статей из этой области. Автор также занимается NLP, поэтому знает, о чем пишет.
- @NeuralShit - здесь мемы про машинное обучение. Смешные) Нейронные волки, кстати — это проект автора канала =)

Если кому-то будет удобнее, есть ссылка на папку в тг, где собраны все эти каналы + мой: /channel/addlist/W07iyMJ-23djZmQy

UPD: Если уж на то пошло, то вот ссылка на мою личную папку с каналами по AI, которые я читаю: /channel/addlist/uE11YSl010ljZDY6

В комментарии можете скидывать свои ссылки на хорошие каналы и папки)

Читать полностью…

DLStories

На канале Тани Шавриной нашла ссылку на шпаргалку по языковым моделям.

Их в последнее время, кажется, столько разных развелось, что я уже потеряла надежду в них разобраться, и даже с этим смирилась. В принципе, не страшно, я в первую очередь не NLP занимаюсь) Но если хотите разобраться вы, или хотя бы понять на высоком уровне, как шел прогресс и какие ветви есть, то гайд будет полезен. К гайду прилагается статья-обзор "Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond"

А еще в гайде есть инструкция по выбору модели для своего NLP-проекта.

📄Шпаргалка

Читать полностью…

DLStories

Вот вам кое-что очень крутое: подробный гайд от Meta AI по self-supervised learning (SSL).

Это даже не просто гайд, а целая мини-книга (cookbook, как называют авторы). В ней:
- Что такое SSL и чем хорош подход;
- Как SSL придумали и как он развивался;
- Обзоры основных подходов SSL;
- Трюки, как лучше всего обучать SSL-модельки.

В разделе про трюки, кстати, рассказывают про обновление весов сети-учителя в подходе teacher-student с помощью moving average. Этим же способом обучается сеть-учитель в DINO, разбор которого я писала в посте выше. В разборе я написала, что этот трюк сейчас используется много где, но я не знаю, почему он такой успешный. А вот, в гайде от Meta как раз про это есть! (раздел 3.4.1)

В книге делается упор на SSL в картинках (computer vision), но в последнем разделе также немного говорится про использование SSL в других доменах.

Вообще, Meta AI в последнее время публикует слишком много хороших работ в computer vision. Одни SAM и DINO-v2 уже многого стоят. Кажется, они решили стать а-ля OpenAI в visual домене. А SSL — это один из многообещающих подходов к построению действительно мощных моделей, потому что он не требует разметки данных, и при этом позволяет научить модели очень много "понимать" о данных. Сами Meta в своем анонсе книги назвали SSL "темной материей интеллекта", и "ключевых ингридиентом недавних прорывов".

Что ж, вот я и нашла, что читать завтра в самолете =)

Ссылки:
📘 The self-supervised learning cookbook
Инфу о книге нашла тут
А если не понимаете, что такое SSL и нужна ли вам книга, прочитайте сначала этот краткий ликбез по SSL

Читать полностью…

DLStories

Продолжая тему обучалок: меня попросили рассказать о том, что в этом году подачи заявок в Школу Анализа Даных (ШАД) открыты до 7 мая (обычно закрывались в апреле). А я в этом канале что-то про ШАД особо не писала. Хотя я там училась в 2016-2018 годах, а с 2020 даже чуть-чуть преподаю на курсе Deep Vision & Graphics. И в целом, ШАД я нежно люблю и считаю, что он много мне дал и дает до сих пор (и я сейчас не только про халявные толстовки для преподов)))

В этом посте я чуть подробнее расскажу про то, что такое ШАД, кому стоит туда идти и что там как. Если у вас появятся вопросы, пишите в комментарии, постараюсь ответить. А если ответить не смогу, спрошу у знающих людей.

Итак, ШАД — это школа, где учат машинному обучению и анализу данных. Программа длится два года, обучение бесплатное. Занятия идут по вечерам, так что учебу можно совмещать с работой. Преподаватели — известные исследователи/разработчики, в основном сотрудники Яндекса. У меня, например, преподавали Ветров, Конюшин, Лемпицкий и другие.

В ШАДе на выбор есть четыре направления:
- Data science;
- Инфраструктура больших данных;
- Разработка машинного обучения;
- Анализ данных в прикладных науках;
Выбор направления зависит от того, на чем в сфере МЛ вы хотите специализироваться. Например, больше уйти в науку или разработку, и что именно разрабатывать. Подробнее о каждом направлении читайте тут.

На каждом направлении есть обязательные курсы, а есть курсы по выбору. В каждом семестре нужно закрыть три курса, но можно брать и больше. Обязательные курсы начинаются с фундамента (математика, программирование, основы МЛ) и заканчиваются специализациями для каждого направления. На каждом курсе очень много практики.
Курсы бывают обычные (лекции-семинары-дз), а бывают проектные. Проекты — это очень крутая практика реальной работы в команде. Вот пример крутого проекта, который студенты ШАДа сделали совсем недавно — библиотека для распределения весов модели по нескольким gpu.

И вот еще два пункта, за которые я ШАД очень люблю:
- В ШАДе следят за развитием области. Стараются организовывать новые курсы и обновлять старые. Например, когда училась я, появился новый курс по self-driving cars. А мы вот только недавно обновляли курс Deep Vision & Graphics, добавляли новые темы.
- Главная ценность ШАДа — это коммьюнити. Вы познакомитесь с крутыми людьми, получите много опыта. И это коммьюнити останется с вами навсегда (по своему опыту говорю). А что еще приятно — студенты ШАД имеют доступ до всех лекций всех курсов и после выпуска.

Короче, ШАД — это круто. Но, наверное, уже понятно, что учиться в ШАДе сложно. ШАД — это основательное и интенсивное обучение, а не курс до мидла за 3 месяца левым пальцем. Нужно будет уделять учебе примерно 30 часов в неделю на протяжении двух лет. Короче, фраза на сайте школы "будет сложно, но оно того стоит" — верна.

Подытожу. ШАД — это для вас, если вы:
- Обладаете хорошей математической подготовкой и умеете кодить;
- Действительно хотите развиваться в МЛ;
- Готовы уделять учебе много времени.

Чтобы поступить, нужно сделать следующее:
- Подать заявку тут до 7 мая. Обратите внимание, что в этом году есть два варианта поступления: для студентов без опыта разработки и для IT-специалистов с опытом;
- Пройти онлайн-тестирование;
- Сдать онлайн-экзамен.

Более подробно про процесс и варианты поступления читайте на странице школы. Если остались вопросы, с радостью отвечу в комментариях⬇️

Читать полностью…

DLStories

Если у вас возникло ощущение "очень интересно, но ничего не понятно" от описания consistency models выше, попробую чуть пояснить)

Когда смотришь на идею вида "просто зашумим картинку, получим x_t, x_{t+1} и будем учить сразу восстанавливать x", становится действительно странно. Типа ээ, а что так можно было? Почему так не делали раньше? Почему это вообще будет работать?

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

И еще вот что могу сказать (может, поможет в понимании, что произошло): после обучения consistency model у модели получается взаимно-однозначное соответствие между точками латентного пространства и точками пространства картинок (см картинку к посту). То есть, пространство разбивается на траектории, и из каждой точки одной траектории модель восстанавливает одну и ту же картинку. Это позволяет интерполировать точки латентного пространства, как в VAE. Т.е. пусть у вас есть две точки, из одной из которых модель генерит попугая, а из второй — слона. Если взять точку на пути между этими двумя точками, то из нее получится что-то среднее между попугаем и слоном.

P.S. Если где-то говорю бред, пишите, пожалуйста

Читать полностью…

DLStories

Написали уже много кто, но напишу и я. Новость дня — OpenAI запустил Bug Bounty Program. Смысл такой: вы находите баги в сервисах OpenAI, а вам за это платят реальными деньгами.

Когда это выложили, показалось, что теперь можно искать баги в ответах ChatGPT (ой она меня оскорбила/выдала неверную инфу о телескопе/сгенерила код для взлома Пентагона/начала галлюционировать) и получать за каждый по $200+. Но это не так. Деньги дают за поиск уязвимостей в инфраструктуре по типу "DROP TABLE USERS..."
Например:
- безопасность интерфейса ChatGPT и плагинов, работающих на его основе. Проблемы с аутентификацией/регистрацией/платежами, утечка данных и т.п.;
- провека того, что нельзя получить доступ к конфиденциальной информация OpenAI через third-party, т.е, через компании-пертнеры вроде Notion, Confluence и т.п.;
- проверка утечек API-ключей партнеров в открытый доступ в интернет.

Короче, это больше для тех, кто увлекается security. А если хочется поджейлбрейкать ChatGPT, то фидбек о нежелательном поведении модели можно посылать сюда. Правда, денег не дадут)

Полные условия Bug Bounty Program читайте тут. Тут же можно отправить свою найденную уязвимость.

Читать полностью…

DLStories

Итак, SAM (Segment Anything Model) — модель от Meta AI, обученная на огромном датасете для сегментации изображений (11 млн картинок и 1.1 млрд масок сегментации). Датасет тоже выложили вместе с моделью, кстати.

С помощью модели можно:
✔️ одновременно сегментировать огромное количество объектов разного размера на одной картинке. Включая даже те объекты, которых не было в обучающей выборке;
✔️ сегментировать объект на картинке на основе:
- точки на объекте (ставите мышкой точку на объект, который хотите сегментировать, и модель это делает);
- bounding box'а объекта;
- примерной маски объекта;
- текста-описания объекта;
✔️ с помощью хитрого построения входа и постпроцессинга выхода модели решать некоторые задачи, на которые модель напрямую не обучалась:
- edge detection;
- instance segmentation;
- object proposal.

Сами авторы считают, что SAM может стать foundation model, т.е. что-то вроде GPT-3 в сфере сегментации картинок. Foundation model — это модель, которая обучилась на какую-то задачу на огромном количестве данных, и это породило у нее способности к решению многих других задач, на которые она напрямую не обучалась, в few-shot и zero-shot режимах.
Только прочитав статью, я не уверена, что я с этим согласна. На мой взгляд, те задачи, на которых SAM показывает способности к zero-shot — это та же сегментация, только вид подачи данных на вход модели немного отличается. Т.е. не то чтобы тут у модели возникают какие-то новые неожиданные способности. Но SAM — это точно foundation model в том смысле, что обучена модель была на огромном количестве данных, и из-за этого ее должно быть очень легко дообучить под свою конкретную задачу. Это такой ImageNet для задачи сегментауии, короче.

Ссылки:
📄Статья
💻Сайт с онлайн-демо
Ниже чуть позже разберу устройство SAM подробнее ⬇️

Читать полностью…

DLStories

Чтобы разнообразить лето, решила поискать себе какую-нибудь летнюю школу по DL, связанную с своей темой рисерча. В поисках нашла гитхаб-репо с набором ссылок на такие школы: awesome-mlss. Для каждой указаны даты, дедлайны подачи и тема. Есть даже российские! А еще, кажется, репо постоянно обновляется: 3 ссылки добавили 2 дня назад.

А если вы знаете еще какие-то хорошие школы, пишите в комментарии. Может, кому-то (или даже мне))) будет полезно.

Читать полностью…

DLStories

Я давно обещала выложить пост о том, когда начнется весенний семестр второй части DLSchool. Но так и не выложила. А дело в том, что мы эту часть решили переделать: полностью обновить программу и перезаписать все занятия (прогресса-то в этой области с момента записи курса ого-го стало). Поэтому в этот раз вторая часть стартует намного позже, чем это было обычно.

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

Ссылки:
Регистрация тут (после нее на почу ничего не придет)
Курс будет на Степике тут
Также нужно вступить в телеграм-канал школы и чат весеннего потока второй части.

Что будет на курсе:
Вторая часть DLSchool посвящена NLP (обработке текста) и аудио. Начинаем с эмбеддингов и RNN, заканчиваем моделями Transformer, BERT, и GPT, их нюансами и деталями. Также разбираем различные задачи NLP. Последние три занятия — обработка звука.

❗️Вторая часть курса является логическим продолжением первой части. Чтобы успешно учиться, нужно знать принципы работы нейросетей и CNN. Поэтому если вы только поступили на первую часть и неуверенно чувствуете себя в DL, не рекомендуем записываться сразу и на вторую часть. Пройдите сначала первую, в следующем семестре сможете пройти вторую (набор на обе части стартует каждый семестр).

Ждем вас! В качестве затравки скажу, что для проведения занятий по BERT, GPT и Трансформерам мы пригласили новых классных людей, которые с этими моделями работают и хорошо в них разбираются 🙃

Читать полностью…

DLStories

Memorizing Transformers: как приделать к языковой модели внешнюю память, чтобы расширить контекст до 260.000 токенов

Языковые модели сейчас получаются классненькие, но все равно не идеальные. Одна из главных проблем — длина контекста (количество токенов текста, на которое модель может опираться, выдавая очередную генерацию). В стандартной GPT-4, к примеру, длина контекста — 8.000 токенов. В расширенной версии — 32.000. То есть, лучшая GPT-4 "видит" только 32.000 токенов поданного на вход текста. Все, что дальше, для нее не существует.

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

Идея внешней памяти сама по себе даалекоо не нова, ее и в СV, и в NLP развивают много лет со всех сторон. Но ребята из Гугла придумали новую идею этого механизма, довольно простую и эффекивную.

Вот в чем идея:
Устройство показано на 1 картинке к посту. Берем обычную языковую модель (трансформер). Берем один слой attention внутри этого трансформера (авторы берут слой, близкий к концу сети). К этому слою приделываем хранилище key-value пар, механизм выделения из хранилица нужной инфы и механизм использования этой инфы — еще один attention.

Сейчас расскажу, как эти части устроены. На каждом шаге генерации языковой модели происходит следующее:
- В хранилище добавляются все значения key и value для всех поданых на вход токенов и всех голов attention этого слоя;
- Для значений query всех поданых на вход токенов с помощью KNN ищутся k ближайших key-value пар из хранилища;
- Считается attention между query всех поданых на вход токенов и этими k ближайшими key-value парами. Из k полученных значений attention для каждого токена берется взвешенное среднее — получается одно значение attention на каждый входной токен;
- Считается обычный attention между query, key и value всех поданых на вход токенов;
- Два полученных attention фьюзятся в один также с помощью взвешенного среднего.

Все. Эксперименты показывают, что такая идея позволяет модели выделять релевантную инфу из памяти, которая была записана туда много-много токенов назад. Авторы тестировали модель на разных датасетах, включая датасет статей из arxiv, кода на GitHub, а также PG-19 — это датасет книг на английском языке, который стал классическим бенчмарком для проверки long-range natural language text modeling.

В общем-то, на всех них perplexity модели с памятью вместимостью 65к токенов выигрывает у модели без памяти (2 картинка к посту). Более того, у авторов получилось, что небольшой трансформер с внешней памятью всего 8к может показывать те же результаты, что большой трансформер без памяти, у которого в 5 раз больше обучаемых параметров.

Ну и что еще круто: эту память можно приделать при дообучении предобученной модели. Дообучать придется не очень много — модель быстро учится использовать механизм памяти и улучшает результат (3 картинка к посту)

Ну вот, общая идея такая. В устройстве модели есть еще пара важных нюансов, о них читайте в разделах 3.2 и 3.3 статьи.

Сcылки:
📄 Статья
🛠 Код на GitHub (неофициальный)
Про модельку услышала тут

Читать полностью…

DLStories

Теперь немного про "важно изучать нейробиологию живых организмов и применять эти знания к разработке AI"

Вообще, много идей в AI были вдохновлены устройством биологических нейронов и мозга (что бы ни говорили те люди, которые каждый раз приходят в комментарии со словами "да не похож ваш AI на биологию вообще, хватит выпендриваться, там все сложнее"). Яркие примеры — CNN, Attention. Да, это не копия реальных механизмов, но вдохновение явно было.

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

Конечно, тут можно сказать, что прорывы в AI далеко не обязательно должны быть основаны на идеях из биологии. Возможно, можно придумать что-то крутое совсем из других соображений. Это правда. Но биология может помочь. Эту мысль подкрепляет то, что она помогала ранее. И поэтому стоит ее изучать: вдруг выйдет что дельное.

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

А еще у авторов есть на эту тему дополнение к предложенному embodied тесту Тьюринга: при записи поведения животных также записывать их мозговую активность. Чтобы потом ее анализировать и использовать в AI.

Проекты, соединяющие нейробиологию и AI, уже есть, если что. Вот пример — MICrONS (Machine Intelligence from Cortical Networks)
> "The MICrONS program aimed to close the performance gap between human analysts and automated pattern recognition systems by reverse-engineering the algorithms of the brain"
(внизу страницы есть список публикаций проекта и ссылка на Google Scholar)

Короче, к чему это я все. Мне лично кажется, что это круто) Да и не только мне, видимо: в последнее время я натыкаюсь на довольно много публикаций по теме "AI vs биология" или "как сделать нейрон/нейросеть более похожей на биологический или хотя бы с похожими свойствами". Наверное, вы это даже заметили по постам в канале)
В моих планах вообще получше заботать основы нейробиологии (хотя чего только там в твоих планах нет, Таня =( ). И это не только из-за идеи развивать AI в эту сторону, а просто потому что мне интересно.

Если вам тоже интересно, то под этим постом собирала ссылки на курсы/ресурсы по нейробиологии. Ну и спрошу: а вы что по этому поводу думаете?

Читать полностью…
Подписаться на канал