MLBD
MLBD copied to clipboard
Materials for "Machine Learning on Big Data" course
Machine Learning on BigData
Materials for "Machine Learning on Big Data" course
Syllabus
Introduction
Tools and Systems for Big Data Storage and Processing
List of topics
1. Hadoop and MapReduce
Keywords: Google FS (master, chunkservers), Hadoop, HDFS (NameNode, DataNode), MapReduce (master, workers)
2. Apache Spark
Keywords: Pig, Hive, Spark (RDDs, transformations, actions, lineage graph, fault-tolerance, persist, driver, workers, stages, dependencies, tasks, partition)
3. Spark SQL
Keywords: Shark, DataFrames (DSL, cache, UDFs), Catalyst (tree, rule, catalyst in spark-sql)
Large Scale Machine Learning
List of topics
1. Distributed ML Introduction
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)
2. Categorical Features in Large Scale ML
Keywords: One-hot encoding, Cross features, Factorization Machines (FM, FFM), Neural Networks (Deep Crossing, Deep & Cross, DeepFM)
3. Gradient Boosting Decision Tree
Keywords: Categorical features (Naive Bayes, Mean Target Encoding), PLANET, XGBoost, CatBoost, SHAP values
4. Hyperparameters Optimization
Keywords: Grid Search, Random Search (low effective dimensionality), Bayesian Optimization (Gaussian Process, surrogate, acquisition), Predictive Termination, Hyperband (successive halving), Multi-task Bayesian Optimization
5. DNN Compression and Acceleration
Keywords: Quantization, Knowledge Distillation, Pruning (one-shot, iterative, Lottery Ticket Hypothesis), Deep Compression, DeepGBM
6. Recommender Systems
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)
7. Nearest Neighbors Search
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
1. How to conduct AB Tests (Experiment Design, Execution, Analysis)
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