際際滷

際際滷Share a Scribd company logo
Machine learning vs Big Data - od pomysu do produkcji
Bartomiej Twardowski, Pawe Zawistowski
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...
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)
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
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)
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
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
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
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
Kiedy warto rozprasza ML
- kiedy nie mamy innego
wyjcia
- mamy gotow
implementacj naszego
algorytmu
Info na moim Twitter: @btwardow, bez monta甜u ;-)
Prosta implementacja w NumPy
Ta sama implementacja w Theano - CPU vs GPU
Factorization Machines implemented in Theano, left CPU (16xIntel) vs GPU (AWS g2.2xlarge)
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
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?
安糸姻温甜温馨霞!
安糸姻温甜温馨霞!
...ale nie porzucajmy modeli na produkcji
Na produkcji
f(x, )
Co mo甜e p坦j nie tak?
店r坦do: http://static.fjcdn.com/pictures/What+could+possibly+go+wrong+comp+1_f5df2e_5306624.jpg
CACE - Changing Anything,
Changes Everything
店r坦do: D. Sculley et al.: Machine Learning: The High-Interest Credit Card of Technical Debt, Google,
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
Niestabilne atrybuty
 Modelowane zjawiska si zmieniaj.
 Inne systemy bywaj niestabilne i ewoluuj
f(x, )
店r坦do: http://tylervigen.com/spurious-correlations
Degradacja atrybut坦w: faszywe korelacje
Degradacja atrybut坦w: mikrooptymalizacje
店r坦do: http://pu.i.wp.pl/?k=MzE1Mzg5MjAsMTg1MzI5&f=wiejski_tuning_044.jpg
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
Nieznani u甜ytkownicy
 Z przygotowanego modelu korzystaj inni - nie zawsze o
tym wiemy.
 Zmiana w modelu mo甜e mie trudne do przewidzenia
skutki.
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
Ukryte sprz甜enia zwrotne
Udostpniamy informacje
o:
 tym co robimy/co mamy
w danych,
 sukcesach/pora甜kach.
Dokumentacja:
 czysta implementacja,
 jawne zao甜enia -
powtarzalno wynik坦w.
#1 Komunikacja
店r坦da: http://hortonworks.com/wp-content/uploads/2013/05/hive_logo.png, http://blog.cleancoder.com/assets/clean_code_72_color.png,
http://www.charbase.com/images/glyph/8634, http://www.clipartbest.com/cliparts/ecM/kRB/ecMkRBBei.png
https://cwiki.apache.org/confluence/download/attachments/31822298/FALCON?version=1&modificationDate=1422616967000&api=v2
Atrybut坦w wejciowych:
 brakujce dane, nieznane wartoci,
 testy statystyczne,
 korelacje,
 
Atrybut坦w wyjciowych:
 bias, wybrane wartoci centyli,
 wykrywanie anomalii,
 poziom bdu modelu,
 
#2 Monitorowanie
#3 Eksperymenty
(kiedy nie jestemy w stanie monitorowa poziomu bdu)
店r坦do: http://www.mrcbiology.com/practical2jpg.jpg
Machine learning vs Big Data - od pomysu do produkcji
Bartomiej Twardowski, Pawe Zawistowski

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
  • 21. Niestabilne atrybuty Modelowane zjawiska si zmieniaj. Inne systemy bywaj niestabilne i ewoluuj f(x, )
  • 23. Degradacja atrybut坦w: mikrooptymalizacje 店r坦do: http://pu.i.wp.pl/?k=MzE1Mzg5MjAsMTg1MzI5&f=wiejski_tuning_044.jpg
  • 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
  • 28. Udostpniamy informacje o: tym co robimy/co mamy w danych, sukcesach/pora甜kach. Dokumentacja: czysta implementacja, jawne zao甜enia - powtarzalno wynik坦w. #1 Komunikacja 店r坦da: http://hortonworks.com/wp-content/uploads/2013/05/hive_logo.png, http://blog.cleancoder.com/assets/clean_code_72_color.png, http://www.charbase.com/images/glyph/8634, http://www.clipartbest.com/cliparts/ecM/kRB/ecMkRBBei.png https://cwiki.apache.org/confluence/download/attachments/31822298/FALCON?version=1&modificationDate=1422616967000&api=v2
  • 29. Atrybut坦w wejciowych: brakujce dane, nieznane wartoci, testy statystyczne, korelacje, Atrybut坦w wyjciowych: bias, wybrane wartoci centyli, wykrywanie anomalii, poziom bdu modelu, #2 Monitorowanie
  • 30. #3 Eksperymenty (kiedy nie jestemy w stanie monitorowa poziomu bdu) 店r坦do: http://www.mrcbiology.com/practical2jpg.jpg
  • 31. Machine learning vs Big Data - od pomysu do produkcji Bartomiej Twardowski, Pawe Zawistowski