Розпродаж

Курс Machine Learning на великих даних: Від теорії до Production

Перенесення машинного навчання в розподілене середовище та виведення моделей у продакшн

Оригінальна ціна: 990 грн.Поточна ціна: 390 грн.

-60%
Ви економите: 600 грн (60%)
До кінця акції:06дн14год22хв57сек

−20% при купівлі від 2 курсів — активується автоматично

Коли ML-задача перестає вміщатися на одному комп’ютері, змінюється і стек: з’являються кластери, Kafka і питання, куди модель іде після ноутбука. Курс збирає цей шлях на практиці — від архітектури HDFS і запуску Spark до потокової обробки, АБ-тестів та онлайн-сервінгу на Docker і AWS.

  • Переносити ML-задачі на кластер Apache Spark: від RDD, DataFrame і Dataset до прод-запуску через Spark Submit
  • Навчати й деплоїти моделі в хмарі: рекомендації ALS у SageMaker, потокова обробка на Kafka і Spark Streaming
  • Виводити моделі в продакшн: Docker, REST API, MLflow і DVC, фічер-стор і моніторинг
Add to Cart
Курс Machine Learning на больших данных
Курс Machine Learning на великих даних: Від теорії до Production
990 грн Оригінальна ціна: 990 грн.390 грнПоточна ціна: 390 грн.
  • 61 година 14 хвилин відео
  • 34 уроки у 34 модулях
  • Завантажується на комп'ютер
  • Доступ назавжди, без дедлайнів
  • Сертифікат на запит

Цифровий відеокурс для самостійного вивчення, без зворотного зв'язку з викладачем. Після оплати курс з'явиться у вашому акаунті на сайті, а посилання на матеріали надійде на email.

Купівля займає хвилину
  1. Додаєте курс до кошика.
  2. Вводите пошту та пароль — це ваш акаунт, у ньому курс зберігатиметься постійно.
  3. Оплачуєте будь-яким зручним способом — їх понад вісім.
  4. Курс одразу відкривається в акаунті, посилання дублюється на пошту.

Доступ назавжди: повернутися до курсу можна й через рік. Питання — чат на сайті або info@siluette.com.ua.

Курс викладається російською мовою: відео та матеріали російськомовні. Українська версія курсу з’явиться пізніше.

Що ви зможете після курсу

  • Шукати джерела паралелізму в ML-задачах — у даних, моделі та незалежних задачах — і розуміти межі: що паралелізується повністю, що лише частково і коли кластер узагалі не потрібен
  • Працювати з Apache Spark від архітектури до прод-запуску: RDD, DataFrame і Dataset, мінімізація перемішування, збірка fat-jar, Spark Submit і вибір менеджера ресурсів
  • Застосовувати SparkML у хмарі: рекомендації методом ALS на MovieLens, кластеризація k-means, деплой моделі в SageMaker; писати власні блоки SparkML з тестами на Breeze
  • Вести потокову обробку: Kafka з реєстром схем і Avro, Spark Streaming і Structured Streaming з гарантією exactly-once, підключення навченої моделі до потоку, вибір рушія між Spark, Flink, Storm, Kafka Streams і NiFi
  • Ставити цілі ML-проєкту за SMART, вести аналіз відтоку, застосовувати uplift-моделювання та інтерпретацію моделей, проєктувати й аналізувати A/B-тести — включно з бандитськими алгоритмами
  • Вводити моделі в експлуатацію: патерни інференсу, конвеєри на Airflow, відтворюваність через MLflow і DVC, онлайн-сервінг із фічер-стором, моніторингом і канарковим релізом

Кому підійде курс

Дата-сайентистам

Коли ML-задача перестає вміщатися на одному комп’ютері, потрібен перехід на розподілені обчислення — курс показує його покроково: Spark від архітектури до прод-запуску, SparkML у хмарі, потокова обробка. Доля моделі за межами ноутбука теж розібрана: від версіонування експериментів до онлайн-сервінгу.

Інженерам, які доводять моделі до продакшену

Карточки курсу називають інженерів, які доводять моделі до продакшену, дефіцитом ринку. Тут ця робота розібрана повністю: патерни інференсу, Airflow, MLflow і DVC, фічер-стор, Docker і REST API, хмари AWS. Поруч — JVM-інфраструктура: Spark на Scala, Kafka, Kubernetes.

Спеціалістам повного циклу

Чистих позицій дата-сайентиста чи ML-інженера на ринку майже немає — попитом користується профіль, який веде модель від сирих даних до працюючого сервісу. Саме цей шлях курс розбирає повністю: від цілей проєкту та АБ-тестів до випускного пайплайна. Підійде і тим, хто переводить проєкти зі small data на big data.

Не підійде тим, хто хоче вивчити машинне навчання чи Python з нуля: база ML передбачається, Python розбирається як стек під продакшн-задачі, а нейромережевий блок оглядовий.

Як проходить навчання

  • Практика в хмарі AWS — Кластер EMR із Zeppelin, дані в S3, навчання рекомендацій і деплой моделі в SageMaker, публікація образів в ECR — руки в реальній інфраструктурі, а не лише на схемах
  • Локальні Docker-стенди — HDFS із docker-compose, локальні Kafka і Spark, Jupyter зі Scala однією командою — практику можна повторювати без хмари
  • Домашня робота після кожного модуля — Кожен блок закріплюється завданням — від власної реалізації лінійної регресії на Scala до збірки власного блоку SparkML
  • Випускний проєкт — Повний пайплайн від автоматичної підготовки даних до навчання моделі та інференсу в проді — на знеособленому датасеті рекомендаційної тематики або на власній задачі
  • Демо в ноутбуках і розбори коду — Кожна тема показується на працюючих прикладах — від траєкторій градієнтного спуску до конфігурації кластера та стрімінг-застосунку

