О школе

Освойте полный цикл решения CV-задач

Поможем закрыть пробелы в знаниях, ответим на все вопросы и передадим лучшие практики
Старт 28-го марта (7 поток)
CV Rocket
(скоро)

Курс для тех, кто уже работает в индустрии и хочет

Получить обратную связь от опытных наставников

Получить ОС

Перенять лучшие практики разработки в свою команду

Улучшить команду

Повысить хард-скиллы
и поднять свою ценность

Поднять скиллы

Найти старших товарищей и узнать «как правильно»

Перенять опыт

Чему вы научитесь

Освоите полный цикл решения CV-задач и научитесь делать это внутри команды
Optical Character Recognition, Tracking, Face Recognition and Verification, Segmentation, Object Detection

Решать востребованные задачи

Писать и автоматизировать тесты. Наглядно логировать и версионировать эксперименты. Передавать коллегам наработки в контейнерах

Работать в ML/DL команде

Препроцессить картинки на GPU
с помощью DALI. Использовать lightning для моделинга сетей

Быстро учить модели

Создавать проекты на платформе краудсорсинга «Толока». Собирать данные и разметку, создавать правила для минимизации обшибок в аннотациях

Добывать чистые данные

Оборачивать инференс моделей в web-сервис. Настраивать CI/CD и мониторинг своих приложений

Создавать полноценный сервис

Квантовать, дистиллировать и прунить модели. Конвертировать в JIT, ONNX, TensorRT и OpenVino. Готовить модели для инференса на устройстве клиента

Ускорять и облегчать инференс

На обучении вас ждёт

Онлайн-лекции, где вы слушаете инженеров, задаёте вопросы, дискутируете и работаете в группах над ML-кейсами. В конце — тест
с разбором верных ответов

Лекции с теорией

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

Семинары

Обсуждайте домашние задания, рабочие задачи или просто общайтесь в чате. Кураторы курса всегда помогут решить проблемы
и поделятся советом

Оперативная помощь

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

Практические задания

Восемнадцать онлайн-лекций, много практики и общения с другими инженерами
Для каждой домашней работы вы создадите отдельный gitlab репозиторий, а наши кураторы дадут исчерпывающий фидбек во время code review

Сode Review от куратора

Программа

Программа рассчитана на 15 недель, ей нужно будет посвящать в среднем 8−12 часов в неделю
15
недель
18
лекций
2
проекта
8-12
часов в неделю

Tools & Frameworks

4 лекции
Модуль 1
→ Моделинг в команде. Теория
Расскажем про организацию репозитория для моделинга. Про конфигурирование, логгирование метрик и экспериментов через clearml и про то, как управлять данными при помощи dvc
→ Моделинг в команде. Семинар
Сделаем репозиторий обучения модели «по фен шую»: создадим Makefile и подключим линтеры и пре-коммит. Тренировать модель будем при помощи Pytorch Lightning, а логировать эксперименты — в ClearML
→ Конвертация
Научимся ускорять нейросетей при помощи использования фреймворков для инференса. Научимся предсказывать через ONNX Runtime, OpenVINO и TensorRT
→ Nvidia DALI
Ускорять можно не только модели, но и работу с данными. Покажем, как можно ускорить ваш тренировочный пайплайн при помощи Data Loading Library (DALI) за счёт переведения операций с данными на GPU

Dev & Ops

4 лекции
Модуль 2
→ Введение в веб-сервисы, FastAPI
Расскажем, что такое веб-сервисы, обсудим REST. Научимся писать свои веб-сервисы на FastAPI и конфигурировать их при помощи OmegaConf. Расскажем про внедрение зависимостей и научим применять DI-контейнеры
→ Docker, Tests, Linters
Познакомимся с Dockerfile, docker-image, docker-container. Узнаем про docker volumes, stats и events. Расскажем про docker-compose. Научимся проверять наш код: писать юнит и интеграционные тесты при помощи pytest, а также пропускать его через линтеры
→ CI/CD
Научимся использовать Gitlab CI в своих проектах. Будем тестировать и прогонять через линтеры каждый коммит. Научимся деплоить наше приложение из Gitlab при помощи Ansible
→ Мониторинг
Покажем, как мониторить задеплоенное приложение. Научимся узнавать об ошибках при помощи Sentry, а собирать и отслеживать метрики нам помогут Prometheus и Grafana

