Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ネット広告配信サービスにおけるMLシステムの実装と運用
Search
Takashi Nishibayashi
July 13, 2018
Technology
8
4.9k
ネット広告配信サービスにおけるMLシステムの実装と運用
Machine Learning System on Online Advertising Platform.
Takashi Nishibayashi
July 13, 2018
Tweet
Share
More Decks by Takashi Nishibayashi
See All by Takashi Nishibayashi
論文紹介 Improving Medical Reasoning through Retrieval and Self-Reflection with Retrieval-Augmented Large Language Models
hagino3000
0
620
論文紹介 Audience Size Forecasting Fast and Smart Budget Planning for Media Buyers
hagino3000
0
220
論文紹介 Towards a Fair Marketplace: Counterfactual Evaluation of the trade-off between Relevance, Fairness & Satisfaction in Recommendation Systems
hagino3000
1
600
論文紹介 Budget Management Strategies in Repeated Auctions (公開版)
hagino3000
0
250
論文紹介 A Request-level Guaranteed Delivery Advertising Planning: Forecasting and Allocation
hagino3000
0
90
論文紹介 Online Experimentation with Surrogate Metrics Guidelines and a Case Study
hagino3000
0
220
論文紹介 Bidding Machine: Learning to Bid for Directly Optimizing Profits in Display Advertising
hagino3000
0
120
論文紹介 Balancing Relevance and Discovery to Inspire Customers in the IKEA App
hagino3000
0
710
不確実性と上手く付き合う意思決定の手法
hagino3000
18
15k
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
790
Platform Engineering for Software Developers and Architects
syntasso
1
530
Application Development WG Intro at AppDeveloperCon
salaboy
0
210
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
A Tour of Anti-patterns for Functional Programming
guvalif
0
150
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
3
760
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
39
13k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.8k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
Featured
See All Featured
Bash Introduction
62gerente
608
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
How to Ace a Technical Interview
jacobian
276
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Producing Creativity
orderedlist
PRO
341
39k
The Language of Interfaces
destraynor
154
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
What's new in Ruby 2.0
geeforr
343
31k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Transcript
ωοτࠂ৴αʔϏεʹ͓͚Δ .-γεςϜͷ࣮ͱӡ༻ 5BLBTIJ/JTIJCBZBTIJ .BDIJOF-FBSOJOH$BTVBM5BMLT
͓લͩΕΑ Name: Takashi Nishibayashi twitter.com/@hagino3000 Job: Software Engineer VOYAGE GROUPͰωοτࠂ৴αʔϏε࡞ͬͯ
·͢ɻओʹ৴ϩδοΫ͔Βσʔλੳج൫·Ͱɻ ࠷ۙͷڵຯϛΫϩܦࡁֶͱϝΧχζϜσβΠϯɻ
࠷ۙͷ׆ಈ ਓೳֶձࢽ Vol. 32 No. 4 (2017/07) ͷʮࠂͱ AI ಛूʯʹʮΞυωοτϫʔΫʹ͓͚Δࠂ৴ܭ
ըͷ࠷దԽʯ͕ܝࡌ͞Ε·ͨ͠ɻ ΦϥΠϦʔ͔ΒʮࣄͰ͡ΊΔػցֶशʯ͕ग़· ͨ͠ɻ @chezou, @tokorotenͱڞஶ ࢴ൛ɾిࢠॻ੶྆ํ͋Γ·͢
ࠓͷ w ༧ଌϞσϧͷ܇࿅ɾΛߦͳ͏όονॲཧ w 8FCαʔόʔͰͷਪ w ӡ༻ɾ༧ଌϞσϧͷੑೳࢹ w ༧ଌϞσϧͷΦϑϥΠϯධՁɾΦϯϥΠϯධՁ ՔಈதͷࠂΠϯϓϨογϣϯͷՁධՁλεΫΛࡐʹͯ͠ɺ࣍
ͷτϐοΫΛऔΓ͋͛·͢
ωοτࠂ৴γεςϜͱ.- λεΫͷྫ Ϟνϕʔγϣϯ Ξϓϩʔν ΫϦοΫ༧ଌ ࠂ͕ΫϦοΫ͞ΕΔ͕֬Γ͍ͨ Ϋϥεྨ ίϯόʔδϣϯ༧ଌ ΫϦοΫޙʹίϯόʔδϣϯ͢Δ͕֬Γ͍ͨ Ϋϥεྨ
৴͢Δࠂͷܾఆ ͋ΔظؒͷऩӹΛ࠷େʹ͢ΔͨΊʹɺͲͷࠂΛ ද͖͔ܾࣔ͢Ί͍ͨ ଟόϯσΟοτ ߹ͤ࠷దԽ ࠂͷΫϥελϦϯά ࣅ͍ͯΔࠂΛ·ͱΊͯѻ͍͍ͨ ΫϥελϦϯά ΫϩεσόΠεਪఆ Λԣஅͨ͠ΦʔσΟΤϯεͷτϥοΩϯά͕ ͍ͨ͠ ଟΫϥεྨ
ࠂΠϯϓϨογϣϯͷՁධՁ ࠂഔମ ɾ 441 ৴ࣄۀऀ ࠂϦΫΤετ9 ࠂ ࠂ ࠂO
ࠂબϩδοΫ
ࠂΠϯϓϨογϣϯͷՁධՁ ࠂഔମ ɾ 441 ৴ࣄۀऀ ࠂϦΫΤετ9 ࠂ ࠂ ࠂO
ऩӹ༧ଌϩδοΫ ࠂબϩδοΫ ԁ ԁ ԁ ࠂϨεϙϯε ࠂZ
ࠂϦΫΤετ9 ɾΦʔσΟΤϯεɾίϯςΩετʜ ʹରͯ͠ɺԠ Մೳͳࠂ͕Oݸ͋Δɻ͜ͷ࣌ʹͦΕͧΕͷࠂB㱨\ ʜO^Λදࣔ͠ ͨ࣌ͷऩӹ༧ଌ͕ཉ͍͠ɻ ऩӹ༧ଌΫϦοΫ $53 ίϯόʔδϣϯ
$73 ΛͦΕͧΕͷࠂ ʹ͍ͭͯ༧ଌͯ͠ར༻͢Δɻ CTR = P(click=1 | X, a) CVR = P(conversion=1 | X, a, click=1) ͨͩ͠શͯͷॲཧ͕NTҎʹऴΔࣄ ࠂΠϯϓϨογϣϯͷՁධՁ ଓ͖
"84&$4$MVTUFS &$*OTUBODF γεςϜߏ 4 $53༧ଌث ܇࿅λεΫ $*%FQMPZ $73༧ଌث ܇࿅λεΫ -VJHJ
4DIFEVMFS $53༧ଌث +40/ $73༧ଌث +40/ ऩӹ༧ଌϩδοΫ $53༧ଌ ॲཧ $73༧ଌ ॲཧ #JH2VFSZ ৴ϩά ϩάͷ&5- 'FUDI %BJMZ 6QEBUF 2VFSZ ܇࿅σʔλ )551 ࠂબϩδοΫ
શମͷઃܭ w 8FCαʔόʔͰϦΫΤετΛॲཧ͢ΔϓϩηεͰਪ 4DBMBͰ࣮ w ϨΠςϯγͱ҆ఆੑΛ༏ઌ w ଞͷબࢶͩͱ"1*αʔόʔԽ
w ϩδεςΟοΫճؼ -ਖ਼ଇԽ w ͞Εͨ༧ଌϞσϧΛΦϯϝϞϦͰอ࣋͢Δ w ܇࿅σΠϦʔͷόονॲཧ w ʑՃ͞ΕΔ৽نࠂΩϟϯϖʔϯɾ৽نࠂʹରԠ͢ΔͨΊຖ ֶशΛΓͳ͓͢ɻݹ͍աڈΕͤ͞Δɻ w 1ZUIPOͰ࣮
όονॲཧ܈
όον࣮ߦڥ w "84&$4্ͷ%PDLFSίϯςφͰಈ࡞ w 1ZUIPOڥͷ࠶ݱੑ୲อͷͨΊʹ1JQpMFΛ༻ w ϫʔΫϑϩʔΤϯδϯ-VJHJΛ࠾༻ w λεΫؒͷґଘղܾ w
&5-ɾ༧ଌϞσϧͷ܇࿅ɾϞσϧͷͱෳࡶʹͳΓ͕ͪͳॴ w FHར༻͢Δσʔλछʹ͍ͭͯલ࣌ͷσʔλऔࠐΈ͕ऴͬͨ ΒલॲཧΛ։࢝ɻલॲཧ͕ऴͬͨΒ"ͱ#ͷ܇࿅ΛฒྻͰ։࢝ w ֎෦ཁҼͰίέͨ࣌ͷϦτϥΠɾฒྻ࣮ߦ੍ޚ
%FQFOEFODZ(SBQI ίέͨॴҟৗʹ͕͔͍࣌ؒͬͯΔλεΫ͕͙͢ʹΘ͔ͬͯศར
܇࿅ w TDJLJUMFBSOΛͬͯϩδεςΟοΫճؼ w ΧςΰϦΧϧมͷPOFIPUFODPEJOHͰສ࣍ݩʹͳΔ͕ɺ-ਖ਼ଇԽͰ ສҎԼ·Ͱམ͍ͪͯΔ w ࠂΩϟϯϖʔϯຖʹ༧ଌثΛ࡞Δ w ࡐ
ϦλʔήςΟϯάPSʜ ʹΑͬͯ͑Δૉੑ͕ҟͳΔ w ਖ਼ྫෛྫͷόϥϯε͕ͩͬͨΓͩͬͨΓͯ͠Ұॹʹѻ͏ ͷ͕͍͠ w $MBTT*NCBMBODFରࡦͱͯ͠/FHBUJWF%PXOTBNQMJOH͍ͯ͠Δ
/FHBUJWF%PXOTBNQMJOH w ਖ਼ྫશͯར༻ɺෛྫؒҾ͘FH͚ͩ༻ *NCBMBODFىҼͷόΠΞεআڈ w ॲཧରσʔλΛେ෯ʹݮΒ͢ࣄ͕Ͱ͖ΔɻܭࢉίετݮͷϝϦοτ͕େɻ w ࣺͯΔ෦Λม͑ͯ༧ଌثΛ࡞Γ#BHHJOHͰ൚ԽੑೳΛ্͛ΒΕΔ w
#JH2VFSZͳΒΫΤϦͰ࣍ͷ௨Γॻ͚Δɻ࠶ݱੑ༗Γɻ where mod(farm_fingerprint(imp_id), 50) = 0 or click = 1
/FHBUJWF%PXOTBNQMJOH w ਖ਼ྫશͯར༻ɺෛྫؒҾ͘FH͚ͩ༻ *NCBMBODFىҼͷόΠΞεআڈ w ॲཧରσʔλΛେ෯ʹݮΒ͢ࣄ͕Ͱ͖ΔɻܭࢉίετݮͷϝϦοτ͕େɻ w ࣺͯΔ෦Λม͑ͯ༧ଌثΛ࡞Γ#BHHJOHͰ൚ԽੑೳΛ্͛ΒΕΔ w
#JH2VFSZͳΒΫΤϦͰ࣍ͷ௨Γॻ͚Δɻ࠶ݱੑ༗Γɻ $MJDL $MJDL %BUB where mod(farm_fingerprint(imp_id), 50) = 0 or click = 1
/FHBUJWF%PXOTBNQMJOH w ਖ਼ྫશͯར༻ɺෛྫؒҾ͘FH͚ͩ༻ *NCBMBODFىҼͷόΠΞεআڈ w ॲཧରσʔλΛେ෯ʹݮΒ͢ࣄ͕Ͱ͖ΔɻܭࢉίετݮͷϝϦοτ͕େɻ w ࣺͯΔ෦Λม͑ͯ༧ଌثΛ࡞Γ#BHHJOHͰ൚ԽੑೳΛ্͛ΒΕΔ w
#JH2VFSZͳΒΫΤϦͰ࣍ͷ௨Γॻ͚Δɻ࠶ݱੑ༗Γɻ $MJDL $MJDL %BUB ࣺͯΔ where mod(farm_fingerprint(imp_id), 50) = 0 or click = 1
܇࿅݁Ռͷ֬ೝ w ࣮ݧ࣌ w 5JNF4FSJFT4QMJUͰ$SPTT7BMJEBUJPO "6$ w ย߲ͷ͕पลԽͨ࣌͠ͷ֬ͱҰக͍ͯ͠ΔࣄΛ֬ೝ w
ཉ͍͠ͷ֬ w શମͷΫϦοΫTJHNPJE ΫϦοΫ༧ଌثͷย߲ͷ ͳΒ0, w "6$MPHMPTT͚ͩݟͯ0WFS1SFEJDUJPOʹؾ͚ͮͳ͍
༧ଌϞσϧͷ w ܇࿅݁ՌύϥϝʔλΛ+40/ʹͯ͠4ʹஔ 1SPUPDPM#V⒎FSͷํ͕ྑ͔͔ͬͨʜ w ϑΝΠϧͷ༰ w ϝλใ όονॲཧىಈ࣌ࠁɾόʔδϣϯ
w ඇθϩͷ XFJHIU ͱରԠϥϕϧ ֶश݁Ռ w લॲཧύϥϝʔλ w ࿈ଓมͷฏۉɾࢄ w /FHBUJWF%PXOTBNQMJOH w όονىಈຖʹϑΝΠϧΛ͍ͯ͠ΔͷͰɺ-BUFTUΛҙͷ࣌ʹͤΔ
ਪ
8FC4FSWFSଆͷܭࢉ 4DBMBͰ࣮ͨ͠෦ɻ *.1ΛYɺॏΈ͕Xͷ࣌ɺϩδεςΟοΫճؼͷΫϥεࣄޙ֬࣍ͷ௨Γɻ ࣮͕ਖ਼͍͠ࣄͷ֬ೝͱͯ͠ɺςετίʔυͰTDJLJUMFBSOͷ -PHJTUJD$MBTTJpFSQSFEJDU@QSPCB ΛݺΜͩ݁Ռͱಉ͔͡Ͳ͏͔ΛνΣοΫ ͜ΕΛQ /FHBUJWF%PXOTBNQMJOHΛSͱͯ͠ݩͷ֬ʹ͢ʹɻ ㅟ Yͷཁૉ΄ͱΜͲθϩͳͷͰ*.1
ʹରԠ͢Δ8FJHIUͷ͋͠Θͤ
ϩδοΫ༧ଌثΓସ͑Մೳʹ͢Δ w γεςϜͷ"#5FTUରԠʹඞਢ w ࣮ݧΛதஅ͢Δͷʹιʔείʔυͷ3FWFSU αʔόʔશೖΕ͑ͱ͔ Γͨ͘ͳ͍
ϦϦʔεޙͷӡ༻
༧ଌϞσϧͷੑೳࢹ w ϏδωεࢦඪͷࢹͱϞσϧ༧ଌਫ਼ͷࢹΛಉ࣌ʹಈ͔͓ͯ͘͠ w ༧ଌਫ਼͕མͪͨ PSσʔλ͕Γͳ͍ͯ͘ ࣌ʹϏδωεࢦඪ͕ѱ ͍ͷظ௨Γͷಈ࡞ w ༧ଌਫ਼ͷྑ͞ͱϏδωεࢦඪͷྑ͕͞࿈ಈ͍ͯ͠Ε0,
w ແ૬ؔͰ͋Εͦͷ༧ଌॲཧୀՄೳ
༧ଌϞσϧͷੑೳࢹ ଓ͖ w Ϗδωεࢦඪͷࢹ w ച্ɾૈརɾ$1" ίϯόʔδϣϯ֫ಘ݅͋ͨΓͷίετ w ༧ଌث͕ࣄۀʹߩݙͰ͖͍ͯΔ͔Θ͔Δ
w ٸܹʹѱԽͨ͠߹ɺେγεςϜʹԿ͔͕ى͖ͯΔ w ༧ଌਫ਼ w ࣮ࡍͷ৴࣌ͷ༧ଌͱ৴݁ՌΛͬͯࠂΩϟϯϖʔϯຖʹ"6$ ͷ࣌ܥྻΛϓϩοτ w Ωϟϯϖʔϯຖʹϓϩοτ͢ΔࣄͰࡐʹΑΔͷ͕ࠩݟ͑Δ
༧ଌϞσϧͷੑೳࢹ ଓ͖ w ༧ଌثຖͷ༻ঢ়گ w ݺग़ճɾൃੜച্ োൃੜ࣌ͷϦΧόϦ༏ઌ w ࠂӡ༻ऀ͕৴ϩδοΫ
༧ଌث ΛબΔέʔε w ྑ͍Ͱʮಈ࡞͕ѲͰ͖ͳ͍͔Βͬͯͳ͍ʯͱ͍͏ࣄ͋Δ w ίϛϡχέʔγϣϯऔ͍ͬͯ͘ w ΘΕͳ͘ͳͬͨୀͤ͞Δ w ͍ͬͯͳͯ͘ҡ࣋අ͕͔͔Δ
܇࿅σʔλͷͷมԽ w σʔλੜܦ࿏ͷো w ܇࿅σʔλͷݩʹͳΔ্ྲྀͷϑΟϧλ͕ނো w ܭଌܥͷো FHίϯόʔδϣϯܭଌ͕ࢭ·ͬͨ w
োͳΒ܇࿅σʔλΛ៉ྷʹͯ͠࠶܇࿅͢Δͱੑೳ͕ݩʹΔ w Ϗδωεঢ়گͷมԽ w ༧ଌରͷ͕มΘͬͨ w ͷมԽ͕Θ͔Ε࣍ͷҰखΛܾΊ͍͢ɻ৳ͼ͠Ζͷ͋Δ෦ͷ νϡʔχϯά৽ن։ൃʹணखɻ
৽͍͠༧ଌثͷϦϦʔε
ΦϑϥΠϯධՁ w ৽͍͠༧ଌثͷ࣮ݧɺϏδωεࢦඪ͕Ͳ͏ͳΔ͔Λ֬ೝ͢Δ w աڈͷ৴ϩάΛͬͯධՁ w աڈͷ৴ϩάߦຖʹ༧ଌΛੜ w #JH2VFSZ͔ΒಡΜͰ#JH2VFSZॻ͖ࠐΉͷ$MPVE%BUBqPX͕ศར w
͔͠͠ϩάΛ࣮ͬͨԾࡦͷධՁݫີʹͰ͖ͳ͍ w ܇࿅σʔλͷϑΟʔυόοΫ͕γϛϡϨʔτͰ͖ͳ͍ w ඇఆৗੑ w ධՁ݁Ռࢀߟఔʹ
ΦϯϥΠϯධՁ w ͪ͜Β͕ຊ໋ w ϩδοΫ ༧ଌث ͷ"#ςετ w ϓϩμΫγϣϯڥͰαϯϓϧΛແ࡞ҝʹ܈ʹ͚ΔϥϯμϜԽൺֱࢼݧ w
࣌ؒมԽͷӨڹɾηϨΫγϣϯόΠΞεͷআڈ w ίϯτϩʔϧ܈ͱτϦʔτϝϯτ܈ͷϏδωεࢦඪͷ͕ࠩҼՌޮՌ w ϏδωεΠϯύΫτͰධՁ ౷ܭతʹ༗ҙͰ͕ࠩখ͍͞ͱඍົ
ΦϯϥΠϯධՁ w ͪ͜Β͕ຊ໋ w ϩδοΫ ༧ଌث ͷ"#ςετ w ϓϩμΫγϣϯڥͰαϯϓϧΛແ࡞ҝʹ܈ʹ͚ΔϥϯμϜԽൺֱࢼݧ w
࣌ؒมԽͷӨڹɾηϨΫγϣϯόΠΞεͷআڈ w ίϯτϩʔϧ܈ͱτϦʔτϝϯτ܈ͷϏδωεࢦඪͷ͕ࠩҼՌޮՌ w ϏδωεΠϯύΫτͰධՁ ౷ܭతʹ༗ҙͰ͕ࠩখ͍͞ͱඍົ Γ͍ͨͷίί ྫૈར͕ͲΕ͚ͩ૿͑Δ͔
ϦϦʔε w "#5FTU3FBEZͳγεςϜʹͳ͍ͬͯΕϦϦʔε༰қ w ద༻ϩδοΫΛ੍ޚ͢ΔΈΛ࡞͓ͬͯ͘ w ཧը໘ͰઃఆͰ͖Δ w "#ςετ w
શମͷ͚ͩϦϦʔε w ಛఆҊ݅ͷΈʹద༻ w ؾܰʹϦϦʔεͯ͠ݕূͰ͖ΔΈେࣄ
ઃఆྫ ઃఆ໊ ༰ ద༻ 999ϩδοΫ"#ςετ 999-PHJD7 999-PHJD7 σϑΥϧτ 999-PHJD7
όάYYͷఆରԠ /BJWF-PHJD
·ͱΊ w ࠂ৴αʔόʔͷதͰ༧ଌॲཧ͕ಈ͍͍ͯΔ w ϦϦʔε͔ͯ͠ΒΔࣄͨ͘͞Μ͋Δ w োରԠɾػೳվળ w ࢹॏཁ w
ݕূɾϦϦʔεɾୀΛΓ͘͢ w "#5FTU3FBEZʹ͓ͯ͘͠ͱָ w πϥΠ͋Μ·Γͳ͔ͬͨʜʜ
ࢀߟจݙ <>8BMMBDF #ZSPO$ FUBM$MBTTJNCBMBODF SFEVY%BUB.JOJOH *$%. *&&&UI*OUFSOBUJPOBM$POGFSFODFPO*&&& <>$IBQFMMF
0MJWJFS &SFO.BOBWPHMV BOE3PNFS3PTBMFT4JNQMFBOE TDBMBCMFSFTQPOTFQSFEJDUJPOGPSEJTQMBZBEWFSUJTJOH"$.5SBOTBDUJPOTPO *OUFMMJHFOU4ZTUFNTBOE5FDIOPMPHZ 5*45 <>)F 9JOSBO FUBM1SBDUJDBMMFTTPOTGSPNQSFEJDUJOHDMJDLTPOBETBU GBDFCPPL1SPDFFEJOHTPGUIF&JHIUI*OUFSOBUJPOBM8PSLTIPQPO%BUB .JOJOHGPS0OMJOF"EWFSUJTJOH"$. <>4DVMMFZ % FUBM)JEEFOUFDIOJDBMEFCUJONBDIJOFMFBSOJOH TZTUFNT"EWBODFTJOOFVSBMJOGPSNBUJPOQSPDFTTJOHTZTUFNT