Що знадобиться

  • Docker — локальні стенди HDFS, Kafka і Spark піднімаються з docker-compose
  • Jupyter Notebook або Google Colab для Python-практики; для Scala — середовище Almond під Docker
  • Хмара AWS для розділів про кластер: EMR, S3, SageMaker, ECR

Чому самотужки зазвичай не виходить

Межа «small data — big data» неочевидна: перехід на кластер виправданий не завжди, частина алгоритмів паралелізується лише частково, а деякі задачі варто виносити з кластера в окремі сервіси. Поки це не проговорено, легко витратити тижні на кластер там, де вистачало одного комп’ютера, — або навпаки тримати навантаження, яке давно переросло ноутбук.

Окремі інструменти задокументовані, але їх забагато, щоб зібрати самому: Spark із трьома API, Kafka з реєстром схем, менеджери ресурсів, Airflow, MLflow, DVC, Docker, хмари. Зв’язки між ними — гарантія exactly-once у стрімінгу, консистентні фічі на навчанні та інференсі, відтворюваність експерименту — у документації поодинці майже не описані.

Навіть готові відповіді викликають суперечки: індустріального стандарту фічер-сторів не існує, true streaming сперечається з мікробатчем, а вибір між SageMaker і Azure ML залежить від задачі. У курсі ці розвилки розбираються на практиці та з недоліками кожної технології.

Що зміниться

До курсу

  • Модель живе в ноутбуці — що з нею за межами експерименту, невідомо
  • Задача зростає, а навчання впирається в один комп’ютер
  • Експеримент не відтворюється: версії даних, параметри й код роз’їжджаються
  • Пайплайни тримаються на cron і ручних перезапусках
  • Код — дослідницький ноутбук, а не сервіс

Після курсу

  • Ви обираєте патерн інференсу й розгортаєте модель як сервіс: Docker, REST API, фічер-стор, моніторинг, канарковий реліз
  • Ви переносите навчання на кластер Spark і знаєте, де кластер виправданий, а де ні
  • Навчання відтворюється: експерименти версіонуються в MLflow і DVC
  • Конвеєри переведені на Airflow, потокова обробка — на Kafka і Spark Streaming
  • Production-код — модульний Python-проєкт з тестами, конфігом і REST API

Як влаштований шлях

  1. База та Scala Ввідне заняття повторює базу машинного навчання: типи задач, лінійні моделі, механіку градієнтного спуску, підготовку ознак і метрики. Паралельно з нуля вивчається Scala — середовище Almond під Docker, матричні обчислення на Breeze, перша домашня робота.
  2. Розподілене середовище HDFS та еволюція сховищ, менеджери ресурсів, Apache Spark від архітектури до прод-запуску. Далі SparkML у хмарі, власні блоки бібліотеки і сторонні інструменти: XGBoost4J, Elephas, Правда ML.
  3. Потоки та продукт Kafka, Spark Streaming і Structured Streaming, критерії вибору між Spark, Flink, Storm, Kafka Streams і NiFi. Продуктова лінія: цілі ML-проєкту за SMART, аналіз відтоку, АБ-тести та бандитські алгоритми.
  4. Продакшн і проєкт Патерни інференсу, Airflow, MLflow і DVC, онлайн-сервінг із фічер-стором, Python-стек з Docker і хмарами, розподілене навчання нейромереж із Horovod. Фінал — випускний проєкт: повний пайплайн від підготовки даних до інференсу в проді.

Програма курсу

