Forwarded from Статистика и R в науке и аналитике
Почему статистика в науке в среднем сложнее
В прошлом посте я писала, что в индустрии A/B тестеров в основном используются t-тесты и z-тесты конверсий. Понятно, что и здесь хватает нюансов: проблема SRM, ratio-метрик, снижение дисперсии через CUPED, а еще можно пойти в сторону causal inference, но это совсем отдельная история. В целом методология сравнительно проста, как правило, дизайн ограничен одним фактором и двумя группами.
При этом данных много (иногда очень много), эксперименты идут на десятках тысяч пользователей, и ЦПТ работает. Поэтому применяются относительно простые статистические методы: t-тесты, z-тесты (при необходимости с поправками на множественное тестирование, чаще всего используется Бонферрони), продвинутым разделом считается CUPED (вариация на тему ANCOVA). Этот набор уже закрывает ~90% стандартных A/B тестов. Основная сложность здесь не в математике, а в понимании метрик и продукта, работе с некачественными данными и в согласовании процессов с разработкой.
В академических исследованиях все иначе. Дизайн эксперимента часто многомерный: исследуется влияние сразу нескольких факторов и их взаимодействий. При этом выборки нередко маленькие, и центральная предельная теорема может не работать. Поэтому простого t-теста обычно недостаточно (а даже в простых дизайнах ученые часто применяют тест Манна–Уитни).
Кроме того, отдельная большая тема — работа с пропущенными значениями. В академической статистике это целый раздел, про это читают отдельные курсы. Но при работе с A/B тестами обычно природа пропущенных значений более прозаичная: например сломалось логгирование событий или пользователь не попал в нужную группу и просто приходится перезапускать тест.
Что касается поправок на множественное тестирование, в науке применяются разные подходы, от пост хок тестов в сложных дизайнах до расчета FDR при работе с транскриптомными данными. В аналитике же обычно ничего сложнее Бонферрони и не требуется, иногда применяют поправку Холма, а FDR вообще противопоказан, на мой взгляд, так как решает другую задачу (почему так, можно почитать в разборе поправок).
Поэтому ученому, который привык к более сложной статистике, сравнительно легко перейти в продуктовую аналитику: статистический бэкграунд обычно выше того, что требуется в индустрии, а многие модные аналитические термины на деле оказываются лишь переименованными или упрощёнными версиями давно известных методов 😏
#stats #analytics
В прошлом посте я писала, что в индустрии A/B тестеров в основном используются t-тесты и z-тесты конверсий. Понятно, что и здесь хватает нюансов: проблема SRM, ratio-метрик, снижение дисперсии через CUPED, а еще можно пойти в сторону causal inference, но это совсем отдельная история. В целом методология сравнительно проста, как правило, дизайн ограничен одним фактором и двумя группами.
При этом данных много (иногда очень много), эксперименты идут на десятках тысяч пользователей, и ЦПТ работает. Поэтому применяются относительно простые статистические методы: t-тесты, z-тесты (при необходимости с поправками на множественное тестирование, чаще всего используется Бонферрони), продвинутым разделом считается CUPED (вариация на тему ANCOVA). Этот набор уже закрывает ~90% стандартных A/B тестов. Основная сложность здесь не в математике, а в понимании метрик и продукта, работе с некачественными данными и в согласовании процессов с разработкой.
В академических исследованиях все иначе. Дизайн эксперимента часто многомерный: исследуется влияние сразу нескольких факторов и их взаимодействий. При этом выборки нередко маленькие, и центральная предельная теорема может не работать. Поэтому простого t-теста обычно недостаточно (а даже в простых дизайнах ученые часто применяют тест Манна–Уитни).
Кроме того, отдельная большая тема — работа с пропущенными значениями. В академической статистике это целый раздел, про это читают отдельные курсы. Но при работе с A/B тестами обычно природа пропущенных значений более прозаичная: например сломалось логгирование событий или пользователь не попал в нужную группу и просто приходится перезапускать тест.
Что касается поправок на множественное тестирование, в науке применяются разные подходы, от пост хок тестов в сложных дизайнах до расчета FDR при работе с транскриптомными данными. В аналитике же обычно ничего сложнее Бонферрони и не требуется, иногда применяют поправку Холма, а FDR вообще противопоказан, на мой взгляд, так как решает другую задачу (почему так, можно почитать в разборе поправок).
Поэтому ученому, который привык к более сложной статистике, сравнительно легко перейти в продуктовую аналитику: статистический бэкграунд обычно выше того, что требуется в индустрии, а многие модные аналитические термины на деле оказываются лишь переименованными или упрощёнными версиями давно известных методов 😏
#stats #analytics
Forwarded from Dataism
Это не книги из серии «прочитаешь и станешь крутым аналитиком данных».
Это книги, которые дадут широкий кругозор в темах, порой не связанных с аналитикой напрямую.
📚Главная проблема курсов/книг в том, что зачастую в них слишком много шума, а сигнала - самый мизер.
Поэтому те, кто переживает, что его read лист раздулся до невероятных размеров, а времени и сил все прочитать нет, то расслабьтесь: 80% книг - проходные.
Но я собрала для вас самый цимес, ловите:
1) Джедайские техники - немного lifeops методик, книга полезная всем
2) Графики, которые убеждают всех - много примеров и разборов того, как надо и как не надо делать. «Нормально делай - нормально будет»
3) Доверительное АБ-тестирование - классика. Разбор продуктовой и методологической стороны экспериментов.
4) Спроси маму - о том, как правильно разговаривать с пользователями и клиентами. Плохие вопросы → бесполезные ответы.
5) DAMA-DMBOOK - это скорее настольный справочник по организации работы с данными в компании, захватывает все аспекты. Мне кажется, это единственная книга в этом роде.
6) Lean Analytics - я уже пару раз о ней писала. Если вы еще не прочитали ее, то атата по жопке.
7) Не заставляйте меня думать - вообще книга о проектировании интерфейсов и юзабилити, но у нее сильный посыл - «интерфейс/продукт/отчет/дашборд должен быть интуитивно понятным»
8) Product-Led Growth - про то, как строить продукты, которые “продают себя” (спасибо, кэп)
А сколько из этих книг ты уже читал?
Пиши в комменты свой результат x/8 ⬇️
*мое субъективное мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Young&&Yandex
Что чаще всего спрашивают на теории и какие темы стоит повторить — в карточках.
Оставляй заявку на стажировку
Подписывайся
@Young_and_Yandex
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Quant Researcher
🤖 ML инструменты кванта
В мире квантовых стратегий всем известны оси Ильинского: гамма‑риск, вега‑риск, jump‑риск (и тета). Эти оси помогают понять, какие риски и премии мы продаём или покупаем. Но когда речь заходит о машинном обучении, многие сразу представляют себе «магическую коробочку», которая будет угадывать цену завтра. Это заблуждение. ML в работе кванта — это набор инструментов для анализа и понимания данных.
Рассказываем, где ML действительно полезен.
📊 1. Сбор, отчистка и подготовка данных
Любая стратегия начинается с данных (треш на входе — треш на выходе). В современном альфа‑конвейере данные бывают числовые (котировки, фундаментальные показатели), реляционные (например, граф связей между компаниями), альтернативные (тексты в соцсетях, новости, спутниковые снимки, Wi‑Fi‑трафик) и даже симуляции (From Deep Learning to LLMs: A survey of AI in Quantitative Investment). Такие разнородные потоки нужно очистить, стандартизировать и привести к единому формату, а затем превратить в признаки, чтобы они могли служить входом для моделей, необязательно ML.
На этот этап уходит львиная доля времени кванта. И опыт ML может в этом сильно-сильно помочь!
🔍 2. Извлечение признаков и скрытых факторов
После чистки данных следует этап построения признаков и поиска скрытых структур. Здесь на помощь приходят методы без учителя. Кластеризация (K‑means, иерархические алгоритмы, DBSCAN) используется для сегментации рынка: данные группируются по объёму торгов, волатильности и другим атрибутам, что помогает выявить разные режимы и типы участников, иногда — натолкнуть на стратегию. Алгоритмы обнаружения аномалий (density‑based clustering, автоэнкодеры) нужны для выявления паттернов на рынке (Quantitative Finance and Machine Learning:
Transforming Investment Strategies, Risk Modeling, and
Market Forecasting in Global Markets).
Кластеризация, кстати, применяется не только на рыночных данных, но и в кредитном скоринге, но об этом можно почитать почти в любом ML-канале или изучить на практике, если поработать в банке.
🧠 3. Алгоритмическая торговля и управление ордерами
ML помогает не только анализировать данные, но и выполнять действия. В алгоритмической торговле модели управляют исполнением ордеров: supervised‑алгоритмы предсказывают краткосрочные движения, риски и факторы, unsupervised‑модели ищут необычные паттерны, а reinforcement learning обучает агента выбирать время выхода на рынок, максимизируя, например, дифференциальный коэффициент Шарпа. Такие системы анализируют ликвидность, волатильность и косты, чтобы оптимизировать execution.
⚖️ 4. Прозрачность
Мощные ML‑модели дают преимущество, но несут риски: переобучение, «чёрный ящик» и зависимость от качественных данных. Поэтому прозрачность и explainable AI — не пустые слова. Важно понимать, какие признаки определяют решения модели, и в идеале уметь объяснить их инвестору или хотя бы себе. Использование машинного обучения — это прежде всего развитие аналитики: мы усиливаем классические финансовые подходы, а не подменяем их.
Вместо итогов
Машинное обучение в работе кванта — это не про «угадывать цены», а строить инструменты:
• чистить и структурировать данные,
• извлекать информативные факторы,
• находить скрытые паттерны,
• измерять и контролировать риски,
• использовать новые источники информации.
Это ценный набор в арсенале кванта, дополняющий опционную геометрию и понимание рисков. Как и в примере с гаммой, вегой и jump‑риском, главное — понимать, какие риски вы покупаете, где вы зарабатываете премию и как ваша модель взаимодействует с рынком.
Что думаете? Какие ML‑инструменты уже использовали в своих стратегиях?
Quant Researcher
В мире квантовых стратегий всем известны оси Ильинского: гамма‑риск, вега‑риск, jump‑риск (и тета). Эти оси помогают понять, какие риски и премии мы продаём или покупаем. Но когда речь заходит о машинном обучении, многие сразу представляют себе «магическую коробочку», которая будет угадывать цену завтра. Это заблуждение. ML в работе кванта — это набор инструментов для анализа и понимания данных.
Рассказываем, где ML действительно полезен.
📊 1. Сбор, отчистка и подготовка данных
Любая стратегия начинается с данных (треш на входе — треш на выходе). В современном альфа‑конвейере данные бывают числовые (котировки, фундаментальные показатели), реляционные (например, граф связей между компаниями), альтернативные (тексты в соцсетях, новости, спутниковые снимки, Wi‑Fi‑трафик) и даже симуляции (From Deep Learning to LLMs: A survey of AI in Quantitative Investment). Такие разнородные потоки нужно очистить, стандартизировать и привести к единому формату, а затем превратить в признаки, чтобы они могли служить входом для моделей, необязательно ML.
На этот этап уходит львиная доля времени кванта. И опыт ML может в этом сильно-сильно помочь!
🔍 2. Извлечение признаков и скрытых факторов
После чистки данных следует этап построения признаков и поиска скрытых структур. Здесь на помощь приходят методы без учителя. Кластеризация (K‑means, иерархические алгоритмы, DBSCAN) используется для сегментации рынка: данные группируются по объёму торгов, волатильности и другим атрибутам, что помогает выявить разные режимы и типы участников, иногда — натолкнуть на стратегию. Алгоритмы обнаружения аномалий (density‑based clustering, автоэнкодеры) нужны для выявления паттернов на рынке (Quantitative Finance and Machine Learning:
Transforming Investment Strategies, Risk Modeling, and
Market Forecasting in Global Markets).
Кластеризация, кстати, применяется не только на рыночных данных, но и в кредитном скоринге, но об этом можно почитать почти в любом ML-канале или изучить на практике, если поработать в банке.
🧠 3. Алгоритмическая торговля и управление ордерами
ML помогает не только анализировать данные, но и выполнять действия. В алгоритмической торговле модели управляют исполнением ордеров: supervised‑алгоритмы предсказывают краткосрочные движения, риски и факторы, unsupervised‑модели ищут необычные паттерны, а reinforcement learning обучает агента выбирать время выхода на рынок, максимизируя, например, дифференциальный коэффициент Шарпа. Такие системы анализируют ликвидность, волатильность и косты, чтобы оптимизировать execution.
⚖️ 4. Прозрачность
Мощные ML‑модели дают преимущество, но несут риски: переобучение, «чёрный ящик» и зависимость от качественных данных. Поэтому прозрачность и explainable AI — не пустые слова. Важно понимать, какие признаки определяют решения модели, и в идеале уметь объяснить их инвестору или хотя бы себе. Использование машинного обучения — это прежде всего развитие аналитики: мы усиливаем классические финансовые подходы, а не подменяем их.
Вместо итогов
Машинное обучение в работе кванта — это не про «угадывать цены», а строить инструменты:
• чистить и структурировать данные,
• извлекать информативные факторы,
• находить скрытые паттерны,
• измерять и контролировать риски,
• использовать новые источники информации.
Это ценный набор в арсенале кванта, дополняющий опционную геометрию и понимание рисков. Как и в примере с гаммой, вегой и jump‑риском, главное — понимать, какие риски вы покупаете, где вы зарабатываете премию и как ваша модель взаимодействует с рынком.
Что думаете? Какие ML‑инструменты уже использовали в своих стратегиях?
Quant Researcher
Forwarded from Data Blog
"Gotta Catch 'Em All"
С 1997 года существовала медиафраншиза — Pokemon. Покемоны были чем-то вроде животных, которые могли обретать в течении своей жизни разные стадии — эволюционировать. Я смотрела все серии аниме, поэтому на слово "эволюция" у меня не нормальная реакция. Но мы здесь собрались за другим контентом, поэтому это интро связано со статьей EVOLUTION OF CONCEPTS IN LANGUAGE MODEL PRE-TRAINING.
Предыстория.
С относительно недавнего времени мы можем разбивать всё пространство активаций LLM на атомарные сущности — признаки (features). Представьте: берем активационные векторы размерности n и проектируем их в пространство размерности N >> n, добиваясь разреженности.
Методы.
Этот трюк обычно делается с помощью Sparse Autoencoders — сетей, которые в латенте дают разреженный вектор, обещающий понятные человеку концепты. Отдельные единицы такого вектора активируются только на схожих признаках, например: один компонент может реагировать на упоминания городов, другой — на математические формулы.
Позже появились Transcoders — продвинутая версия SAE, которая учится разлагать не активации, а вычисления внутри MLP слоя. Так как трансофрмер аддитивен, трансокдеры на разных слоях позволяют строить цепочки — эволюцию прохождений фичей от слоя к слою.
А потом к ним пришли Crosscoders — модели, с архитектурой транскодера, но адаптированные к учету информации из нескольких слоёв.
Каждый "кодер" состоит из трех частей:
1) Энкодер — делает разреженное представление.
2) Латент — само разреженное представление.
3) Декодер — восстанавливает input из разреженного представления.
К исследованию.
В классике кодеры применялись, чтобы изучить признаки в уже обученных моделей. А тут статья предлагает изучить процесс обучения, используя разреженность.
Для этого используют используют crosscoders и теоретическую предпосылку — если признак не существует, штраф за разреженность подавит веса декодеров в "неактивных" моментах до нуля (признака нет — восстанавливать мы его тоже не будем).
Из этой теории рассматривают норму весов декодера||W_dec|| для фичи i (из теории построения также мы знаем, что столбец декодера всегда кодирует какую-то фичу).
Для нормы авторы ввели Peak Snapshot Index — число k [1, 32], показывающее, на каком моменте времени в обучении фича достигла максимальной силы. В частности 143 000 шага обучения побили на 32 снэпшота и на них смотрели активации признака (при этом норму декодера снимали на каждом шаге).
В такой постановке нашли следующее:
1. Двухфазная структура:
Статистическая фаза (ранние шаги): модель изучает частоты токенов, потери падают до теоретического минимума
Фаза фич (поздние шаги): формируются сложные концепты в суперпозиции
2.Иерархия:
Простые фичи (предыдущий токен) ~1000-5000 шагов
Индукционные фичи ~10000-100000 шагов
Контекстно-зависимые — на финальных стадиях
3. Точку поворота: Около шага 1000 большинство фич кардинально меняют направление в пространстве активаций
Красивые картинки нашли тоже.
С 1997 года существовала медиафраншиза — Pokemon. Покемоны были чем-то вроде животных, которые могли обретать в течении своей жизни разные стадии — эволюционировать. Я смотрела все серии аниме, поэтому на слово "эволюция" у меня не нормальная реакция. Но мы здесь собрались за другим контентом, поэтому это интро связано со статьей EVOLUTION OF CONCEPTS IN LANGUAGE MODEL PRE-TRAINING.
Предыстория.
С относительно недавнего времени мы можем разбивать всё пространство активаций LLM на атомарные сущности — признаки (features). Представьте: берем активационные векторы размерности n и проектируем их в пространство размерности N >> n, добиваясь разреженности.
Методы.
Этот трюк обычно делается с помощью Sparse Autoencoders — сетей, которые в латенте дают разреженный вектор, обещающий понятные человеку концепты. Отдельные единицы такого вектора активируются только на схожих признаках, например: один компонент может реагировать на упоминания городов, другой — на математические формулы.
Позже появились Transcoders — продвинутая версия SAE, которая учится разлагать не активации, а вычисления внутри MLP слоя. Так как трансофрмер аддитивен, трансокдеры на разных слоях позволяют строить цепочки — эволюцию прохождений фичей от слоя к слою.
А потом к ним пришли Crosscoders — модели, с архитектурой транскодера, но адаптированные к учету информации из нескольких слоёв.
Каждый "кодер" состоит из трех частей:
1) Энкодер — делает разреженное представление.
2) Латент — само разреженное представление.
3) Декодер — восстанавливает input из разреженного представления.
К исследованию.
В классике кодеры применялись, чтобы изучить признаки в уже обученных моделей. А тут статья предлагает изучить процесс обучения, используя разреженность.
Для этого используют используют crosscoders и теоретическую предпосылку — если признак не существует, штраф за разреженность подавит веса декодеров в "неактивных" моментах до нуля (признака нет — восстанавливать мы его тоже не будем).
Из этой теории рассматривают норму весов декодера||W_dec|| для фичи i (из теории построения также мы знаем, что столбец декодера всегда кодирует какую-то фичу).
Для нормы авторы ввели Peak Snapshot Index — число k [1, 32], показывающее, на каком моменте времени в обучении фича достигла максимальной силы. В частности 143 000 шага обучения побили на 32 снэпшота и на них смотрели активации признака (при этом норму декодера снимали на каждом шаге).
В такой постановке нашли следующее:
1. Двухфазная структура:
Статистическая фаза (ранние шаги): модель изучает частоты токенов, потери падают до теоретического минимума
Фаза фич (поздние шаги): формируются сложные концепты в суперпозиции
2.Иерархия:
Простые фичи (предыдущий токен) ~1000-5000 шагов
Индукционные фичи ~10000-100000 шагов
Контекстно-зависимые — на финальных стадиях
3. Точку поворота: Около шага 1000 большинство фич кардинально меняют направление в пространстве активаций
Красивые картинки нашли тоже.
Forwarded from Data Blog
Эволюция фичей. Можно идти из предположения, что темные — статистические и светлые — более сложные. Структура "скрещивания" отражает, как меняется сила наличия фичи step by step.
Forwarded from Quant Valerian
Как я принимаю решения
Пару недель назад рефлексировали на «мастермайнде», как мы принимаем решения. Оказалось, что у миддл-менеджеров всё в принципе похоже.
Сначала нужно понять, что за решение: какое влияние оно окажет, масштаб проблемы. Дальше нужно понять, типовая ли проблема, решалась ли она уже раньше и как. Затем смотрим, какие есть варианты, как они согласуются со стратегией и целями.
Если проблема мелкая или влияние от решения минимальное, просто подбрасываем монетку. Реально, когда у меня спрашивают, куда лучше добавить график: в левую или в правую колонку, мне по барабану. Приятным побочным эффектом иногда выходит опыт сотрудника, который спрашивал. Если ткнуть в более сложный или невозможный вариант, то он, блин, пойдет и сам наконец разберется, какой же вариант нужен. Человек ленив и придумает тебе обоснование, почему надо делать по-другому. В следующий раз с этого начнет и не придет вообще🧠
Если проблема типовая, то нужно либо вспомнить, какое там типовое решение, либо отправить к тому, кто вспомнит. Бонус трек — вопрошающий заносит это в какую-то базу знаний, такой вопрос больше не возникает.
Если у проблемы есть альтернативные варианты решения, какие-то из альтернатив срезаются стратегией или целями, поздравляю — вы уменьшили пространство решений!👨🦳
Если же проблема сложная и с большим влиянием, то и решение будет приниматься сложно и с большими затратами. Здесь обычно рассказывают что-то про аналитику, числа, эксперименты и т.д. — такое и без меня найдёте в интернете. От меня лишь несколько нюансов:
1. На старте ограничьте время на принятие решения и исследования
2. Если есть альтернативы, попробуйте их скрестить, даже если на первый взгляд, они не женятся
3. К брейншторму (НО НЕ К РЕШЕНИЮ!) привлеките других людей, создайте им комфортную среду для лучшего понимания контекста и проблемы. Пусть они принесут ещё и своего контекста. Здесь может лежать много крутых решений
4. Если вы найдёте банальное, очевидное и простое решение, скорее всего именно оно будет лучшим
И помните, что ответственность за принятое решение лежит на вас. А лучший способ поменьше сожалеть о решении: либо очень тщательно его продумать, либо не думать над ним вообще.
Пару недель назад рефлексировали на «мастермайнде», как мы принимаем решения. Оказалось, что у миддл-менеджеров всё в принципе похоже.
Сначала нужно понять, что за решение: какое влияние оно окажет, масштаб проблемы. Дальше нужно понять, типовая ли проблема, решалась ли она уже раньше и как. Затем смотрим, какие есть варианты, как они согласуются со стратегией и целями.
Если проблема мелкая или влияние от решения минимальное, просто подбрасываем монетку. Реально, когда у меня спрашивают, куда лучше добавить график: в левую или в правую колонку, мне по барабану. Приятным побочным эффектом иногда выходит опыт сотрудника, который спрашивал. Если ткнуть в более сложный или невозможный вариант, то он, блин, пойдет и сам наконец разберется, какой же вариант нужен. Человек ленив и придумает тебе обоснование, почему надо делать по-другому. В следующий раз с этого начнет и не придет вообще
Если проблема типовая, то нужно либо вспомнить, какое там типовое решение, либо отправить к тому, кто вспомнит. Бонус трек — вопрошающий заносит это в какую-то базу знаний, такой вопрос больше не возникает.
Если у проблемы есть альтернативные варианты решения, какие-то из альтернатив срезаются стратегией или целями, поздравляю — вы уменьшили пространство решений!
Если же проблема сложная и с большим влиянием, то и решение будет приниматься сложно и с большими затратами. Здесь обычно рассказывают что-то про аналитику, числа, эксперименты и т.д. — такое и без меня найдёте в интернете. От меня лишь несколько нюансов:
1. На старте ограничьте время на принятие решения и исследования
2. Если есть альтернативы, попробуйте их скрестить, даже если на первый взгляд, они не женятся
3. К брейншторму (НО НЕ К РЕШЕНИЮ!) привлеките других людей, создайте им комфортную среду для лучшего понимания контекста и проблемы. Пусть они принесут ещё и своего контекста. Здесь может лежать много крутых решений
4. Если вы найдёте банальное, очевидное и простое решение, скорее всего именно оно будет лучшим
И помните, что ответственность за принятое решение лежит на вас. А лучший способ поменьше сожалеть о решении: либо очень тщательно его продумать, либо не думать над ним вообще.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AbstractDL
VAR эквивалентен дискретной диффузии
Прикол, оказывается VAR генератор картинок это дискретная диффузия. Только после этой статьи дошло, как оно на самом деле работает. По сути текстовая диффузия, но для масштабов картинки.
Если вы не в курсе что такое VAR — это такой подход к генерации изображений от ByteDance, который вместо того чтобы предсказывать токены последовательно (как GPT), предсказывает сразу все токены следующего разрешения. То есть сначала генерирует картинку 1×1, потом 2×2, потом 4×4 и так далее до полного размера. Каждый шаг — это увеличение разрешения в 2 раза.
Авторы из Johns Hopkins в статье "Scale-Wise VAR is Secretly Discrete Diffusion" показали, что если сделать VAR марковским (то есть каждое разрешение зависит только от предыдущего, а не от всех предыдущих сразу), то математически это становится обычной дискретной диффузией!
И вот тут начинается магия: раз это диффузия, значит можно применять все трюки из диффузионных моделей! Авторы проверили classifier-free guidance, token resampling и distillation — всё работает и даёт прирост. FID падает на 20% на MiniImageNet (21.01→16.76), а zero-shot задачи типа inpainting и super-resolution тоже улучшаются без дополнительного обучения.
Самое прикольное, что такая интерпретация объясняет, ПОЧЕМУ VAR хорошо работает и масштабируется. До этого использование cfg в VAR было эмпирическим, а теперь есть теоретическое обоснование. Плюс можно выкидывать промежуточные scales (distillation), ускоряя инференс на x2 без сильной потери качества.
Самое смешное, что авторы VAR в оригинальной статье уже подавали в модель номер текущего разрешения (как timestep в диффузии), использовали cross-entropy loss (как в дискретной текстовой диффузии), и даже SNR у них растёт от низкого разрешения к высокому. Они буквально сделали диффузию, но не поняли этого 🤷♂️
Статья, GitHub (скоро будет)
Прикол, оказывается VAR генератор картинок это дискретная диффузия. Только после этой статьи дошло, как оно на самом деле работает. По сути текстовая диффузия, но для масштабов картинки.
Если вы не в курсе что такое VAR — это такой подход к генерации изображений от ByteDance, который вместо того чтобы предсказывать токены последовательно (как GPT), предсказывает сразу все токены следующего разрешения. То есть сначала генерирует картинку 1×1, потом 2×2, потом 4×4 и так далее до полного размера. Каждый шаг — это увеличение разрешения в 2 раза.
Авторы из Johns Hopkins в статье "Scale-Wise VAR is Secretly Discrete Diffusion" показали, что если сделать VAR марковским (то есть каждое разрешение зависит только от предыдущего, а не от всех предыдущих сразу), то математически это становится обычной дискретной диффузией!
И вот тут начинается магия: раз это диффузия, значит можно применять все трюки из диффузионных моделей! Авторы проверили classifier-free guidance, token resampling и distillation — всё работает и даёт прирост. FID падает на 20% на MiniImageNet (21.01→16.76), а zero-shot задачи типа inpainting и super-resolution тоже улучшаются без дополнительного обучения.
Самое прикольное, что такая интерпретация объясняет, ПОЧЕМУ VAR хорошо работает и масштабируется. До этого использование cfg в VAR было эмпирическим, а теперь есть теоретическое обоснование. Плюс можно выкидывать промежуточные scales (distillation), ускоряя инференс на x2 без сильной потери качества.
Самое смешное, что авторы VAR в оригинальной статье уже подавали в модель номер текущего разрешения (как timestep в диффузии), использовали cross-entropy loss (как в дискретной текстовой диффузии), и даже SNR у них растёт от низкого разрешения к высокому. Они буквально сделали диффузию, но не поняли этого 🤷♂️
Статья, GitHub (скоро будет)