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
9
5k
ネット広告配信サービスにおける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
診断前の病歴テキストを対象としたLLMによるエンティティリンキング精度検証
hagino3000
1
120
論文紹介 Improving Medical Reasoning through Retrieval and Self-Reflection with Retrieval-Augmented Large Language Models
hagino3000
0
860
論文紹介 Audience Size Forecasting Fast and Smart Budget Planning for Media Buyers
hagino3000
0
240
論文紹介 Towards a Fair Marketplace: Counterfactual Evaluation of the trade-off between Relevance, Fairness & Satisfaction in Recommendation Systems
hagino3000
1
630
論文紹介 Budget Management Strategies in Repeated Auctions (公開版)
hagino3000
2
290
論文紹介 A Request-level Guaranteed Delivery Advertising Planning: Forecasting and Allocation
hagino3000
1
120
論文紹介 Online Experimentation with Surrogate Metrics Guidelines and a Case Study
hagino3000
1
340
論文紹介 Bidding Machine: Learning to Bid for Directly Optimizing Profits in Display Advertising
hagino3000
1
210
論文紹介 Balancing Relevance and Discovery to Inspire Customers in the IKEA App
hagino3000
0
730
Other Decks in Technology
See All in Technology
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
420
OpenAPIから画面生成に挑戦した話
koinunopochi
0
150
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
150
見てわかるテスト駆動開発
recruitengineers
PRO
4
270
知られざるprops命名の慣習 アクション編
uhyo
10
2.4k
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
140
[OCI Skill Mapping] AWSユーザーのためのOCI(2025年8月20日開催)
oracle4engineer
PRO
2
140
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
Claude Code x Androidアプリ 開発
kgmyshin
1
570
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
2
110
モバイルアプリ研修
recruitengineers
PRO
2
210
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
260
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Facilitating Awesome Meetings
lara
55
6.5k
RailsConf 2023
tenderlove
30
1.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
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