Machine Learning vs Big Data - od pomysu do produkcji. Prezentacja: B.Twardowski, P.Zawistowski
1 of 31
More Related Content
Prezentacja z Big Data Tech 2016: Machine Learning vs Big Data
1. Machine learning vs Big Data - od pomysu do produkcji
Bartomiej Twardowski, Pawe Zawistowski
2. Agenda + Troch o nas
B.Twardowski
Big Data dla ML
od sur坦wki do modelu
praktyczne rady
P.Zawistowski
Ruszamy na produkcj
Co mo甜e p坦j 添le...
3. Big Data & Machine Learning w Allegro
Big Data:
clickstream (web/mobile - Kafka)
backend events (microservices - Hermes)
dane archiwalne z wielu lat (DWH)
ML w Allegro:
rankingowanie
rekomendacje
atrybucja wielokanaowa
ocena jakoci zdj
ads (za chwil)
4. Zaczynamy nasz przygod...
...czyli: jak od surowych danych przej do modelowania?
Ankieta KDNuggets CRISP-DM
店r坦do: http://www.kdnuggets.com/2014/10/crisp-dm-top-methodology-analytics-data-mining-data-science-projects.html
5. Exploratory Data Analysis - lubimy du甜e dane
Pomocne narzdzia:
- HQL(Hive+Tez), SQL (Exadata)
- Hue (ka甜dy ma dostp z konta AD)
- R (sparkR+dplyr+ggplot2+shiny)
- Jupyter Notebooks (+Spark backend)
- Kibana (ElasticSearch)
- Tableau (Hive JDBC/Spark)
6. Przygotowanie danych
Na koniec dnia potrzebujemy zbiory: train,
valid, test
zadania: czyszczenie danych, agregacja,
pr坦bkowanie, transformacja atrybut坦w, cechy
- wyb坦r/tworzenie, redukcja wymiar坦w
wikszo naszego czasu! (90%/10%)
nie raz bdziemy wraca i modyfikowa ten proces
GIGO
if isOnHadoop(data): Spark+DataFrame
else: data.table/dplyr/pandas
7. Big Data? A mo甜e odpowiednia pr坦bka?
Pr坦bkowanie
odpowiedni dob坦r reprezentatywnych danych:
random/stratified
zachowanie charakterystyki danych (np. sezonowo w e-commerce)
Niezbalansowane zbiory danych
Przykady:
e-commerce: dont buy/buy - 99%/1%, medical diagnosis (90% healty, 10% disease)...
Predykcja wikszociowej klasy jest atwa, ale bezu甜yteczna
Balansujemy zbi坦r danych pod nasze potrzeby - np. dla metod pairwaise dla
ka甜dej pr坦bki pozytywnej losujemy z empirycznym rozkadem negatywn
8. Wyb坦r algorytmu ML
- kwintesencja caego procesu
- wybieramy model na potrzeby naszego problemu np. predykcja
kliku, prawdopodobiestwo zakupu, ranking ofert
- mn坦stwo dostpnych rozwiza dla r坦甜nej klasy problem坦w
- dostpne implementacje, w wikszoci open-source
- publikacje + reprodukowalne eksperymenty: arXive + Github =>
GitXive
- warto zachowywa wraz z wynikiem wytrenowane parametry i
wybrane hyper-parametry
9. Czego uczymy nasz model?
Predykcji wartoci X czy zarabiania pienidzy w walucie Y?
odpowiedni dob坦r f. kosztu przy optymalizacji modelu
ewaluacja model offline vs online - r坦甜ne miary
dobranie miary sukcesu dla swojego przedsiwzicia
Przykad:
optym. pod predykcje wartoci (RMSE)
waciwie pokazujemy jako list posortowan i jako rankingu
(recall@N/nDCG@N)
biznes patrzy na raport: CTR, GMV
10. Kiedy warto rozprasza ML
- kiedy nie mamy innego
wyjcia
- mamy gotow
implementacj naszego
algorytmu
Info na moim Twitter: @btwardow, bez monta甜u ;-)
12. Ta sama implementacja w Theano - CPU vs GPU
Factorization Machines implemented in Theano, left CPU (16xIntel) vs GPU (AWS g2.2xlarge)
13. Wyb坦r technologi dev/prod - kompromis?
- mdry wyb坦r narzdzi do zadania (dostpne
biblioteki/informacje/spoeczno)
- wykorzystanie technologi kt坦ra umo甜liwi eksperyment na produkcji
i szybk weryfikacje hipotezy (np. Spark+MLlib, python+Theano,
mxnet)
- mit data scientist - od surowych danych po dziaajce rozwizanie
na produkcji z wysokim SLA
14. Clean Code i TDD w programowaniu alg. ML
- jest trudne!
- przyzwyczajenie do Notebook
- p坦ki nie robimy wasnego pakietu (R/Julia/Python) czsto uwa甜amy
za niepotrzebne
- du甜o zale甜noci od danych: czy do repo wrzuca pr坦bki w CSV? a
mo甜e pisa specjalny generator?
18. Co mo甜e p坦j nie tak?
店r坦do: http://static.fjcdn.com/pictures/What+could+possibly+go+wrong+comp+1_f5df2e_5306624.jpg
19. CACE - Changing Anything,
Changes Everything
店r坦do: D. Sculley et al.: Machine Learning: The High-Interest Credit Card of Technical Debt, Google,
20. Problemy z atrybutami wejciowymi
店r坦do: https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/CPT_Hardware-InputOutput.svg/1212px-CPT_Hardware-InputOutput.svg.png
24. Problemy z atrybutami wyjciowymi
店r坦do: https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/CPT_Hardware-InputOutput.svg/1212px-CPT_Hardware-InputOutput.svg.png
25. Nieznani u甜ytkownicy
Z przygotowanego modelu korzystaj inni - nie zawsze o
tym wiemy.
Zmiana w modelu mo甜e mie trudne do przewidzenia
skutki.
26. Nieznani u甜ytkownicy - np. kaskady korekt
prognoza
pogody
kalendarz
liczba
(koszyk坦w? os坦b?)
rednia
warto
koszyka
obr坦t
sklepuA Bpromocje
dane
historyczne
A - przewiduje ruch w sklepie
B - przewiduje obr坦t sklepu
店r坦do: http://www.seriouseats.com/images/2016/01/20160115-things-never-to-but-at-supermarket-.jpg