34 уроки · 34 модулі · 61 година 14 хвилин відео · Розділи йдуть шляхом випускного проєкту — від бази машинного навчання та Scala до потокової обробки й онлайн-сервінгу моделей; після кожного модуля домашня робота

    • Ввідне заняття: огляд програми та повторення бази — типи задач, лінійна і логістична регресія, механіка градієнтного спуску, підготовка ознак, метрики якості та перенавчання. Тут же наводиться робоче визначення великих даних: задача потребує розподілених обчислень.

      • Вступ: лінійні моделі та градієнтний спуск1:39:20

        Вступне заняття: огляд програми курсу — від розподіленої обробки та зберігання даних до потокової обробки, оркестрації пайплайнів і виведення моделей у продакшн — і повторення основ машинного навчання. Розбираємо типи задач навчання з учителем і без, лінійну та логістичну регресію, механіку градієнтного спуску й його модифікації (стохастичний, міні-батч, батч), роль кроку навчання, підготовку ознак, L1- та L2-регуляризацію, вибір метрик під задачу і витік даних. На практиці — демо-ноутбук із траєкторіями різних варіантів спуску та впливом кроку навчання на збіжність; домашнє завдання — власна реалізація лінійної регресії на Scala.

    • Базові конструкції мови: типи, val і var, функції, колекції, кейс-класи та Option, середовище Almond під Docker. Матричні обчислення та лінійна регресія виконуються на Breeze.

      • Основи Scala та бібліотека Breeze1:51:38

        Урок знайомить із базовими конструкціями Scala — статичною типізацією, val і var, функціями, колекціями, кейс-класами, патерн-матчингом і типом Option; мову розглядаємо як основну для Spark. Окруження розгортаємо через Almond — Scala-ядро для Jupyter під Docker. У бібліотеці Breeze, аналогу NumPy, розбираємо вектори, матриці та матричні операції, а лінійну регресію будуємо готовими методами найменших квадратів і Lasso.

    • Навіщо потрібні об’єктні сховища і як влаштований HDFS: неймнода, блоки, реплікація, high availability, Federation. Практика — робота з файловою системою з командного рядка.

      • Розподілені сховища: устрій HDFS1:46:42

        Заняття про розподілене зберігання даних: навіщо потрібне об’єктне сховище і як улаштований HDFS — неймнода, блоки, реплікація, high availability, Federation. Розбираємо сервіс координації ZooKeeper, принцип data locality, роботу з файловою системою з командного рядка та локальний Docker-стенд.

    • Огляд від інженера даних: різниця data-intensive і compute-intensive задач, еволюція сховищ від DWH до Data Lake і Data Mesh, моделі даних. Принципи MPP — сегментація, партиціювання, колоночне зберігання — і демо на Dataproc та Redshift.

      • Еволюція паралельних алгоритмів і сховищ1:57:03

        Огляд еволюції сховищ від корпоративних DWH до Data Lake і Data Mesh: різниця між data-intensive і compute-intensive задачами, моделі даних, CAP-теорема. Пояснюємо принципи MPP — shared nothing, хеш-сегментацію, партиціонування, колоночне зберігання — із демо на Dataproc і Redshift та розбором explain-планів Presto і Redshift.

    • Менеджери ресурсів для Spark — Standalone, Mesos, YARN і Kubernetes: їх устрій, режими запуску завдань і планувальники. Підбір конфігурації кластера під навантаження ETL і машинного навчання.

      • Менеджери ресурсів і деплой Spark2:04:49

        Урок розбирає менеджери ресурсів для Spark — Standalone, Mesos, YARN і Kubernetes: їхній устрій, режими запуску завдань і планувальники, зокрема Capacity Scheduler та Fair Scheduler у YARN. Показуємо вертикальне й горизонтальне масштабування, локальність даних, високу доступність майстра та підбір конфігурації кластера — співвідношення пам’яті й ядер — під навантаження ETL і навчання моделей. Окремо розбираємо клієнтський і кластерний режими запуску завдань та роботу з ноутбуків через зв’язку Jupyter, SparkMagic і Livy.

    • Чим Spark замінив MapReduce, як влаштований застосунок із драйвера та виконавців і чим розрізняються RDD, DataFrame і Dataset. Демонстрація ведеться в ноутбуці на Scala.

      • Архітектура й API Apache Spark2:49:57

        Урок вводить у Apache Spark: місце фреймворку між розподіленим сховищем і менеджерами ресурсів, устрій застосунку з драйвера та виконавців, опис обчислень направленим графом із етапами й перемішуваннями. Розбираємо ліниві трансформації та дії, три API — RDD, DataFrame і Dataset — і правила оптимізації: мінімізувати перемішування й не гоняти дані через драйвер. Демонстрація ведеться в ноутбуці на Scala; додатково показані broadcast-з’єднання, розбір планів у Spark UI і збірка проєкту з fat-jar через IntelliJ IDEA та SBT.

    • Обмеження AdaBoost і градієнтного бустингу, можливості XGBoost і LightGBM, повна паралелізація k-середніх та її реалізація на MapReduce. Це задає критерій: де кластер окупається, а де ні.

      • Паралелізація ML: бустинг і кластеризація1:53:02

        Урок розбирає, які алгоритми машинного навчання піддаються розпаралелюванню: обмеження AdaBoost, часткове розпаралелювання градієнтного бустингу з вибором сплітів і міні-батчів, відмінності XGBoost і LightGBM. На прикладі кластеризації k-середніх показано повну паралелізацію алгоритму та її реалізацію в парадигмі MapReduce — центроїди в distributed cache, локальна агрегація комбайнерами й перерахунок центрів редюсерами. Торкнемося і практичних меж: Python-обгортки над нативними бібліотеками захоплюють усі процесори вузла, а на кластері бустинг виграє не завжди.

    • Коли машинне навчання варто переносити на розподілений кластер і де шукати паралелізм: дані, модель і незалежні задачі. Як на кластері працюють градієнтний спуск, факторизація матриць, дерева та ансамблі.

      • Джерела паралелізму в ML-алгоритмах1:40:41

        Урок пояснює, коли перехід на розподілене навчання виправданий, і показує пошук джерел паралелізму на трьох рівнях: дані, модель і незалежні задачі. Розбираємо, як на кластері працюють градієнтний спуск із міні-батчами та TreeReduce, параметр-сервер із планувальником Gang Scheduler, факторизація матриць методом ALS, тематична модель LDA, дерева рішень і ансамблі. Є і межі: для навчання нейромереж потрібні GPU-суперкомп’ютери зі швидкими каналами між вузлами, зате інференс без комунікацій масштабується лінійно.

    • Бібліотека SparkML: історія, два API і набір алгоритмів. Практика на AWS — рекомендації методом ALS на MovieLens з підбором гіперпараметрів та кластеризація k-means; модель деплоїться через SageMaker.

      • SparkML2:06:45

        Заняття знайомить із бібліотекою SparkML (MLlib): її історією, двома API — застарілим spark.mllib поверх RDD і сучасним spark.ml для датафреймів — та набором алгоритмів від регресій і дерев до кластеризації k-means і рекомендаційної ALS. Розбираємо шляхи побудови рекомендацій — колаборативну фільтрацію, факторизацію матриць і зведення задачі до регресії, — навчання ALS із крос-валідацією та підбором гіперпараметрів на датасеті MovieLens, а також кластеризацію k-means із підбором кількості кластерів за силуетною оцінкою. Практика на AWS: кластер EMR із Zeppelin і даними з S3, навчання ALS із формуванням персональних рекомендацій і деплой KMeans-моделі на MNIST через SageMaker Spark у вигляді endpoint.

    • Архітектура SparkML — трансформери, естіматори, пайплайни, метадані — і наскрізний приклад розробки власного блоку рекомендацій. Тест створюється раніше за код: еталоном слугує чиста математика Breeze, розподілена реалізація звіряється з нею; модель зберігається, бібліотека збирається.

      • Розробка власних блоків SparkML2:03:45

        Урок розбирає архітектуру SparkML — трансформери, естиматори, пайплайни, метадані полей датафрейму, трейт Params і transformSchema — та математичну бібліотеку Breeze для Scala з її векторами, матрицями й оптимізаторами. На наскрізному прикладі колаборативної фільтрації item-item за косинусною схожістю показано розробку власного блоку: спочатку пишуться тести з еталонною реалізацією на Breeze, далі будується розподілена реалізація естиматора й моделі з копіюванням, збереженням і читанням через MLWritable та MLReadable. Наприкінці — збірка проєкту SBT в IntelliJ IDEA і підключення джарника до Spark через spark-submit.

    • Градієнтний бустинг у SparkML і сторонні бібліотеки: XGBoost4J з GPU-прискоренням через Rapids AI та розподілений Keras на Spark під назвою Elephas. Плюс огляд SageMaker Spark.

      • XGBoost, Elephas і SageMaker Spark1:42:05

        Урок розбирає ансамблі на деревах рішень — випадковий ліс із бегінгом на бутстреп-підвибірках і градієнтний бустинг, де дерева навчаються послідовно, — а також відмінність XGBoost, який враховує другі похідні функції втрат. Практика включає пайплайни PySpark з VectorAssembler і VectorIndexer та підбором гіперпараметрів крос-валідацією, мультикласову класифікацію на XGBoost 4J, GPU-ускорення бустингу через Rapids AI і розподілене навчання Keras-мережі на MNIST через Elephas з майстер-вузлом і worker-вузлами. Окремо розглядається SageMaker Spark, який з’єднує кластер EMR з ноутбуками через Livy, де алгоритм оформлюється Docker-образом із REST-ендпоінтом передбачень.

    • Огляд опенсорсної бібліотеки Правда ML, яка розширює SparkML: ninja-етапи для навчання, Model Transformer, швидка паралельна крос-валідація. Підбір гіперпараметрів — випадковим і баєсовим пошуком.

      • Правда ML і підбір гіперпараметрів1:38:42

        Розбір відкритої бібліотеки Правда ML, яка розширює SparkML: ExtractorColumn і AutoAssembler для збирання ознак, Model Summary з вагами та іменами атрибутів, ninja-етапи для кешування під час навчання і Model Transformer для об’єднання моделей. Показано паралельну крос-валідацію з метриками та кривими по фолдах, а також підбір гіперпараметрів випадковим пошуком на послідовностях Соболя і баєсовою оптимізацією на гаусовому процесі. Окремо — пошук по групах гіперпараметрів і відновлення запусків після збою з проміжних результатів.

    • Відмінності батчів і стрімів та устрій Kafka: продюсери, партиції, офсети, consumer-групи. Лямбда- та капа-архітектури, мікробатч проти true streaming і проблема event time.

      • Вступ до потокової обробки та Kafka1:28:56

        Вступне заняття про потокову обробку: порівняння батч- і стрим-обробки за швидкістю отримання результату, профілем навантаження та репроцесингом, а також сценарії стриму в ML — рекомендації за холодного старту, маркетингові тригери і контроль датчиків обладнання. Розбирається устрій Kafka — журнал, брокери, топіки та партиції, офсети і consumer-групи, роль ZooKeeper і формат повідомлень на Avro. У фіналі — лямбда- та капа-архітектури, різниця між мікробатчем і справжнім стримінгом, а також processing time і event time з водяними знаками.

    • База Spark Streaming: гарантії доставки, джерела і сінки, чекпоінтинг і водяні знаки. Інтеграція навчених ML-пайплайнів з Kafka та діагностика стрімінг-застосунків.

      • Основи Spark Streaming та Kafka1:52:45

        База Spark Streaming: гарантії доставки at-most-once, at-least-once і exactly-once, режими Structured Streaming і DStream, джерела та синки, чекпоінтинг через write-ahead log і водяні знаки для запізнілих подій. Показано, як моделі, навчені в Spark ML пайплайні, серіалізуються та підключаються до потоку Kafka через Direct-підхід для скорингу. Також — тригери, режим Continuous Processing, метрики стримінгу в UI і діагностика застосунку за GC-логами та flame-графами.

    • Зіставлення мікробатча та безперервного стрімінгу: обмеження D-Stream, устрій Structured Streaming і continuous processing. Демо — виявлення аномалій в IoT-потоці на мережі HTM, що навчається онлайн.

      • Мікробатч і безперервний стримінг2:05:02

        Урок зіставляє мікробатч і безперервний стримінг: обмеження D-Stream з RDD та вікнами, устрій Structured Streaming як необмеженої таблиці з Dataset і DataFrame та режим continuous processing з довгоживучими задачами і фіксацією епох у write-ahead log. У практичній частині — детекція аномалій в IoT-потоці з датчиків озону на мережі Hierarchical Temporal Memory, що навчається онлайн: SDR-кодування, Spatial і Temporal Pooler, закріплення партицій Kafka за мережами. Демо розгортається на ZooKeeper, Kafka і Zeppelin, де в міру онлайн-навчання візуалізація ловить піки озону; каркас прикладів пропонується розібрати локально за readme.

    • Принципова різниця true streaming і мікробатчевих фреймворків. Розбір Spark, Storm, Flink, Kafka Streams і NiFi та критерії вибору рушія під тип задачі.

      • True streaming проти мікробатчу1:43:16

        Урок пояснює принципову різницю між true streaming і мікробатчевими фреймворками та розбирає Spark, Storm, Flink, Kafka Streams і NiFi: поведінку backpressure, покоління фреймворків від ручного опису нод графа до декларативності та критерії вибору рушія під задачу — агрегати на великому потоці, реакція на аномалії, стримінговий мікросервіс або переміщення даних між сховищами. Окрему увагу приділено Flink: шари API, оператори keyBy, union і connect, типи вікон уключно із сесійними, агрегатні функції, window і interval join, асинхронні запити. У практичній частині потік переглядів сторінок збирається в сесії з розрахунком тривалості та середнього часу на сторінці, а патерн збагачення через RichCoFlatMapFunction мержить сесії з потоком оновлень профілів; розібраний код Flink викладено в репозиторії.

    • Управлінське заняття: постановка цілей за SMART, перевірка, чи потрібен ML, вартість і обв’язка ML у проді, склад команди. Далі — метрики, ризики й огляд середовищ для аналітики в Big Data стеці.

      • Цілі ML-проєкту за SMART1:59:23

        Управлінське заняття про постановку мети ML-проєкту за SMART: розрізнення задачі та мети, перевірка, чи розв’язується задача ML узагалі, вартість обв’язки навколо моделі — збір даних, тестування, сервінг і моніторинг — і прив’язка проєкту до грошей через ланцюжок метрик від KPI і бізнес-показників до продуктових та офлайн-ML-метрик із перевіркою АБ-тестом. Розбираються склад ML-команди за ролями, складнощі вписування ML-проєктів у Scrum і Waterfall, тяжкість підтримки моделей в онлайні з дрейфом фічей, типові провали і закон Гудгарта, а також порада Google починати з евристик і першої моделі не більш ніж із трьох ознак. У демо порівнюються середовища для аналітики в big data стеку: Zeppelin, плагін Big Data Tools в IntelliJ IDEA і Polynote.

    • Довгострокові ML-цілі на задачі утримання користувачів: пастки кореляцій та когнітивних викривлень, етапи аналізу відтоку, uplift-категорії відгуку. Інтерпретація моделей — для бізнес-рішень.

      • Довгострокові ML-цілі та аналіз відтоку1:49:03

        Урок поєднує довгострокові ML-цілі із задачею утримання користувачів: кореляція проти причинності та зворотна причинність на прикладі ознаки «кількість друзів», парадокс Сімпсона на двох рекомендаційних алгоритмах і шкода масових розсилок, які піднімають квартальні показники, але в довгостроку ведуть до відписок. Розбираються uplift-моделювання з чотирма категоріями відгуку на сповіщення, етапи аналізу відтоку — розбиття на когорти, пошук причин відходу, прогноз імовірності відходу та вибір дії за сегментами, — метрики retention rate і відтік, сегментація за LTV та ознаки з динаміки сесій, пристроїв і скарг. Наприкінці — кейс із завищеним ROC AUC через «мертвих» клієнтів і способи інтерпретації моделей: коефіцієнти лінійних моделей, важливість ознак у лісах і бустингах, LIME, SHAP і Grad-CAM для складних моделей.

    • АБ-тестування з продуктового боку: мотивація та дизайн експерименту, чек-лист запуску, аналіз із довірчими інтервалами. Поправки на множинні порівняння та гетерогенний ефект.

      • АБ-тестування: дизайн, запуск і аналіз1:38:19

        Урок розбирає АБ-тестування з продуктового боку: цінність дешевого експериментування на кейсах Microsoft і Google, поділ метрик на бізнес-показники та технічні, класичний дизайн з контрольною і тестовими групами, перевірка інструментів вимірювання АА-експериментом і розбиття користувачів хешуванням із сіллю. Наводиться чек-лист запуску: фіксація гіпотези з очікуваним приростом метрик до старту, попередження суміжних команд, поетапне ввімкнення з моніторингами і заборона правити параметри експерименту на ходу. Аналіз результату охоплює p-value та статистичну потужність, t-тест Уелча з оцінкою величини ефекту в довірчих інтервалах, поправки на множинні порівняння — Бонферроні, Холма і Бенджаміні—Хохберга — і гетерогенний ефект підгруп.

    • Розрахунок вибірки та t-тест на модельному датасеті, бандитські алгоритми — епсилон-жадний і семплінг Томпсона. Прийоми АБ-тестування в продакшені та етапи побудови власної платформи.

      • Практика A/B-тестування та багаторукі бандити2:11:31

        Практичне заняття: на датасеті з лендингами розраховується розмір вибірки та запускається t-тест, розбираються бандитські алгоритми — епсилон-жадібний і семпліювання за Томпсоном. Окремо розглядаються прийоми A/B-тестування в продакшені — бакетизація, shadowing, захисні метрики — та етапи побудови власної платформи тестування.

    • Пакетний, синхронний та асинхронний патерни інференсу і межі їх застосовності. Детально розбирається пакетний сценарій — від обмежень cron до оркестраторів Oozie та Airflow.

      • Патерни інференсу ML-моделей у продакшн1:46:20

        Розбираються пакетний, синхронний та асинхронний патерни інференсу й межі їх застосовності; докладно вивчається пакетний сценарій. Показано шлях від cron з його обмеженнями до оркестраторів Oozie та Airflow: DAG, оператори, сенсори, екзек’ютори і доставка дагів через CI/CD.

    • Патерни train then serve і train to serve, чек-лист відтворюваності без спеціальних інструментів. Огляд MLflow і DVC із демонстрацією.

      • Відтворюваність навчання моделей: MLflow та DVC2:01:41

        Розбираються патерни train then serve та train to serve, чекліст відтворюваності та мінімальне рішення без спеціальних інструментів. Далі — огляд MLflow з його Tracking і Model Registry та DVC, який версіює дані й пайплайни, — з демонстрацією роботи інструментів.

    • Два способи пакування моделі — образ із вбудованою моделлю або завантаження зі сховища, універсальні формати серіалізації. Фічер-стор для консистентних фіч і поступовий розкат із моніторингом.

      • Онлайн-інференс: доставка моделей, фічер-стор, моніторинг2:00:36

        Онлайн-обчислення моделей: два способи пакування — образ із зашитою моделлю або завантаження зі сховища — та універсальні формати серіалізації на кшталт PMML, ONNX і MLeap. Розбираються фічер-стор як єдина реалізація фічів для навчання та інференсу, моніторинг ML-сервісу й поступовий розкат через канарейкові релізи та Blue-Green.

    • Повторення устрою Kafka: топіки, партиції, серіалізація, реєстр схем. Розбір потокового ETL і промислового фічер-стора під високим навантаженням, потім практика з топіками, консюмерами та Kafka Streams.

      • Потоковий ETL, Kafka та фічер-стори під навантаженням2:02:32

        Розбирається будова Kafka: топіки, партиції, реплікація, серіалізація та схема-реєстр із форматом Avro. Порівнюються класичний нічний ETL і перенесення частини вивантажень у потік, а також робота фічер-сторів під високим навантаженням на прикладі стрімінгової системи доставки фічів. На практиці Kafka розгортається локально, створюються топіки, а читання й запис повідомлень перевіряються з консолі, з Python і зі Scala-застосунку на Kafka Streams.

    • Коли Python потрібний поруч із JVM-інфраструктурою: варіанти прискорення інтерпретатора, сценарії виносу задач із кластера. Практика — збірка PySpark-пайплайна на Dagster.

      • Python поряд із JVM-кластером2:05:45

        Розбирається, коли Python виправданий поряд із JVM-інфраструктурою: альтернативні інтерпретатори та діалекти мови (PyPy, Jython, Cython, GraalVM) і сценарії виносу задач зі Spark-кластера — навчання нейромереж на GPU-машинах, інференс важких моделей, пошук схожих векторів і задачі з жорстким дедлайном. Окремо розглядаються пов’язування кластерних і зовнішніх джоб за даними, організація логів, моніторингу та конфігурування. На практиці міні-кластер Spark розгортається в Docker, а PySpark-задача оформлюється функціями-солідами Dagster.

    • Dask для розподілених обчислень зі звичним інтерфейсом NumPy і Pandas, устрій Kubernetes. Демонстрації деплою моделей через Seldon Core і Kubeflow.

      • Dask, Kubernetes та деплой моделей1:49:07

        Огляд Dask, який повторює інтерфейси NumPy, Pandas і scikit-learn для даних, що не вміщаються в пам’ять однієї машини, та будови Kubernetes: поди, ReplicaSet, Deployment, проби готовності й живості, декларативні YAML-маніфести. У демо кластер розгортається в хмарі, модель ірисів деплоїться через Seldon Core, а Kubeflow та MLflow показано як інструменти пайплайнів, трекінгу і сервінгу моделей.

    • Принципи production-коду на Python: читабельність, модульність, тести, документація. Розбір модульної структури регресійного проєкту з конфігом, sklearn-пайплайном і packaging.

      • Модульний Python-проєкт для продакшену1:33:34

        Заняття відкриває тему виведення моделей у продакшен: властивості production-коду — читабельність, модульність, тести, обробка винятків, документація та повторне використання — і шлях від дослідницького ноутбука до модульного проєкту. На прикладі регресійного проєкту показано структуру з модулів і конфіга, збірку пакета та публікацію на PyPI або в закритому репозиторії для внутрішніх бібліотек, навчання через sklearn Pipeline з кастомними трансформерами.

    • Як ML-модель стає доступною клієнтам: Flask-обв’язка над model.predict, зв’язка веб-сервера і WSGI-шлюзу, місце CI/CD у випуску версій. Перший Docker-контейнер із сервісом.

      • Модель за REST API на Flask1:17:04

        Урок розбирає, як навчена ML-модель стає доступною клієнтам через REST API: Flask-обгортка над методом predict, запити GET і POST з вектором ознак та відповіді в JSON. Показано схему сервісу — вебсервер Nginx, WSGI-шлюз Gunicorn і Flask-застосунок із моделлю, упаковані в Docker-контейнер, — а також місце CI/CD у випуску версій. На прикладі логістичної регресії модель зберігається в pickle, підвантажується під час старту, а передбачення тестуються через Postman.

    • Шлях Docker-образу з ML-моделлю від локальної збірки до деплою: структура контейнера, публікація в ECR через AWS CLI, деплой на віртуальний сервер і в SageMaker. Тренування моделі запускається з ноутбука.

      • Деплой моделі в Docker-образі1:30:10

        Урок показує шлях Docker-образу з ML-моделлю від локальної збірки до деплою: проєкт зі скрипта тренування, Flask-застосунку, Dockerfile і requirements.txt переноситься на віртуальний сервер на кшталт EC2-інстансу, де docker run піднімає сервіс. Розбирається контейнер під SageMaker з ендпоінтами ping та invocations, публікація образу в репозиторій ECR через AWS CLI і тренування моделі з ноутбука з даними в S3.

    • Архітектура Docker і шари образу, ізоляція через namespaces, аналіз трафіку tcpdump. Керування кількома контейнерами в Compose і деплой готового образу на EC2.

      • Docker зсередини: tcpdump і Compose1:28:34

        Урок поглиблює роботу з Docker: архітектура платформи з демоном і реєстром образів, пошарова збірка образу через Union File System та ізоляція процесів через namespaces. Розглядаються утиліта tcpdump для перехоплення й аналізу мережевого трафіку всередині контейнера та Docker Compose для керування кількома пов’язаними сервісами, наприклад ML-моделлю і базою даних. У практичній частині готовий образ публікується і запускається на EC2-інстансі.

    • Два шляхи виведення моделі в продакшн: на AWS модель відкривається назовні через зв’язку API Gateway і Lambda. На Heroku той самий сервіс деплоїться з Git без налаштування інфраструктури.

      • Розгортання моделі: AWS і Heroku1:20:03

        Урок показує два шляхи виведення моделі в продакшн. На AWS модель SageMaker відкривається назовні через поєднання Amazon API Gateway і AWS Lambda: лямбда приймає подію, за потреби препроцесить дані та викликом invoke_endpoint звертається до ендпоінта. На Heroku той самий сервіс на Flask з Gunicorn деплоїться з Git через buildpack, requirements.txt і Procfile — без ручного налаштування інфраструктури.

    • Оглядова лекція про Apache MXNet: екосистема Gluon, нативна підтримка розподіленого навчання через Horovod, туторіал Dive into Deep Learning. Варіанти розгортання — EC2, SageMaker і Lambda.

      • Фреймворк Apache MXNet1:13:30

        Огляд фреймворку Apache MXNet і його екосистеми Gluon: Gluon CV закриває комп’ютерний зір, Gluon NLP — роботу з текстами, GluonTS — імовірнісне прогнозування часових рядів. Розглядаються нативна підтримка розподіленого навчання через Horovod, туторіал Dive into Deep Learning і варіанти розгортання моделі на EC2, у SageMaker і Lambda.

    • Парадигма MapReduce, операції AllReduce і AllGather, приклади запуску з Keras, MXNet і Spark. Плюс огляд Ray і Modin як інструментів паралелізації.

      • Розподілене навчання мереж із Horovod1:27:59

        Лекція про розподілене навчання нейромереж із Horovod: парадигма MapReduce, операції AllReduce і AllGather, поняття rank і local rank. Розбираються приклади запуску навчання з Keras, MXNet і Spark, а також Ray і Modin як інструменти паралелізації Python-коду.

    • Порівняння Azure ML і SageMaker, бібліотека MMLSpark з LightGBM і Vowpal Wabbit, розподілений XGBoost4J. Окремо — відмінність бустингу від бегінгу.

      • Градієнтний бустинг у хмарі та Spark1:33:56

        Огляд реалізацій градієнтного бустингу в хмарі та на Spark: порівняння платформ Azure Machine Learning і Amazon SageMaker — інтерфейс, деплой моделей, підбір гіперпараметрів і логування. Розбираються бібліотека MMLSpark з LightGBM і Vowpal Wabbit, розподілений XGBoost4J і різниця між бустингом і бегінгом.

