Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ML開発におけるML PMの関わり方事例

ML開発におけるML PMの関わり方事例

仁ノ平 将人(LINE株式会社)
髙久 裕央(LINE株式会社)
「第26回 MLOps 勉強会」の発表資料です
https://mlops.connpass.com/event/265554/

LINE Developers

December 07, 2022
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. .BTBUP/JOPIJSB .-%41MBOOJOH5FBN ୲౰ ɾ .- 1FSTPOB ଐੑਪఆ 'FBUVSF7FDUPS ԣஅಛ௃ྔ -*/&Ϊϑτ

    3% ɾ %4 -*/&1BZ )JSPP5BLBLV .-%41MBOOJOH5FBN ୲౰ ɾ .- 4IPQ 4UJDLFS ελϯϓ 5IFNF ணͤସ͑ %FNBFDBO
  2. .-૊৫Ͱ͸༷ʑͳϥΠϒϥϦɾιϦϡʔγϣϯΛ։ൃ 3FDPNNFOEBUJPO &YTUJDLFST 4UJDLFS"VUP5BHHJOH • スタンプ画像から 意味的なタグを推測し、⾃動付与 • 2021年〜、深層学習モデルを更新(Efficient Net)

    6TFS1FSTPOB1SFEJDUJPO • サービス横断のユーザ⾏動ログを利⽤して、DNN系のロジックで推定(〜数億ユーザ) • 継続的にリファクタリングやロジック改善等を進めており、MLP Mixerなども利⽤ LINE for Business 2022年10-2023年3⽉期 媒体資料より https://www.linebiz.com/jp/download/ 出前館 %SJWFS .FSDIBOU 6TFS  3FR GPSPSEFS  3FRGPS EFMJWFSZ  3FRGPS QSFQBSBUJPO  QJDLVQ EFMJWFSZ 複数の機械学習のコンポーネントを提供し、オンラ イン予測のためのパイプラインも個別に構築 For Users • 商品の推薦(≒ 何を注⽂すればよいか︖) For Demae-can (as a broker/仲介者) • オーダーの配達依頼(≒ 誰に配達を依頼すればよいか?) For Drivers • エリア単位での直近需要の予測(≒ どこで待てばよいか?) • レストランの準備時間予測(≒ いつ受け取りに⾏けばよい か?) 4NBSU$IBOOFM トークリスト上部にコンテンツ・広告を表⽰ • 2段構成で、ML室は下記の両⽅を提供 1. 個別サービスのコンテンツ向けターゲティングロジック (様々な組織が供給) 2. 最終的にコンテンツ or 広告を1つ選定 -JCSB4VJUF MLの開発効率化 + DSの検証効率化のための内製ツール 画⾯設計・デザインをUIのチームに依頼し、バックエンドをML室で開発 CMS for A/B Test & Rollout Dashboard for A/B Test 推薦結果の可視化 $SPTT4FSWJDF6TFS$POUFOU'FBUVSFT • 事業横断でML向けのデータを整備し、社内の他ML組織に提供 • 表現学習により、密ベクトル化したデータなども作成 .-#BUDI"1*T MLプラットフォーム化により、開発したモデルの再利⽤性や開発効率などを⼤幅に向上 0XO-JCTGPS%FW&GGJDJFODZ • cumin: データアクセスの抽象化 • swimmy: RPC to k8s cluster • ghee: 分散並列処理(転送 & 演算) • ghee-models: MLモデル(python) • masala: MLモデル(yaml)
  3. .-૊৫ͷྺ࢙ 2018 • 3FMFBTFSFDPNNFOEFSTUP NVMUJQMFTFSWJDFT • *OJUJBMBEPQUJPOPG(16JO QSPEVDUJPO • -JCSBEFTJHOJNQM

    • 4NBSU$IBOOFM • -JCSBTVQQPSUJO NVMUJQMFTFSWJDFT TFMEPNMZVTFEJO.- • (IFFNPEFMT FUD GPSNPEFMJNQM $PNNPOJ[BUJPO • %//CBTFE SFDPNNFOEFSTJO NPTUTFSWJDFT • %FNBFDBOXPOMJOF JOGFSFODJOH • .-"1*T • .-0QT • 0OMJOF.- • 0OEFWJDF.- -'- • .-1SJWBDZ • &UD 2019 2020 2021 'SPN.-NPEFMJOHUPQMBUGPSNEFWFMPQNFOU 2022 • ,TDMVTUFS • .-NPEFM JNQSPWFNFOUTWJB -JCSB
  4. .-૊৫͸ҎԼͷνʔϜ͔Β੒Γཱ͓ͬͯΓ·͢ ࣌఺ .-4PMνʔϜ -*/&ϚϯΨ΍-*/&(JGUͳͲͷϑΝϛϦʔαʔϏε޲͚ͷਪનϩδοΫͷ։ൃɻ ग़લؗ޲͚ͷ.-ͷ։ൃͰ͸ɺʮ৔ॴɾ࣌ؒผͰͷधཁͷ༧ଌʯ΍ʮ഑ୡ࣌ؒͷ༧ଌʯͳ ͲɺΦϯϥΠϯͷσʔλ&5-΍ਪ࿦͕ඞཁͳ.-γεςϜͷ։ൃʹ΋஫ྗ .-4PMνʔϜ -*/&ެࣜΞΧ΢ϯτͷϝοηʔδ഑৴࠷దԽ΍ɺ֤छαʔϏε޲͚ͷਪનͳͲΛ࣮ࢪ %41.-νʔϜ ޿ࠂ഑৴ʹ༻͍Δಛ௃ྔΤϯδχΞϦϯάɺ΍֎෦ഔମ޲͚഑৴γεςϜʢ-*/&޿ࠂ

    ωοτϫʔΫʣ޲͚ͷ.-΍࠷దԽΛ࣮ࢪɻ޿ࠂΫϦΤΠςΟϒͷ৹ࠪΛߦ͏.-ج൫ͷ ։ൃͳͲʹ΋ணख .-1SJWBDZνʔϜ ϓϥΠόγʔۀҬͷߴ͍ઐ໳ੑΛ͓࣋ͬͯΓɺ'FEFSBUFE-FBSOJOHͱݺ͹ΕΔٕज़Λ αʔϏεಋೖ͢ΔϓϩδΣΫτʹࢀըɻݚڀʹ΋஫ྗ͓ͯ͠ΓɺτοϓΧϯϑΝϨϯε ʹ΋ଟ਺࿦จ͕࠾୒͞Ε͍ͯΔ .-%FWνʔϜ େن໛σʔλΛѻ͏ͨΊͷɺಠࣗ.-Ϟσϧ܈ͷ࣮૷΍੔උɺαʔϏεԣஅಛ௃ྔΛ׆༻ ͨࣾ͠಺޲͚ͷ.-"1*։ൃɺ.-0QT޲͚ͷ౷ܭྔऩूγεςϜͷઃܭɾ։ൃͳͲΛ࣮ ࢪɻ'FEFSBUFE-FBSOJOHͷٕज़։ൃ΋ਐΊ͍ͯΔ .-*OGSBνʔϜ ػցֶशΤϯδχΞͷͨΊͷɺLT "JSGMPX $*$%؀ڥͳͲͷج൫੔උɺ͓Αͼ"1*ɾ ؂ࢹγεςϜͳͲͷ։ൃӡ༻Λߦ͍ɺ৴པੑͷߴ͍αʔϏεΛఏڙɻ௚ۙͰ͸ɺػցֶ श༻్ͷΦϯϥΠϯಛ௃ྔετΞɺ.-޲͚ͷ%BUBϦωʔδγεςϜͳͲ΋։ൃ .-4PMνʔϜ αʔϏεԣஅͷಛ௃ྔͷ੔උɾӡ༻͓ΑͼɺͦͷσʔλΛར༻ͨ͠Ϣʔβଐੑͷਪఆͳ ͲΛ࣮ࢪ ྘ɿ.-ΤϯδχΞ
  5. .-૊৫͸ҎԼͷνʔϜ͔Β੒Γཱ͓ͬͯΓ·͢ ࣌఺ .-4PMνʔϜ -*/&ϚϯΨ΍-*/&(JGUͳͲͷϑΝϛϦʔαʔϏε޲͚ͷਪનϩδοΫͷ։ൃɻ ग़લؗ޲͚ͷ.-ͷ։ൃͰ͸ɺʮ৔ॴɾ࣌ؒผͰͷधཁͷ༧ଌʯ΍ʮ഑ୡ࣌ؒͷ༧ଌʯͳ ͲɺΦϯϥΠϯͷσʔλ&5-΍ਪ࿦͕ඞཁͳ.-γεςϜͷ։ൃʹ΋஫ྗ .-4PMνʔϜ -*/&ެࣜΞΧ΢ϯτͷϝοηʔδ഑৴࠷దԽ΍ɺ֤छαʔϏε޲͚ͷਪનͳͲΛ࣮ࢪ %41.-νʔϜ ޿ࠂ഑৴ʹ༻͍Δಛ௃ྔΤϯδχΞϦϯάɺ΍֎෦ഔମ޲͚഑৴γεςϜʢ-*/&޿ࠂ

    ωοτϫʔΫʣ޲͚ͷ.-΍࠷దԽΛ࣮ࢪɻ޿ࠂΫϦΤΠςΟϒͷ৹ࠪΛߦ͏.-ج൫ͷ ։ൃͳͲʹ΋ணख .-1SJWBDZνʔϜ ϓϥΠόγʔۀҬͷߴ͍ઐ໳ੑΛ͓࣋ͬͯΓɺ'FEFSBUFE-FBSOJOHͱݺ͹ΕΔٕज़Λ αʔϏεಋೖ͢ΔϓϩδΣΫτʹࢀըɻݚڀʹ΋஫ྗ͓ͯ͠ΓɺτοϓΧϯϑΝϨϯε ʹ΋ଟ਺࿦จ͕࠾୒͞Ε͍ͯΔ .-%FWνʔϜ େن໛σʔλΛѻ͏ͨΊͷɺಠࣗ.-Ϟσϧ܈ͷ࣮૷΍੔උɺαʔϏεԣஅಛ௃ྔΛ׆༻ ͨࣾ͠಺޲͚ͷ.-"1*։ൃɺ.-0QT޲͚ͷ౷ܭྔऩूγεςϜͷઃܭɾ։ൃͳͲΛ࣮ ࢪɻ'FEFSBUFE-FBSOJOHͷٕज़։ൃ΋ਐΊ͍ͯΔ .-*OGSBνʔϜ ػցֶशΤϯδχΞͷͨΊͷɺLT "JSGMPX $*$%؀ڥͳͲͷج൫੔උɺ͓Αͼ"1*ɾ ؂ࢹγεςϜͳͲͷ։ൃӡ༻Λߦ͍ɺ৴པੑͷߴ͍αʔϏεΛఏڙɻ௚ۙͰ͸ɺػցֶ श༻్ͷΦϯϥΠϯಛ௃ྔετΞɺ.-޲͚ͷ%BUBϦωʔδγεςϜͳͲ΋։ൃ .-4PMνʔϜ αʔϏεԣஅͷಛ௃ྔͷ੔උɾӡ༻͓ΑͼɺͦͷσʔλΛར༻ͨ͠Ϣʔβଐੑͷਪఆͳ ͲΛ࣮ࢪ ྘ɿ.-ΤϯδχΞ .-%41MBOOJOH5FBNͱ͸ʁ
  6. .-%41MBOOJOH5FBN R&R .-΍%4ͷྗͰ-*/&αʔϏεՁ஋޲্ʹ޲͚ͨ1SPKFDUͷਪਐΛߦ͏ ϑΣʔζʹΑͬͯSPMF͕ҟͳΔ͜ͱ͕ಛ௃ 1SPEVDU.BOBHFNFOU • .-%4ؔ࿈ͷԣஅతͳ1SPEVDUͷϩʔυϚοϓઃܭɺΰʔϧڞ༗ͳͲ 1SPHSBN.BOBHFNFOU  .-

    • αʔϏεଆʹ.- 1SPEVDUΛ׆༻ͨ͠Ձ஋޲্ࢪࡦΛఏҊ͠ɺಋೖʹ޲͚ͨλεΫઃܭͱਐ௙؅ཧɺಋೖޙͷӡ༻؅ཧ • .-ൃ1SPEVDUͷ։ൃ؅ཧɺ׬੒ޙͷӡ༻؅ཧ 1SPHSBN.BOBHFNFOU %4 • ෼ੳґཔʹج͖ͮαʔϏεଆͷཁ๬ΛώΞϦϯά͠%BUB4DJFOUJTUͷλεΫઃܭͱਐ௙؅ཧ • %BUB4DJFOUJTUͱڞʹαʔϏε෼ੳΛߦ͍ͭͭɺࣄۀଆʹํ޲ੑ΍৽نࢪࡦఏҊͷਪਐ Members W/ ML product ɾ$34 ɾ4NBSU$IBOOFM ɾ"VUPSFDP ɾ-JCSB ɾ#BUDI"1* ɾ*OGSB ɾ4IPQ ɾ%FNBFDBO ɾ1FSTPOB ɾ'FBUVSF7FDUPS ɾΪϑτ ɾ0" ɾ3% ※他にも担当している案件は多数
  7. .-%41MBOOJOH5FBN R&R .-΍%4ͷྗͰ-*/&αʔϏεՁ஋޲্ʹ޲͚ͨ1SPKFDUͷਪਐΛߦ͏ ϑΣʔζʹΑͬͯSPMF͕ҟͳΔ͜ͱ͕ಛ௃ 1SPEVDU.BOBHFNFOU • .-%4ؔ࿈ͷԣஅతͳ1SPEVDUͷϩʔυϚοϓઃܭɺΰʔϧڞ༗ͳͲ 1SPHSBN.BOBHFNFOU  .-

    • αʔϏεଆʹ.- 1SPEVDUΛ׆༻ͨ͠Ձ஋޲্ࢪࡦΛఏҊ͠ɺಋೖʹ޲͚ͨλεΫઃܭͱਐ௙؅ཧɺಋೖޙͷӡ༻؅ཧ • .-ൃ1SPEVDUͷ։ൃ؅ཧɺ׬੒ޙͷӡ༻؅ཧ 1SPHSBN.BOBHFNFOU %4 • ෼ੳґཔʹج͖ͮαʔϏεଆͷཁ๬ΛώΞϦϯά͠%BUB4DJFOUJTUͷλεΫઃܭͱਐ௙؅ཧ • %BUB4DJFOUJTUͱڞʹαʔϏε෼ੳΛߦ͍ͭͭɺࣄۀଆʹํ޲ੑ΍৽نࢪࡦఏҊͷਪਐ Members W/ ML product ɾ$34 ɾ4NBSU$IBOOFM ɾ"VUPSFDP ɾ-JCSB ɾ#BUDI"1* ɾ*OGSB ɾ4IPQ ɾ%FNBFDBO ɾ1FSTPOB ɾ'FBUVSF7FDUPS ɾΪϑτ ɾ0" ɾ3% ※他にも担当している案件は多数 4DPQFPG5IJT1SFTFOUBUJPO
  8. .-1.ͷى͜Γ λεΫͷෳࡶੑ • ෳ਺ͷϓϩμΫτΛಉ࣌ฒߦͰ։ൃɾվળɾ ϝϯςφϯε ૊৫ͷෳࡶੑ • σʔλ࿈ܞઌͷ։ൃऀͱͷ΍ΓͱΓ • ๏຿ؔ࿈ͷ΍ΓͱΓ

    • ηΩϡϦςΟؔ࿈ͷ΍ΓͱΓ • σʔλϚωδϝϯτؔ࿈ͷ΍ΓͱΓ γεςϜͷෳࡶੑ • σʔλ࿈ܞͷଟ༷Խ • ෳ਺γεςϜؒ࿈ܞ • .-ج൫ʢ൚༻Խɾڞ௨Խʣ ϓϩμΫτͷෳࡶੑ • ϢʔβʹՁ஋͕ఏڙͰ͖͍ͯΔͷ͔ʁ .-FOHJOFFS .-JOGSBFOHJOFFS 1SPEVDU" QMBOOFS 1SPEVDU# QMBOOFS 1SPEVDU$ QMBOOFS 1SPEVDU% QMBOOFS 1SPEVDU& QMBOOFS 1SPEVDU" EFWFMPQFS 1SPEVDU# EFWFMPQFS -FHBM UFBN 4FDVSJUZ UFBN %BUB NBOBHFNFOU UFBN
  9. .-1.ͷى͜Γ λεΫͷෳࡶੑ • ෳ਺ͷϓϩμΫτΛಉ࣌ฒߦͰ։ൃɾվળɾ ϝϯςφϯε ૊৫ͷෳࡶੑ • σʔλ࿈ܞઌͷ։ൃऀͱͷ΍ΓͱΓ • ๏຿ؔ࿈ͷ΍ΓͱΓ

    • ηΩϡϦςΟؔ࿈ͷ΍ΓͱΓ • σʔλϚωδϝϯτؔ࿈ͷ΍ΓͱΓ γεςϜͷෳࡶੑ • σʔλ࿈ܞͷଟ༷Խ • ෳ਺γεςϜؒ࿈ܞ • .-ج൫ʢ൚༻Խɾڞ௨Խʣ ϓϩμΫτͷෳࡶੑ • ϢʔβʹՁ஋͕ఏڙͰ͖͍ͯΔͷ͔ʁ .-FOHJOFFS .-JOGSBFOHJOFFS 1SPEVDU" QMBOOFS 1SPEVDU# QMBOOFS 1SPEVDU$ QMBOOFS 1SPEVDU% QMBOOFS 1SPEVDU& QMBOOFS 1SPEVDU" EFWFMPQFS 1SPEVDU# EFWFMPQFS -FHBM UFBN 4FDVSJUZ UFBN %BUB NBOBHFNFOU UFBN ΤϯδχΞͷෛ୲૿ λεΫͷภΓ ࿪Ή33
  10. .-1.ͷى͜Γ λεΫͷෳࡶੑ • ෳ਺ͷϓϩμΫτΛಉ࣌ฒߦͰ։ൃɾվળɾ ϝϯςφϯε ૊৫ͷෳࡶੑ • σʔλ࿈ܞઌͷ։ൃऀͱͷ΍ΓͱΓ • ๏຿ؔ࿈ͷ΍ΓͱΓ

    • ηΩϡϦςΟؔ࿈ͷ΍ΓͱΓ • σʔλϚωδϝϯτؔ࿈ͷ΍ΓͱΓ γεςϜͷෳࡶੑ • σʔλ࿈ܞͷଟ༷Խ • ෳ਺γεςϜؒ࿈ܞ • .-ج൫ʢ൚༻Խɾڞ௨Խʣ ϓϩμΫτͷෳࡶੑ • ϢʔβʹՁ஋͕ఏڙͰ͖͍ͯΔͷ͔ʁ .-FOHJOFFS .-JOGSBFOHJOFFS 1SPEVDU" QMBOOFS 1SPEVDU# QMBOOFS 1SPEVDU$ QMBOOFS 1SPEVDU% QMBOOFS 1SPEVDU& QMBOOFS 1SPEVDU" EFWFMPQFS 1SPEVDU# EFWFMPQFS -FHBM UFBN 4FDVSJUZ UFBN %BUB NBOBHFNFOU UFBN ΤϯδχΞͷෛ୲૿ λεΫͷภΓ ࿪Ή33 ʮͨΒ͍ʯ͕ճ·ΘͬͨΒ ৽ϙδγϣϯͷ߹ਤ IUUQTCMPHTIPKJNJZBUBDPNFOUSZ
  11. .-1.ʹٻΊΒΕΔεΩϧηοτ λεΫɾ૊৫ͷෳࡶੑʹରԠ͢Δ • ϓϩδΣΫτϚωδϝϯτɺͪΐͬͱΘ͔Δ • γεςϜ։ൃɺͪΐͬͱΘ͔Δ • .-։ൃɺͪΐͬͱΘ͔Δ γεςϜͷෳࡶੑʹରԠ͢Δ •

    γεςϜ։ൃɺͪΐͬͱΘ͔Δ • .-։ൃɺͪΐͬͱΘ͔Δ ϓϩμΫτͷෳࡶੑʹରԠ͢Δ • ϓϩμΫτϚωδϝϯτɺͪΐͬͱΘ͔Δ ྲྀಈతͳঢ়گͱෆ࣮֬ੑʹରԠ͢Δ • ݱঢ়ೝࣝೳྗͱߦಈྗ͕͋Δ • ໨తୡ੒ͷͨΊʹɺඞཁͳλεΫΛࣗΒݟ͚ͭͯɺղܾʹಋ͘ʢ՝୊ൃݟྗɾ՝୊ղܾྗʣ • ϓϩδΣΫτ΍ϝϯόʔʹΑͬͯɺ33ʹ͸άϥσʔγϣϯ͕Ͱ͖ΔͨΊɺۀ຿ؒͷܺؒΛ ຒΊΔΑ͏ͳಈ͖͕Ͱ͖Δ
  12. ։ൃαΠΫϧͱ1.ͷؔΘΓํ 1SPEVDUEJTDPWFSZ • ϓϩμΫτ՝୊ɾ໨ඪͷώΞϦϯάɾڞ༗ • .-׆༻ͷ࣮ݱՄೳੑͱՁ஋ʹ͍ͭͯݕ౼ %BUBJOHFTUVOEFSTUBOEJOH • ඞཁͳσʔλͷ࿈ܞਪਐ &YQFSJNFOU%FWFMPQNFOU

    • ࣮ݱՄೳੑͱՁ஋ʹ͍ͭͯ֬ೝɾ࠶ఆٛ "#ςετ • اըɾઃܭɾ࣮ࢪɾධՁ .POJUPSJOH • ධՁɾϑΟʔυόοΫ • ֤ϓϩηεΛԁ׈ʹϚωδϝϯτ͠ɺϓϩμΫτϦϦʔεʹ͍࣋ͬͯ͘ • Ձ஋ͷ͋ΔϓϩμΫτΛఏڙ͢Δ • ୭Ͱ΋ɺޮ཰త͔ͭ҆ఆతʹ։ൃɾӡ༻Ͱ͖Δঢ়ଶʹ͢Δ
  13. Sticker / Theme 1SPEVDUEJTDPWFSZ • ΩʔϘʔυೖྗʹ͓͚ΔϢʔβ՝୊ͷղফ • Ծઆݕূํ๏Λݕ౼ %BUBJOHFTUVOEFSTUBOEJOH •

    ՝୊ղܾɾԾઆݕূʹඞཁͳσʔλ֬ೝ • σʔλ׆༻ʹؔ͢Δ՝୊ղܾ &YQFSJNFOU%FWFMPQNFOU • ΦϑϥΠϯݕূɾ࣮૷ͷؾ͖͔ͮΒԾઆΛڧԽ • γεςϜؒͷσʔλ࿈ܞɾग़ྗ "#テスト • Ծઆݕূ .POJUPSJOH • Ϣʔβͷ՝୊͕ղܾͰ͖͍ͯΔͷ͔Λݟଓ͚Δ
  14. Persona(ଐੑਪఆ) 1SPEVDUEJTDPWFSZ • どんな属性を推定したいかを広告チームなどと相談 • 属性の定義をすり合わせ • (開発後)プロダクトの広報活動 %BUBJOHFTUVOEFSTUBOEJOH •

    インサイトリサーチチームとアンケート設計 • データ管理、権限管理についてすり合わせ &YQFSJNFOU%FWFMPQNFOU • 学習データの精度、予測分布の確認 • 結果によっては属性の定義⾒直し • 書き出し先の検討、各種システムとのつなぎ合わせ "#テスト • ޿ࠂจ຺ͰͷΦϑϥΠϯɺΦϯϥΠϯςετ • ݁Ռͷղऍ .POJUPSJOH • ֶशਫ਼౓ɺ༧ଌ෼෍ͷϞχλϦϯά • ༧ظ͠ͳ͍Τϥʔͷ௨஌ͱͦͷ࣌ͷࣗಈରԠ