Forwarded from КПД
В процессе серфинга по тытрубе и подготовке к собственной защите наткнулся на защиту кандидатской диссертации Егор Захарова в Сколтехе.
Тема диссертации - синтез человеческих лиц и 3д фигур людей с помощью GANов. И данный рассказ - действительно очень интересный и увлекательный обзор техник по улучшению качества генерации, реализма, общаемости на произвольные аспекты и положения головы и тела.
Картинки просто конфетка и сам рассказ очень увлекательный и познавательный.
Нынче диффузия - всему голова, но многие идеи актуальны и до сих пор.
В общем, рекомендую.
Тема диссертации - синтез человеческих лиц и 3д фигур людей с помощью GANов. И данный рассказ - действительно очень интересный и увлекательный обзор техник по улучшению качества генерации, реализма, общаемости на произвольные аспекты и положения головы и тела.
Картинки просто конфетка и сам рассказ очень увлекательный и познавательный.
Нынче диффузия - всему голова, но многие идеи актуальны и до сих пор.
В общем, рекомендую.
Forwarded from КПД
Switti: Designing Scale-Wise Transformers for Text-to-Image Synthesis
📖Статья 🖥Код 📑Сайт проекта 🤗Демка
Введение
На текущий момент диффузионные модели уверенно занимают пьедестал почета в задаче генерации изображений по тексту. По заданному запросу, даже весьма нетривиальному, насыщенному нюансами и деталями, они способны генерировать разнообразные картинки хорошего качества. Однако, существенным и основным недостатком диффузионных моделей является их итеративная природа генерации: чтобы сгенерировать одно изображение, диффузионную модель приходится прогонять много раз, из-за чего приходится подождать некоторое время, прежде чем замечательная картинка явится на свет.
Наряду с диффузией существует альтернативная парадигма генерации - так называемые авторегрессионные модели, которые генерируют изображения последовательно патч за патчом (патч - маленький кусок изображения, скажем, 16x16 пикселей). Однако, они работают на практике еще медленнее для больших изображений, так как генерация каждого следующего патча требует прогона модели, а количество патчей может переваливать за тысячу. Кроме того, они уступают в качестве диффузионным моделям, поэтому долгое время считались неконкурентоспособными.
Однако, этой весной команда исследователей из ByteDance в работе VAR (Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction) предложила модификацию авторегрессионной парадигмы, где за один проход предсказывается не один патч, а все разрешение целиком. С помощью специальной аамодели - Residual Quantization VAE (вариационно кодировщика с остаточной квантизацией) - изображение разбивается на разные уровни: нижние уровни соответствуют общей семантике изображения, а верхние уровни - тонким деталям и текстурам. На нижних уровнях немного патчей, поэтому прогон модели на них дешев, и стоимость прогона возрастает с переходом на каждое следующее разрешение. На этапе генерации модель смотрит на все прошлые разрешения и генерируют текущее. Полученная картинка получается посредством суммирования всех разрешений.
Данная работа смогла добиться качества генерации, сопоставимого с хорошими современными диффузионными моделями, при этом будучи значительно быстрее их, в задаче генерации, обусловленной на класс объекта из ImageNet.
Увы, генерация из фиксированного набора (1000 классов) не так интересна пользователям, как генерация по произвольным и разнообразным текстовым запросам. Поэтому для верификации жизнеспособности идеи последовательной генерации изображений по разрешениям требовалась проверка в более сложном и интересном сценарии.
Некоторое время спустя после выхода работы VAR вышли STAR и HART, которые адаптировали вышеупомянутый подход для генерации изображений по тексту. В этих работах удалось добиться сносного качества генерации и следования текстовому запросу, но все же далеко позади современных диффузионных генеративных моделей (таких, как SDXL, PixArt, Lumina).
Поэтому мы, исследователи из Yandex Research, решили обучить свою генеративную text-2-image модель.
📖Статья 🖥Код 📑Сайт проекта 🤗Демка
Введение
На текущий момент диффузионные модели уверенно занимают пьедестал почета в задаче генерации изображений по тексту. По заданному запросу, даже весьма нетривиальному, насыщенному нюансами и деталями, они способны генерировать разнообразные картинки хорошего качества. Однако, существенным и основным недостатком диффузионных моделей является их итеративная природа генерации: чтобы сгенерировать одно изображение, диффузионную модель приходится прогонять много раз, из-за чего приходится подождать некоторое время, прежде чем замечательная картинка явится на свет.
Наряду с диффузией существует альтернативная парадигма генерации - так называемые авторегрессионные модели, которые генерируют изображения последовательно патч за патчом (патч - маленький кусок изображения, скажем, 16x16 пикселей). Однако, они работают на практике еще медленнее для больших изображений, так как генерация каждого следующего патча требует прогона модели, а количество патчей может переваливать за тысячу. Кроме того, они уступают в качестве диффузионным моделям, поэтому долгое время считались неконкурентоспособными.
Однако, этой весной команда исследователей из ByteDance в работе VAR (Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction) предложила модификацию авторегрессионной парадигмы, где за один проход предсказывается не один патч, а все разрешение целиком. С помощью специальной аамодели - Residual Quantization VAE (вариационно кодировщика с остаточной квантизацией) - изображение разбивается на разные уровни: нижние уровни соответствуют общей семантике изображения, а верхние уровни - тонким деталям и текстурам. На нижних уровнях немного патчей, поэтому прогон модели на них дешев, и стоимость прогона возрастает с переходом на каждое следующее разрешение. На этапе генерации модель смотрит на все прошлые разрешения и генерируют текущее. Полученная картинка получается посредством суммирования всех разрешений.
Данная работа смогла добиться качества генерации, сопоставимого с хорошими современными диффузионными моделями, при этом будучи значительно быстрее их, в задаче генерации, обусловленной на класс объекта из ImageNet.
Увы, генерация из фиксированного набора (1000 классов) не так интересна пользователям, как генерация по произвольным и разнообразным текстовым запросам. Поэтому для верификации жизнеспособности идеи последовательной генерации изображений по разрешениям требовалась проверка в более сложном и интересном сценарии.
Некоторое время спустя после выхода работы VAR вышли STAR и HART, которые адаптировали вышеупомянутый подход для генерации изображений по тексту. В этих работах удалось добиться сносного качества генерации и следования текстовому запросу, но все же далеко позади современных диффузионных генеративных моделей (таких, как SDXL, PixArt, Lumina).
Поэтому мы, исследователи из Yandex Research, решили обучить свою генеративную text-2-image модель.
Forwarded from Заскуль питона (Data Science)
Где практиковать SQL?
😮 Давно не было постов вообще про SQL. Не знаю даже почему, хотя самый важный инструмент в нашей работе. Представьте, что вы прошли какие-то курсы, примерно понимаете как все решать, знаете основные концепции, но хочется потрогать задачи реальных компаний. Помню, когда сам проходил различные курсы (в том числе всем известный sql-ex, который форсили постоянно), не хватало какой-то практической составляющей, возможно задач с собеседований компаний.
Какие платформы я советую?
1. StrataScratch - здесь представлены задачи различных зарубежных компаний по SQL и не только. Различные вариации оконных функций, подзапросы, сложные структуры и все это заправлено под задачи с собеседований. https://www.stratascratch.com
2. LeetCode - по SQL я встречал не так много задач, но тем не менее, были интересные над которыми можно подумать. Есть нетипичные, которые не решить просто оконкой и взять актуальное значение данных, надо реально подумать. https://leetcode.com/
Понятно, что есть какие-то курсы, про которые я писал выше. Хочу отметить, что я смотрел. Есть DataCamp, кому-то нравится, кому-то нет. Для меня проблема, что большая часть практики - это просто дополнение запроса из предыдущего шага (с нуля что-то ты можешь и не писать вовсе).
У меня был пост с роадмапом, где я затрагивал SQL, поэтому если вам интересно, тыкайте сюда
🍪 🍪 В скором времени я планирую выкладывать какие-то практические задачи сюда, с которыми реально может столкнуться каждый аналитик, поэтому, если наберется 100 🐳 , делаем! Retention, пенетрации, воронки, критерии для A/B тестов и др.
А чем пользовались вы, когда изучали SQL?
Какие платформы я советую?
1. StrataScratch - здесь представлены задачи различных зарубежных компаний по SQL и не только. Различные вариации оконных функций, подзапросы, сложные структуры и все это заправлено под задачи с собеседований. https://www.stratascratch.com
2. LeetCode - по SQL я встречал не так много задач, но тем не менее, были интересные над которыми можно подумать. Есть нетипичные, которые не решить просто оконкой и взять актуальное значение данных, надо реально подумать. https://leetcode.com/
Понятно, что есть какие-то курсы, про которые я писал выше. Хочу отметить, что я смотрел. Есть DataCamp, кому-то нравится, кому-то нет. Для меня проблема, что большая часть практики - это просто дополнение запроса из предыдущего шага (с нуля что-то ты можешь и не писать вовсе).
У меня был пост с роадмапом, где я затрагивал SQL, поэтому если вам интересно, тыкайте сюда
А чем пользовались вы, когда изучали SQL?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dealer.AI
Создавай игры с GenAI и LLM.
Дядечка Ын продолжает радовать образовательным контентом. Курс про создание игр с ИИ.
Длительность курса 1 час. Можно использовать, кстати, как старт для вката в игровых агентов.
Дядечка Ын продолжает радовать образовательным контентом. Курс про создание игр с ИИ.
Длительность курса 1 час. Можно использовать, кстати, как старт для вката в игровых агентов.
DeepLearning.AI - Learning Platform
Building an AI-Powered Game - DeepLearning.AI
Learn to build with LLMs by creating a fun interactive game from scratch.
Forwarded from Записки MLEшника
Наткнулся на плейлист Multimodal Weekly
Ребята раз в неделю разбирают статьи с мультимодальными сетками. Темы, действительно, разнообразные - Text, Video, Speech
#playlist
Ребята раз в неделю разбирают статьи с мультимодальными сетками. Темы, действительно, разнообразные - Text, Video, Speech
#playlist
Forwarded from Борис опять
https://github.com/google/langfun
Глазам не верится, но выглядит как действительно нормальная либа а-ля лангчейн
Глазам не верится, но выглядит как действительно нормальная либа а-ля лангчейн
GitHub
GitHub - google/langfun: OO for LLMs
OO for LLMs. Contribute to google/langfun development by creating an account on GitHub.
Forwarded from DeepSchool
Consistency models
Диффузионные модели сейчас — популярные генераторы в различных областях, включая генерацию изображений, видео, музыки и многого другого. Однако в отличие от тех же GANs-моделей, диффузионные обычно требуют запуска большого количества forward-ов, что существенно замедляет генерацию. Мы с вами уже рассмотрели несколько способов ускорения диффузионных моделей за счёт уменьшения количества шагов (InstaFlow, Дистилляция диффузии: часть 1, часть 2). А сегодня мы познакомимся с ещё одним популярным методом для ускорения — Consistency models.
Основная идея метода — обучение модели, обладающей свойством self-consistency. Это модель, которая переводит различные точки траектории диффузионного процесса в одну: f(x, t) = f(x1, t1).
Обучив такую модель, мы получаем генератор, который сможет теперь работать как за один, так и за несколько шагов. Аналогичную модель можно построить уже для латентного пространства — так мы получим Latent consistency models. Об основных моментах, связанных с данными моделями (особенностях их обучения, результатах в картинках и метриках), мы и поговорили в новой статье: https://deepschool-pro.notion.site/Consistency-models-93c3794b38034d558208660b732e5377?pvs=4
Диффузионные модели сейчас — популярные генераторы в различных областях, включая генерацию изображений, видео, музыки и многого другого. Однако в отличие от тех же GANs-моделей, диффузионные обычно требуют запуска большого количества forward-ов, что существенно замедляет генерацию. Мы с вами уже рассмотрели несколько способов ускорения диффузионных моделей за счёт уменьшения количества шагов (InstaFlow, Дистилляция диффузии: часть 1, часть 2). А сегодня мы познакомимся с ещё одним популярным методом для ускорения — Consistency models.
Основная идея метода — обучение модели, обладающей свойством self-consistency. Это модель, которая переводит различные точки траектории диффузионного процесса в одну: f(x, t) = f(x1, t1).
Обучив такую модель, мы получаем генератор, который сможет теперь работать как за один, так и за несколько шагов. Аналогичную модель можно построить уже для латентного пространства — так мы получим Latent consistency models. Об основных моментах, связанных с данными моделями (особенностях их обучения, результатах в картинках и метриках), мы и поговорили в новой статье: https://deepschool-pro.notion.site/Consistency-models-93c3794b38034d558208660b732e5377?pvs=4
deepschool-pro on Notion
Consistency models | Notion
Автор: Нина Коновалова
Forwarded from Диджитализируй!
База по оптимизации PostgreSQL: схема, индексы, чтение EXPLAIN, методы доступа и соединения, тюнинг
Запись выступления в РТУ МИРЭА.
YouTube | VK | RuTube | Платформа
0:00 Стартуем
1:18 Как живёт СУБД в молодых веб-приложениях?
4:50 Но есть другой путь
8:50 Быстрые SQL-запросы очищают природу
11:28 А мы щас индекс-то как накатим и как всё взлетит!
12:35 Как PostgreSQL хранит данные?
14:10 Коварные широкие таблицы
19:22 Бойтесь JOIN'ов (нет)
21:40 Коварный SELECT * FROM
24:37 Великий и могучий и страшный EXPLAIN
29:44 Что за индексы такие?
33:12 Кластеризация таблиц
34:20 План выполнения запроса, выводимый EXPLAIN
38:50 Методы доступа к данным: Seq Scan, Index Scan, Bitmap Heap Scan, Index Only Scan
42:12 Читаем EXPLAIN для Seq Scan
46:20 Откуда берётся стоимость выполнения узла в плане запроса?
50:31 Индексное сканирование Index Scan
52:20 Селективность или когда индекс не будет использоваться?
55:38 Bitmap Heap Scan
56:53 Index Only Scan, покрывающие индексы
58:34 Итог по методам доступа к данным
59:15 Способы соединения таблиц — Nested loop, Hash Join, Merge join
1:02:42 Как играться с методами доступа и способами соединения таблиц?
1:03:50 Теперь ты можешь читать EXPLAIN!
1:04:52 На что обращать внимание в плане запроса?
1:07:51 Не навязывайте свой императивный план выполнения
1:08:08 Статистика по данным
1:09:12 Более умные индексы
1:11:14 Короткие и длинные запросы
1:17:27 Как найти медленные запросы?
1:17:54 Какие настройки можно подкрутить?
1:20:20 Материализованные вьюшки, кэш в приложении, секционирование
1:22:25 Что можно почитать и посмотреть по теме?
1:23:50 Вопросы
2:04:45 Комментарии от Дмитрия Гаврина — DBA PostgreSQL в Т-Банк
Запись выступления в РТУ МИРЭА.
YouTube | VK | RuTube | Платформа
0:00 Стартуем
1:18 Как живёт СУБД в молодых веб-приложениях?
4:50 Но есть другой путь
8:50 Быстрые SQL-запросы очищают природу
11:28 А мы щас индекс-то как накатим и как всё взлетит!
12:35 Как PostgreSQL хранит данные?
14:10 Коварные широкие таблицы
19:22 Бойтесь JOIN'ов (нет)
21:40 Коварный SELECT * FROM
24:37 Великий и могучий и страшный EXPLAIN
29:44 Что за индексы такие?
33:12 Кластеризация таблиц
34:20 План выполнения запроса, выводимый EXPLAIN
38:50 Методы доступа к данным: Seq Scan, Index Scan, Bitmap Heap Scan, Index Only Scan
42:12 Читаем EXPLAIN для Seq Scan
46:20 Откуда берётся стоимость выполнения узла в плане запроса?
50:31 Индексное сканирование Index Scan
52:20 Селективность или когда индекс не будет использоваться?
55:38 Bitmap Heap Scan
56:53 Index Only Scan, покрывающие индексы
58:34 Итог по методам доступа к данным
59:15 Способы соединения таблиц — Nested loop, Hash Join, Merge join
1:02:42 Как играться с методами доступа и способами соединения таблиц?
1:03:50 Теперь ты можешь читать EXPLAIN!
1:04:52 На что обращать внимание в плане запроса?
1:07:51 Не навязывайте свой императивный план выполнения
1:08:08 Статистика по данным
1:09:12 Более умные индексы
1:11:14 Короткие и длинные запросы
1:17:27 Как найти медленные запросы?
1:17:54 Какие настройки можно подкрутить?
1:20:20 Материализованные вьюшки, кэш в приложении, секционирование
1:22:25 Что можно почитать и посмотреть по теме?
1:23:50 Вопросы
2:04:45 Комментарии от Дмитрия Гаврина — DBA PostgreSQL в Т-Банк
YouTube
База по оптимизации PostgreSQL: схема, индексы, чтение EXPLAIN, методы доступа и соединения, тюнинг
Запись выступления в РТУ МИРЭА
0:00 Стартуем
1:18 Как живёт СУБД в молодых веб-приложениях?
4:50 Но есть другой путь
8:50 Быстрые SQL-запросы очищают природу
11:28 А мы щас индекс-то как накатим и как всё взлетит!
12:35 Как PostgreSQL хранит данные?
14:10…
0:00 Стартуем
1:18 Как живёт СУБД в молодых веб-приложениях?
4:50 Но есть другой путь
8:50 Быстрые SQL-запросы очищают природу
11:28 А мы щас индекс-то как накатим и как всё взлетит!
12:35 Как PostgreSQL хранит данные?
14:10…
Forwarded from Artem Ryblov’s Data Science Weekly
Feature Engineering A-Z by Emil Hvitfeldt
This book is written to be used as a reference guide to nearly all feature engineering methods you will encounter. This is reflected in the chapter structure. Any question a practitioner is having should be answered by looking at the index and finding the right chapter.
Each section tries to be as comprehensive as possible with the number of different methods and solutions that are presented. A section on dimensionality reduction should list all the practical methods that could be used, as well as a comparison between the methods to help the reader decide what would be most appropriate. This does not mean that all methods are recommended to use. A number of these methods have little and narrow use cases. Methods that are deemed too domain-specific have been excluded from this book.
Each chapter will cover a specific method or small group of methods. This will include motivations and explanations for the method. Whenever possible each method will be accompanied by mathematical formulas and visualizations to illustrate the mechanics of the method. A small pros and cons list is provided for each method. Lastly, each section will include code snippets showcasing how to implement the methods. This is done in R and Python, using tidymodels and scikit-learn respectively. This book is a methods book first, and a coding book second.
Links:
- Site
- Repository
Navigational hashtags: #armknowledgesharing #armbooks
General hashtags: #ml #machinelearning #featureengineering
This book is written to be used as a reference guide to nearly all feature engineering methods you will encounter. This is reflected in the chapter structure. Any question a practitioner is having should be answered by looking at the index and finding the right chapter.
Each section tries to be as comprehensive as possible with the number of different methods and solutions that are presented. A section on dimensionality reduction should list all the practical methods that could be used, as well as a comparison between the methods to help the reader decide what would be most appropriate. This does not mean that all methods are recommended to use. A number of these methods have little and narrow use cases. Methods that are deemed too domain-specific have been excluded from this book.
Each chapter will cover a specific method or small group of methods. This will include motivations and explanations for the method. Whenever possible each method will be accompanied by mathematical formulas and visualizations to illustrate the mechanics of the method. A small pros and cons list is provided for each method. Lastly, each section will include code snippets showcasing how to implement the methods. This is done in R and Python, using tidymodels and scikit-learn respectively. This book is a methods book first, and a coding book second.
Links:
- Site
- Repository
Navigational hashtags: #armknowledgesharing #armbooks
General hashtags: #ml #machinelearning #featureengineering