Часті запитання

Тут зібрані відповіді майже на всі запитання, які ставлять перед купівлею. Натисніть на запитання, щоб розкрити відповідь.

Про цей курс

  • База ML передбачається: ввідне заняття її повторює — типи задач, лінійні моделі, градієнтний спуск, метрики та перенавчання, — а не викладає з нуля. Python теж розбирається як стек із готовими сценаріями застосування під продакшн-задачі, а не як мова.

  • Ні, Scala вивчається з нуля: базові конструкції мови, середовище Almond під Docker, матричні обчислення на Breeze. Перша домашня робота — власна реалізація лінійної регресії на Scala.

  • Основна хмарна практика йде на AWS: кластер EMR із Zeppelin, дані в S3, навчання рекомендацій і деплой моделі в SageMaker, публікація Docker-образів в ECR. Локальні Docker-стенди дають змогу повторювати практику без хмари: HDFS із docker-compose, локальні Kafka і Spark, Jupyter зі Scala однією командою.

  • Повний пайплайн від автоматичної підготовки даних до навчання моделі та інференсу в проді. Його можна зробити на знеособленому датасеті рекомендаційної тематики або на власній задачі. Домашня робота передбачена після кожного модуля.

  • Робоче визначення великих даних із ввідного заняття: задача потребує розподілених обчислень. Перехід на кластер виправданий, коли обсяги даних і бюджет переросли централізований підхід — курс розбирає і ці межі: де бустинг не виграє і які задачі варто виносити з кластера в окремі сервіси.

  • Apache Spark (PySpark, Streaming, Structured Streaming), Kafka, HDFS, Kubernetes, Airflow, MLflow, DVC, Docker, Horovod, XGBoost, Dask, Seldon Core і Kubeflow. З хмар — AWS (EC2, EMR, S3, SageMaker, Lambda, API Gateway), Azure Machine Learning, Google Cloud Dataproc і Heroku.

