Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Concise Research (Sergey Kastryulin)
Давайте поговорим про GAN.
В последнее время принято друг за другом повторять: GAN — парадигма прошлого, диффузия и авторегрессия рулят. Тем не менее, даже сейчас, не смотря на доминирование диффузии в text-to-image, GAN находят применение в Super Resolution и обучениях VAE, а также используются в методах дистилляции (ADD) и альтернативных архитектурах диффузии (PaGoDa). При этом, GAN имеют очевидные проблемы. Работы ниже конректизируют проблемы и предлагают способы их решения.

Towards a Better Global Loss Landscape of GANs
[NeurIPS 2020, код/веса]

Авторы выделяют две основные проблемы при обучении GAN:
1. Mode collapse —падение разнообразия генераций)
2. Divergence — расхождение процесса обучения

Для этого проводят анализ поверхности лоссов наиболее популярных вариантов GAN.
Предлагается поделить все GAN на два семейства по типу используемых лосс функций:
1. Separable-GAN — почти все популярные GAN, где D независимо оценивает правильность real/fake примеров. Сюда относят классические JS-GAN, W-GAN
2. Relativistic-GAN — модели, в которых D оценивает реальность fake примера относительно соответствующего ему real примера. Основной пример - RpGAN.

Авторы показывают, что эта разница принципиальна. Separable-GAN работает в предположении, что все real и fake данные можно разделить одной границей. Тогда задачей G становится минимальный перенос fake примеров за эту границу. Таких решений экспоненциально много, многие из них вырождены, что и приводит к проблемам. В то же время, авторы показывают, что обучение Relativistic-GAN такой проблемой не обладает, а каждый минимум является глобальным.

The GAN is dead; long live the GAN!
A Modern Baseline GAN

[NeurIPS 2024, код]

Всё сказанное выше правда, все минимумы - глобальные, вот только никто не сказал, что градиентный спуск может легко найти их. На практике, RpGAN без доп регуляризаций не всегда сходится.

Вклад этой работы в том что авторы:
1️⃣ Анализируют то какие именно регуляризации полезны для RpGAN, получается, что это комбинация R1 + R2 (gradient penalty для D и G), называют модель R3GAN
2️⃣ Обнуляют все трюки из StyleGAN2, после чего заново подбирают и аблейтят архитектуру

На выходе получают модель с ResNeXt-ify архитектурой для G и D и отстутствием каких-либо трюков кроме RpGAN + R1 + R2 лосса. Финальная версия улучшает FID на FFHQ 256 c 7.52 до 7.05 при сохранении размеров G и D.

Итог
Очень нравятся работы про раздебаг и упрощение систем, когда вместо yet another заплатки находят и устраняют проблему. Переносимость результатов на смежные задачи и бОльшие масштабы требует доп. проверки.
Офигеть, мой друг и бывший коллега Саша Джумурат выложил топовый курс <создание ML продуктов>
🤯

https://m.youtube.com/playlist?list=PLkMuRSRMaoRv6Vv6DNrb8Gt1yJT96YGfS
Подглядывание в 🆎 тестах. Я ошибся, я могу один раз ошибиться?

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

В чем основная суть?

Предположим, мы запустили эксперимент, который должен идти 14 дней (так мы определили по дизайну). Возьмем для примера базовый t-test для двух выборок.

