Forwarded from Love. Death. Transformers.
Если вы готовитесь к собесу в норм место вам будет полезно почитать
https://djdumpling.github.io/2026/01/31/frontier_training.html
https://djdumpling.github.io/2026/01/31/frontier_training.html
Alex Wa’s Blog
frontier model training methodologies
How do labs train a frontier, multi-billion parameter model? We look towards seven open-weight frontier models: Hugging Face’s SmolLM3, Prime Intellect’s Intellect 3, Nous Research’s Hermes 4, OpenAI’s gpt-oss-120b, Moonshot’s Kimi K2, DeepSeek’s DeepSeek…
Forwarded from ML Baldini • Nikita Boyandin (Nikita Boyandin)
Подготовка к секции MLSD💃
Для многих, кто в первых раз идет на интервью middle/senior ml, секция ml system design может показаться чем-то сложным и не понятным. Не переживайте, при качественной подготовке, вы получить не интервью в привычном понимании, а прикольный кейс, который проверит ваш опыт, знание инфраструктуры, подходы к решению мл задачи, но все-таки для этого у вас должен быть фундамент.
1️⃣ Разбейте весь системный дизайн по этапам
Тут для меня 9 шагов: постановка бизнес проблемы(тут вы должны получить как можно больше информации от интервьера), метрики, компоненты архитектуры(MVP логика), хранение данные и ее подготовка, Feature Engineering, разработка модели и оффлайн тестирование, Prediction Service, онлайн тестирование и деплой, мониторинг и улучшения. Подбирайте для себя структуру до собеседования, чтобы не отвечать на лету.
2️⃣ Проработаете каждую задачу мл отдельно
Кажется, что проектов и доменов достаточно много, но большенство из них можно описать внутри этих задач: рекомендательная система, поиск, ранговая система, NLP(чат-боты) и CV(OCR). Редко ваша задача будет другой и я советую подготовить каждую из них.
3️⃣ Поучите метрики, аб тесты
В mlsd есть несколько тем, которые нужно доучить специально в mlsd: онлайн-метрики, аб тесты и неплохо еще знать uplift-моделирование. Это поможет вас выделить из толпы.
4️⃣ Подготовке пару кейсов по инфраструктуре
Вам нужно понимать не только мл модель, но и как она будет функционировать на проде, а значит вы должны знать, что такое kuber, docker, s3, kafka и так далее.
5️⃣ Всегда думайте, как вы сможете улучшить ваше решение
В конце интервью вас спросят, а как же вы улучшите вашу систему. Варианта два: либо вы говорите о системе заведомо чуть меньше, а потом упоминаете об этом, либо говорите о данных или инференсе, которые всегда можно улучшить
6️⃣ Проводите перекрестное мок-интервью
Попросите кого то из друзей придумать кейс и с вами его решить и отвалидировать, так вам сразу будут видны ваши пробелы и вы сможете их закрыть перед собесом
7️⃣ Чем больше правильных вопросов вы сможете задать, чем проще вам будет проходить интервью
Важно на первом этапе задать как можно больше вопросов про бизнес задачу и саму систему, потому что дальше хорошим тоном для команды будет то, что вы будете сами рассказывать все решение без их помощи.
Обзательно перед собесом обязательно посмотрите кейсы, которыми занимается команда, часто именно их будут задавать и вы будете уже готовы💃
💗 - если хоть раз проходил секцию mlsd
Для многих, кто в первых раз идет на интервью middle/senior ml, секция ml system design может показаться чем-то сложным и не понятным. Не переживайте, при качественной подготовке, вы получить не интервью в привычном понимании, а прикольный кейс, который проверит ваш опыт, знание инфраструктуры, подходы к решению мл задачи, но все-таки для этого у вас должен быть фундамент.
Тут для меня 9 шагов: постановка бизнес проблемы(тут вы должны получить как можно больше информации от интервьера), метрики, компоненты архитектуры(MVP логика), хранение данные и ее подготовка, Feature Engineering, разработка модели и оффлайн тестирование, Prediction Service, онлайн тестирование и деплой, мониторинг и улучшения. Подбирайте для себя структуру до собеседования, чтобы не отвечать на лету.
Кажется, что проектов и доменов достаточно много, но большенство из них можно описать внутри этих задач: рекомендательная система, поиск, ранговая система, NLP(чат-боты) и CV(OCR). Редко ваша задача будет другой и я советую подготовить каждую из них.
В mlsd есть несколько тем, которые нужно доучить специально в mlsd: онлайн-метрики, аб тесты и неплохо еще знать uplift-моделирование. Это поможет вас выделить из толпы.
Вам нужно понимать не только мл модель, но и как она будет функционировать на проде, а значит вы должны знать, что такое kuber, docker, s3, kafka и так далее.
В конце интервью вас спросят, а как же вы улучшите вашу систему. Варианта два: либо вы говорите о системе заведомо чуть меньше, а потом упоминаете об этом, либо говорите о данных или инференсе, которые всегда можно улучшить
Попросите кого то из друзей придумать кейс и с вами его решить и отвалидировать, так вам сразу будут видны ваши пробелы и вы сможете их закрыть перед собесом
Важно на первом этапе задать как можно больше вопросов про бизнес задачу и саму систему, потому что дальше хорошим тоном для команды будет то, что вы будете сами рассказывать все решение без их помощи.
Обзательно перед собесом обязательно посмотрите кейсы, которыми занимается команда, часто именно их будут задавать и вы будете уже готовы
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
ML Baldini • Nikita Boyandin
Uplift-моделирование📈
⬅️Еще одна неочевидная вещь, которую могут спросить на заключительных собеседованиях, или вести к ней через вопросы и дискуссии. По хорошему, после хакатона по построению моделей оттока клиента, я должен был себя спросить, а зачем…
⬅️Еще одна неочевидная вещь, которую могут спросить на заключительных собеседованиях, или вести к ней через вопросы и дискуссии. По хорошему, после хакатона по построению моделей оттока клиента, я должен был себя спросить, а зачем…
Forwarded from Data Funk
В продолжение предыдущего поста, про статистику в современном мире. Недавно в универе Квебека показали, что обычный метод наименьших квадратов (OLS) математически полностью эквивалентен упрощенному механизму внимания из трансформеров если softmax заменить на линейную функцию. То, что в Attention называется Query, оказывается просто линейной проекцией ваших тестовых данных (для которых ищем ответ) в новое пространство, Key - проекция обучающей выборки в это же пространство. Считаем их скалярную близость, используем её как веса для таргетов обучающей выборки (Value) и всё! Практической пользы ноль, зато педагогическая ценность 10/10. Attention - не какая-то магия, а классическая статистика и взвешивание по сходству (как в OLS/Ridge) на стероидах.
Forwarded from Канал Доброго Вани | Data Science и Продуктики
Продолжаем говорить про Next Item Prediction — сегодня про SASRec
В прошлом посте мы поставили задачу Next Item Prediction (NIP). Теперь давайте разбирать первый «классический» подход, который обычно открывает эту тему — SASRec (Self-Attentive Sequential Recommendation).
Как всегда, держим в голове маркетплейс и нашу матрицу U × D, где у каждого пользователя есть последовательность из последних D действий.
💡 Идея SASRec в двух словах
SASRec — это Transformer-only модель, которая использует self-attention, чтобы понять, какие прошлые действия пользователя важны для предсказания следующего айтема. Ключевая мысль простая: не все предыдущие покупки одинаково полезны. Купил чехол для iPhone год назад — сомнительно, что это важно сейчас. Купил айфон вчера — совсем другое дело.
🧱 Из чего состоит SASRec
Разберём по шагам.
1️⃣ Embedding-слой
Каждый айтем
• Item Embedding
• Positional Embedding (очень важно!)
Почему позиция важна? Потому что последовательности:
iPhone → Чехол и Чехол → iPhone — это вообще разные истории.
На выходе получаем тензор размера: U × D × H
2️⃣ Masked Self-Attention
SASRec использует causal masking, то есть при предсказании айтема на позиции
Формально — обычный Transformer Encoder:
• Multi-Head Attention
• Residual connections
• LayerNorm
Без энкодер-декодер истории, всё строго sequential.
3️⃣ Предсказание Next Item
Для каждой позиции
На практике чаще всего:
• берем последнюю позицию
• сравниваем её эмбеддинг со всеми
• считаем
🧊 Что с холодными пользователями?
SASRec спокойно работает с паддингами:
• паддинги маскируются
• attention их просто игнорирует
Но важно понимать: SASRec — это purely sequential модель. Что это значит?
Если у пользователя 0 или 1 действие, сигнал слабый.
Для совсем холодного старта чаще приходится:
• добавлять популярные айтемы
• комбинировать с non-personalized логикой
👍 Почему SASRec так популярен
✔ Простая и понятная архитектура
✔ Отлично ловит long-range зависимости (по крайней мере, так было в 2018🤷♂️ )
✔ Хорошо масштабируется на большое число айтемов
Не зря его до сих пор используют как точку отсчета почти во всех статьях про NIP.
👀 Ограничения, о которых важно помнить
✖ Нет bidirectional-контекста (в отличие от BERT4Rec)
✖ Не использует user features
✖ Плохо решает cold start без костылей
✖ Использует только позтивные действия в истории пользователя (в то время, как негативные действия могут быть полезны для понимания контекста, что отображено в статьях про Аргус). Так например, для онлайн-кинотеатра мы будем использовать только историю просмотра, хотя могли бы учитывать и те фильмы, от просмотра которых юзер отказался.
Но как первый серьезный Transformer для рекомендаций — это абсолютная классика
Изображение взято из статьи на Хабре
В прошлом посте мы поставили задачу Next Item Prediction (NIP). Теперь давайте разбирать первый «классический» подход, который обычно открывает эту тему — SASRec (Self-Attentive Sequential Recommendation).
Как всегда, держим в голове маркетплейс и нашу матрицу U × D, где у каждого пользователя есть последовательность из последних D действий.
SASRec — это Transformer-only модель, которая использует self-attention, чтобы понять, какие прошлые действия пользователя важны для предсказания следующего айтема. Ключевая мысль простая: не все предыдущие покупки одинаково полезны. Купил чехол для iPhone год назад — сомнительно, что это важно сейчас. Купил айфон вчера — совсем другое дело.
🧱 Из чего состоит SASRec
Разберём по шагам.
Каждый айтем
Item_i кодируется в эмбеддинг размерности H, раскладывающийся на• Item Embedding
• Positional Embedding (очень важно!)
Почему позиция важна? Потому что последовательности:
iPhone → Чехол и Чехол → iPhone — это вообще разные истории.
На выходе получаем тензор размера: U × D × H
SASRec использует causal masking, то есть при предсказании айтема на позиции
t модель не видит будущие позиции t+1, t+2, ... Иначе был бы читинг. Self-attention отвечает на вопрос, на какие прошлые айтемы стоит обратить внимание, чтобы угадать следующий?Формально — обычный Transformer Encoder:
• Multi-Head Attention
• Residual connections
• LayerNorm
Без энкодер-декодер истории, всё строго sequential.
Для каждой позиции
t модель пытается предсказать айтем t+1.На практике чаще всего:
• берем последнюю позицию
• сравниваем её эмбеддинг со всеми
M айтемами• считаем
softmax или sampled softmax
• обучаемся максимизировать вероятность правильного следующего айтема.🧊 Что с холодными пользователями?
SASRec спокойно работает с паддингами:
• паддинги маскируются
• attention их просто игнорирует
Но важно понимать: SASRec — это purely sequential модель. Что это значит?
Если у пользователя 0 или 1 действие, сигнал слабый.
Для совсем холодного старта чаще приходится:
• добавлять популярные айтемы
• комбинировать с non-personalized логикой
👍 Почему SASRec так популярен
✔ Простая и понятная архитектура
✔ Отлично ловит long-range зависимости (по крайней мере, так было в 2018
✔ Хорошо масштабируется на большое число айтемов
Не зря его до сих пор используют как точку отсчета почти во всех статьях про NIP.
👀 Ограничения, о которых важно помнить
✖ Нет bidirectional-контекста (в отличие от BERT4Rec)
✖ Не использует user features
✖ Плохо решает cold start без костылей
✖ Использует только позтивные действия в истории пользователя (в то время, как негативные действия могут быть полезны для понимания контекста, что отображено в статьях про Аргус). Так например, для онлайн-кинотеатра мы будем использовать только историю просмотра, хотя могли бы учитывать и те фильмы, от просмотра которых юзер отказался.
Но как первый серьезный Transformer для рекомендаций — это абсолютная классика
Изображение взято из статьи на Хабре
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AI, больно! | Рома Филонов
Что же такое MoE?
(Mixture of Experts)
Я уверен, вы все натыкались на это слово в релизах новых LLM, в новостных постах в Telegram - это очень популярная нынче техника, которая позволяет увеличивать размеры модели вширь, не сильно проседая по скорости работы.
Мне лично очень тяжело потреблять текстовый контент; картинками и видео всегда веселее. Поэтому вот - сделал видосик с понятным разбором того, как же всё это работает.
🤓Ориентировано видео в основном на тех кто в сфере работает, и не испугается слова линейный слой.
🟠 Разбираю БЕЗ духоты и с примерами кода🟠 Там оказывается все ОЧЕНЬ ПРОСТО
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
КОД: CСЫЛОЧКА_НА_КОД
Более подробные разборы:
1) На русском Хабр: ссылка
2) На английском huggingface: ссылка
3) Крутое видео с визуализациями: ссылка
(Mixture of Experts)
Я уверен, вы все натыкались на это слово в релизах новых LLM, в новостных постах в Telegram - это очень популярная нынче техника, которая позволяет увеличивать размеры модели вширь, не сильно проседая по скорости работы.
Мне лично очень тяжело потреблять текстовый контент; картинками и видео всегда веселее. Поэтому вот - сделал видосик с понятным разбором того, как же всё это работает.
🤓Ориентировано видео в основном на тех кто в сфере работает, и не испугается слова линейный слой.
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
ВИДЕО: https://youtu.be/cyLFiwlovCQ?si=70a-Q7TGDeGeqO5M
КОД: CСЫЛОЧКА_НА_КОД
Более подробные разборы:
1) На русском Хабр: ссылка
2) На английском huggingface: ссылка
3) Крутое видео с визуализациями: ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from .ml
Как «пэт-проект» YOLO стал стандартом CV. Разбор v1–v3
Запускаем серию постов об эволюции одной из самых популярных архитектур в компьютерном зрении.
Разберём:
👾 Как YOLO стала стандартом в мире детекций.
👾 Как она принесла своему автору премию Google за прорыв в ML.
👾 Чему может научить история развития YOLO.
👾 Почему стоит интегрировать этот метод в свои проекты.
До 2015 года задача детекции решалась с помощью поиска наиболее вероятных регионов. Были двухэтапные подходы, такие как Faster R-CNN.
Они действовали по схеме:
📝 Сначала искали регионы-кандидаты, а после использовали refine-процесс для уточнения классов и координат.
Нужен был подход, где реалтайм важнее идеального результата. Так появилась YOLO.
📌 YOLO v1: Модель смотрит сцену целиком (2015)
Идея была следующей: превратить детекцию из задачи поиска регионов в задачу регрессии. Объединить все этапы в одну сеть, которая напрямую «выплюнет» координаты.
Как это реализовали технически:
📝 Сделали архитектуру, похожую на GoogLeNet. Два полносвязных и 24 сверточных слоя. Хоть она и большая, зато выделяла б-боксы и сразу определяла координаты.
📝 Все изображения разбивались на сетку 7x7. Каждая ячейка предсказывала по 2 б-бокса и 20 классов. На вход подавалась картинка разрешением 448x448, которая делилась ещё на 64x64.
📌 YOLO v2 / YOLO9000: Появились масштаб и опорные точки (2016-2017)
Чтобы нивелировать сложный LOSS, в новую версию добавили multi-scale: YOLO9000 одновременно определяет более 9000 классов без полной разметки — отсюда и название.
Какие новые фишки:
📝 Anchor Boxes: вместо предсказания координат в лоб, перешли к предсказанию сдвигов относительно осей X и Y для кандидатов. Это максимизировало захват объекта.
📝 Skip Connections: ввели pass-through слои и добавили батч-нормализацию, что решило проблему затухания градиентов.
📌 YOLO v3: Победа над другими моделями (2018)
Благодаря обновлению YOLO v3 стала фундаментом в ML. Она обогнала по популярности Faster R-CNN и стала любимицей многих разработчиков.
Что нового добавили:
📝 Multiscale detection. Он убрал шум при обнаружении мелких объектов и перестал их пропускать.
📝 «Третий глаз». Сеть выдавала сразу три кандидата на разных разрешениях — большом, поменьше и самом маленьком.
Модель развивалась и дальше, но уже не в руках автора оригинала Джозефа Редмона: он ушел из ML и передал проект крупной компании.
В следующем посте разберём, почему YOLO v4 называют «библией инженера», а YOLO v5 — «гадким утёнком».
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Запускаем серию постов об эволюции одной из самых популярных архитектур в компьютерном зрении.
Разберём:
👾 Как YOLO стала стандартом в мире детекций.
👾 Как она принесла своему автору премию Google за прорыв в ML.
👾 Чему может научить история развития YOLO.
👾 Почему стоит интегрировать этот метод в свои проекты.
До 2015 года задача детекции решалась с помощью поиска наиболее вероятных регионов. Были двухэтапные подходы, такие как Faster R-CNN.
Они действовали по схеме:
📝 Сначала искали регионы-кандидаты, а после использовали refine-процесс для уточнения классов и координат.
Проблема: процесс шёл очень медленно. Представьте задачу: отследить теннисный мяч на корте во время игры. Старые сетки даже на хорошей GPU тратили бы по 5 минут, чтобы обработать видео. Игрокам приходилось бы стоять и ждать систему VAR.
Нужен был подход, где реалтайм важнее идеального результата. Так появилась YOLO.
📌 YOLO v1: Модель смотрит сцену целиком (2015)
Идея была следующей: превратить детекцию из задачи поиска регионов в задачу регрессии. Объединить все этапы в одну сеть, которая напрямую «выплюнет» координаты.
Как это реализовали технически:
📝 Сделали архитектуру, похожую на GoogLeNet. Два полносвязных и 24 сверточных слоя. Хоть она и большая, зато выделяла б-боксы и сразу определяла координаты.
📝 Все изображения разбивались на сетку 7x7. Каждая ячейка предсказывала по 2 б-бокса и 20 классов. На вход подавалась картинка разрешением 448x448, которая делилась ещё на 64x64.
Проблема: YOLO v1 не умела обрабатывать другие разрешения. Чтобы работать с детекцией на больших картинках, их ресайзили до 448x448 или нарезали на патчи. Из-за лишних операций терялось главное преимущество перед Faster R-CNN — скорость.
📌 YOLO v2 / YOLO9000: Появились масштаб и опорные точки (2016-2017)
Чтобы нивелировать сложный LOSS, в новую версию добавили multi-scale: YOLO9000 одновременно определяет более 9000 классов без полной разметки — отсюда и название.
Какие новые фишки:
📝 Anchor Boxes: вместо предсказания координат в лоб, перешли к предсказанию сдвигов относительно осей X и Y для кандидатов. Это максимизировало захват объекта.
📝 Skip Connections: ввели pass-through слои и добавили батч-нормализацию, что решило проблему затухания градиентов.
Проблема: точность детекций стала сильно зависеть от anchor boxes. Опорные точки подбирались вручную: если их плохо подобрали под датасет, метрики модели проседали.
📌 YOLO v3: Победа над другими моделями (2018)
Благодаря обновлению YOLO v3 стала фундаментом в ML. Она обогнала по популярности Faster R-CNN и стала любимицей многих разработчиков.
Что нового добавили:
📝 Multiscale detection. Он убрал шум при обнаружении мелких объектов и перестал их пропускать.
📝 «Третий глаз». Сеть выдавала сразу три кандидата на разных разрешениях — большом, поменьше и самом маленьком.
Проблема: версия стала медленнее. Из-за усложнения архитектуры v3 стала тяжелее предшественниц. Опорные точки все еще выставлялись вручную, что тоже замедляло процесс детекции.
Модель развивалась и дальше, но уже не в руках автора оригинала Джозефа Редмона: он ушел из ML и передал проект крупной компании.
В следующем посте разберём, почему YOLO v4 называют «библией инженера», а YOLO v5 — «гадким утёнком».
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Forwarded from .ml
Инженерная революция и обзывательства со стороны сообщества. Разбор YOLO v4-v6
Начиная с четвёртой версии, разработка перестала быть чисто идейно-эвристической и стала более инженерной.
📌 YOLO v4: Модель превратили в инженерную энциклопедию (2020)
YOLO v4 стала «библией» для улучшения архитектур. В нее вместили максимум трюков, не убив при этом FPS.
💛 Золотая фишка: в новой версии ввели mosaic аугментацию. Она собирает обучающую картинку из нескольких разных, что улучшает работоспособность модели. В результате качество удалось улучшить на +6% mAP по сравнению с YOLOv3, сохранив скорость на уровне 60 FPS.
Другие изменения:
📝 Пирамидальная архитектура (CSPDarknet-53 + PANet + SPP). Вместо простого вырезания кусков из картинки, мультискейл-подход реализовали на уровне самой сети с помощью пирамидального энкодера. Сетка сама извлекала признаки разного масштаба и распознавала контексты.
📝 Трюки и аугментации. В архитектуру интегрировали наработки, такие как Mish-activation, DropBlock и CloU loss. Вместе c mosaic аугментацией они улучшили качество модели на 10%, при этом не меняя её кардинально.
Проблем, которые нужно фиксить, больше нет, поэтому разработчики сосредоточились на улучшениях.
📌 YOLO v5: «Гадкий утенок» и массовое принятие (2020-2021)
YOLO v5 вышла спустя 4 месяца после v4 — версию прозвали «гадким утенком», потому что в ней не было архитектурных прорывов.
💛 Золотая фишка: YOLO v5 переписали на PyTorch и сделали её удобнее для пользователей. Каждый мог интегрировать ее в свой проект и дообучить под свои задачи. Сам PyTorch вскоре стрельнул и задоминировал в области DL, что привело к массовому принятию YOLO.
Других фишек немного — их выпустили, чтобы продвинуть статью о новой версии. Зато появилась куча проблем:
📎 Версия не работала из-за багов. Первые два месяца багнутая имплементация просто не давала пользоваться моделью. Текла память, некорректно уточнялась область по трем кандидатам.
📎Версия не добавляла новизны. Каждая новая YOLO решала либо инженерную проблему, либо идейную. Пятую модель посчитали переписью того, что уже было — просто на другой фреймворк. Сообществу такой подход не понравился.
📎 Версия разрабатывалась компанией Ultralytics. Сообщество относилось к ней с недоверием: раньше над YOLO работала СНГ-шная суперзвезда в области CV — Бачковский, а теперь какие-то ноунеймы. Поэтому разработчики волновались за судьбу полюбившейся модели.
📎 Версия так и не получила статью. Компания обещала выпустить ее в течение нескольких месяцев. Но прошло уже 4 года — статья не появилась. Ограничились парой тех. репортов на архиве.
📌 YOLO v6: Модель сделали удобнее для развертывания (2022)
Компания сосредоточилась на разработке максимально удобного real-time deployment под фреймворки вроде TensorRT и Edge-устройств.
💛 Золотая фишка: ввели Anchor-Free Head. Вместо предсказания сдвигов для кандидатов, модель ищет именно центральную точку объекта. Так быстрее и точнее.
Другие нововведения:
📝 Новая архитектура. В качестве бэкбоуна был выбран EfficientRep — аналог EfficientNet. Еще отказались от DarkNet-бэкбоуна — он давно устарел.
📝 Высокая скорость. Модель стала сверхлегкой и демонстрировала 120 FPS на T4 при разрешении 640x640. Поэтому её использовали в задачах, связанных с тепловизорами и Edge-вычислениями.
В следующем посте разберём, почему YOLO v8 стала самой популярной моделью семейства и как коммерциализация превратила проект в конвейер.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Продолжаем наш цикл постов об эволюции самого популярного семейства моделей для Object Detection.
Начиная с четвёртой версии, разработка перестала быть чисто идейно-эвристической и стала более инженерной.
📌 YOLO v4: Модель превратили в инженерную энциклопедию (2020)
YOLO v4 стала «библией» для улучшения архитектур. В нее вместили максимум трюков, не убив при этом FPS.
💛 Золотая фишка: в новой версии ввели mosaic аугментацию. Она собирает обучающую картинку из нескольких разных, что улучшает работоспособность модели. В результате качество удалось улучшить на +6% mAP по сравнению с YOLOv3, сохранив скорость на уровне 60 FPS.
Другие изменения:
📝 Пирамидальная архитектура (CSPDarknet-53 + PANet + SPP). Вместо простого вырезания кусков из картинки, мультискейл-подход реализовали на уровне самой сети с помощью пирамидального энкодера. Сетка сама извлекала признаки разного масштаба и распознавала контексты.
📝 Трюки и аугментации. В архитектуру интегрировали наработки, такие как Mish-activation, DropBlock и CloU loss. Вместе c mosaic аугментацией они улучшили качество модели на 10%, при этом не меняя её кардинально.
К минусам YOLO v4 можно отнести сложность интеграции модели и ручные гиперпараметры, оставшиеся от предыдущих версий.
Проблем, которые нужно фиксить, больше нет, поэтому разработчики сосредоточились на улучшениях.
📌 YOLO v5: «Гадкий утенок» и массовое принятие (2020-2021)
YOLO v5 вышла спустя 4 месяца после v4 — версию прозвали «гадким утенком», потому что в ней не было архитектурных прорывов.
💛 Золотая фишка: YOLO v5 переписали на PyTorch и сделали её удобнее для пользователей. Каждый мог интегрировать ее в свой проект и дообучить под свои задачи. Сам PyTorch вскоре стрельнул и задоминировал в области DL, что привело к массовому принятию YOLO.
Других фишек немного — их выпустили, чтобы продвинуть статью о новой версии. Зато появилась куча проблем:
📎 Версия не работала из-за багов. Первые два месяца багнутая имплементация просто не давала пользоваться моделью. Текла память, некорректно уточнялась область по трем кандидатам.
📎Версия не добавляла новизны. Каждая новая YOLO решала либо инженерную проблему, либо идейную. Пятую модель посчитали переписью того, что уже было — просто на другой фреймворк. Сообществу такой подход не понравился.
📎 Версия разрабатывалась компанией Ultralytics. Сообщество относилось к ней с недоверием: раньше над YOLO работала СНГ-шная суперзвезда в области CV — Бачковский, а теперь какие-то ноунеймы. Поэтому разработчики волновались за судьбу полюбившейся модели.
📎 Версия так и не получила статью. Компания обещала выпустить ее в течение нескольких месяцев. Но прошло уже 4 года — статья не появилась. Ограничились парой тех. репортов на архиве.
К счастью, Ultralytics модельку не бросили, всячески её дорабатывали и улучшали. Благодаря PyTorch и поддержке от разработчиков, YOLO v5 много где используется как составляющая комплексного решения.
📌 YOLO v6: Модель сделали удобнее для развертывания (2022)
Компания сосредоточилась на разработке максимально удобного real-time deployment под фреймворки вроде TensorRT и Edge-устройств.
💛 Золотая фишка: ввели Anchor-Free Head. Вместо предсказания сдвигов для кандидатов, модель ищет именно центральную точку объекта. Так быстрее и точнее.
Другие нововведения:
📝 Новая архитектура. В качестве бэкбоуна был выбран EfficientRep — аналог EfficientNet. Еще отказались от DarkNet-бэкбоуна — он давно устарел.
📝 Высокая скорость. Модель стала сверхлегкой и демонстрировала 120 FPS на T4 при разрешении 640x640. Поэтому её использовали в задачах, связанных с тепловизорами и Edge-вычислениями.
Явных минусов и проблем у модели не было. Разве что подводила точность в сравнении с v5 и v7. Но зато v6 лучшая для Edge-устройств.
В следующем посте разберём, почему YOLO v8 стала самой популярной моделью семейства и как коммерциализация превратила проект в конвейер.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Forwarded from .ml
Взлёт и падение YOLO. Разбор лучших версий v7-v8 и «конвейера» v9-v12
Нет предела совершенству. Поэтому в игру вернулись учёные, чтобы оптимизировать саму логику обучения. Они помогли Ultralytics создать самую сильную модель на тот момент.
📌 YOLO v7: Самая быстрая среди всех (2022)
В эту версию вернулся Алексей Бачковский (автор v4) и предложил не просто учить веса, а оптимизировать то, как информация течёт по слоям сети, чтобы убрать лишние компоненты.
Что изменили технически:
📝 Ввели E-ELAN / GELAN. Это новый бэкбон, который максимально эффективно агрегирует фичи из всех субэнкодеров и позволяет информации «течь» по сети с минимальными потерями.
📝 Появился re-parameterization. Разработчики разделили структуру для обучения и структуру для инференса. Это позволило ускорить работу модели в продакшене без потери качества.
📌 YOLO v8: Самая популярная и доступная из всех (2023)
На данный момент это самая популярная модель семейства. Секрет успеха v8 не в сказочных метриках, а в том, что всё сделали «по-людски».
Какие новые фишки:
📝 Идея Anchor-Free. Полностью отказались от опорных точек. Разработчики решили просто положить побольше данных в сеть и искать области сразу. Это упростило жизнь юзерам — больше не нужно дебажить параметры точек.
📝 Крутой инструментарий. Модель взлетела благодаря репозиторию Ultralytics. Из коробки, даже не зная глубоко Deep Learning, можно легко запустить обучение, настроить пайплайн и внедрить модель в продакшн.
📌 YOLO v9-v12: Конвейер обновлений (2024–...)
После успеха v8 статей стало экспоненциально больше, но улучшения стали минимальными и итеративными. Разработчики упрощают модель, иногда даже жертвуя качеством, чтобы максимально ее популяризировать.
Что происходило в этих версиях:
📝 YOLO v9. Попытались управлять потоком информации через механизм Programmable Gradient Information (PGI) и GELAN. Сеть сама решает, какие признаки пропускать, а какие блокировать. Что-то вроде аналога гейтинга.
📝 YOLO v10. Полностью отказались от NMS (Non-Maximum Suppression). Модель учится предсказывать области вслепую, без постобработки для удаления дублей, без центроидных точек. В итоге качество иногда просаживалось.
📝 YOLO v11. Перешли к мультимодальности. Вместо одной только детекции сеть стала учить сразу сегментацию, позы и классификацию, чтобы использовать максимум данных для уточнения весов.
📝 YOLO v12. Внедрили FlashAttention и попытались по-другому выстроить механизмы внимания, нащупать еще один аналог гейтинга. Особого хайпа не вызвала, так как про «новые» инструменты из этой версии уже все знали.
Летом 2025 года вышла YOLO v13. Она оказалась на голову выше всех своих предыдущих версий и сразу стала самой востребованной среди разработчиков.
В финальном посте разберём ту самую YOLO v13: узнаем, как Бачковский и Ultralytics переосмыслили фундамент модели.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Продолжаем погружение в историю YOLO. Если v4-v6 были про инженерные трюки, то дальше случились популярность и стагнация.
Нет предела совершенству. Поэтому в игру вернулись учёные, чтобы оптимизировать саму логику обучения. Они помогли Ultralytics создать самую сильную модель на тот момент.
📌 YOLO v7: Самая быстрая среди всех (2022)
В эту версию вернулся Алексей Бачковский (автор v4) и предложил не просто учить веса, а оптимизировать то, как информация течёт по слоям сети, чтобы убрать лишние компоненты.
Что изменили технически:
📝 Ввели E-ELAN / GELAN. Это новый бэкбон, который максимально эффективно агрегирует фичи из всех субэнкодеров и позволяет информации «течь» по сети с минимальными потерями.
📝 Появился re-parameterization. Разработчики разделили структуру для обучения и структуру для инференса. Это позволило ускорить работу модели в продакшене без потери качества.
Результат: YOLO v7 оказалась на 120% быстрее аналогов и стала эталоном оптимизации архитектуры сети. Ее релизнутая идея с увеличенной степенью компрессии использовалась и в других инструментах, став основой в DL.
📌 YOLO v8: Самая популярная и доступная из всех (2023)
На данный момент это самая популярная модель семейства. Секрет успеха v8 не в сказочных метриках, а в том, что всё сделали «по-людски».
Какие новые фишки:
📝 Идея Anchor-Free. Полностью отказались от опорных точек. Разработчики решили просто положить побольше данных в сеть и искать области сразу. Это упростило жизнь юзерам — больше не нужно дебажить параметры точек.
📝 Крутой инструментарий. Модель взлетела благодаря репозиторию Ultralytics. Из коробки, даже не зная глубоко Deep Learning, можно легко запустить обучение, настроить пайплайн и внедрить модель в продакшн.
Результат: модель набрала популярность благодаря своей простоте и удобству. В отличие от крупных компаний вроде Facebook и Apple, репозиторий YOLO v8 подходил для новичков и легко интегрировался в проекты.
📌 YOLO v9-v12: Конвейер обновлений (2024–...)
После успеха v8 статей стало экспоненциально больше, но улучшения стали минимальными и итеративными. Разработчики упрощают модель, иногда даже жертвуя качеством, чтобы максимально ее популяризировать.
Что происходило в этих версиях:
📝 YOLO v9. Попытались управлять потоком информации через механизм Programmable Gradient Information (PGI) и GELAN. Сеть сама решает, какие признаки пропускать, а какие блокировать. Что-то вроде аналога гейтинга.
📝 YOLO v10. Полностью отказались от NMS (Non-Maximum Suppression). Модель учится предсказывать области вслепую, без постобработки для удаления дублей, без центроидных точек. В итоге качество иногда просаживалось.
📝 YOLO v11. Перешли к мультимодальности. Вместо одной только детекции сеть стала учить сразу сегментацию, позы и классификацию, чтобы использовать максимум данных для уточнения весов.
📝 YOLO v12. Внедрили FlashAttention и попытались по-другому выстроить механизмы внимания, нащупать еще один аналог гейтинга. Особого хайпа не вызвала, так как про «новые» инструменты из этой версии уже все знали.
Результат: YOLO дошла до идеала. Уже сложно что-то улучшить или придумать инновационные решения, как это было в первых версиях модели. Хотя идеи все еще были: детектить объекты в разных скейлах, градиенты оптимизировать. Но в тот момент казалось, что круче уже некуда.
Летом 2025 года вышла YOLO v13. Она оказалась на голову выше всех своих предыдущих версий и сразу стала самой востребованной среди разработчиков.
В финальном посте разберём ту самую YOLO v13: узнаем, как Бачковский и Ultralytics переосмыслили фундамент модели.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Forwarded from .ml
Финал эволюции YOLO — как шаг назад порвал все живое. Разбор v13
Завершаем нашу серию постов о самой известной архитектуре в Computer Vision.
Летом 2025 вышла YOLO v13, которая доказала: чтобы сделать качественный скачок вперед, иногда нужно сделать шаг назад и переосмыслить фундамент.
📌 Проводим аналогии: как думает мозг, а как DL-модель?
Вместо того чтобы бесконечно усложнять блоки, авторы v13 задались вопросом: а как мозг связывает признаки?
📎 Мозг не работает линейно, прогоняя информацию через одинаковые операторы, как это делают обычные нейросети. Для каждой микрозадачи в духе «объединить три палочки в треугольник» мозг строит свою уникальную, нелинейную сеть связей.
📌 Как HyperACE и FullPAD сделали v13 самый мощной?
Архитектура v13 держится на двух слонах, которые помогли ей выбиться в лидеры по метрикам и скорости.
📝 FullPAD Tunnel. Это технический хак, похожий на диффузию. Он преобразует все разнородные фичи в одно латентное пространство, то есть один масштаб, чтобы эффективно распределить их по всей сети.
📝 HyperACE (Hypergraph). Это механизм для поиска неочевидных связей. Вместо наложения слоев друг на друга, сеть ищет высокую корреляцию между разными фичами и объединяет их в звенья. То есть отдельные составляющие информации сеть объединяет на основании корреляционных характеристик.
📌 Результат: почему YOLO v13 сейчас топ-1, и какие инсайты доказало это семейство
YOLO v13 превзошла все предыдущие версии и по скорости, и по точности. Но революционные решения других версий тоже стоит учитывать при ведении своего проекта.
Почему стоит внедрить:
📎 Если ваш проект требует максимума от Computer Vision, v13 — это текущий state-of-the-art. Она использует гиперграфы для построения взаимосвязей, что даёт буст там, где обычные CNN буксуют.
Идейные инсайты:
📝 Данные > Архитектура. Качество модели можно сильно выжать за счёт аугментаций и хороших данных. Пример YOLO v4 показал, что 10% качества можно получить одной лишь работой с данными.
📝 Эффективность порождает качество. Если делать модель максимально быстрой и лёгкой, результат тоже улучшится. YOLO начинала как простенькая real-time моделька, а её финальные итерации обходят старые RCNN-овские подходы и методы из детектрона, хоть и с ограничениями.
📝 Сделайте шаг назад. Наш мозг фиксирует контекст, и мы зацикливаемся на текущем уровне решений. Чтобы осознать проблему и найти прорывное решение, нужно избавиться от контекста и посмотреть на задачу глобально, с другой стороны.
Качественные инсайты:
📝 Гиперграфы в Vision-сетях. Они позволяют строить взаимосвязи фичей на таком уровне, с которыми обычные сетки не справляются без дополнительных модов.
📝 Управление потоком информации. Важно углубляться в то, как текут градиенты. Оптимизация потока информации как в v7 или v9 убирает лишние слои — сеть учится эффективнее.
📝 Multiscale решает. Используйте больше мультискейл-подходов, таких как разные размеры входных данных, кропов, контекстных окон. Так модель обобщается на реальные данные. Это работает везде: от СМ до LLM.
📌 Итог серии
Первую версию YOLO создал Джозеф Редмон — обычный аспирант, который считал, что всё уже изобретено до него ребятами из Google и OpenAI. Он сделал это как пэт-проект, чтобы просто поэкспериментировать в удовольствие.
В итоге его проект стал стандартом индустрии и принёс ему премию за прорыв в ML. При этом он только дал старт: продукт развивали другие люди и компании.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк
Завершаем нашу серию постов о самой известной архитектуре в Computer Vision.
Летом 2025 вышла YOLO v13, которая доказала: чтобы сделать качественный скачок вперед, иногда нужно сделать шаг назад и переосмыслить фундамент.
📌 Проводим аналогии: как думает мозг, а как DL-модель?
Вместо того чтобы бесконечно усложнять блоки, авторы v13 задались вопросом: а как мозг связывает признаки?
📎 Мозг не работает линейно, прогоняя информацию через одинаковые операторы, как это делают обычные нейросети. Для каждой микрозадачи в духе «объединить три палочки в треугольник» мозг строит свою уникальную, нелинейную сеть связей.
YOLO v13 отказалась от обобщенных блоков и решений и внедрила механизм, имитирующий эту биологическую сложность.
📌 Как HyperACE и FullPAD сделали v13 самый мощной?
Архитектура v13 держится на двух слонах, которые помогли ей выбиться в лидеры по метрикам и скорости.
📝 FullPAD Tunnel. Это технический хак, похожий на диффузию. Он преобразует все разнородные фичи в одно латентное пространство, то есть один масштаб, чтобы эффективно распределить их по всей сети.
📝 HyperACE (Hypergraph). Это механизм для поиска неочевидных связей. Вместо наложения слоев друг на друга, сеть ищет высокую корреляцию между разными фичами и объединяет их в звенья. То есть отдельные составляющие информации сеть объединяет на основании корреляционных характеристик.
Пример: сеть понимает, что «палочка» + «кружочек» имеют высокую корреляцию для объекта «леденец», и строит для них жесткую связь. Так строятся сложные признаки, которые обычным сетям недоступны без огромной глубины.
📌 Результат: почему YOLO v13 сейчас топ-1, и какие инсайты доказало это семейство
YOLO v13 превзошла все предыдущие версии и по скорости, и по точности. Но революционные решения других версий тоже стоит учитывать при ведении своего проекта.
Почему стоит внедрить:
📎 Если ваш проект требует максимума от Computer Vision, v13 — это текущий state-of-the-art. Она использует гиперграфы для построения взаимосвязей, что даёт буст там, где обычные CNN буксуют.
Идейные инсайты:
📝 Данные > Архитектура. Качество модели можно сильно выжать за счёт аугментаций и хороших данных. Пример YOLO v4 показал, что 10% качества можно получить одной лишь работой с данными.
📝 Эффективность порождает качество. Если делать модель максимально быстрой и лёгкой, результат тоже улучшится. YOLO начинала как простенькая real-time моделька, а её финальные итерации обходят старые RCNN-овские подходы и методы из детектрона, хоть и с ограничениями.
📝 Сделайте шаг назад. Наш мозг фиксирует контекст, и мы зацикливаемся на текущем уровне решений. Чтобы осознать проблему и найти прорывное решение, нужно избавиться от контекста и посмотреть на задачу глобально, с другой стороны.
Качественные инсайты:
📝 Гиперграфы в Vision-сетях. Они позволяют строить взаимосвязи фичей на таком уровне, с которыми обычные сетки не справляются без дополнительных модов.
📝 Управление потоком информации. Важно углубляться в то, как текут градиенты. Оптимизация потока информации как в v7 или v9 убирает лишние слои — сеть учится эффективнее.
📝 Multiscale решает. Используйте больше мультискейл-подходов, таких как разные размеры входных данных, кропов, контекстных окон. Так модель обобщается на реальные данные. Это работает везде: от СМ до LLM.
📌 Итог серии
Первую версию YOLO создал Джозеф Редмон — обычный аспирант, который считал, что всё уже изобретено до него ребятами из Google и OpenAI. Он сделал это как пэт-проект, чтобы просто поэкспериментировать в удовольствие.
В итоге его проект стал стандартом индустрии и принёс ему премию за прорыв в ML. При этом он только дал старт: продукт развивали другие люди и компании.
Какой вывод? Не упирайтесь в идею, что за вас все всё уже давно придумали. Вы можете создавать инновационные проекты там, где уже, казалось бы, всё сделано. Главное — периодически отходить от контекста и смотреть на картину глобально.
💜 Этот пост написал Никита Алутис, ML-разработчик в Точка Банк