Data & Tasks

6 лекций
Модуль 3
→ Краудсорсинг, Толока
Расскажем, что такое crowdsource и как с ним работать. Научимся декомпозировать исходную задачу и писать инструкции для разметчиков. Покажем, как работать в Толоке: научим готовить данные, создавать пулы, контролировать качество и агрегировать результаты
→ Семантическая сегментация
Сделаем обзор моделей для задачи семантической сегментации, обсудим метрики и лоссы. Покажем, как применять Multi-task learning для этой задачи. Расскажем, как можно отделять объекты одного класса друг от друга при помощи Watershed
→ Детекция и трекинг
Пройдём путь от первых детекторов до современных. Обсудим двух- и одноэтапные anchor-based детекторы, а также anchor-free детекторы. Разберёмся, как работать с MMDetection. В задаче трекинга обсудим классический SORT и его современную модификацию FairMOT
→ Распознавание лиц
Расскажем, как обычная кросс-энтропия помогает искать похожие картинки (лица), узнаем, как из этого выводится angular margin loss и при чём здесь contrastive loss. Затронем использование этого для быстрого поиска картинок (лиц), упомянув матричные разложения и кластеризацию
→ Распознавание текста (OCR)
Расскажем про детекцию и распознавание текста, сделаем обзор основных архитектур и датасетов. Расскажем про готовые фреймворки и библиотеки: Paddle OCR, MMOCR, EasyOCR и расскажем, в каких случаях какой лучше применять
→ Детекция без нейросетей
Расскажем, как решают задачу локализации объектов без нейросетей. Рассмотрим алгоритмы поиска контуров и минимально-описывающих фигур, математические морфологии, проекции и бинаризацию

Generative & SelfSup

4 лекции
Модуль 4
→ Трансформеры
Разберёмся, как работают трансформеры и пройдём путь от трансформеров в NLP до первых трансформеров в CV и их модификаций
→ SSL
Рассмотрим различные методы SSL и библиотеки с их реализацией. Спикер поделится личным опытом применения SSL и даст советы из практики
→ GAN
Расскажем теорию автоэнкодеров и GAN, обсудим, как решать проблемы при их обучении и разберем популярные архитектуры
→ Diffusion Models
Объясним, как работает диффузия. Расскажем, как обучают модели под определенные задачи: Conditional Generation, Super-Resolution, Text2Image. И разберем важные архитектуры DALL-E, Imagen, Stabe Diffusion
Вам предстоит обучить нейросеть и обернуть её инференс в web-сервис. Решение будет состоять из двух частей: моделинг классификации и разработка сервиса

Cервис классификации спутниковых снимков

Первый проект
Code Review
Обучите нейросеть на выбранном фреймворке, настроите логирование экспериментов и версионирование моделей
Напишете сервис, добавите к нему тесты, обернёте в докер, настроите CI и автоматизируете деплой на сервер
На каждое решение вы получите подробное ревью от Senior-инженера
В этом проекте вам потребуется обучить несколько нейросетей и связать их в одном сервисе. Данных теперь не будет — вы соберёте их в «Толоке»

Сервис распознавания штрихкодов товаров

Второй проект
Соберёте данные через «Толоку», для сбора фотографий с товарами, детекции штрихкодов и распознаваний номера на них
Добавите мониторинг на ваш сервис используя Prometheus и Grafana, а об ошибках узнаете при помощи Sentry
Code Review
На каждое решение вы получите подробное ревью от Senior-инженера

Кто будет преподавать

