ControlNet, или как научить одну модельку генерить картинки на основе разных входных данных.
#paper
Ребята из Стенфорда придумали способ "обобщить" text-to-image модельки на генерацию на основе других видов входов (не только текста). То есть, научили одну модельку генерить картинки на основе:
- скетча;
- human pose;
- маски сегментации;
- карты глубины
- ...
Примеры генераций см. на первой картинке к посту. А вот какая идея у ControlNet:
Современные нейросети обычно имеют блочную структуру. Давайте возьмем предобученную нейросеть (например, Stable Diffusion — SD), и сделаем копию каждого блока этой сети. На вход сети-копии будет подаваться входная информация, на основе которой модель в итоге должна сгенерить картинку (т.е. скетч, human pose и т.п.).
Каждую блок-копию соединим с соответствующим ему блоком исходной сети (вторая картинка к посту). Соединим так: на вход блок-копия будет принимать сумму выхода предыдущего блока-копии и выхода предыдущего блока исходной сети. И далее выход блока-копии будет складываться с выходом соответствующего блока исходной сети и дальше течь по исходной сети.
На третьей картинке к посту показано, как будет выглядеть итоговое устройство модели (исходная сеть + сеть-копия) на примере U-Net из Stable Diffusion. Здесь авторы соединили соответствующие блоки двух копий сетей только в декодере U-Net. Это логично, потому что именно в декодере и происходит генерация картинки (точнее, в случае SD, ее латентного представления).
Ну и дальше, собственно, обучаем сеть-копию end-t-end. Подаем на вход сети-копии скетч/human pose/карту глубины/... и на выходе ожидаем картинку, сгенерированную в соответствии с этим скетчем/human pose/...
Вспомним еще, что Stable Diffusion — это text-to-image model. Поэтому на вход ContolNet можно подавать еще и текст, и тем самым чуть изменять вид получаемой картинки. Например, попросить "картинку на основе скетча в стиле Пикассо" или не просто черепашку, а "черепашку у реки" (см. первую картинку к посту)
Заметим, что исходная сеть (левая часть монстрика с третьей картинки) не обучается. Получается, задача сети-копии в такой модели — переработать информацию из входного скетча/карты глубины так, чтобы исходная предобученная сеть с помощью этой инфы смогла сгенерировать нужную картинку. То, что каждая блок-копия имеет доступ к выходу предыдущего блока исходной сети, помогает блоку-копии лучше переработать информацию для дальнейшего внедрения ее в исходную сеть.
Конечно, для обучения ControlNet понадобятся датасеты вида (скетч, картинка), (карта глубина, картинка) и т.д. Авторы статьи собрали несколько таких датасетов автоматическим способом. Т.е. использовали общедоступные инструмены для получения human pose/карт глубины по картинкам. Полученные датасеты получились небольшими, но ControlNet при этом не переобчается. Авторы утверждают, что это и есть одно из главных преимуществ ControlNet перед обычным дообучением исходной Stable Diffusion на каждую из задач в отдельности.
В завершение еще заметим, что идею ControlNet можно применить для совершенно разных моделей, а не только для Stable Diffusion .
Cсылки:
📄 Статья
🛠Код на GitHub
#paper
Ребята из Стенфорда придумали способ "обобщить" text-to-image модельки на генерацию на основе других видов входов (не только текста). То есть, научили одну модельку генерить картинки на основе:
- скетча;
- human pose;
- маски сегментации;
- карты глубины
- ...
Примеры генераций см. на первой картинке к посту. А вот какая идея у ControlNet:
Современные нейросети обычно имеют блочную структуру. Давайте возьмем предобученную нейросеть (например, Stable Diffusion — SD), и сделаем копию каждого блока этой сети. На вход сети-копии будет подаваться входная информация, на основе которой модель в итоге должна сгенерить картинку (т.е. скетч, human pose и т.п.).
Каждую блок-копию соединим с соответствующим ему блоком исходной сети (вторая картинка к посту). Соединим так: на вход блок-копия будет принимать сумму выхода предыдущего блока-копии и выхода предыдущего блока исходной сети. И далее выход блока-копии будет складываться с выходом соответствующего блока исходной сети и дальше течь по исходной сети.
На третьей картинке к посту показано, как будет выглядеть итоговое устройство модели (исходная сеть + сеть-копия) на примере U-Net из Stable Diffusion. Здесь авторы соединили соответствующие блоки двух копий сетей только в декодере U-Net. Это логично, потому что именно в декодере и происходит генерация картинки (точнее, в случае SD, ее латентного представления).
Ну и дальше, собственно, обучаем сеть-копию end-t-end. Подаем на вход сети-копии скетч/human pose/карту глубины/... и на выходе ожидаем картинку, сгенерированную в соответствии с этим скетчем/human pose/...
Вспомним еще, что Stable Diffusion — это text-to-image model. Поэтому на вход ContolNet можно подавать еще и текст, и тем самым чуть изменять вид получаемой картинки. Например, попросить "картинку на основе скетча в стиле Пикассо" или не просто черепашку, а "черепашку у реки" (см. первую картинку к посту)
Заметим, что исходная сеть (левая часть монстрика с третьей картинки) не обучается. Получается, задача сети-копии в такой модели — переработать информацию из входного скетча/карты глубины так, чтобы исходная предобученная сеть с помощью этой инфы смогла сгенерировать нужную картинку. То, что каждая блок-копия имеет доступ к выходу предыдущего блока исходной сети, помогает блоку-копии лучше переработать информацию для дальнейшего внедрения ее в исходную сеть.
Конечно, для обучения ControlNet понадобятся датасеты вида (скетч, картинка), (карта глубина, картинка) и т.д. Авторы статьи собрали несколько таких датасетов автоматическим способом. Т.е. использовали общедоступные инструмены для получения human pose/карт глубины по картинкам. Полученные датасеты получились небольшими, но ControlNet при этом не переобчается. Авторы утверждают, что это и есть одно из главных преимуществ ControlNet перед обычным дообучением исходной Stable Diffusion на каждую из задач в отдельности.
В завершение еще заметим, что идею ControlNet можно применить для совершенно разных моделей, а не только для Stable Diffusion .
Cсылки:
📄 Статья
🛠Код на GitHub
❤39👍18🔥10🎉3
Мои знакомые тут решили создать в телеграме (да, еще одно) сообщество вокруг дата саенса и deep learning. Грубо говоря, это новый ODS, только в телеграме.
#learning
Там уже есть тематические чаты и каналы:
- по сферам: CV/NLP/data/...
- по географии: Россия/Азия/...
- новости, поиск работы, education и т.п.
Что из этого выйдет, я не знаю) Но если вы искали место, где можно узнать что-то новое, найти компанию по ML-интересам и позадавать вопросы — попробуйте. Пока выглядит ничего так.
Ссылка: Сообщество фанатов градиентов
P.S. Если ссылка не открывается, попробуйте обновить телеграм.
#learning
Там уже есть тематические чаты и каналы:
- по сферам: CV/NLP/data/...
- по географии: Россия/Азия/...
- новости, поиск работы, education и т.п.
Что из этого выйдет, я не знаю) Но если вы искали место, где можно узнать что-то новое, найти компанию по ML-интересам и позадавать вопросы — попробуйте. Пока выглядит ничего так.
Ссылка: Сообщество фанатов градиентов
P.S. Если ссылка не открывается, попробуйте обновить телеграм.
👍45🤡14💩10👎5🥰1🤔1
Три дня назад OpenAI выпустили документ под названием "Planning for AGI and beyond". В нем — общие принципы действий компании по мере того, как мир приближается к созданию AGI (Artificial General Intelligence).
#ai_inside
Написали его OpenAI из идеи, что AI потенциально может принести людям много вреда, однако пытаться остановить прогресс — не вариант. Поэтому нужно понять, как продолжить этот прогресс так, чтобы не стало очень плохо.
Документ вот. Я тут выделю несколько ключевых (на мой взгляд) моментов из него:
✔️ В целом, мы хотим, чтобы AGI помогал человеку процветать во всех сферах жизни. В частности, экономически и научно.
✔️ Вместо того, чтобы сделать супер-крутой большой AI и сразу кинуть его в мир, мы будем придерживаться постепенного, медленного внедрения все более сложных и "умных" моделей. Идея такая: плавное увеличение способностей AI не повергнет мир в шок, и даст людям время приспособиться, адаптировать экономику и выработать нужные регламенты (а-ля законы) по взаимодействию с AI.
✔️ Более того, OpenAI предлагает всем крупным организациям договориться следовать правилу выше (выкатывать сильный AI постепенно). Также предлагает организовать независимые аудиты больших систем до их релиза в массы и ограничить количество вычислительных ресурсов, которые могут использоваться для тренировки моделей. В целом, OpenAI предлагает организациям сотрудничать в повышении безопасности AI вместо того, чтобы участвовать в гонках вида "кто первый выкатит модель покруче и побольше"
И вот еще интересная приписка к абзацу с этими мыслями: "Finally, we think it’s important that major world governments have insight about training runs above a certain scale". Вот тут хочется подробнее услышать о том, что OpenAI имеет в виду. На первый взгляд мне не кажется это предложение таким уж прям хорошим.
✔️ В то же время мы хотим, чтобы AI был максимально открыт для всех, и открыт для всех одинаково: "мы считаем, что будущее человечества должны определять сами люди, поэтому верим, что очень важно делиться информацией о прогрессе AI со всеми". Как достичь такого равенства, пока не очень понятно, поэтому OpenAI пишут следующее: "we hope for a global conversation about ... how to fairly distribute the benefits they [AI models] generate, and how to fairly share access".
✔️ Будем работать над созданием более согласованных и управляемых моделей. Тут речь, насколько я понимаю, про bias и нежелательное поведение моделей (вроде вот такого). У OpenAI идея тут такая: выпустить в массы версию модели, которая будет довольно ограничена, но при этом разрешить пользователям настраивать модельку под себя. Честно, не очень понимаю, как это поможет сделать модельк в целом менее biased (пользователи чего только там "под себя" не настроят). Разве что снимет с компании ответственность за подобное поведение модельки.
В целом, имхо, документ ведет в правильном направлении. Но у меня возник небольшой диссонанс между "мы не будем сразу показывать крутые модельки публике, а будем о них говорить государствам" и "люди должны знать о прогрессе AI".
Будем ждать подробных разъяснений от OpenAI по всем пунктам, короче.
#ai_inside
Написали его OpenAI из идеи, что AI потенциально может принести людям много вреда, однако пытаться остановить прогресс — не вариант. Поэтому нужно понять, как продолжить этот прогресс так, чтобы не стало очень плохо.
Документ вот. Я тут выделю несколько ключевых (на мой взгляд) моментов из него:
✔️ В целом, мы хотим, чтобы AGI помогал человеку процветать во всех сферах жизни. В частности, экономически и научно.
✔️ Вместо того, чтобы сделать супер-крутой большой AI и сразу кинуть его в мир, мы будем придерживаться постепенного, медленного внедрения все более сложных и "умных" моделей. Идея такая: плавное увеличение способностей AI не повергнет мир в шок, и даст людям время приспособиться, адаптировать экономику и выработать нужные регламенты (а-ля законы) по взаимодействию с AI.
✔️ Более того, OpenAI предлагает всем крупным организациям договориться следовать правилу выше (выкатывать сильный AI постепенно). Также предлагает организовать независимые аудиты больших систем до их релиза в массы и ограничить количество вычислительных ресурсов, которые могут использоваться для тренировки моделей. В целом, OpenAI предлагает организациям сотрудничать в повышении безопасности AI вместо того, чтобы участвовать в гонках вида "кто первый выкатит модель покруче и побольше"
И вот еще интересная приписка к абзацу с этими мыслями: "Finally, we think it’s important that major world governments have insight about training runs above a certain scale". Вот тут хочется подробнее услышать о том, что OpenAI имеет в виду. На первый взгляд мне не кажется это предложение таким уж прям хорошим.
✔️ В то же время мы хотим, чтобы AI был максимально открыт для всех, и открыт для всех одинаково: "мы считаем, что будущее человечества должны определять сами люди, поэтому верим, что очень важно делиться информацией о прогрессе AI со всеми". Как достичь такого равенства, пока не очень понятно, поэтому OpenAI пишут следующее: "we hope for a global conversation about ... how to fairly distribute the benefits they [AI models] generate, and how to fairly share access".
✔️ Будем работать над созданием более согласованных и управляемых моделей. Тут речь, насколько я понимаю, про bias и нежелательное поведение моделей (вроде вот такого). У OpenAI идея тут такая: выпустить в массы версию модели, которая будет довольно ограничена, но при этом разрешить пользователям настраивать модельку под себя. Честно, не очень понимаю, как это поможет сделать модельк в целом менее biased (пользователи чего только там "под себя" не настроят). Разве что снимет с компании ответственность за подобное поведение модельки.
В целом, имхо, документ ведет в правильном направлении. Но у меня возник небольшой диссонанс между "мы не будем сразу показывать крутые модельки публике, а будем о них говорить государствам" и "люди должны знать о прогрессе AI".
Будем ждать подробных разъяснений от OpenAI по всем пунктам, короче.
❤42👍24🤔14🔥3😢2💩2🤡2🤬1🆒1
Fast Language-Image Pre-training (FLIP) — новый, более эффективный метод обучения CLIP
(Про CLIP вот тут был пост)
#paper
Как работает FLIP:
Ребята из Meta AI взяли стандартный CLIP и применили к его обучению простой трюк, который в последнее время хорошо зарекомендовал себя в self-supervised моделях: masking. Идея такая:
Берем пары (картинка, текст-описание картинки). Делим картинку на квадратные патчи . Закрываем случайные 50% (или даже 75%) патчей. На такой masked картинке и ее тексте обучаем CLIP как обычно, с помощью contrastive objective.
После обучения FLIP используется как обычный CLIP. На вход подается картинка без закрытых частей. Это прекрасно работает, хотя при обучении FLIP видел только masked картинки.
Accuracy FLIP достигает примерно того же, что и CLIP, но при этом за гораздо меньшее время обучения. Если закрывать 50% картинки, то времени понадобится на 50% меньше. Если закрывать 75% картинки, то время уменьшится в 3 раза. Такой разгон достигается в том числе за счет увеличения размера батча: так как теперь через сеть прогоняется только малая часть каждой картинки, количество картинок в батче можно увеличить. (2 и 3 картинки к посту).
Обучение на закрытых на 50% картинках с большим батчом даже чуть улучшает итоговый accuracy по сравнению с CLIP. Также еще сильнее accuracy увеличивает небольшое дообучение FLIP на non-masked картинках. Авторы предполагают, что masking выступает в роли небольшой регуляризации, уменьшая переобучение, и поэтому в итоге модель обучается лучше.
Также можно закрывать и случайные токены текста. Но это уже не так сильно ускоряет работу модели, т.к. модель-энкодер текста не такая большая, а качество просадить может: закрывание 50% токенов понижает итоговый accuracy на 2.2%.
Вот так. Вообще, идея masking далеко не нова. Она активно используется для self-supervised learning (SSL). Правда, в SSL обычно обучают модель восстанавливать закрытые токены на основе части картинки. Недавно новую text-to-image модель на оснве этой идеи представили (пост был тут).
📄Статья
(Про CLIP вот тут был пост)
#paper
Как работает FLIP:
Ребята из Meta AI взяли стандартный CLIP и применили к его обучению простой трюк, который в последнее время хорошо зарекомендовал себя в self-supervised моделях: masking. Идея такая:
Берем пары (картинка, текст-описание картинки). Делим картинку на квадратные патчи . Закрываем случайные 50% (или даже 75%) патчей. На такой masked картинке и ее тексте обучаем CLIP как обычно, с помощью contrastive objective.
После обучения FLIP используется как обычный CLIP. На вход подается картинка без закрытых частей. Это прекрасно работает, хотя при обучении FLIP видел только masked картинки.
Accuracy FLIP достигает примерно того же, что и CLIP, но при этом за гораздо меньшее время обучения. Если закрывать 50% картинки, то времени понадобится на 50% меньше. Если закрывать 75% картинки, то время уменьшится в 3 раза. Такой разгон достигается в том числе за счет увеличения размера батча: так как теперь через сеть прогоняется только малая часть каждой картинки, количество картинок в батче можно увеличить. (2 и 3 картинки к посту).
Обучение на закрытых на 50% картинках с большим батчом даже чуть улучшает итоговый accuracy по сравнению с CLIP. Также еще сильнее accuracy увеличивает небольшое дообучение FLIP на non-masked картинках. Авторы предполагают, что masking выступает в роли небольшой регуляризации, уменьшая переобучение, и поэтому в итоге модель обучается лучше.
Также можно закрывать и случайные токены текста. Но это уже не так сильно ускоряет работу модели, т.к. модель-энкодер текста не такая большая, а качество просадить может: закрывание 50% токенов понижает итоговый accuracy на 2.2%.
Вот так. Вообще, идея masking далеко не нова. Она активно используется для self-supervised learning (SSL). Правда, в SSL обычно обучают модель восстанавливать закрытые токены на основе части картинки. Недавно новую text-to-image модель на оснве этой идеи представили (пост был тут).
📄Статья
👍34🔥3😁3❤1👎1🤡1
Сейчас опять будет про работу на стыке нейробиологии и AI. Ребята из Meta AI провели исследование, в котором сравнивали активации модели GPT-2 и человеческого мозга в ответ на входящий текст. И нашли интересные сходства и отличия между тем, как нейронки и человеки воспринимают текст.
#paper
Как обычно в таких постах дисклеймер: я мало понимаю в методах нейробиологии и том, как оценивать качество таких исследований. Пишу пост на том уровне, на котором смогла разобраться в статье.
Итак, подробнее о работе:
На самом деле, ранее уже публиковалось много статей, где ученые сравнивали активации языковых моделей а-ля GPT с активациями человеческого мозга в ответ на один и тот же входящий текст. Эксперименты ставятся примерно так: человек слушает текст в наушниках, во время этого записывается МРТ (fMRI) его мозга. Также этот текст прогоняетя через GPT-2 и берутся активации восьмого слоя этой сети (почему-то этот слой оказался самым информативным). Далее регрессия обучается по активации слоя GPT-2 на конкретное слово предсказывать сигналы МРТ мозга человека, полученные при прослушивании того же слова. Ну и затем на тестовой выборке оценивается, насколько предсказание регрессии в ответ на активацию слоя GPT-2 коррелирует с реальным сигналом fMRI. Если коррелияция большая, значит, GPT-2 "воспринимает" текст похожим образом, что и человек. Ведь, получается, что сигнал fMRI можно с хорошей точностью восстановить, взяв активации слоя GPT-2 и применив регрессию — просто линейное преобразование.
Так вот, в прошлых работах оказывалось, что корреляция тут есть, и довольно большая. То есть, идейное восприятие текста трансформером действительно похоже на то, как воспринимают текст люди. Однако корреляция эта все же далека от идеальной, т.е. разница между GPT-2 и человеками все же есть. В принципе, это очевидно и так: по тому, как языковые модели все еще часто не могут сгенерировать большой и связный текст, а также путаются в связях между словами в сложных предложениях (пример последнего — 'the keys that the man holds ARE here'. 'ARE' относится к ключам, но LM часто могут отнести глагол к 'the man')
Но в чем же разница? Ученые из Meta предложили следующую идею. Смотрите, языковые модели учатся по началу текста предсказывать одно следующее слово. Только одно. А человеческий мозг, по всей видимости, в каждый момент времени предсказывает целую часть дальнейшего предложения.
Чтобы проверить, в этом ли отличие, ученые провели эксперимент. Они взяли текст, подали его на вход GPT-2, взяли текущую активацию восьмого слоя, а также эмбеддинги нескольких последующих слов текста. Активацию слоя и эти эмбеддинги они сконкатенировали и уже на таких входных данных стали обучать регрессию. Оказалось, что корреляция выхода регрессии с fMRI сильно повышается (на ~23% +- 9%). И наибольшая корреляция достигается, когда берется ~8 последующих слов. Это позволяет предположить, что гипотеза была верна. Т.е. что довольно большая часть несоответствия между восприятием текста людьми и трансформерами действительно относится к тому, что люди "предсказывают" большие куски текста, а не одно слово.
Но и это еще не все. Чтобы по-другому проверить гипотезу, ученые взяли GPT-2 и дообучили ее на датасете Википедии следующим образом: в каждый момент времени нейронка должна была предсказывать не только следующее слово, но и высокоуровневные представления нескольких потенциальных следующих слов. В качестве таких представлений взяли эмбеддинги этих слов предобученной GPT-2. Далее к выходам 8 слоя такой дообученной модели снова применили регрессию. Оказалось, что статистически корреляция с fMRI действительно улучшилась.
В связи с этим вопрос к экспертам NLP: а что там с изобретением языковых моделей, которые предсказывают не только следующий токен, а что-то еще? Наверняка ж уже что-то такое пробовали. Но я о таком вот еще не слышала.
📄Статья
#paper
Как обычно в таких постах дисклеймер: я мало понимаю в методах нейробиологии и том, как оценивать качество таких исследований. Пишу пост на том уровне, на котором смогла разобраться в статье.
Итак, подробнее о работе:
На самом деле, ранее уже публиковалось много статей, где ученые сравнивали активации языковых моделей а-ля GPT с активациями человеческого мозга в ответ на один и тот же входящий текст. Эксперименты ставятся примерно так: человек слушает текст в наушниках, во время этого записывается МРТ (fMRI) его мозга. Также этот текст прогоняетя через GPT-2 и берутся активации восьмого слоя этой сети (почему-то этот слой оказался самым информативным). Далее регрессия обучается по активации слоя GPT-2 на конкретное слово предсказывать сигналы МРТ мозга человека, полученные при прослушивании того же слова. Ну и затем на тестовой выборке оценивается, насколько предсказание регрессии в ответ на активацию слоя GPT-2 коррелирует с реальным сигналом fMRI. Если коррелияция большая, значит, GPT-2 "воспринимает" текст похожим образом, что и человек. Ведь, получается, что сигнал fMRI можно с хорошей точностью восстановить, взяв активации слоя GPT-2 и применив регрессию — просто линейное преобразование.
Так вот, в прошлых работах оказывалось, что корреляция тут есть, и довольно большая. То есть, идейное восприятие текста трансформером действительно похоже на то, как воспринимают текст люди. Однако корреляция эта все же далека от идеальной, т.е. разница между GPT-2 и человеками все же есть. В принципе, это очевидно и так: по тому, как языковые модели все еще часто не могут сгенерировать большой и связный текст, а также путаются в связях между словами в сложных предложениях (пример последнего — 'the keys that the man holds ARE here'. 'ARE' относится к ключам, но LM часто могут отнести глагол к 'the man')
Но в чем же разница? Ученые из Meta предложили следующую идею. Смотрите, языковые модели учатся по началу текста предсказывать одно следующее слово. Только одно. А человеческий мозг, по всей видимости, в каждый момент времени предсказывает целую часть дальнейшего предложения.
Чтобы проверить, в этом ли отличие, ученые провели эксперимент. Они взяли текст, подали его на вход GPT-2, взяли текущую активацию восьмого слоя, а также эмбеддинги нескольких последующих слов текста. Активацию слоя и эти эмбеддинги они сконкатенировали и уже на таких входных данных стали обучать регрессию. Оказалось, что корреляция выхода регрессии с fMRI сильно повышается (на ~23% +- 9%). И наибольшая корреляция достигается, когда берется ~8 последующих слов. Это позволяет предположить, что гипотеза была верна. Т.е. что довольно большая часть несоответствия между восприятием текста людьми и трансформерами действительно относится к тому, что люди "предсказывают" большие куски текста, а не одно слово.
Но и это еще не все. Чтобы по-другому проверить гипотезу, ученые взяли GPT-2 и дообучили ее на датасете Википедии следующим образом: в каждый момент времени нейронка должна была предсказывать не только следующее слово, но и высокоуровневные представления нескольких потенциальных следующих слов. В качестве таких представлений взяли эмбеддинги этих слов предобученной GPT-2. Далее к выходам 8 слоя такой дообученной модели снова применили регрессию. Оказалось, что статистически корреляция с fMRI действительно улучшилась.
В связи с этим вопрос к экспертам NLP: а что там с изобретением языковых моделей, которые предсказывают не только следующий токен, а что-то еще? Наверняка ж уже что-то такое пробовали. Но я о таком вот еще не слышала.
📄Статья
❤56👍27🔥9🤯4⚡2🤔1
Небольшое дополнение к посту выше про исследование восприятия людями и нейронками текстов.
Авторы статьи замечают, что многие части мозга устроены иерархически. На это указывают многие исследования (тык, тык). То есть, например, за восприятие текста отвечают несколько отделов — извилина Хешля, верхняя височная извилина и несколько других. При этом разные части мозга отвечают за разные процессы в восприятии текста. Так, извилина Хешля и другие области верхней височной коры отвечает за обработку низкоуровневой информации — акустики, фонем, синтаксиса и локальной семантики. А нижнелобные и теменные области преимущественно отвечают за высокоуровневую, семантическую информацию в тексте.
Как же это переносится на языковые модели? В целом, из того, как устроены нейросети, мы знаем, что начальные слои сети преимущественно обрабатывают низкоуровневую информацию входных данных, а дальние слои — высокоуровневую. Авторы статьи поставили эксперимент: обучали регрессию предсказывать fMRI активации разных частей мозга на основе разных слоев GPT-2. И действительно, оказалось, что fMRI извилины Хешля лучше приближается первыми слоями GPT-2, а fMRI нижнелобных и теменных областей — дальними слоями.
Но и это еще не все. Был еще такой эксперимент: ученые взяли активации слоев GPT-2 и разделили их на два вектора — вектор X, содержащий низкоуровневую информацию о тексте, и вектор Y, содержащий высокоуровневую информацию. Сделали они это так: сгенерировали 10 предложений с одинаковой синтаксической конструкцией (общей информацией), и разными словами (локальной информацией). Получили активации GPT-2 на 10 этих предложений и усреднили их, получив вектор X. А векторы Y — это векторы-активации слоев минус X.
И дальше обучали регрессию восстанавливать fMRI разных частей головы на основе этих векторов. Снова оказалось, что fMRI извилины Хешля лучше приближается векторами Y локальной информации, а fMRI нижнелобных и теменных областей — вектором общей информации X.
Насколько я понимаю, последний эксперимент показывает не столько связь в идее обработки текста между GPT-2 и мозгом, сколько служит еще одним признаком того, что разные части мозга отвечают за разный уровнень восприятия текста. Вот так с помощью нейронки можно что-то там хорошее понять про мозг)
Но это дополнение я писала не только из-за этих двух экспериментов, а еще потому, что тут снова возникает идея иерархии. Я об идеях иерархической структуры в нейронках писала летом 2022 года, когда Ян ЛеКун выпустил свою статью с мыслями о том, как должен быть устроен AGI. Одна из основных идей работы ЛеКуна — иерархия. Это тогда вдохновило меня подумать, собрать мысли насчет нейронок и структуры в них в кучу, и написать про это большой пост на Хабре.
Общая мысль такая: кажется, современные нейросети (даже самые большие и классные) в процессе обучения не особо выучивают понятие структуры объектов и сущностей. С другой стороны, кажется, что структурное иерархическое восприятие сильно помогает людям взаимодействовать с миром. Отсюда возникает идея, что внедрение в нейросети структурного восприятия могло бы помочь им лучше решать сложные задачи.
И в статье на Хабре я подробнее описала то, почему структура важна, почему нейросети структуру не понимают и как это можно пытаться исправить.
А при чем тут эта статья от Meta AI— да просто при том, что это еще один эвиденс, что структурное иерархическое восприятие в человеке есть, и даже на уровне устройства мозга =)
Авторы статьи замечают, что многие части мозга устроены иерархически. На это указывают многие исследования (тык, тык). То есть, например, за восприятие текста отвечают несколько отделов — извилина Хешля, верхняя височная извилина и несколько других. При этом разные части мозга отвечают за разные процессы в восприятии текста. Так, извилина Хешля и другие области верхней височной коры отвечает за обработку низкоуровневой информации — акустики, фонем, синтаксиса и локальной семантики. А нижнелобные и теменные области преимущественно отвечают за высокоуровневую, семантическую информацию в тексте.
Как же это переносится на языковые модели? В целом, из того, как устроены нейросети, мы знаем, что начальные слои сети преимущественно обрабатывают низкоуровневую информацию входных данных, а дальние слои — высокоуровневую. Авторы статьи поставили эксперимент: обучали регрессию предсказывать fMRI активации разных частей мозга на основе разных слоев GPT-2. И действительно, оказалось, что fMRI извилины Хешля лучше приближается первыми слоями GPT-2, а fMRI нижнелобных и теменных областей — дальними слоями.
Но и это еще не все. Был еще такой эксперимент: ученые взяли активации слоев GPT-2 и разделили их на два вектора — вектор X, содержащий низкоуровневую информацию о тексте, и вектор Y, содержащий высокоуровневую информацию. Сделали они это так: сгенерировали 10 предложений с одинаковой синтаксической конструкцией (общей информацией), и разными словами (локальной информацией). Получили активации GPT-2 на 10 этих предложений и усреднили их, получив вектор X. А векторы Y — это векторы-активации слоев минус X.
И дальше обучали регрессию восстанавливать fMRI разных частей головы на основе этих векторов. Снова оказалось, что fMRI извилины Хешля лучше приближается векторами Y локальной информации, а fMRI нижнелобных и теменных областей — вектором общей информации X.
Насколько я понимаю, последний эксперимент показывает не столько связь в идее обработки текста между GPT-2 и мозгом, сколько служит еще одним признаком того, что разные части мозга отвечают за разный уровнень восприятия текста. Вот так с помощью нейронки можно что-то там хорошее понять про мозг)
Но это дополнение я писала не только из-за этих двух экспериментов, а еще потому, что тут снова возникает идея иерархии. Я об идеях иерархической структуры в нейронках писала летом 2022 года, когда Ян ЛеКун выпустил свою статью с мыслями о том, как должен быть устроен AGI. Одна из основных идей работы ЛеКуна — иерархия. Это тогда вдохновило меня подумать, собрать мысли насчет нейронок и структуры в них в кучу, и написать про это большой пост на Хабре.
Общая мысль такая: кажется, современные нейросети (даже самые большие и классные) в процессе обучения не особо выучивают понятие структуры объектов и сущностей. С другой стороны, кажется, что структурное иерархическое восприятие сильно помогает людям взаимодействовать с миром. Отсюда возникает идея, что внедрение в нейросети структурного восприятия могло бы помочь им лучше решать сложные задачи.
И в статье на Хабре я подробнее описала то, почему структура важна, почему нейросети структуру не понимают и как это можно пытаться исправить.
А при чем тут эта статья от Meta AI— да просто при том, что это еще один эвиденс, что структурное иерархическое восприятие в человеке есть, и даже на уровне устройства мозга =)
👍40🔥7👀4🤯2⚡1🎉1
Рассматриваете специальность «Дата-инженер» в качестве будущей работы? Или хотели бы больше узнать про различные профессии в сфере data science?
#промо
✍️ Международная школа анализа данных и разработки Mathshub приглашает вас на открытую встречу с практикующим дата-инженером. Гость — Андрей Ларионов. Он в аналитике уже более 15 лет. Прошел путь от аналитика данных до архитектора аналитических систем и руководителя практики инженеров.
На встрече поговорим о:
🟢 Специфике работы дата-инженера;
🟢 Основных инструментах, которые используют специалисты;
🟢 Возможностях дата-профессий и особенностях входа в сферу.
➡️ Встреча состоится 14.03 в 19:00. Бесплатно. Регистрация по ссылке.
-------------------
Mathshub — международная школа анализа данных и разработки. Практикующие преподаватели из ШАДа, НИУ ВШЭ, МФТИ, Y-Data уделяют внимание каждому студенту на живых занятиях. А спикеры, построившие карьеру в FAANG, Tesla, Amazon, Spotify делятся своим опытом в гостевой программе.
Прямо сейчас идет набор на программу «Дата-инженер» со скидкой 30%. Записывайтесь на бесплатную консультацию!
#промо
На встрече поговорим о:
-------------------
Mathshub — международная школа анализа данных и разработки. Практикующие преподаватели из ШАДа, НИУ ВШЭ, МФТИ, Y-Data уделяют внимание каждому студенту на живых занятиях. А спикеры, построившие карьеру в FAANG, Tesla, Amazon, Spotify делятся своим опытом в гостевой программе.
Прямо сейчас идет набор на программу «Дата-инженер» со скидкой 30%. Записывайтесь на бесплатную консультацию!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮12👍10👎6🤡6🎉5🔥2💩1
Продолжая тему language modeling: в декабре 22 года Google выкатил идею, как ускорить генерацию текста языковыми моделями. Идею назвали Confident Adaptive Language Modeling (CALM). Статья с NeurIPS-22, между прочим!
#paper
Общая идея CALM: смотрите, в процессе генерации текста некоторые слова генерировать "проще", чем другие. Часто очевидно, какое слово должно идти следующим в тексте. Так давайте предсказывать простые слова не на основе выхода последнего слоя модели, а с помощью выходов одного из начальных ее слоев: кажется, что уже в них информации для этого может быть достаточно. Таким образом, для многих слов мы будем прогонять вход не через всю модель, а только через пару ее первых слоев. Генерация станет намного быстрее.
Как такое реализовать:
Возьмем T5. Он состоит из нескольких блоков Self-attention + fully-connected. Немного изменим процес обучения модели. Смотрите, в обычном T5 только последний полносвязный (fc) слой учится выдавать эмбеддинг, который с помощью SoftMax превращается в распределение вероятностей для следующего токена. Мы же хотим, чтобы _все_ полносвязные слои модели выдавали осмысленный эмбеддинг, который после SoftMax превращался бы в распределение вероятностей для следующего токена. Для этого при обучении модели мы будем считать лосс-функцию не только по эмбеддингу последнего слоя T5, а по всем полносвязным слоям. Итоговый лосс сети — взвешенная сумма лоссов всех fc-слоев. Последние слои имеют больший вес, чем первые.
После такого обучения все fc-слои сети будут предсказывать распределение вероятностей для следующего токена. На этапе инференса при генерации каждого нового слова будем получать предсказания из каждого fc-слоя сети по очереди. Также будем измерять уверенность слоя в своем предсказании. Если уверенность большая, то выдаем предсказанное текущим слоем слово и останавливаем итерацию: в следующие слои сети информацию не передаем. Если уверенность низкая, продолжаем итерацию: смотрим на предсказания следующего слоя и его уверенность в этом предсказании. И так далее.
Авторы статьи предлагают три варианта измерения уверенности слоя:
✔️ Значение максимальной вероятности после применения SoftMax к выходу слоя. Если вероятность большая, то слой "уверен" в предсказании, если маленькая — не уверен. Тут нужно подобрать оптимальный порог уверенности;
✔️ Похожесть предсказаний двух последующих fc-слоев. Если текущий и следующий fc-слои выдают примерно одинаковое распределение на токены, то сеть уже как бы укрепилась в своем выборе следующего слова. И следующие слои сети, наверное, будут выдавать примерно такие же распределения. Тогда останавливаем генерацию и выдаем слово;
✔️ Обучить маленькую сеть-классификатор, которая будет выдавать ответ: хорошее получилось у текущего слоя предсказание или нет. Если хорошее, используем текущий слой для генерации слова.
Экспериментально вышло, что первый вариант выигрывает по соотношению скорость-качество. Вычислить максимальное значение SoftMax и сравнить с порогом — это очень быстро, и качество при этом получается неплохим.
И остается еще один нюанс. Пусть мы генерируем токен и находимся на четвертом слое сети. Аттеншену четвертого слоя нужны эмбеддинги этого же слоя с предыдущих итераций. Что делать, если на какой-то из предыдущих итераций мы остановили генерацию слова раньше четвертого слоя? Тогда мы для каких-то из прошлых слов не получили эмбеддинги четвертого слоя.
Решение простое — для таких слов использовать тот эмбеддинг, который есть. Если для слова "котик" мы остановили генерацию на втором слое, то self-attention четвертого слоя на следующей итерации будет использовать эмбеддинг слова "котик" со второя слоя сети.
Теперь все. Такая идея может ускорить генерацию текста в 2-3 раза, не сильно потеряв в качестве. При этом для большинства слов текста модель останавливается на четвертом слое или раньше (всего слоев 8).
Подробнее про метрики и результаты экспериментов читайте в статье. Также там есть картинки с инфой о том, на каких слоях останавливается модель для генерации каких токенов.
#paper
Общая идея CALM: смотрите, в процессе генерации текста некоторые слова генерировать "проще", чем другие. Часто очевидно, какое слово должно идти следующим в тексте. Так давайте предсказывать простые слова не на основе выхода последнего слоя модели, а с помощью выходов одного из начальных ее слоев: кажется, что уже в них информации для этого может быть достаточно. Таким образом, для многих слов мы будем прогонять вход не через всю модель, а только через пару ее первых слоев. Генерация станет намного быстрее.
Как такое реализовать:
Возьмем T5. Он состоит из нескольких блоков Self-attention + fully-connected. Немного изменим процес обучения модели. Смотрите, в обычном T5 только последний полносвязный (fc) слой учится выдавать эмбеддинг, который с помощью SoftMax превращается в распределение вероятностей для следующего токена. Мы же хотим, чтобы _все_ полносвязные слои модели выдавали осмысленный эмбеддинг, который после SoftMax превращался бы в распределение вероятностей для следующего токена. Для этого при обучении модели мы будем считать лосс-функцию не только по эмбеддингу последнего слоя T5, а по всем полносвязным слоям. Итоговый лосс сети — взвешенная сумма лоссов всех fc-слоев. Последние слои имеют больший вес, чем первые.
После такого обучения все fc-слои сети будут предсказывать распределение вероятностей для следующего токена. На этапе инференса при генерации каждого нового слова будем получать предсказания из каждого fc-слоя сети по очереди. Также будем измерять уверенность слоя в своем предсказании. Если уверенность большая, то выдаем предсказанное текущим слоем слово и останавливаем итерацию: в следующие слои сети информацию не передаем. Если уверенность низкая, продолжаем итерацию: смотрим на предсказания следующего слоя и его уверенность в этом предсказании. И так далее.
Авторы статьи предлагают три варианта измерения уверенности слоя:
✔️ Значение максимальной вероятности после применения SoftMax к выходу слоя. Если вероятность большая, то слой "уверен" в предсказании, если маленькая — не уверен. Тут нужно подобрать оптимальный порог уверенности;
✔️ Похожесть предсказаний двух последующих fc-слоев. Если текущий и следующий fc-слои выдают примерно одинаковое распределение на токены, то сеть уже как бы укрепилась в своем выборе следующего слова. И следующие слои сети, наверное, будут выдавать примерно такие же распределения. Тогда останавливаем генерацию и выдаем слово;
✔️ Обучить маленькую сеть-классификатор, которая будет выдавать ответ: хорошее получилось у текущего слоя предсказание или нет. Если хорошее, используем текущий слой для генерации слова.
Экспериментально вышло, что первый вариант выигрывает по соотношению скорость-качество. Вычислить максимальное значение SoftMax и сравнить с порогом — это очень быстро, и качество при этом получается неплохим.
И остается еще один нюанс. Пусть мы генерируем токен и находимся на четвертом слое сети. Аттеншену четвертого слоя нужны эмбеддинги этого же слоя с предыдущих итераций. Что делать, если на какой-то из предыдущих итераций мы остановили генерацию слова раньше четвертого слоя? Тогда мы для каких-то из прошлых слов не получили эмбеддинги четвертого слоя.
Решение простое — для таких слов использовать тот эмбеддинг, который есть. Если для слова "котик" мы остановили генерацию на втором слое, то self-attention четвертого слоя на следующей итерации будет использовать эмбеддинг слова "котик" со второя слоя сети.
Теперь все. Такая идея может ускорить генерацию текста в 2-3 раза, не сильно потеряв в качестве. При этом для большинства слов текста модель останавливается на четвертом слое или раньше (всего слоев 8).
Подробнее про метрики и результаты экспериментов читайте в статье. Также там есть картинки с инфой о том, на каких слоях останавливается модель для генерации каких токенов.
👍42🔥19❤1🥰1🎉1
Час назад OpenAI представили GPT-4. К анонсу на сайте прилагается статья - tech report на 98 страниц. Разбираться с ней буду на неделе, напишу об этом пост (или несколько, если будет много интересного).
Пока вот ключевые моменты:
✔️GPT-4 мультимодальна, как и ожидалось. Правда, кажется, мультимодальный только вход, а выход все ещё всегда текст. Но интересно, что текст на входящих картинках модель тоже спокойно понимает;
✔️ OpenAI говорят, что в обычном режиме чат-бота разницу между GPT-3.5 и GPT-4 заметить будет сложно. Разница становится видна только в довольно сложных задачах: в них четвертая версия "более надёжна, креативнее, и лучше воспринимает нюансы запросов пользователя";
✔️ На YouTube-канале OpenAI в 23:00 по Москве будет live demo;
✔️ К GPT-4 сразу обещают API, запись в waitlist тут. Правда, в нем пока не будет возможности подавать на вход картинки, это только в демке покажут :(
Ещё, вроде как, владельцы pro-подписки на ChatGPT получают превью GPT-4 сразу.
📄Блогпост
🛠Tech report
Пока вот ключевые моменты:
✔️GPT-4 мультимодальна, как и ожидалось. Правда, кажется, мультимодальный только вход, а выход все ещё всегда текст. Но интересно, что текст на входящих картинках модель тоже спокойно понимает;
✔️ OpenAI говорят, что в обычном режиме чат-бота разницу между GPT-3.5 и GPT-4 заметить будет сложно. Разница становится видна только в довольно сложных задачах: в них четвертая версия "более надёжна, креативнее, и лучше воспринимает нюансы запросов пользователя";
✔️ На YouTube-канале OpenAI в 23:00 по Москве будет live demo;
✔️ К GPT-4 сразу обещают API, запись в waitlist тут. Правда, в нем пока не будет возможности подавать на вход картинки, это только в демке покажут :(
Ещё, вроде как, владельцы pro-подписки на ChatGPT получают превью GPT-4 сразу.
📄Блогпост
🛠Tech report
👍45🔥25🥰2🎉2
Разрешите пожаловаться. Почему что-то крутое и интересное постоянно выходит, когда я в отпуске??😒😒
❤41😁14🤷♀8🤷♂7🤣2🥰1
Расходимся. Деталей модели не будет. В статье ни слова о том, как именно картинки подаются в модель (самое интересное для меня), какая у нее архитектура и как учили.
Все, что есть:
- По образцу ChatGPT для обучения GPT-4 использовали RLHF (Reinforcement Learning from Human Feedback). Про то, что это за прием, есть отличная статья на HuggingFace;
- Очень много внимания уделили задаче safety, reliability модели и устранения галлюцинаций (придумывания несуществующих фактов, ошибки в логике и т.п.). Тут подход, в целом, "в лоб": с помощью разметчиков собрать примеры, где модель плохо себя ведет, и дообучить. Правда, сильно не помогло — в статье пишут, что "despite its capabilities, GPT-4 has similar limitations to earlier GPT models: it is not fully reliable (e.g. can suffer from “hallucinations”), has a limited context window, and does not learn from experience."
Честно — у меня сгорело. Я до последнего думала, что в нежелании OpenAI давать доступы и т.п. есть рациональное зерно, но тут я понимать перестаю. Как заметили в комментариях к посту выше, статья на 98 страниц больше похожа на рекламный буклет, а не на tech report. Это уже не рисерч и не наука, это уже бизнес какой-то.
А что там тогда на этих 98 страницах? А там куча картинок-примеров работы GPT-4 и страниц 30 о safety, reliability, risks & mitigations.
Все, что есть:
- По образцу ChatGPT для обучения GPT-4 использовали RLHF (Reinforcement Learning from Human Feedback). Про то, что это за прием, есть отличная статья на HuggingFace;
- Очень много внимания уделили задаче safety, reliability модели и устранения галлюцинаций (придумывания несуществующих фактов, ошибки в логике и т.п.). Тут подход, в целом, "в лоб": с помощью разметчиков собрать примеры, где модель плохо себя ведет, и дообучить. Правда, сильно не помогло — в статье пишут, что "despite its capabilities, GPT-4 has similar limitations to earlier GPT models: it is not fully reliable (e.g. can suffer from “hallucinations”), has a limited context window, and does not learn from experience."
Честно — у меня сгорело. Я до последнего думала, что в нежелании OpenAI давать доступы и т.п. есть рациональное зерно, но тут я понимать перестаю. Как заметили в комментариях к посту выше, статья на 98 страниц больше похожа на рекламный буклет, а не на tech report. Это уже не рисерч и не наука, это уже бизнес какой-то.
А что там тогда на этих 98 страницах? А там куча картинок-примеров работы GPT-4 и страниц 30 о safety, reliability, risks & mitigations.
😁35🤡24👍13🔥3❤1🤩1
Ладно, я успокоилась, почитала комментарии. И понимаю, что резон в том, чтобы не выкладывать все детали мощной модели вроде GPT-4, все же есть. Ниже — мои мысли вокруг этой темы.
Как мы видели на примере ChatGPT, подобные модели действительно могут иметь сильный эффект на общество — что стоит хотя бы то, что ChatGPT успешно справляется со многими университетскими экзаменами. Это довольно большой удар и серьезный челлендж для системы образования. К тому же, в последнее время я ооочень часто замечаю, как об ИИ говорят люди/паблики, которые от этой сферы были вообще далеки. Вот пример. Этот канал, вообще, о маркетинге, я на него подписана давно. Если прокрутить ленту выше, там будет просто огромное количество упоминаний ИИ за последнее время.
Короче, на общество ChatGPT возымел серьезный эффект, и обществу нужно время, чтобы осознать, переварить, приспособиться, и выработать механизмы регулирования.
(правда, тогда не очень понятно, почему API к GPT-4 уже раздают и будут раздавать далее. Типа, повторить нашу модель нельзя, но пользоваться и решать экзамены можно?)
Но все же с этой тенденцией к "закрытому AI" у меня назревает беспокойство, которое и вылилось в раздражение в прошлом посте. Мысли тут такие:
То, что делает OpenAI — это уже явно не наука, не рисерч. И явно не супер-открытый, как изначально предполагалось при создании компании. Тогда хотелось бы понять, что же OpenAI сейчас такое. Хотелось бы услышать четкую политику: что открываем, что нет, откроем ли в будущем, как и кому, и почему. А также: с кем сотрудничаем, кому даем доступы, насколько это все прозрачно.
Мне кажется, что важно это прояснить вот по какой причине: сейчас OpenAI, по сути, является монополистом во владении крутой моделью. На мой взгляд, монополия на обладание подобной технологией одной компанией или правительством страны не несет ничего хорошего. В таком случае последствия всецело зависят от взглядов и желаний узкого круга людей. И даже если сейчас эти взгляды направлены на сугубое благо (не открываем, потому что опасно), то не факт, что это не изменится в будущем. В этой связи еще строчки про "взаимодействие с government" из недавнего стейтмента "Planning for AGI and beyond" компании довольно пугают.
Вот поэтому четкая политика и прозрачность очень нужны. Хочется понимать, кто получает доступы к чему. Имхо reliability и безопасность , которую на словах и добиваются OpenAI, начинается тогда, когда все четко и прозрачно.
В комментариях к посту, правда, заметили, что OpenAI пригласили независимых ассессоров для оценки своих моделей. Это уже хорошо, уже не так закрыто и монопольно. Но тут тоже хочется услышать политику по работе с ассессорами и получать открытые отчеты.
В целом, в с таким быстрым развитием AI кажется, что нужно развивать механизмы регулирования AI-штук в мире. Такие механизмы, которые бы обеспечили невозможность аккумулирования AI-мощностей в одних руках. Радует, что OpenAI писали об этом в своем недавнем стейтменте. Будем надеяться, что компания будет придерживаться этой идее и далее, и с ее помощью удастся такие механизмы создать.
Ну и, стоит сказать, что OpenAI — далеко не единственные, кто не дает доступов к своим моделям. Google вот делает так же: к Imagen доступ так и не дали никому, даже в сугубо рисерч целях (я писала им на почту, мне сказали, что не дают никому вообще). С OpenAI так бомбит именно из-за того, что изначально компания создавалась с целями делать открытый AI. Опять же, тут дело в отсутствии четкой текущей политики: изначально компания заявляла одно, а теперь делает другое. Это не очень приятно.
Ну и, не давать ни доступы к модели, ни вообще какое-либо описание ее устройства — это качественно новый уровень закрытости. Обычно описание устройства дают, а саму модель — нет.
А вообще, хорошо, что OpenAI хотя нам хотя бы сказали, что такая моделька у них есть. Если компании начнут создавать мощный AI и вообще об этом молчать, имхо, будет хуже.
Подытожу: мне лично от OpenAI хочется четкой и прозрачной политики, а также реальных движений в сторону создания механизма регулирования AI в мире.
Как мы видели на примере ChatGPT, подобные модели действительно могут иметь сильный эффект на общество — что стоит хотя бы то, что ChatGPT успешно справляется со многими университетскими экзаменами. Это довольно большой удар и серьезный челлендж для системы образования. К тому же, в последнее время я ооочень часто замечаю, как об ИИ говорят люди/паблики, которые от этой сферы были вообще далеки. Вот пример. Этот канал, вообще, о маркетинге, я на него подписана давно. Если прокрутить ленту выше, там будет просто огромное количество упоминаний ИИ за последнее время.
Короче, на общество ChatGPT возымел серьезный эффект, и обществу нужно время, чтобы осознать, переварить, приспособиться, и выработать механизмы регулирования.
(правда, тогда не очень понятно, почему API к GPT-4 уже раздают и будут раздавать далее. Типа, повторить нашу модель нельзя, но пользоваться и решать экзамены можно?)
Но все же с этой тенденцией к "закрытому AI" у меня назревает беспокойство, которое и вылилось в раздражение в прошлом посте. Мысли тут такие:
То, что делает OpenAI — это уже явно не наука, не рисерч. И явно не супер-открытый, как изначально предполагалось при создании компании. Тогда хотелось бы понять, что же OpenAI сейчас такое. Хотелось бы услышать четкую политику: что открываем, что нет, откроем ли в будущем, как и кому, и почему. А также: с кем сотрудничаем, кому даем доступы, насколько это все прозрачно.
Мне кажется, что важно это прояснить вот по какой причине: сейчас OpenAI, по сути, является монополистом во владении крутой моделью. На мой взгляд, монополия на обладание подобной технологией одной компанией или правительством страны не несет ничего хорошего. В таком случае последствия всецело зависят от взглядов и желаний узкого круга людей. И даже если сейчас эти взгляды направлены на сугубое благо (не открываем, потому что опасно), то не факт, что это не изменится в будущем. В этой связи еще строчки про "взаимодействие с government" из недавнего стейтмента "Planning for AGI and beyond" компании довольно пугают.
Вот поэтому четкая политика и прозрачность очень нужны. Хочется понимать, кто получает доступы к чему. Имхо reliability и безопасность , которую на словах и добиваются OpenAI, начинается тогда, когда все четко и прозрачно.
В комментариях к посту, правда, заметили, что OpenAI пригласили независимых ассессоров для оценки своих моделей. Это уже хорошо, уже не так закрыто и монопольно. Но тут тоже хочется услышать политику по работе с ассессорами и получать открытые отчеты.
В целом, в с таким быстрым развитием AI кажется, что нужно развивать механизмы регулирования AI-штук в мире. Такие механизмы, которые бы обеспечили невозможность аккумулирования AI-мощностей в одних руках. Радует, что OpenAI писали об этом в своем недавнем стейтменте. Будем надеяться, что компания будет придерживаться этой идее и далее, и с ее помощью удастся такие механизмы создать.
Ну и, стоит сказать, что OpenAI — далеко не единственные, кто не дает доступов к своим моделям. Google вот делает так же: к Imagen доступ так и не дали никому, даже в сугубо рисерч целях (я писала им на почту, мне сказали, что не дают никому вообще). С OpenAI так бомбит именно из-за того, что изначально компания создавалась с целями делать открытый AI. Опять же, тут дело в отсутствии четкой текущей политики: изначально компания заявляла одно, а теперь делает другое. Это не очень приятно.
Ну и, не давать ни доступы к модели, ни вообще какое-либо описание ее устройства — это качественно новый уровень закрытости. Обычно описание устройства дают, а саму модель — нет.
А вообще, хорошо, что OpenAI хотя нам хотя бы сказали, что такая моделька у них есть. Если компании начнут создавать мощный AI и вообще об этом молчать, имхо, будет хуже.
Подытожу: мне лично от OpenAI хочется четкой и прозрачной политики, а также реальных движений в сторону создания механизма регулирования AI в мире.
👍100🦄23🕊8❤6🔥6👎4
Что там GPT-4
Соберу в этом посте в кучку несколько постов о GPT-4 и несколько интересных связанных новостей.
Что интересного в tech report GPT-4
Прежде чем у меня получилось сесть и более детально изучить tech report на предмет важных моментов, в паре соседних тг-каналах уже появились посты об этом. И авторы этих каналов — люди, которые занимаются NLP, т.е. лучше меня шарят, что там как. Поэтому я подумала, что вместо попыток разобраться самой лучше дать вам ссылки на эти посты (и вообще, я в отпуске!!):
- Интересные моменты тех репорта по мнению автора AbstractDL;
- Несколько постов в Сиолошной. Начинать отсюда и до конца;
- И вот Янык уже видео снял: "GPT-4. What we know so far".
А теперь — пара новостей, связанных с GPT-4, которые меня удивили:
✔️ OpenAI подписали соглашение с правительством Исландии о сотрудничестве в задаче сохранения Исландского языка.
Дело в том, что Исландия активно интегрируется в глобальную экономику, и многие ее жители говорят на английском и других языках. Из-за этого исландский язык не очень распространен в интернете. И также в языке появляется много заимствований, что, как утверждают в стране, ставит исландский язык под угрозу вымирания.
Из-за этого GPT-4 в исландский умеет не очень. Даже специальное дообучение на корпусе исландских текстов не особо помогает. И партнерство Исландии с OpenAI направлено на то, чтобы лучше научить GPT-4 этому языку. Добровольцы будут исправлять ошибки модели и учить ее тонкостям языка и грамматики.
Планируется, что подобными усилиями можно будет работать над сохранением и других вымирающих языков на планете.
Блогпост OpenAI о сотрудничестве
Пост в Твиттере президента Исландии
✔️ Сonor Grogan (Head of Product @ Coinbase) скормил GPT-4 смарт-контракт Эфира (Ethereum). Моделька смогла найти уязвимости и даже описать, как эти уязвимости использовать для хака смарт-контракта. А самое интересное то, что GPT-4 нашла уязвимости и в контракте 2018 года. И одно из них как раз было использовано в том же году для взлома токена Weak Hands.
И что, security engineer теперь тоже не нужны?..
✔️ Duolingo встроит GPT-4 в свое приложение для изучения языков. Функции с GPT-4 будут доступны по подписке Max. Вот что можно будет делать:
- попросить модель найти ошибки в тексте и объяснить, почему это ошибка и как ее исправить;
- практиковаться в языке с помощью диалога с моделькой.
Имхо если это будет хорошо работать, то процесс изучения языка станет намного проще и интереснее!
✔️Оказывается, есть такая компания — Anthropic. Основана она выходцами из OpenAI. И позавчера Anthropic представила своего чат-бота Claude — по сути, конкурента ChatGPT. С ним можно общаться, просить решать задачи: суммаризовать текст, кодить, находить информацию и т.п.
Anthropic уже сотрудничают с Notion, Quora, Juni Learning и DuckDuckGo, внедряют свой продукт в эти сервисы. И некоторые отзывы пользователей этих сервисов выглядят так:
- ”Claude feels more conversational than ChatGPT”;
- “I find Claude to be more interactive and creative in its storytelling.”
Что ж, интересно. Похоже, у OpenAI действительно есть сильный конкурент.
При этом в Anthropic говорят, что Claude довольно reliable and safe. Вообще, судя по сайту, главная цель Anthropic — как раз создание надежных и безопасных AI-систем. Про Claude они сами пишут: "Claude is a next-generation AI assistant based on Anthropic’s research into training helpful, honest, and harmless AI systems."
Запись в early access Claude тут
Соберу в этом посте в кучку несколько постов о GPT-4 и несколько интересных связанных новостей.
Что интересного в tech report GPT-4
Прежде чем у меня получилось сесть и более детально изучить tech report на предмет важных моментов, в паре соседних тг-каналах уже появились посты об этом. И авторы этих каналов — люди, которые занимаются NLP, т.е. лучше меня шарят, что там как. Поэтому я подумала, что вместо попыток разобраться самой лучше дать вам ссылки на эти посты (и вообще, я в отпуске!!):
- Интересные моменты тех репорта по мнению автора AbstractDL;
- Несколько постов в Сиолошной. Начинать отсюда и до конца;
- И вот Янык уже видео снял: "GPT-4. What we know so far".
А теперь — пара новостей, связанных с GPT-4, которые меня удивили:
✔️ OpenAI подписали соглашение с правительством Исландии о сотрудничестве в задаче сохранения Исландского языка.
Дело в том, что Исландия активно интегрируется в глобальную экономику, и многие ее жители говорят на английском и других языках. Из-за этого исландский язык не очень распространен в интернете. И также в языке появляется много заимствований, что, как утверждают в стране, ставит исландский язык под угрозу вымирания.
Из-за этого GPT-4 в исландский умеет не очень. Даже специальное дообучение на корпусе исландских текстов не особо помогает. И партнерство Исландии с OpenAI направлено на то, чтобы лучше научить GPT-4 этому языку. Добровольцы будут исправлять ошибки модели и учить ее тонкостям языка и грамматики.
Планируется, что подобными усилиями можно будет работать над сохранением и других вымирающих языков на планете.
Блогпост OpenAI о сотрудничестве
Пост в Твиттере президента Исландии
✔️ Сonor Grogan (Head of Product @ Coinbase) скормил GPT-4 смарт-контракт Эфира (Ethereum). Моделька смогла найти уязвимости и даже описать, как эти уязвимости использовать для хака смарт-контракта. А самое интересное то, что GPT-4 нашла уязвимости и в контракте 2018 года. И одно из них как раз было использовано в том же году для взлома токена Weak Hands.
И что, security engineer теперь тоже не нужны?..
✔️ Duolingo встроит GPT-4 в свое приложение для изучения языков. Функции с GPT-4 будут доступны по подписке Max. Вот что можно будет делать:
- попросить модель найти ошибки в тексте и объяснить, почему это ошибка и как ее исправить;
- практиковаться в языке с помощью диалога с моделькой.
Имхо если это будет хорошо работать, то процесс изучения языка станет намного проще и интереснее!
✔️Оказывается, есть такая компания — Anthropic. Основана она выходцами из OpenAI. И позавчера Anthropic представила своего чат-бота Claude — по сути, конкурента ChatGPT. С ним можно общаться, просить решать задачи: суммаризовать текст, кодить, находить информацию и т.п.
Anthropic уже сотрудничают с Notion, Quora, Juni Learning и DuckDuckGo, внедряют свой продукт в эти сервисы. И некоторые отзывы пользователей этих сервисов выглядят так:
- ”Claude feels more conversational than ChatGPT”;
- “I find Claude to be more interactive and creative in its storytelling.”
Что ж, интересно. Похоже, у OpenAI действительно есть сильный конкурент.
При этом в Anthropic говорят, что Claude довольно reliable and safe. Вообще, судя по сайту, главная цель Anthropic — как раз создание надежных и безопасных AI-систем. Про Claude они сами пишут: "Claude is a next-generation AI assistant based on Anthropic’s research into training helpful, honest, and harmless AI systems."
Запись в early access Claude тут
🔥60👍14❤7😁1🤯1
💬 Вступайте в сообщество MLOps-инженеров в Telegram. Там публикуем дайджесты, обсуждаем новые инструменты и технологии.
#промо
В сообществе вы найдете:
▫️ Новости индустрии production ML;
▫️ Полезные статьи, инструменты и технологии;
▫️ Опыт коллег и лучшие практики.
Присоединяйтесь, чтобы получать новые знания от практиков MLOps и дата-аналитики: https://www.tg-me.com/+WNtmeTCsq0VjMjNi
Реклама ООО «Селектел», Pb3XmBtztAXpLT3m7AJbuAwefAQJaXLiwLGZpqU
#промо
В сообществе вы найдете:
▫️ Новости индустрии production ML;
▫️ Полезные статьи, инструменты и технологии;
▫️ Опыт коллег и лучшие практики.
Присоединяйтесь, чтобы получать новые знания от практиков MLOps и дата-аналитики: https://www.tg-me.com/+WNtmeTCsq0VjMjNi
Реклама ООО «Селектел», Pb3XmBtztAXpLT3m7AJbuAwefAQJaXLiwLGZpqU
👍13🔥2🥰2
Помните, в 2021 году была статья о распознавании фейковых видео людей (deepfake) по зрачкам глаз? Там была идея, что у реальных людей на видео отражения и блики в зрачках обоих глаз практически идентичны. На фейковых же видео отражения в глазах часто сильно разнятся. Впрочем, не особо удивительно, т.к. зрачки глаз — довольно low-level деталь, успешно подгонять которую модели для дипфейков научить сложно.
Так вот, оказывается, в 2020 году была еще одна работа с интересной идеей распознавания дипфейков: FakeCatcher. Идея эта — детектить некоторые биологические маркеры людей. А именно: когда сердце человека качает кровь, вены и сосуды меняют свой цвет в зависимости от стадии сердечного сокращения. Эти изменения образуют постоянный паттерн на видео, который можно детектить. Как и отражения в зрачках, еле заметные изменения цвета кожи из-за работы сердца — это low-level деталь, которая моделями для дипфейков не восстанавливается.
Причем авторы статьи утверждают, что FakeCatcher работает даже на low-resolution картинках, и что в целом система довольно устойчива к изменениям/шумам на видео. Это удивительно: казалось бы, при низком разрешении изменения цветов кожи должны становиться менее заметны.
Вообще, идея детектить подобные биологические паттерны на видео не нова. Идея возникла в медициенском домене, когда захотелось придумать неинвазивные методы мониторинга состояния пациентов. Это, к примеру, дистанционная фотоплетизмография на основе цвета. Фотоплетизмография — это ровно и есть метод регистрации изменений, возникающих при наполнении мелких сосудов кровью в зависимости от фазы кардиоцикла. Идеи оттуда и переняли ученые из Бингемтона для создания системы детекции дипфейков.
Статья про FakeCatcher была написана в 2020 году. А недавно, в ноябре 2022, Intel взяли эту работу и на ее основе выпустили полноценный продукт FakeCatcher. Ссылка с анонсом вот, но, кажется, открытого доступа к нему нет. По крайней мере, я не нашла.
#paper
Так вот, оказывается, в 2020 году была еще одна работа с интересной идеей распознавания дипфейков: FakeCatcher. Идея эта — детектить некоторые биологические маркеры людей. А именно: когда сердце человека качает кровь, вены и сосуды меняют свой цвет в зависимости от стадии сердечного сокращения. Эти изменения образуют постоянный паттерн на видео, который можно детектить. Как и отражения в зрачках, еле заметные изменения цвета кожи из-за работы сердца — это low-level деталь, которая моделями для дипфейков не восстанавливается.
Причем авторы статьи утверждают, что FakeCatcher работает даже на low-resolution картинках, и что в целом система довольно устойчива к изменениям/шумам на видео. Это удивительно: казалось бы, при низком разрешении изменения цветов кожи должны становиться менее заметны.
Вообще, идея детектить подобные биологические паттерны на видео не нова. Идея возникла в медициенском домене, когда захотелось придумать неинвазивные методы мониторинга состояния пациентов. Это, к примеру, дистанционная фотоплетизмография на основе цвета. Фотоплетизмография — это ровно и есть метод регистрации изменений, возникающих при наполнении мелких сосудов кровью в зависимости от фазы кардиоцикла. Идеи оттуда и переняли ученые из Бингемтона для создания системы детекции дипфейков.
Статья про FakeCatcher была написана в 2020 году. А недавно, в ноябре 2022, Intel взяли эту работу и на ее основе выпустили полноценный продукт FakeCatcher. Ссылка с анонсом вот, но, кажется, открытого доступа к нему нет. По крайней мере, я не нашла.
#paper
👍58🔥17❤7
Может, кому-то будет интересно:
Мне тут скинули ссылку на хакатон по генеративному AI. Смысл такой: вы приходите со своей идеей проекта на основе generative AI (Stable Diffusion, ChatGPT и т.п.) и питчите идею экспертам. Взамен получаете обратную связь по проекту и, возможно, призы (если попали в топ-3).
Если у вас есть идея сервиса/стартапа на основе недавних технологий (в последнее время вижу много таких), и вы хотите получить мнение экспертов бесплатно — кажется, это хорошая возможность. Ну и возможность послушать идеи других)
Среди жюри — действительно шарящие люди. Например, Татьяна Шаврина — руководитель рисерч проектов в AIRI и человек, который запускал ruDALL-E, ruGPT3 и вообще хорошо шарит за генеративный NLP. Кроме технических и рисерч спецов есть и специалист по продукту и продвижениям.
Правда, отбор на ивент закрывается уже скоро: подача заявок доступна до 21 марта в 23:59. Как-то не очень подгадали под выход GPT-4, хехе.
Сайт хакатона с подачей заявки
P.S. На своем канале Татьяна тоже тестирует GPT-4
Мне тут скинули ссылку на хакатон по генеративному AI. Смысл такой: вы приходите со своей идеей проекта на основе generative AI (Stable Diffusion, ChatGPT и т.п.) и питчите идею экспертам. Взамен получаете обратную связь по проекту и, возможно, призы (если попали в топ-3).
Если у вас есть идея сервиса/стартапа на основе недавних технологий (в последнее время вижу много таких), и вы хотите получить мнение экспертов бесплатно — кажется, это хорошая возможность. Ну и возможность послушать идеи других)
Среди жюри — действительно шарящие люди. Например, Татьяна Шаврина — руководитель рисерч проектов в AIRI и человек, который запускал ruDALL-E, ruGPT3 и вообще хорошо шарит за генеративный NLP. Кроме технических и рисерч спецов есть и специалист по продукту и продвижениям.
Правда, отбор на ивент закрывается уже скоро: подача заявок доступна до 21 марта в 23:59. Как-то не очень подгадали под выход GPT-4, хехе.
Сайт хакатона с подачей заявки
P.S. На своем канале Татьяна тоже тестирует GPT-4
🔥14👍8❤4🤡2👎1😁1💩1
ChatGPT Notes — канал про GPT
Тут такое дело. Мы со знакомыми-авторами каналов по AI посмотрели на все новости вокруг языковых моделей (ChatGPT, GPT-4, Bing, ...) и поняли, что их стало слишком много. Настолько много, что одному человеку за всем не угнаться, а если репостить все интересное себе в каналы, то все наши каналы превратятся в склад постов о GPT (наш внутренний чатик уже почти в такое превратился, хехе)
Поэтому мы решили создать под это дело отдельный канал: ChatGPT Notes. В нем мы будем собирать все, что нам покажется интересным по теме языковых моделей. Будут как свои тексты, так и репосты хороших постов с других каналов.
Авторы — люди, работающие AI рисерчерами/инженерами, и понимающие, что они пишут. Многие из них работают с чат-ботами напрямую и больше в этом разбираются, чем я. Никаких "у GPT появилось сознание, мы все умрем" или "покупайте курс по промптам к ChatGPT" там не будет.
К каналу есть чат. В нем можно и нужно общаться на темы вокруг GPT. Попасть в него можно из описания канала.
Больше инфы о канале и авторах — в закрепе.
Ну вот, если вам интересно знать, что там снова ковырнули в GPT, заходите! А тут, в DLStories, я продолжу писать посты о разных интересных вещах в AI, совсем не только (или вообще не) о GPT😌
Тут такое дело. Мы со знакомыми-авторами каналов по AI посмотрели на все новости вокруг языковых моделей (ChatGPT, GPT-4, Bing, ...) и поняли, что их стало слишком много. Настолько много, что одному человеку за всем не угнаться, а если репостить все интересное себе в каналы, то все наши каналы превратятся в склад постов о GPT (наш внутренний чатик уже почти в такое превратился, хехе)
Поэтому мы решили создать под это дело отдельный канал: ChatGPT Notes. В нем мы будем собирать все, что нам покажется интересным по теме языковых моделей. Будут как свои тексты, так и репосты хороших постов с других каналов.
Авторы — люди, работающие AI рисерчерами/инженерами, и понимающие, что они пишут. Многие из них работают с чат-ботами напрямую и больше в этом разбираются, чем я. Никаких "у GPT появилось сознание, мы все умрем" или "покупайте курс по промптам к ChatGPT" там не будет.
К каналу есть чат. В нем можно и нужно общаться на темы вокруг GPT. Попасть в него можно из описания канала.
Больше инфы о канале и авторах — в закрепе.
Ну вот, если вам интересно знать, что там снова ковырнули в GPT, заходите! А тут, в DLStories, я продолжу писать посты о разных интересных вещах в AI, совсем не только (или вообще не) о GPT😌
👍30🥱9🔥8🐳5💩2