Forwarded from Artem Ryblov’s Data Science Weekly
Data Structures & Algorithms by Google
Familiarize yourself with common data structures and algorithms such as lists, trees, maps, graphs, Big-O analysis, and more!
Topics:
- Maps/Dictionaries
- Linked Lists
- Trees
- Stacks & Queues
- Heaps
- Graphs
- Runtime Analysis
- Searching & Sorting
- Recursion & DP
Link: Site
Navigational hashtags: #armknowledgesharing #armtutorials
General hashtags: #algorithms #leetcode #programming
Familiarize yourself with common data structures and algorithms such as lists, trees, maps, graphs, Big-O analysis, and more!
Topics:
- Maps/Dictionaries
- Linked Lists
- Trees
- Stacks & Queues
- Heaps
- Graphs
- Runtime Analysis
- Searching & Sorting
- Recursion & DP
Link: Site
Navigational hashtags: #armknowledgesharing #armtutorials
General hashtags: #algorithms #leetcode #programming
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…