Доступ і матеріали

  • Одразу після оплати, тієї ж секунди й автоматично. Чекати на підтвердження не потрібно. Доступ надходить двома шляхами водночас. Перший: на пошту, вказану при оформленні замовлення, приходить лист із посиланням на матеріали. Другий: те саме посилання з’являється у вашому акаунті на сайті, у розділі «Завантаження», і залишається там назавжди.

  • Усі відео та додаткові файли лежать у хмарному сховищі. Посилання на нього — у вашому акаунті на сайті, розділ «Завантаження», і в листі, який надійшов після оплати. Акаунт тут не формальність, а спосіб доставки: курс залишається в ньому назавжди. Навіть якщо лист загубився або ви згадали про купівлю через рік, посилання буде на місці.

  • Завантажувати можна і варто. Радимо зберегти відео на комп’ютер і дивитися звідти. Причина проста: хмарне сховище не розраховане на перегляд відео. Іноді воно дозволяє увімкнути ролик просто у браузері, але якість при цьому помітно гірша за вихідну. На своєму комп’ютері ви побачите курс таким, яким його записували.

  • Безстроково. Курс залишається вашим назавжди, повертатися до нього можна скільки завгодно разів. Якщо через рік чи два посилання раптом перестане відкриватися з технічних причин — напишіть на info@siluette.com.ua, ми його відновимо.

  • Насамперед: доступ у вас є в будь-якому разі. Увійдіть на сайт і відкрийте розділ «Завантаження» — посилання на курс уже там, незалежно від того, дійшов лист чи ні. Найчастіше лист губиться через одруківку в адресі під час оформлення замовлення. Ще варто заглянути до теки «Спам». Не виходить розібратися — не витрачайте час: напишіть на info@siluette.com.ua або в чат у правому нижньому куті сайту, ми допоможемо.

  • Найкраще на комп’ютері або ноутбуці: завантажте відео й відкрийте будь-яким звичним плеєром. Знадобляться встановлені відеокодеки — на більшості комп’ютерів вони вже є. Завантажити курс можна на скільки завгодно пристроїв. А от телефон ми не радимо, і з двох причин. На маленькому екрані погано видно деталі, особливо якщо в уроці показують інтерфейс програми. І на телефонах часто немає кодеків для форматів, у яких записані відео.

