SmartNews Ads における機械学習の活用とその運用 #mlops
by
KOMIYA Atsushi
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
SmartNews Ads ʹ͓͚Δ ػցֶशͷ׆༻ͱͦͷӡ༻ 2017-12-19 ML ops study #1 KOMIYA Atsushi
Slide 2
Slide 2 text
@komiya_atsushi
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
લఏɾഎܠ
Slide 5
Slide 5 text
୭͕ػցֶशΛѻ͍ͬͯΔͷ͔ʁ • SmartNews ʹ͓͍ͯػցֶशΛѻ͏ͷ ιϑτΣΞΤϯδχΞͷ͓ࣄ • ϓϩμΫγϣϯ࣭ͷίʔυͰ࣮͠ɺ γεςϜΛӡ༻Ͱ͖Δ͜ͱ͕લఏ • ʮSmartNews ͷΤϯδχΞશһػցֶश Ͱ͖Δʯͱ͍͏ҙຯͰͳ͍͜ͱʹҙ
Slide 6
Slide 6 text
୭͕ػցֶशΛѻ͍ͬͯΔͷ͔ʁ • Ϟσϧ։ൃ͚ͩΛ͢ΔʮσʔλαΠΤϯςΟετʯత ͳϝϯόʔ͍ͳ͍ • Ϟσϧ։ൃ͔ΒϓϩμΫγϣϯల։ɺੳ·Ͱ͕Τ ϯδχΞͷ͓ࣄ • ʮσʔλαΠΤϯςΟετʯ͕͍ͳ͍ɺͱ͍͏Θ͚ Ͱͳ͍͜ͱʹҙ • ֤छੳΛಘҙͱ͢ΔʮσʔλαΠΤϯςΟετʯ ͍Δ
Slide 7
Slide 7 text
ͲͷΑ͏ͳڥͰػցֶशͯ͠Δͷ͔ʁ • Uber ͷ Michelangelo Έ͍ͨʹચ࿅͞ΕͨڥͰͳ͍ • ࢀߟ: https://eng.uber.com/michelangelo/ • DMP Λߏங͠ɺͦͷ্ͰػցֶशλεΫΛ͜ͳͯ͠Δ • σʔλετΞ: S3 (ϩά), RDS (Ϛελσʔλ) • ࢄॲཧ: Hive / Spark on EMR, Presto • ϫʔΫϑϩʔཧ: Azkaban
Slide 8
Slide 8 text
ʮ"%%BUB&OHJOFFSJOHJOQSBDUJDF4NBSU/FXT"ETཪͷσʔλγεςϜʯΑΓ IUUQCJUMZ4/5FDI/JHIU-BO
Slide 9
Slide 9 text
ͲͷΑ͏ʹ։ൃ͍ͯ͠Δͷ͔ʁ • ಛʹࠂपΓͷγεςϜʹ͓͍ͯɺߴ͍ଐਓੑͷͱͰͷ ։ൃ͕ߦΘΕ͍ͯΔ • ։ൃεϐʔυΛ༏ઌ͠ɺଐਓੑΛڐ༰ • ͜ͷ͋ͨΓͷҙࢥܾఆʹ͍ͭͯɺৄ͘͠ SmartNews Ads େਤղ (SmartNews TechNight vol.5) ͷൃදࢿྉΛࢀর • https://www.slideshare.net/smartnews/smartnews- technight-vol5-smartnews-ads
Slide 10
Slide 10 text
͋ΘͤͯಡΈ͍ͨൃදࢿྉ • SmartNews ͷσʔλαΠΤϯςΟετͷ ߴΠςϨʔγϣϯΛࢧ͑ΔࠂγεςϜ (AWS Summit Tokyo 2015) • http://bit.ly/SN-AWS2015 • AD Data Engineering in practice: SmartNews Ads ཪͷσʔλγεςϜ (SmartNews TechNight vol.5) • http://bit.ly/SN-TechNight5-Lan
Slide 11
Slide 11 text
SmartNews Ads ʹ͓͚Δ ػցֶशͷ׆༻ɾӡ༻ࣄྫ
Slide 12
Slide 12 text
લॲཧ / ֶश / ༧ଌ / ධՁ ͦΕͧΕʹ͍͓ͭͯ͠·͢
Slide 13
Slide 13 text
Ͳ͜ͰػցֶशΛར༻͍ͯ͠Δͷ͔ʁ • ʢҎԼҰྫʣ • ༧ଌ୯Ґ: Ϣʔβ • ੑผਪఆ, ྸਪఆ • ༧ଌ୯Ґ: Ϣʔβ x ࠂ • ΫϦοΫ༧ଌ, ίϯόʔδϣϯ༧ଌ • ࠂ৴ͷϩάͳͲΛར༻ֶͯ͠श͍ͯ͠Δ
Slide 14
Slide 14 text
ͲͷΑ͏ʹલॲཧ͍ͯ͠Δͷ͔ʁ "ETFSWFST JNQ DMJDL DW -PHCVDLFU %.1CVDLFU "EEFMJWFSZ MPH +PJO )JWF2- 'FBUVSFFYUSBDUJPO )JWF2- 'FBUVSFT JOUFSNFEJBUF %BUBTFU -JC47. GPSNBU (FOFSBUFEBUBTFU GPSFBDI.-UBTL )JWF2-
Slide 15
Slide 15 text
ͲͷΑ͏ʹֶशɾ༧ଌ͍ͯ͠Δͷ͔ʁ • ֶशʢࠓͷͱ͜Ζʣͯ͢ΦϑϥΠϯͰॲཧ͍ͯ͠Δ • ༧ଌରͷλεΫʹΑͬͯΦϑϥΠϯͱΦϯϥΠϯΛ ͍͚͍ͯΔ • ΦϑϥΠϯ༧ଌ • ੑผਪఆ, ྸਪఆ • ΦϯϥΠϯ༧ଌ • ΫϦοΫ༧ଌ, ίϯόʔδϣϯ༧ଌ
Slide 16
Slide 16 text
ͲͷΑ͏ʹֶश͍ͯ͠Δͷ͔ʁ %.1CVDLFU %BUBTFU -JC47. GPSNBU &$*OTUBODFGPSUSBJOJOH 1SFEJDUJPO NPEFM 5SBJO 1SFEJDUJPO NPEFM ຖʹ ༧ଌϞσϧΛอ࣋
Slide 17
Slide 17 text
ͲͷΑ͏ʹ༧ଌ͍ͯ͠Δͷ͔ʁ %.1CVDLFU 'FBUVSFT JOUFSNFEJBUF 1SFEJDUJPO SFTVMU 1SFEJDUBMMJUFNT )JWF2-X6%' "VEJFODFUBCMF 8SJUFSFTVMU )JWF2-X6%' ※ΦϑϥΠϯ༧ଌͷ߹ 1SFEJDUJPO NPEFM
Slide 18
Slide 18 text
ͲͷΑ͏ʹΦϑϥΠϯ༧ଌͷ݁ՌΛ ར༻͢Δͷ͔ʁ • ࠂϦΫΤετͷɺDynamoDB ͔Β item Λඇಉظతʹऔಘ͍ͯ͠Δ • Ωϟογϡ͍ͯ͠ͳ͍ (ͯ͠ҙຯ͕ͳ͍)
Slide 19
Slide 19 text
͔͜͜ΒઌΦϯϥΠϯ༧ଌ ʹಛԽͨ͠ʹͳΓ·͢
Slide 20
Slide 20 text
ͲͷΑ͏ʹΦϯϥΠϯ༧ଌ͍ͯ͠Δͷ͔ʁ Ϣʔβ" ộ ࠂ ࠂ ࠂ ࠂO ʴ Ϣʔβͷಛྔ ࠂ͝ͱͷಛྔ ༧ଌϞσϧ ộ ༧ଌ݁Ռ %ZOBNP%# QFSVTFS QFSUJNFVOJU 4+7.IFBQ QFSUBTL 4+7.IFBQ QFSBE
Slide 21
Slide 21 text
ͲͷΑ͏ʹಛϕΫτϧΛѻ͍ͬͯΔͷ͔ʁ • ༧ଌʹඞཁͳಛϕΫτϧΛղͨ͠ঢ়ଶͰ֤छετϨʔ δʹͯอ࣋͢Δ • Ϣʔβͷಛྔ: DynamoDB (όον/ϦΞϧλΠϜߋ৽) • ࠂͷಛྔ: S3 (JVM ώʔϓ্ͰΩϟογϡ) • ࠂϦΫΤετͷதͰɺϢʔβ༝དྷͷಛྔΛ DynamoDB ͔Βऔಘ → ࠂ͝ͱʹಛϕΫτϧΛ࡞ͬͯ ͦΕͧΕ༧ଌɺͱ͍ͯ͠Δ
Slide 22
Slide 22 text
ͲͷΑ͏ʹಛϕΫτϧΛ४උ͍ͯ͠Δͷ͔ʁ "ETFSWFST JNQ DMJDL DW ,JOFTJT TUSFBNT 4QBSLTUSFBNJOH PO&.3 6TFS GFBUVSF 8SJUFFWFSZ NJOVUF ※ϢʔβಛྔͷϦΞϧλΠϜߋ৽
Slide 23
Slide 23 text
ͲͷΑ͏ʹ༧ଌϞσϧΛѻ͍ͬͯΔͷ͔ʁ • ֶशࡁΈͷ༧ଌϞσϧ S3 όέοτ্ʹଘࡏ͢Δ • ࠂαʔόͦͷ༧ଌϞσϧΛμϯϩʔυ & ϩʔυͯ͠ ώʔϓ্Ͱอ࣋͢Δ • ༧ଌػೳࠂαʔόʹแ͞Ε͍ͯΔ (͔ͳΓີ݁߹) • github.com/komiya-atsushi/xgboost-predictor-java • ༧ଌϞσϧࠂαʔόΛఀࢭͤͣʹϦϩʔυͰ͖Δ
Slide 24
Slide 24 text
ͲͷΑ͏ʹ༧ଌϞσϧͷ A/B ςετΛ ࣮ݱ͍ͯ͠Δͷ͔ʁ • ࠂαʔόෳͷ༧ଌϞσϧΛಉ࣌ʹϩʔυͰ͖ΔػߏΛ උ͍͑ͯΔ • ͦΕͧΕͷ༧ଌϞσϧʹʮϥϕϧʯ͕༩͞Ε͍ͯΔ • A/B ςετͷϑϨʔϜϫʔΫͰͦͷʮϥϕϧʯΛࢦఆ͢Δ͜ ͱͰɺ࣮ݧ܈͝ͱʹར༻͢Δ༧ଌϞσϧΛΓସ͑ΒΕΔ • DynamoDB ্ͷಛྔʹϥϕϧ͕༩͞Ε͍ͯΔͷ Ͱɺ༧ଌϞσϧʹ߹ΘͤͨಛྔΛ༻ҙ͢Δ͜ͱ͕Ͱ͖Δ
Slide 25
Slide 25 text
ͲͷΑ͏ʹධՁ͍ͯ͠Δͷ͔ʁ • ༧ଌ݁Ռ vs ࣮ͷධՁϝτϦΫεΛ daily/hourly Ͱࢉग़ͯ͠ Slack νϟϯωϧʹ௨ • ධՁϝτϦΫεͷྫ • Normalized entropy • Logloss • AUC
Slide 26
Slide 26 text
ͳͥΦϯϥΠϯ༧ଌ͢Δͷ͔ʁ • ΦϯϥΠϯ༧ଌγεςϜతʹෳࡶʹͳΓ͕ͪ & Πϯϑϥ ͷίετ͕͔͔Γ͕ͪͱ͍͏σϝϦοτ͕͋Δ • ࠂʹ͓͚ΔΫϦοΫɺίϯόʔδϣϯ༧ଌɺظత ʹதظతʹച্ʹͶฦͬͯ͘Δࢪࡦͱ͍͏͜ͱͰऔ ΓΜͰ͍Δ • ظతɿظऩӹͷߴ͍ࠂΛ৴͢ΔͨΊ • தظతɿࠂओ (ཧళ) ʹྑ͍ύϑΥʔϚϯε (҆ՁͰ ଟ͘ͷ֫ಘ) Λఏڙ͠ɺܧଓͯ͠ࠂग़ߘ͍ͨͩͨ͘Ί
Slide 27
Slide 27 text
·ͱΊ
Slide 28
Slide 28 text
·ͱΊ • AWS ͷ֤छαʔϏε & Φʔϓϯιʔεϓϩμ ΫτΛ׆༻ͯ͠ DMP Λߏங͠ɺػցֶशλε ΫΛ͜ͳ͍ͯ͠Δ • গਫ਼ӶͰ։ൃΛਐΊ͍ͯΔ͕Ώ͑ɺػցֶ शͷϓϥοτϑΥʔϜͱͯ͠·ͩվળͷ༨ ͕͋Δͣ
Slide 29
Slide 29 text
We’re HIRING ❗❗❗ • bit.ly/SmartNews-Hiring • Data scientist • Data engineer • Software engineer, Ads machine learning • Software engineer, Machine learning (news)
Slide 30
Slide 30 text
Thank you!