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
0
55
論文紹介 Improving Medical Reasoning through Retrieval and Self-Reflection with Retrieval-Augmented Large Language Models
hagino3000
0
820
論文紹介 Audience Size Forecasting Fast and Smart Budget Planning for Media Buyers
hagino3000
0
230
論文紹介 Towards a Fair Marketplace: Counterfactual Evaluation of the trade-off between Relevance, Fairness & Satisfaction in Recommendation Systems
hagino3000
1
620
論文紹介 Budget Management Strategies in Repeated Auctions (公開版)
hagino3000
1
280
論文紹介 A Request-level Guaranteed Delivery Advertising Planning: Forecasting and Allocation
hagino3000
0
110
論文紹介 Online Experimentation with Surrogate Metrics Guidelines and a Case Study
hagino3000
0
310
論文紹介 Bidding Machine: Learning to Bid for Directly Optimizing Profits in Display Advertising
hagino3000
0
190
論文紹介 Balancing Relevance and Discovery to Inspire Customers in the IKEA App
hagino3000
0
730
Other Decks in Technology
See All in Technology
医療業界に特化した音声認識モデル構築のためのアノテーションの実態
thickstem
0
530
20250612_GitHubを使いこなすためにソニーの開発現場が取り組んでいるプラクティス.pdf
osakiy8
1
550
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
Securing your Lambda 101
chillzprezi
0
210
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7k
Text-to-SQLの評価データセットを作って最新LLMモデルの性能評価をしてみた
gotalab555
3
740
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
250
「伝える」を加速させるCursor術
naomix
0
570
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
産業機械をElixirで制御する
kikuyuta
0
140
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
3
300
What's new in OpenShift 4.19
redhatlivestreaming
1
140
Featured
See All Featured
A better future with KSS
kneath
239
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
Large-scale JavaScript Application Architecture
addyosmani
512
110k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Docker and Python
trallard
44
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Visualization
eitanlees
146
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.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