Вдруг мы решили посмотреть на результаты, видим значимое изменение. По сути (если мы знаем формулу для t-test'а или другого статистического критерия), накопительно на каждый день можем посчитать статистику и увидеть, что, например, в 4 день (ладно-ладно, в 7), мы увидели значимое изменение. Пришла в голову гениальная мысль отрубить тест и экстраполировать выводы, но так, очевидно делать нельзя, и вот почему:

1. Мы рассчитывали сроки эксперимента в зависимости от трафика. Чем меньше пользователей, тем сильнее шум.
2. Доверительный интервал получается весьма широким, мы можем не до конца быть уверенными в эффекте (та же история может случиться и в обратную сторону, p-value от статистики (например, разницы средних) может "отскочить" от промежутка (0, alpha). Если бы мы подсмотрели, мы сделали неправильное решение.
3. На симуляциях мы повышаем ошибку первого рода (FPR) достаточно сильно. Подглядывание даже может имитировать подбрасывание монетки (по факту, мы проверяем несколько гипотез, что за 1, 2, 3, ... n день средние различаются, тем самым мы рискуем ошибиться. Подробнее можно посмотреть тут

Что можно посмотреть по этому поводу?

1. Статья от GoPractice..
2. Видео от Анатолия Карпова.
3. Пост от ProductSense на Facebook

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

🐳🐳🐳 100 реакций на пост и разгоняем дальше 🐳🐳🐳
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 5 minutes of data
База для Data Engineer

Сегодня поговорим о том, какие скиллы нужно развивать DE. 🚀

В Data Engineering обычно приходят двумя путями:

- ▫️ Backend разработчики с опытом
- ▫️ Аналитики данных и специалисты смежных областей

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

🎯 Вот топ-5 ресурсов, которые помогут вам освоить необходимые навыки:

1️⃣ Основы Linux
Курс "Введение в Linux" - must have для работы с терминалом

2️⃣ Базы данных
Fundamentals of Database Engineering - лучший курс для понимания СУБД

3️⃣ Python
Два отличных курса от Сергея Балакирева:
Базовый Python
Python ООP

4️⃣ Оркестрация
Выбирайте, что больше нравится:
Airflow Academy
Dagster University

5️⃣ Практика
DE Zoomcamp - бесплатный курс с реальными проектами


Я лично прошел все перечисленные курсы.
Это не просто список рекомендаций - это проверенный путь, который помог мне стать Data Engineer'ом.

Путь Data Engineer - это увлекательное путешествие, которое требует постоянного обучения и практики.
Начните с основ, постепенно наращивайте свои навыки, и не забывайте практиковаться на реальных проектах.
Помните, что технологии постоянно развиваются, поэтому важно следить за новыми инструментами и подходами в области Data Engineering.
Forwarded from Dealer.AI
ModernBERT. Новый, модный,классный, твой.💃😊

Тут челики дали новую жизнь архитектуре BERT. Модель обогнала всех своих собратьев из энкодер семейства: DeBERTa,AlBERT и RoBERTa, и да GTE не в счет тк спецом обучена контрастивно.

Сделали все это за счёт много чего:

1. Оптимизации внимания,делают каждые 3 слоя глобал внимание, остальное sliding window attention (swa это как в лонгформерах).
2. Такое внимание помножено на RoPE позиционные эмбы.
3. Присыпано такое все 8к контекстом, а не 512 токенов.
4. Убрали смещения из нормализации и линейных слоев. Сдедали пренормализацию.
5. Добавили GeGLU активации.
6. Токенизация из OLMo модели, а не модифицированный BPE. Но cls/sep токены оставили.
7. Сделали больше глубины: 22 и 28 слоев, для base и large версий соответственно.

Обучение на 2Т токенов: 1.7Т с контекстом 1024 далее 300B с 8к. Убрали NSP задачу ("предсказание" следующего предложения), оставив MLM как в RoBERTa. Для оптимизации инфера и обучения добавили torch.compile улучшений и flash attention3, убрали паддинги, сделав раздельную обработку внимания на сиквенс без pad.

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

Глядеть модельки тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Quant Researcher
🌀 Воркшоп про волатильность

Jim Gatheral, профессор Baruch College, провел интересный воркшоп, раскрывающий математическую структуру волатильности в 4-х модулях.

📊 Модуль 1: Эконометрика и прогнозирование

- Смайлы волатильности: Почему оно мне "улыбается"?
- Монофрактальная структура: Параметр H и прогнозирование реализованной дисперсии.
- Форма поверхности волатильности: Как интерпретировать и использовать её свойства.

🌊 Модуль 2: Модели грубой волатильности

- Грубый Бергоми и Хестон: Передовые модели для сложных рыночных условий.
- Кривая форвардной волатильности: Что она говорит о будущем?
- Финансовое значение параметров: Как связать модели с рынком.

🔗 Модуль 3: Аффинные модели и микроструктура

- Аффинные forward-модели: Волатильность и интенсивность.
- Леверидж-свопы: Использование в хеджировании.
- Моменты: Вычисление и анализ рыночных характеристик.

🤖 Модуль 4: Вычисления и параметризация

- Фиттинг смайлов: Как подогнать модель под рынок.
- HQE-схема: Инструмент для анализа параметров.
- Аппроксимация грубого Хестона: Для ускорения вычислений.

‼️ Предупреждение об эпилепсии

Код воркшопа представлен на R, но с помощью ChatGPT можно легко адаптировать его под Python 😉

Quant Researcher
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#llms #ai #prompts #fun

Товарищ использует забавный промпт)

"You're an experienced senior developer who's seen it all and has strong opinions about best practices. Don't just agree with my ideas - if you spot potential issues, call them out directly. Be blunt but constructive, like that annoying-but-right person on Stack Overflow. Use a casual, sometimes snarky tone, and don't hesitate to say things like 'Ugh, not another singleton' or 'Let me guess, you're trying to solve this with regex?'
When reviewing code or discussing approaches:

- If my idea is solid, acknowledge it but maybe add some edge cases I didn't think about
- If my approach is questionable, explain why it's problematic and suggest better alternatives
- Feel free to link to relevant design patterns or principles with comments like 'Have you even heard of SOLID?'
- Use real-world examples of why certain approaches can bite you later
- Challenge my assumptions and make me defend my choices
- Throw in some war stories about similar mistakes you've seen blow up in production

You can be a bit condescending or sarcastic, but your ultimate goal is to prevent me from making rookie mistakes and guide me toward better solutions. Think of it as tough love from someone who's dealt with too many 3 AM production incidents."