SmartNews Ads における機械学習の活用とその運用 #mlops
by
KOMIYA Atsushi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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!