Оплата та повернення

  • Банківською карткою Visa, MasterCard або «Простір», через Google Pay, Apple Pay, Masterpass, Visa Checkout, платіжний QR-код, Botpay у Telegram чи Privat24. Є й оплата частинами: Монобанк (3 або 4 платежі), А-Банк (2, 3 або 4 платежі та розстрочка), Банк Глобус (8 платежів), «Скибочка» від OTP Bank (3 платежі), миттєва розстрочка та оплата частинами від ПриватБанку.

  • Так. Платіжна система приймає картки з Євросоюзу та будь-яких інших країн. Одна деталь, про яку часто забувають: банк може попросити підтвердити платіж — у мобільному застосунку або кодом із СМС. Якщо оплата не проходить, перевірте застосунок банку та повідомлення.

  • Додайте до кошика два курси або більше — знижка застосується автоматично до всіх товарів у кошику. Два курси: мінус 20% на обидва. П’ять курсів: мінус 20% на всі п’ять. Знижка поєднується з будь-якими акційними цінами й діє на весь каталог без винятків.

  • Цифрові товари поверненню та обміну не підлягають. Це загальне правило для всіх електронних товарів в Україні — постанова Кабінету Міністрів № 172 від 19 березня 1994 року. При цьому ми завжди на зв’язку. Якщо доступ не відкривається, посилання перестало працювати або файли пошкоджені — напишіть на info@siluette.com.ua, вкажіть дату та номер замовлення. Відновимо. Якщо щось незрозуміло в самому курсі, теж пишіть — підкажемо.

  • Поки що ні. Ми працюємо лише з приватними покупцями — безготівкової оплати за рахунком від юридичних осіб зараз немає.

