Dev & Data Science

Recommender Systems

Розберемося в роботі пошукових і рекомендаційних систем, а також навчимося будувати їх самостійно.

Про курс

Сучасні пошукові та рекомендаційні системи вже здатні розуміти наші наміри, звички, інтереси. Ми ж на курсі навчимося створювати їх самостійно, а також розберемося в роботі алгоритмів на зразок тих, які використовують Google та YouTube.

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

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

26 лютого 2022 курс триває 2 місяці
13 000 грн/міс. 26 000 грн при повній оплаті всього курсу
13 650 грн/міс при оплаті курсу частинами
25 місць кожен студент отримує регулярний фідбек від куратора

Куратор

Дмитро Войтех

ML Engineer and Team Lead at GIPHY та Proxet.

Понад 5 років комерційного досвіду в Software розробці та машинному навчанні. Фіналіст міжнародного конкурсу наукових проєктів (Фінікс, Арізона).



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

Вступ до information retrieval

Розглянемо основні принципи, навколо яких будуються сучасні пошукові та рекомендаційні системи. Дізнаємось, навіщо розділяти їх на складові — контент і метадані, генерацію кандидатів і ранжування, яку роль тут відіграє машинне навчання. Також розберемо варіанти збору даних для постійного покращення алгоритмів (implicit and explicit feedback), корисні метрики та A/B тестування.

Отримання й обробка контенту

Навчимося наповнювати наші бібліотеки контенту за допомогою скрейпінгу веб-сайтів та сторонніх API. Трохи зануримося в ETL (extract, transform and load) пайплайни, Spark і бази даних.

Ознаки та пошукові індекси

Навчимось отримувати з контенту будь-якого типу (текст, зображення, звук, відео) та метаданих корисні для пошукових моделей ознаки, використовуючи різноманітні техніки, такі як токенізація, стемінг, векторизація, імовірнісні підходи, метрики схожості документів. Розглянемо корисні для індексації структури даних та алгоритми на зразок inverted index, LSH, HNSW тощо.

Виправлення одруків та автодоповнення

Розберемося з відстанню Левенштейна, коефіцієнтом Жаккара та іншими метриками порівняння текстів, щоб вирішувати проблему з зашумленими або неповними запитами. Зрозуміємо, як у цьому може допомогти розбиття на n-грами і FastText. Також розглянемо, як працюють алгоритми автодоповнення та яку роль вони відіграють у пошуку.

Завдання ранжування

Навчатимемо моделі, призначені для ранжування контенту — LTR models (learning to rank). Дослідимо різновиди популярних алгоритмів, архітектур і лосс-функцій для ранжування (RankNet, LambdaRank, LambdaMART, YetiRank, тощо).

Рекомендаційні системи

Розглянемо найпоширеніші підходи: content-based моделі, колаборативну фільтрацію та факторизацію матриць, Word2Vec. Дізнаємось, як ефективно використовувати ці моделі для передбачення за допомогою кешування та індексування.

Deep learning for information retrieval

Зрозуміємо, яке місце в пошукових і рекомендаційних системах посідає глибоке навчання. Розберемося, що таке metric learning, дізнаємося більше про нещодавно нашумілу архітектуру від OpenAI — CLIP та як її можна використовувати для пошуку і рекомендацій. Також перевіримо, чи може новий TabNet перемогти традиційніші підходи.

Корисні доповнення

Дізнаємось, які ще існують проблеми у пошукових і рекомендаційних системах та як їх вирішувати. Розберемося, чим пошуку може допомогти query expansion, що таке positional bias і чому його потрібно враховувати. Зрозуміємо, як зробити систему більш персоналізованою та як покращити query understanding.

Курс для вас, якщо ви

Software інженер, Data інженер/аналітик, ML/DS інженер початкового або середнього рівня

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

ML/DS інженер із досвідом

і прагнете підтягнути теоретичну та практичну складові, а також дізнатися більше про останні кейси та архітектури

Студент старших курсів Computer Science або Mathematics

без продакшн досвіду, але орієнтуєтеся в алгоритмах і структурах даних

Володієте Python

на рівні, що дозволяє вільно писати код (реалізація алгоритмів або написання додатків)

Знаєте алгоритми і структури даних

на рівні університетського курсу

Буде великим плюсом

знання лінійної алгебри та теорії інформації

Як відбувається навчання

Відеолекції та вебінари

Щовівторка та щочетверга ви отримуватимете доступ до нових відеолекцій, а щосуботи об 11:00 відбуватимуться живі вебінари з куратором у Zoom.

Регулярний фідбек

У нас немає базових і преміум режимів. Тільки преміум, завжди. Отримайте від куратора все. І так, десята ітерація — це нормально.

Real-life завдання та проєкти

У нас діє Practicult — культ практики. Тому ви виконуватимете багато складної домашки з реальних робочих буднів. Have fun & survive.

Сертифікат за справу

Видаємо лише тим, хто своїм потом, часом і силами його заслужив.

ГРАФІК

Старт

26 лютого 2022

Час

15+ годин на тиждень на виконання домашніх завдань

Мова навчання

російська

Кейси

Запитання

Чи потрібні якісь навички для вступу на курс?

Вам потрібно володіти Python на рівні, що дозволяє вільно писати код (для реалізації алгоритмів або написання додатків), знати алгоритми і структури даних на рівні університетського курсу. Буде великим плюсом знання лінійної алгебри та теорії інформації.

Який софт використовуватиметься на курсі?

На курсі працюватимемо з Python та його екосистемою ML/DS бібліотек (jupyter notebook, plotly, numpy, pytorch, scikit learn, nmslib тощо).

Чи записуватимуться вебінари?

Так, але краще виділіть час, щоб долучатися до них особисто — буде цікаво.

Як відбувається комунікація на курсі та в якому форматі куратор дає фідбек?

Уся комунікація на курсі відбувається на платформі Slack (робочий чат групи, канали для домашніх завдань і корисних посилань). Куратор дає фідбек у вигляді коментарів до домашніх завдань та обговорення на вебінарах.

А сертифікат буде?

Тільки за умови виконання всіх домашніх завдань та успішного захисту курсового проєкту.

Що, як мені не сподобається?

Ми повернемо вам гроші протягом 7 днів від початку курсу, якщо ви передумаєте.

Реєстрація

Ще маєте питання?
Не соромтесь їх задати.

Проконсультуйте мене

Курс для вас, якщо ви

- Software інженер, Data інженер/аналітик, ML/DS інженер початкового або середнього рівня
та раніше не працювали з пошуком і рекомендаціями, але хочете відкрити для себе цю область.
- ML/DS інженер із досвідом і прагнете підтягнути теоретичну та практичну складові, а також дізнатися більше про останні кейси та архітектури.