Опытные CV-инженеры. Каждый расскажет про задачу, с которой несколько лет работал в коммерческих проектах
2GIS
Михаил Лиз
Актуализирует карты 2GIS
с помощью CV. Научит краудсорсингу на Толоке и сегментации
Kudan SLAM
Игорь Ильин
Разрабатывает SLAM Алгоритмы. Расскажет о классическом компьютерном зрении
Haut.AI OÜ
Марк Страхов
Занимается анализом снимков кожи. Расскажет о Self Supervised Learning
verigram.ai
Андрей Шадриков
Тимлид команды распознавания лиц. Расскажет как решать metric learning задачи
Евразтехника
Сергей Гаврин
Работал в крфупных ML-командах, передаст опыт командного моделинга сетей
TheWatch
Денис Солдатов
Backend-разработчик. Расскажет как создавать, деплоить и поддерживать сервисы
Сбер
Альбина Хабибулина
Рекрутировала в Яндекс и Ozon. Провела > 100 интервью. Научит составлять резюме и представлять себя
Expasoft
Дмитрий Чудаков
Оптимизирует сети для быстрой работы на Edge устройствах. Научит ускорять сети
EPAM
Егор Осинкин
TeamLead команды Computer Vision
НИИАС
Дмитрий Раков
Работает над беспилотными поездами. Расскажет о трансформерах
Авито
Василий Баранов
Работал над сервисом распознавания документов. Расскажет о распознавании текста
Кирам Аль-Харба
Генерирует людей для фэшн индустрии, объяснит, как работают GAN и диффузии
2GIS
Михаил Лиз
Актуализирует карты 2GIS
с помощью CV. Научит краудсорсингу на Толоке и сегментации
Kudan SLAM
Игорь Ильин
Разрабатывает SLAM Алгоритмы. Расскажет о классическом компьютерном зрении
Haut.AI OÜ
Марк Страхов
Занимается анализом снимков кожи. Расскажет о Self Supervised Learning
verigram.ai
Андрей Шадриков
Тимлид команды распознавания лиц. Расскажет как решать metric learning задачи
Евразтехника
Сергей Гаврин
Работал в крфупных ML-командах, передаст опыт командного моделинга сетей
TheWatch
Денис Солдатов
Backend-разработчик. Расскажет как создавать, деплоить и поддерживать сервисы
Сбер
Альбина Хабибулина
Рекрутировала в Яндекс и Ozon. Провела > 100 интервью. Научит составлять резюме и представлять себя
Expasoft
Дмитрий Чудаков
Оптимизирует сети для быстрой работы на Edge устройствах. Научит ускорять сети
EPAM
Егор Осинкин
TeamLead команды Computer Vision
НИИАС
Дмитрий Раков
Работает над беспилотными поездами. Расскажет о трансформерах
Авито
Василий Баранов
Работал над сервисом распознавания документов. Расскажет о распознавании текста
Кирам Аль-Харба
Генерирует людей для фэшн индустрии, объяснит, как работают GAN и диффузии

Что говорят студенты

Истории про курс глазами тех, кто его успешно прошел
Ольга Чаганова
«После обучения стала ощущать себя намного увереннее, многие вещи стали понятнее, осталось только углублять знания»
Артём Соломко
LinkedIn
«Был удивлен подробным код ревью домашних заданий, с объяснениями почему, при этом быстро»
Мария Старцева
«Воспользовалась на работе некоторыми идеями и мне очень пригодился код для построения рабочих пайплайнов»
«Курс оказался крайне полезным. Благодаря лекторам, тьюторам и создателям программы, я смог углубить свои знания»
Арсений Рылов
«Хочу сказать, что это, пожалуй, лучший курс по ML, который я проходила (а у меня достаточно лет опыта в ML)»
Галина Альперович
«Спасибо Михаилу, за то, что посмотрел мое задание с толокой, которое я сдавала позже дедлайна»
Ксения Рябинова
Виктор Юдин
«Помощь по непонятным моментам в заданиях была на высшем уровне (спасибо за терпение:)»
Григорий Солдатов
LinkedIn
«Курс дал возможность посмотреть на best practice в ML/DL, узнать, что люди используют, что сейчас модно»
Руслан
LinkedIn
«Две домашних работы — стали двумя моими полноценными проектами, которые я могу уже показать людям»
Виктор Юдин
«Помощь по непонятным моментам в заданиях была на высшем уровне (спасибо за терпение:)»
Григорий Солдатов
LinkedIn
«Курс дал возможность посмотреть на best practice в ML/DL, узнать, что люди используют, что сейчас модно»