Machine Learning on BigData
Materials for "Machine Learning on Big Data" course
Syllabus
Tools and Systems for Big Data Storage and Processing
List of topics
Hadoop and MapReduce
1.Keywords: Google FS (master, chunkservers), Hadoop, HDFS (NameNode, DataNode), MapReduce (master, workers)
Apache Spark
2.Keywords: Pig, Hive, Spark (RDDs, transformations, actions, lineage graph, fault-tolerance, persist, driver, workers, stages, dependencies, tasks, partition)
Spark SQL
3.Keywords: Shark, DataFrames (DSL, cache, UDFs), Catalyst (tree, rule, catalyst in spark-sql)
Large Scale Machine Learning
List of topics
Distributed ML Introduction
1.Keywords: Stochastic Gradient Descent, Data/Model Parallelism, General Purpose Distributed Computing(MapReduce, MR SGD, SparkNet, MLlib), Natively Distributed ML Systems (Parameter Server, DistBelief, TensorFlow, AllReduce, Horovod)
Categorical Features in Large Scale ML
2.Keywords: One-hot encoding, Cross features, Factorization Machines (FM, FFM), Neural Networks (Deep Crossing, Deep & Cross, DeepFM)
Gradient Boosting Decision Tree
3.Keywords: Categorical features (Naive Bayes, Mean Target Encoding), PLANET, XGBoost, CatBoost, SHAP values
Hyperparameters Optimization
4.Keywords: Grid Search, Random Search (low effective dimensionality), Bayesian Optimization (Gaussian Process, surrogate, acquisition), Predictive Termination, Hyperband (successive halving), Multi-task Bayesian Optimization
DNN Compression and Acceleration
5.Keywords: Quantization, Knowledge Distillation, Pruning (one-shot, iterative, Lottery Ticket Hypothesis), Deep Compression, DeepGBM
Recommender Systems
6.Keywords: Simple RS (Item/User-based, Content based), Ranking Metrics, Matrix Factorization (SVD, PMF, ALS, iALS, Incremental ALS, Neural CF), Large Scale RS (MF with Distributed SGD, PytorchBigGraph, GraphVite), Ranking losses (BPR, WARP)
Nearest Neighbors Search
7.Keywords: Exact-kNN, Approximate NN (eps-NN), (Hierarchical) Navigatable Small World, LSH (random projections, minhash), Learning to Hash (Deep Supervised Hashing), Annoy, FAISS, ANN-benchmarks and evaluation
8. Latent Dirichlet Allocation
9. Dimensionality Reduction
10. Online Learning
11. Algorithms on Graphs
Online Controlled Experiments
List of topics
How to conduct AB Tests (Experiment Design, Execution, Analysis)
1.Keywords: Offline Evaluation (hypothesis testing, 5x2 cv test, testing over multiple datasets), Online Evaluation
2. Results Analysis ((Multiple) Hypothesis testing, Sensitivity, Power)
3. Heterogeneous Treatment Effect
Практики
Для выполнения практик нужно сделать fork (GitHub Help: Forks) данного репозитория.
Порядок выполнения и отправки задания на проверку
Задания находятся в <topic>/notebooks/<practice_name>.ipynb
.
- Убедитесь, что ishugaepov добавлен в список коллабораторов вашего форка (
Settings -> Manage access -> Invite a collaborator
) - Убедитесь, что ваш fork репозиторий содержит все актуальные изменения данного репозитория (GitHub Help: Syncing a fork)
- Выполните задание в отдельной ветке, например,
practice_1
(GitHub Help: Branches). - Сделайте Pull Request (
<current_practice_branch> -> master
), добавьте ishugaepov в Assignees (GitHub Help: PRs). - После проверки PR, ревьювер либо оставляет комментарии с замечаниями либо мерджит текущую ветку в мастер вашего репозитория.
Deadlines
- PR с выполненным заданием должен быть отправлен на проверку не позднее чем через 8 дней после того как было выдано задание.
- По прошествии дедлайна, в рамках PR можно только исправлять замечания, но не отправлять на проверку новые задачи.
Домашние задания
Контесты
Общая информация
- Для решения контестов можно использовать любые методы/приемы/фрэймворки, которые обсуждались на лекциях.
- После окончания контеста нужно будет написать отчет об итоговом решении.
Docker
В рамках курса мы будем использовать Docker container с Hadoop, для того чтобы эмулировать кластер и запускать различные примеры.
См. Docker Tutorial