Открыто

Хардкорный Machine Learning [2022-2023] [karpov.courses] [В. Бабушкин, В. Брсоян, С. Гафаров, И. Котенков, А. Сахнов, В. Ладенков] [Повтор]

Тема в разделе "Курсы по программированию", создана пользователем sonyking2090, 23 май 2022.

Цена: 170000р.-95%
Взнос: 7121р.

Основной список: 26 участников

Резервный список: 19 участников

  1. 23 май 2022
    #1
    sonyking2090
    sonyking2090 СкладчикСкладчик

    Складчина: Хардкорный Machine Learning [2022-2023] [karpov.courses] [В. Бабушкин, В. Брсоян, С. Гафаров, И. Котенков, А. Сахнов, В. Ладенков] [Повтор]

    karpov.courses
    ML-HARD


    Научитесь строить ML-сервисы для решения реальных задач.


    1.png


    Для кого эта программа:
    1. ML-Разработчики

    Имеете опыт работы в областях, связанных с машинным обучением, и хотите научиться решать специфические и нестандартные задачи.​
    2. Тимлид
    Управляете командой ML-разработки и хотите познакомиться с передовым опытом построения сервисов для решения сложных бизнес-задач.​

    Вы освоите:
    1. Ранжирование и матчинг

    Алгоритмы автоматического сопоставления объектов позволяют решать множество важных задач бизнеса: выявление товаров-дублей, объединение данных о покупателях в онлайне и офлайне, анализ и мониторинг цен конкурентов. Разберём различные кейсы применения систем матчинга и ранжирования, рассмотрим технические тонкости их архитектур, познакомимся с передовыми подходами к обучению моделей и реализуем свою систему поисковых подсказок.​
    2. Динамическое ценообразование
    Эффективность деятельности многих компаний зависит от способности устанавливать оптимальные цены на продукцию с учётом различных факторов и изменений, происходящих на рынке. Научимся предсказывать ценовые диапазоны, рассмотрим актуальные для ценообразования метрики, познакомимся с «многорукими бандитами» и обучим одного из них выбирать стратегию расчёта цен для оптимизации выручки и маржинальности продаж.​
    3. Uplift-моделирование
    Сегментация потребителей по чистому эффекту от маркетингового воздействия позволяет бизнесу сосредоточить рекламный бюджет на клиентах, готовых выполнить целевое действие только при наличии коммуникации. Научимся оценивать величину этого эффекта с помощью uplift-моделей, разберём интересные кейсы из практики, спроектируем библиотеку факторов и построим свой алгоритм для поиска оптимальной аудитории.​
    4. Продвинутое A/B тестирование
    Важными задачами в A/B-тестировании являются ускорение тестов и повышение их чувствительности. Это позволяет компаниям быстрее внедрять позитивные изменения и вовремя отказываться от негативных. Научимся применять современные методы повышения чувствительности A/B-тестов, рассмотрим полный пайплайн тестирования и реализуем свой сервис для оценки экспериментов.​
    5. Сценарии деплоя ML-сервисов
    ML-инженеру важно уметь интегрировать свои решения в существующую инфраструктуру с учётом высоких требований к производительности и отказоустойчивости приложений. Рассмотрим различные сценарии развёртывания сервисов, обсудим принципы их проектирования и поддержания с точки зрения современного бэкенда и научимся грамотно выводить приложения в продакшн.

    2.png

    Модуль 1 - Ранжирование и матчинг
    Матчинг позволяет решать некоторые важные проблемы, с которыми сталкиваются все компании. Научимся выявлять товары-дубли по их названиям. Попрактикуемся сопоставлять покупателей в онлайне, офлайне и в приложении. Узнаем, как мониторить цены в реальном времени. Расскажем про разные приложения этого подхода, например, про выявление товаров-дублей по их названиям. Рассмотрим технические тонкости архитектур и методов, лежащих в основе систем ранжирования.

    1. Вводная лекция: ранжирование, матчинг, архитектурные особенности
    • Обсудим постановку задачи ранжирования с точки зрения машинного обучения.
    • Разберёмся в тонкостях матчинга и верхнеуровнево познакомимся с архитектурой решения.
    2. Метрики в задаче ранжирования. Особенности матчинга как подзадачи ранжирования
    • Рассмотрим различные метрики ранжирования: от самых базовых до актуальных и часто используемых.
    • Обсудим их применение в разных ситуациях, углубимся в задачу матчинга и поговорим про особенности оценки результатов.
    3. Функции потерь и базовые подходы к обучению моделей ранжирования
    • Продолжим углубляться в тему ранжирования и рассмотрим методы обучения моделей.
    • Узнаем, какие существуют функции потерь и в каких случаях они используются.
    4. Особенности работы с деревянными моделями. YetiRank
    • Перейдём к следующему этапу развития ранжирующих систем и познакомимся с популярными алгоритмами и их внутренним устройством.
    5. Передовые подходы к ранжированию: обзор ушедшего десятилетия
    • Разберёмся, какие за последнее время были придуманы способы и приемы, повышающие качество и стабильность моделей.
    • Проследим развитие идей и концепций.
    6. Приближённый поиск ближайших соседей
    • С увеличением объёма данных возрастает сложность ранжирования и поиска объектов.
    • Рассмотрим алгоритмы, позволяющие быстро и эффективно искать схожие объекты в огромной базе.
    7. Модели для работы с текстом, введение в эмбеддинги. FastText, DSSM
    • Познакомимся с языковыми моделями для извлечения информации из текстов в векторном виде для её последующей утилизации моделями.
    • Разберём принципы работы и обучения моделей FastText, узнаем, чем они отличаются от Word2Vec, и перейдём к структурированным синтаксическим моделям — DSSM.
    8. Сложные языковые модели для высокоточной работы: BERT и трансформеры
    • Продолжим знакомство с текстовыми моделями.
    • Разберём передовые архитектуры и посмотрим, в какой задаче матчинга трансформер может «выстрелить».
    9. Парсинг данных из Интернета, сбор датасетов
    • Научимся выживать в ситуациях, когда данных нет, но они очень нужны.
    • Разберём основы парсинга web-страниц и сбора сырых данных.
    10. Толока как инструмент для оценки моделей и обновления датасетов
    • Познакомимся с инструментом ручной разметки данных от компании Яндекс и узнаем, какую пользу он может принести в работе.
    Финальный проект модуля
    • Используем полученные знания для разработки сервиса на основе моделей ранжирования.
    • В качестве бонуса обсудим задачи, которые можно решить с минимальными изменениями текущего пайплайна.
    Модуль 2 - Динамическое ценообразование
    Научимся делать динамическое ценообразование на основе машинного обучения, что позволит вам максимизировать прибыль компании, в которой вы работаете, и поможет найти баланс между трафиком, выручкой и маржой.

    1. Постановка задачи ценообразования
    • Начнём с основ экономической теории: узнаем, из чего складывается цена, каковы её основные компоненты и от каких факторов она зависит.
    • Также познакомимся с понятием волатильности.
    2. Построение модели предсказания цены в зависимости от факторов
    • Закрепим теорию практикой: научимся грамотно просматривать и анализировать данные рынка и с их помощью выявим реальные факторы, влияющие на цену продукта.
    • Порешаем задачи предсказания цен на уже существующих данных.
    3. Постановка задачи динамического ценообразования
    • Более детально рассмотрим, чем постановка задачи динамического ценообразования отличается от предыдущей задачи и какие факторы в данном случае могут влиять на цену.
    • Обсудим зависимость динамического ценообразования от групп покупателей, времени, рыночных условий, спроса и задач проникновения.
    4. Первое знакомство с динамическим ценообразованием
    • Проанализируем практическую применимость концепции «‎цена как функция, зависящая от факторов», и построим первые простейшие модели динамического ценообразования.
    5. Предсказание диапазонов цен
    • Поговорим о том, как работают алгоритмы предсказания диапазонов цен.
    • Познакомимся с понятием квантильной регрессии и затронем проблему выбора лучшей цены.
    6. Скрещивание динамического и классического ценообразования
    • Поговорим о кластеризации временных рядов и прогнозировании диапазонов цен.
    • Посмотрим, какие бывают инструменты для прогнозирования временных рядов и применим их на практике.
    • Обсудим некоторые специфические функции потерь, такие как quantile loss и RMSLE, и рассмотрим метрики для прогнозирования диапазонов цен.
    7. Метрики и тесты для определения лучшей цены
    • Поговорим о том, на какие метрики следует смотреть для определения лучшей цены.
    • Узнаем, как применить A/B-тестирование для решения этой задачи.
    8. Многорукие бандиты и обучение с подкреплением
    • Узнаем, как использовать обратный сигнал для корректировки и задания диапазонов цен.
    • Познакомимся с многорукими бандитами и теорией, которая лежит в их основе.
    • Рассмотрим, как они позволяют ускорить A/B-тесты в проде.
    9. Практическое применение многоруких бандитов
    • Рассмотрим реализацию многоруких бандитов и получение обратной связи для корректировки цены в коде.
    Финальный проект модуля
    • На основе пройденного материала создадим собственный сервис по предсказанию цен для 1000 товаров.
    • Построим для него несколько моделей и постараемся решить задачу максимальных продаж без провисания маржи.
    Модуль 3 - Uplift-Modelling
    Научимся делать uplift-моделирование. Рассмотрим всё от постановки задачи до её реализации. Данный тип моделирования позволит учесть изменения в поведении клиентов, которые, например, могли быть вызваны рекламной акцией. На основании данной модели вы сможете понять, кому из клиентов стоит сделать предложение и оценить эффект от этого воздействия.

    1. Введение в uplift-моделирование
    • Обоснуем необходимость использования uplift и научимся правильно ставить задачу для эффективного моделирования.
    • Рассмотрим популярные решения и метрики качества uplift-моделей.
    2. Разбор методов построения uplift-моделей
    • Поговорим о том, как проводить разведочный анализ данных (EDA) при uplift-моделировании.
    • Разберём такие подходы к построению uplift-деревьев, как meta-learners и uplift trees.
    3. Uplift сложных метрик. Expected value framework
    • Узнаем, что такое декомпозиция бизнес-эффекта (expected value decomposition) и как с её помощью продумывать изменение интересующей метрики и схемы прогноза.
    • Рассмотрим сложный кейс из офлайн-ритейла.
    4. Как спроектировать свою библиотеку факторов
    • Для построения любой модели необходимы данные: например, важно понимать, откуда к нам пришёл тот или иной клиент и какие у него предпочтения.
    • Узнаем, как проводить эксперименты с разными наборами предикторов и как понять, какой набор является оптимальным для решения задачи.
    • Убедимся, что оформление кода для расчёта предикторов в библиотеку — это самый быстрый путь вывода модели в продакшн.
    5. Workshop: пишем приложение с применением модели
    • Собственными руками построим приложение с применением uplift.
    • Сначала продумаем последовательность действий (pipeline) для подготовки данных и применения модели и организуем репозитории с исходным кодом, а затем настроим логирование и уведомления.
    • Также обсудим механику сохранения промежуточных результатов и подъёма приложения при его падении.
    Финальный проект модуля
    • Напишем свой веб-сервис для запуска uplift-модели и организуем маркетинговую кампанию на основе транзакционных данных клиентов.
    Модуль 4 - Продвинутое A/B тестирование
    Научимся использовать A/B-тестирование для решения практических задач. В результате тесты станут намного более чувствительными, что позволит быстрее внедрять позитивные изменения и отказываться от негативных. Научимся использовать ML-алгоритмы для ускорения A/B-тестов. В результате тесты станут намного более чувствительными, а плохо показывающие себя тесты можно будет быстро выявить и отключить.

    1. Введение: основы статистики
    • Вспомним основы теории вероятностей и математической статистики, которые понадобятся в курсе.
    • Научимся строить точечные оценки и доверительные интервалы.
    2. Основы статистики и статистические критерии
    • Поговорим о том, что такое A/B-тестирование и чем оно отличается от других способов принятия решений.
    • Узнаем, какие статистические критерии применяются в A/B-тестировании и как построить доверительный интервал с помощью метода Bootstrap.
    3. Метрики в А/B-тестировании
    • Рассмотрим различные метрики А/B-тестирования и их классификацию.
    • Выделим среди них те, которые используются чаще всего. Разберём наиболее удачные комбинации метрик.
    4. MDE, sample size
    • Научимся рассчитывать минимальный детектируемый эффект и подбирать необходимый размер групп для проведения эксперимента.
    • Познакомимся с идеями повышения чувствительности тестов.
    5. Стратификация
    • Обсудим, в чём опасность проведения экспериментов на малом количестве данных.
    • Узнаем, как дополнительные знания о наблюдаемых объектах помогают снижать дисперсию данных.
    • Научимся сокращать дисперсию с помощью стратификации.
    6. CUPED. Гильбертово пространство случайных величин
    • Проанализируем общие черты гильбертова пространства и CUPED.
    • Научимся снижать дисперсию данных и повышать чувствительность теста за счёт использования исторических данных.
    7. Линеаризация. Многопараметрический дельта-метод
    • Познакомимся с особенностями тестирования ratio-метрик.
    • Рассмотрим общие черты многопараметрического дельта-метода и линеаризации.
    • Поговорим о том, как они связаны между собой.
    8. Множественное тестирование, 2 + 2= -2
    • Рассмотрим ситуацию, когда два улучшения могут привести к ухудшению ситуации, и научимся справляться с этой проблемой: узнаем, как организовать параллельное проведение большого количества экспериментов и как проводить эксперименты с несколькими вариантами изменений.
    9. Peeking problem, последовательное тестирование
    • Поговорим о том, что происходит с корректностью теста, если оценивать эксперименты до их окончания.
    • Научимся динамически определять момент завершения пилота.
    10. Auto-ML, полный пайплайн
    • Узнаем, как выглядит полный пайплайн A/B-тестирования, и рассмотрим применение ML-алгоритмов для повышения чувствительности тестов.
    Модуль 5 - Сценарии деплоя ML-сервисов
    Как и обычный бэкенд, ML-бэкенд должен обладать отказоустойчивостью и минимальным временем простоя. Кроме того, жёсткие требования часто выдвигаются и к производительности самого приложения. В этом модуле научимся грамотно выпускать приложения в продакшн, учитывая все эти требования.

    1. Инфраструктура и процессы в современных бэкендах
    • Начнём со знакомства с инфраструктурой и микросервисной архитектурой.
    • Поговорим о процессах в современных бэкендах.
    2. Application Service & Service Discovery
    • Поговорим о проектировании приложения для сёрвинга и познакомимся с паттерном Service Discovery.
    3. Процессы. Демонизация. Веб-серверы
    • Рассмотрим, как работают процессы в системе, и разберёмся, в каком виде будут деплоиться наши приложения.
    • Поговорим о функциях веб-серверов.
    4. Docker Runtime + Docker Compose
    • Познакомимся поближе с Docker и Docker Compose и поговорим о некоторых паттернах их применения.
    5. Docker Swarm + Container Lifecycle
    • Организуем оркестрацию нашего приложения в Swarm-кластере, проследим жизненный цикл контейнера и сформируем представление о том, из чего складывается оркестрация.
    6. GitLab CI/CD
    • Используем GitLab CI/CD для выстраивания полноценного процесса сборки и доставки.
    7. Сценарии развёртывания. Часть 1
    • Рассмотрим сценарии развёртывания приложения без использования докера и окрестраторов, в которых балансировка есть из коробки.
    • Обсудим разные варианты доставки, хранения и деплоя кода, демонизируем наши приложения через systemd и настроим nginx балансировать трафик по нашим приложениям.
    8. Сценарии развёртывания. Часть 2
    • Продолжим обсуждение «бездокеровских» сценариев.
    • Рассмотрим полезные функции bash для написания своих сценариев деплоя.
    • Познакомимся с системами автоматической конфигурации ansible и salt, выполнив по одному типу развёртки с помощью каждой.
    9. MLflow и MLflow Model Registry
    • Поднимем MLflow и MLflow Model Registry, интегрируем их в наш сёрвинг и рассмотрим удобные способы регистрации моделей, выходящие за рамки стандартных «коробок».
     
  2. Последние события

    1. elenot
      elenot не участвует.
      31 июл 2024
    2. Квентин
      Квентин участвует.
      31 июл 2024
    3. madydog
      madydog не участвует.
      3 мар 2024
    4. skladchik.com
      В складчине участвует 30 человек(а).
      2 мар 2024
  3. Обсуждение
  4. 19 июл 2022
    #2
    useruser
    useruser ЧКЧлен клуба
    Добрый день! Сориентируйте, будем ждать какого-то порога или даты? Или мы ищем организатора?
     
  5. 20 июл 2022
    #3
    Aesma
    Aesma ЧКЧлен клуба
    за 6к точно никто не будет брать. Поэтому да, пока что снижаем цену. Но если найдётся орг то вообще замечательно
     
  6. 7 окт 2022
    #4
    frankyfrankyfranky
    frankyfrankyfranky СкладчикСкладчик
    Добрый день, может быть, организуем? Я нашел человека
     
  7. 12 окт 2022
    #5
    useruser
    useruser ЧКЧлен клуба
    А когда у человека будет доступен материал, сразу или через 5+ месяцев?