Як проходить навчання

  • Ні. Усі курси — це записи уроків для самостійного вивчення: викладач не відповідає на запитання і не перевіряє домашні завдання. Саме тому курси коштують значно дешевше за навчання з куратором. Ви отримуєте той самий матеріал, але займаєтеся самі та у своєму темпі.

  • Так, цифровий сертифікат — на запит і безкоштовно. Напишіть на info@siluette.com.ua, вкажіть ім’я та прізвище саме в тому вигляді, в якому хочете бачити їх у сертифікаті, і ми надішлемо його протягом доби.

  • Для більшості курсів — ні. Вони розраховані на початковий рівень і пояснюють з азів. Якщо курс потребує підготовки, це сказано в його описі.

  • Ні. Ані дедлайнів, ані розкладу, ані доступу, що згорає. Завантажили — дивіться коли зручно, з будь-якими перервами.

  • Курс купується для особистого використання, і ми просимо ставитися до цього по-людськи: за кожним уроком стоїть робота, а ціна й так суттєво знижена.

Підтримка

  • Найкраще на info@siluette.com.ua. Є й чат у правому нижньому куті сайту, але пошта надійніша: там можна все описати докладно та додати знімки екрана. Прохання: опишіть, що саме ви робили і що пішло не так, та додайте знімок екрана з помилкою. Так ми вирішимо питання одразу, а не з’ясовуватимемо півдня, що сталося.

  • У робочий час, з 9:00 до 19:00, на пошту зазвичай відповідаємо протягом години, у чаті — за кілька хвилин. Після 19:00 теж буває, але час відповіді не обіцяємо.

Відгуки покупців

  1. Анастасія

    28.11.2024 Підтверджений клієнт

    Виведення в продакшн - це найцінніша частина. Моніторинг, версіонування, онлайн-сервінг - все розклали по поличках.

  2. Максим

    26.06.2024 Підтверджений клієнт

    Дуже серйозний і глибокий курс. Я Data Engineer, і мені було важливо зрозуміти, як застосовувати ML на великих даних. Курс дав повну картину.

  3. Олег

    18.04.2024 Підтверджений клієнт

    SparkML - це потужна штука. Курс допоміг розібратися, як переносити алгоритми в розподілене середовище. Дуже багато технічних деталей.

Показано 3 із 3

Залишити відгук