Save 37% off PRO during our Black Friday Sale! »

実臨床・Webサービス領域での機械学習研究 開発の標準化

実臨床・Webサービス領域での機械学習研究 開発の標準化

パターン認識・メディア理解研究会(PRMU)2021年10月開催にて発表した資料です。
https://www.ieice.org/ken/program/index.php?tgs_regid=afad0a06f26b0ba058f7a46268673bddbbff4c3927f68a0206a4d5b8805f7ef0&tgid=IEICE-PRMU

0c2ae3d2aa77423465e1e533ff0d030a?s=128

Daiki Ikeshima

October 08, 2021
Tweet

Transcript

  1. ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ ։ൃͷඪ४Խ PRMUݚڀձ ΤϜεϦʔגࣜձࣾɹුా७ฏɾ஑ౢେथ

  2. ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ։ൃͷඪ४Խ 2 1. ΤϜεϦʔʹ͍ͭͯ 2. ΤϜεϦʔʹ͓͚Δػցֶशͷ঺հ 3. ༷ʑͳҊ݅ɾϓϩδΣΫτΛߦ͏্Ͱͷ՝୊ 4. ղܾࡦ

  3. 3 ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ։ൃͷඪ४Խ 1. ΤϜεϦʔʹ͍ͭͯ 2. ΤϜεϦʔʹ͓͚Δػցֶशͷ঺հ 3. ༷ʑͳҊ݅ɾϓϩδΣΫτΛߦ͏্Ͱͷ՝୊ 4. ղܾࡦ

  4. m3.com: ҩྍैࣄऀ޲͚ϙʔλϧαΠτ • ೔ຊͷҩࢣͷ໿90%͕ొ࿥ • ೔ʑͷҩྍχϡʔε΍৽ༀͳͲͷ৘ใΛൃ৴ ΤϜεϦʔʹ͍ͭͯ 4 ΤϯδχΞϦϯάάϧʔϓ /

    AIɾػցֶशνʔϜɿ MLΛ༻͍ͯαʔϏεͷվળ΍৽نࣄۀͷ૑ग़Λ͓͜ͳ͏
  5. ϓϩμΫτͷྫɿWebαʔϏεྖҬ 5 ҩྍχϡʔεɾϝϧϚΨ ҩࢣ΁ͷ૬ஊαʔϏε ిࢠΧϧς ڭҭ ւ֎ࣄۀ ϚʔέςΟϯάࢧԉ ΩϟογϡϨεܾࡁ ίϯγϡʔϚ޲͚

    ΫϦχοΫ޲͚ ೔ຊͷҩࢣͷ໿90%͕ొ࿥ ҩࢣ޲͚WebαʔϏε
  6. ϓϩμΫτͷྫɿ࣮ྟচྖҬ (৽نࣄۀ) 6

  7. ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ։ൃͷඪ४Խ 7 1. ΤϜεϦʔʹ͍ͭͯ 2. ΤϜεϦʔʹ͓͚Δػցֶशͷ঺հ 3. ༷ʑͳҊ݅ɾϓϩδΣΫτΛߦ͏্Ͱͷ՝୊ 4. ղܾࡦ

  8. WebαʔϏεྖҬʹ͓͚Δػցֶश 8 هࣄϨίϝϯυ ݕࡧ Ϣʔβʔͷੑ֨ڵຯ༧ଌ χϡʔεαΠτͰϢʔβʔ
 1ਓ1ਓͷᅂ޷ʹ߹Θ͓ͤͯ͢ ͢ΊهࣄΛύʔιφϥΠζ m3಺ͷهࣄͱ֎෦αΠτΛ ෳ߹ͨ͠ҩࢣ޲͚ʹಛԽ͠

    ͨݕࡧΤϯδϯ ॅ୐ߪೖ΍స৬ͳͲʹڵຯ ͷ͋ΔϢʔβΛಛఆ͠ɺ ϚʔέςΟϯάʹ׆༻͢Δ χϡʔεA χϡʔεB χϡʔεC χϡʔεA χϡʔεD χϡʔεE ݕࡧ ̋ ॅ୐ߪೖ ☓ స৬ ̋ స৬ ̋ ॅ୐ߪೖ
  9. ࣮ྟচྖҬʹ͓͚Δػցֶश 9 ڳ෦Ϩϯτήϯ͔Β ഏͷ࣬ױΛൃݟ رগ࣬ױͷൃݟ Xઢը૾ ࣬ױͷ༗ແ

  10. ࣮ྟচྖҬʹ͓͚Δػցֶश 10 CTͳͲ͔ΒCOVID-19 ױऀͷ༧ޙΛ༧ଌ ॏ঱ԽϦεΫͷ༧ଌ CTը૾ ྟচ৘ใɾ ױऀͷܦա

  11. ࣮ྟচྖҬʹ͓͚Δػցֶश 11 ΢ΣΞϥϒϧσόΠε ͔Βༀͷ෭࡞༻Λൃݟ ࣭ؒੑഏԌͷૣظൃݟ ηϯαʔ͔Βͷ ࣌ܥྻσʔλ ױऀͷܦա

  12. ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ։ൃͷඪ४Խ 12 1. ΤϜεϦʔʹ͍ͭͯ 2. ΤϜεϦʔʹ͓͚Δػցֶशͷ঺հ 3. ༷ʑͳҊ݅ɾϓϩδΣΫτΛߦ͏্Ͱͷ՝୊ 4. ղܾࡦ

  13. MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ MLΤϯδχΞ

  14. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ Ϟσϧ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ

  15. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ Ϟσϧ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ

  16. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ Ϟσϧ ଐਓԽ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ

  17. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ Ϟσϧ ଐਓԽ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ

  18. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ୀձͦ͠͏ͳਓʹ
 ࢪࡦΛଧ͍ͪͨ ZZʹߠఆҙݟͷਓΛ ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ Ϟσϧ

    ଐਓԽ ฒߦͯ͠૸ΔҊ݅ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ
  19. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ୀձͦ͠͏ͳਓʹ
 ࢪࡦΛଧ͍ͪͨ ZZʹߠఆҙݟͷਓΛ ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ ͳΔૣͰʂ

    ࠓिதʹʂ Ϟσϧ ଐਓԽ ฒߦͯ͠૸ΔҊ݅ λΠτͳక੾ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ
  20. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ୀձͦ͠͏ͳਓʹ
 ࢪࡦΛଧ͍ͪͨ ZZʹߠఆҙݟͷਓΛ ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ ͳΔૣͰʂ

    ࠓिதʹʂ Ϟσϧ ྲྀ༻ ྲྀ༻ ଐਓԽ ฒߦͯ͠૸ΔҊ݅ λΠτͳక੾ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ
  21. XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ୀձͦ͠͏ͳਓʹ
 ࢪࡦΛଧ͍ͪͨ ZZʹߠఆҙݟͷਓΛ ஌Γ͍ͨ ͜ͷલͱಉ͡ײ͡Ͱ ͳΔૣͰʂ

    ࠓिதʹʂ Ϟσϧ ྲྀ༻ ྲྀ༻ όά ʁ ʁ ଐਓԽ ฒߦͯ͠૸ΔҊ݅ λΠτͳక੾ MLΤϯδχΞ MLར༻Ҋ݅ͰΑ͋͘Δ̏՝୊ɿWebαʔϏεྖҬͰͷྫ
  22. ࣮ྟচྖҬͰ΋ಉ͡3՝୊͕ൃੜ Ϩϯτήϯ͔Β XපΛൃݟ͍ͨ͠ CT͔ΒকདྷͷYපͷ ϦεΫΛ༧ଌ͍ͨ͠ ΢ΣΞϥϒϧσʔλ͔ ΒZපΛൃݟ͍ͨ͠ CTͱ݂ӷݕ͔ࠪΒ WපΛ༧ଌ͍ͨ͠ ͳΔૣͰʂ

    1ϲ݄Ҏ಺ʹʂ ৭ʑϞσϧΛࢼ͢ඞཁ Ϟσϧ ྲྀ༻ ྲྀ༻ όά ʁ ʁ ଐਓԽ λΠτͳక੾ MLΤϯδχΞ ฒߦͯ͠૸ΔҊ݅ ML model ML model ML model
  23. ࣮ྟচɾWebαʔϏεྖҬͰͷػցֶशݚڀ։ൃͷඪ४Խ 23 1. ΤϜεϦʔʹ͍ͭͯ 2. ΤϜεϦʔʹ͓͚Δػցֶशͷ঺հ 3. ༷ʑͳҊ݅ɾϓϩδΣΫτΛߦ͏্Ͱͷ՝୊ 4. ղܾࡦ

  24. ߴ଎ԽɾฒྻԽɾඪ४ԽͰ̏ͭͷ՝୊Λࠀ෰ 24 ਪ࿦ σʔλऩू ಛ௃࡞੒ Ϟσϧ࡞੒ ֶश࣮ߦ ֶश؂ࢹ ֶशධՁ ଐਓԽ

    λΠτͳక੾ ฒߦͯ͠૸ΔҊ݅ ඪ४Խ ฒྻԽ ߴ଎Խ վળΠςϨʔγϣϯ
 Λߴ଎ʹճ͢ ίΞ։ൃऀҎ֎Ͱ΋
 ࣮ߦͰ͖ΔΑ͏ʹ ଟ਺ͷҊ݅Λ
 ฒߦͯ͠ରԠͰ͖Δ
  25. 25 ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ ߴ଎Խ ඪ४Խ ฒྻԽ σʔλ Πϯϑϥ ख๏ ᶃKubernetesΛ༻

    ͍ͯλεΫΛ෼ࢄ ॲཧ ᶆίʔυͰ
 Πϯϑϥͷ࠶ݱ ੑΛอͭ ᶅઃఆϑΝΠϧ Ͱֶशɾਪ࿦ͷ ڍಈΛ੍ޚ ᶄΑ͘࢖͏ػೳ ΛMLγεςϜࣗ ਎ʹ࣮૷ ᶋίʔσΟϯά ํ๏Λඪ४Խ ᶊ࣮ݧ΍෼ੳͷυ ΩϡϝϯτԽͰख ໭ΓΛݮΒ͢ ᶇGCS+WebDataset Ͱେن໛σʔλΛ औΓѻ͏ ᶈgokartΛ࢖ͬͯ தؒσʔλΛ Ωϟογϡ ᶉσʔλμ΢ϯϩʔυ ΛϥΠϒϥϦԽ
  26. 26 ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ ߴ଎Խ ඪ४Խ ฒྻԽ σʔλ Πϯϑϥ ख๏ ᶃKubernetesΛ༻

    ͍ͯλεΫΛ෼ࢄ ॲཧ ᶆίʔυͰ
 Πϯϑϥͷ࠶ݱ ੑΛอͭ ᶅઃఆϑΝΠϧ Ͱֶशɾਪ࿦ͷ ڍಈΛ੍ޚ ᶄΑ͘࢖͏ػೳ ΛMLγεςϜࣗ ਎ʹ࣮૷ ᶋίʔσΟϯά ํ๏Λඪ४Խ ᶊ࣮ݧ΍෼ੳͷυ ΩϡϝϯτԽͰख ໭ΓΛݮΒ͢ ᶇGCS+WebDataset Ͱେن໛σʔλΛ औΓѻ͏ ᶈgokartΛ࢖ͬͯ தؒσʔλΛ Ωϟογϡ ᶉσʔλμ΢ϯϩʔυ ΛϥΠϒϥϦԽ
  27. 27 ᶃ KubernetesΛ༻͍ͯ෼ࢄॲཧ ฒྻԽ ߴ଎Խ • λεΫ͕૿͑ͯ͘Δͱෳ਺ͷֶशɾਪ࿦λεΫΛฒྻʹ࣮ߦ͍ͨ͠ • λεΫ͝ͱʹཁٻεϖοΫ͕ҟͳΔ KubernetesͰλεΫΛฒྻʹ࣮ߦ

    • ίϯςφԽͨ͠ଟ਺ͷΞϓϦέʔγϣϯΛ૊Έ߹Θ࣮ͤͯߦΛࢧԉ • AIνʔϜͰ͸GCP্ͷαʔϏεͰ͋ΔGKEΛར༻ • εέʔϦϯά΍ϊʔυͷछྨมߋ͕༰қ
  28. 28 ಛ௃࡞੒ʙֶशʙਪ࿦ΛKubernetes্Ͱ࣮ࢪ ֶश ਪ࿦ CVͷFold͝ͱʹϊʔυ෼ࢄ ਪ࿦ର৅ϢʔβΛ෼ׂͯ͠ϊʔυ෼ࢄ ᶃ KubernetesΛ༻͍ͯ෼ࢄॲཧ ฒྻԽ ߴ଎Խ

  29. 29 • ཁ݅ʹ߹ΘͤͯϊʔυϓʔϧΛ࢖͍෼͚Δ • GKEͷϓϦΤϯϓςΟϒϧϊʔυʢ೚ҙͷλΠϛϯάͰϊʔυ͕ڧ ੍ऴྃ͢ΔՄೳੑ͕͋Δ൓໘େ෯ʹ͍҆ʣΛ࢖ͬͯྉۚΛઅ໿ • —> ΨϯΨϯ෼ࢄͰ͖Δ •

    ෳ਺ͷֶश΍ਪ࿦Λಉ࣌ฒߦʹճͤΔ • ࣮ݧΠςϨʔγϣϯ͕ߴ଎Խ͠ɺੑೳվળʹूதͰ͖Δ ֶश ਪ࿦ CPU༏ઌϊʔυ ϝϞϦ༏ઌϊʔυ ฒྻԽ ߴ଎Խ ᶃ KubernetesΛ༻͍ͯ෼ࢄॲཧ
  30. 30 ᶄ ֶशɾ෼ੳ༻ػೳΛMLγεςϜࣗ਎ʹ࣮૷ ඪ४Խ 1ʣೋॏͷcross validation
 2ʣstratified train test split

    3ʣShapley஋Λग़ྗ • ֶशํ๏΍༧ଌ݁Ռͷ෼ੳɾධՁ΍࡞ۀऀ͝ͱʹ΍Γํ͕όϥόϥ ʹͳΓ΍͍͢ • ଐਓԽͤ͞ͳ͍Α͏ʹඪ४Խ͍ͨ͠ MLγεςϜࣗ਎ʹֶशɾ෼ੳ༻ͷϝιουΛ࣮૷
  31. 31 ᶄ ֶशɾ෼ੳ༻ػೳΛMLγεςϜࣗ਎ʹ࣮૷ ඪ४Խ 1) ೋॏͷcross validation ී௨ͷCV ೋॏCV ֶश

    ςετ ධՁ
 ϋΠύʔύϥϝʔλ ௐ੔ͳͲʹ࢖༻ ϋΠύʔύϥϝʔλௐ੔΍early stopping ͕ෆ҆ఆʹͳΔ͜ͱ΋ ֶशσʔλͷதΛ͞ΒʹCV͢Δ͜ͱͰ ϋΠύʔύϥϝʔλௐ੔Λ҆ఆͤͨ͞ ֶश ςετ ධՁ ࢀߟ: Cawley, G.C.; Talbot, N.L.C. On over-fitting in model selection and subsequent selection bias in performance evaluation. J. Mach. Learn. Res 2010,11, 2079-2107.
  32. 32 ᶄ ֶशɾ෼ੳ༻ػೳΛMLγεςϜࣗ਎ʹ࣮૷ ඪ४Խ 2) stratified train test split split͝ͱʹਖ਼ྫɾෛྫσʔλͷൺ཰͕ಉ͡ʹͳΔΑ͏ʹ෼ׂ

    Ͳͷಛ௃ͷӨڹͰͦͷ݁Ռʹࢸͬͨͷ͔Λઆ໌Մೳʹ͢Δ 3) Shapley஋Λग़ྗ සൟʹ࢖͏ػೳΛMLγεςϜʹ૊ΈࠐΜͰ࣮૷͓ͯ͘͜͠ͱ Ͱɺ࣮ߦऀʹґΒͣෳࡶͳֶश΍෼ੳ͕Մೳʹͳͬͨ ಛ௃A B C D E ༧ଌ݁Ռɿpositive ֶश ςετ ̋̋̋̋☓☓ ̋̋☓
  33. 33 ᶅ ઃఆϑΝΠϧͰֶशɾਪ࿦ͷڍಈΛ੍ޚ ඪ४Խ • ֶशํ๏ʹෳ਺બ୒ࢶΛ༻ҙͨ݁͠Ռɺઃఆ͕ෳࡶ • աڈͷ࣮ݧΛৼΓฦΔࡍʹͲͷόʔδϣϯͷίʔυΛ࢖ͬͨͷ͔ Θ͔Βͣɺ࠶ݱࠔ೉ ̍ͭͷઃఆϑΝΠϧͰֶशɾਪ࿦ͷڍಈΛ੍ޚ

    • ڭࢣσʔλͷύε • ಛ௃બ୒ํ๏ • Ϟσϧͷछྨɾύϥϝλ • CVํ๏ • stratify split͢Δ͔ • ίʔυͷίϛοτϋογϡɹ౳ ઃఆϑΝΠϧ
  34. 34 ᶅ ઃఆϑΝΠϧͰֶशɾਪ࿦ͷڍಈΛ੍ޚ • ڭࢣσʔλͷύε • ಛ௃બ୒ํ๏ • Ϟσϧͷछྨɾύϥϝλ •

    ίʔυͷίϛοτϋογϡɹ౳ ઃఆϑΝΠϧ MLγεςϜ Kubernetes GCR BigQuery GCS docker
 Πϝʔδ ಛ௃
 σʔλ ڭࢣ
 σʔλ • ࣮ݧઃఆΛઃఆϑΝΠϧʹهड़͢Δ͚ͩͰ • ઃఆʹԊͬͯdockerΠϝʔδ/σʔλΛGCR, BigQuery, GCSͳͲ͔Βऔಘ • Kubernetesʹ෼ࢄσϓϩΠ ίʔυ hash: ff34 tag: ff34 push build & push ඪ४Խ
  35. 35 • ڭࢣσʔλͷύε • ಛ௃બ୒ํ๏ • Ϟσϧͷछྨɾύϥϝλ • ίʔυͷίϛοτϋογϡɹ౳ ઃఆϑΝΠϧ

    Kubernetes • ઃఆϑΝΠϧΛॻ͚ͩ͘ͰֶशΛ࣮ߦͰ͖ΔΑ͏ʹͳͬͨ • ։ൃͱ࣮ߦ͕෼཭͠ίʔυΛҙֶࣝͤͣशΛճͤΔ • ➔ίΞ։ൃऀҎ֎Ͱ΋࣮ߦՄೳʹ • ࣮ݧઃఆͱίʔυΛඥ෇͚ • ࠷৽͚ͩͰͳ͘աڈͷίʔυ΋ࢀরͰ͖Δ • ➔࠶ݱੑΛ୲อ ඪ४Խ MLγεςϜ ᶅ ઃఆϑΝΠϧͰֶशɾਪ࿦ͷڍಈΛ੍ޚ
  36. 36 ඪ४Խ ᶆ ίʔυͰΠϯϑϥͷ࠶ݱੑΛอͭ GKE GCR docker
 Πϝʔδ BigQuery ಛ௃


    σʔλ GCS ڭࢣ
 σʔλ GCS΍BigQueryͳͲɺϦιʔεͷ؅ཧ͕ෳࡶ TerraformΛ࢖ͬͯɺίʔυͰΠϯϑϥΛ؅ཧͯ͠ ࠶ݱ΍ϨϏϡʔΛ༰қʹͨ͠
  37. 37 ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ ߴ଎Խ ඪ४Խ ฒྻԽ σʔλ Πϯϑϥ ख๏ ᶃKubernetesΛ༻

    ͍ͯλεΫΛ෼ࢄ ॲཧ ᶆίʔυͰ
 Πϯϑϥͷ࠶ݱ ੑΛอͭ ᶅઃఆϑΝΠϧ Ͱֶशɾਪ࿦ͷ ڍಈΛ੍ޚ ᶄΑ͘࢖͏ػೳ ΛMLγεςϜࣗ ਎ʹ࣮૷ ᶋίʔσΟϯά ํ๏Λඪ४Խ ᶊ࣮ݧ΍෼ੳͷυ ΩϡϝϯτԽͰख ໭ΓΛݮΒ͢ ᶇGCS+WebDataset Ͱେن໛σʔλΛ औΓѻ͏ ᶈgokartΛ࢖ͬͯ தؒσʔλΛ Ωϟογϡ ᶉσʔλμ΢ϯϩʔυ ΛϥΠϒϥϦԽ
  38. 38 ᶇ GCS+WebDatasetͰେن໛σʔλΛऔΓѻ͏ ߴ଎Խ • ྟচྖҬͷֶशσʔλ͸ը૾ͩͬͨΓͱ༰ྔ͕ڊେ • ϝϞϦ΍ετϨʔδʹ৐Γ੾Βͳ͍ Google Cloud

    Storage (GCS) + WebDatasetΛ׆༻ • ্ཱ͔ͪ͛Βֶश։࢝·Ͱͷμ΢ϯϩʔυͷΦʔόʔϔου͕ͳ͘ͳΔ • ௚઀GCSͷσʔληοτΛಡΈࠐΉͷͰ࠶ݱੑ͕ߴ͍ • ϝϞϦͱετϨʔδΛઅ໿Ͱ͖Δ WebDataset: pytorchʹର͠ɺGCSͳͲ͔ΒετϦʔϛϯάͰσʔλͷऔಘ ΛՄೳʹ͢ΔϥΠϒϥϦ ฒྻԽ
  39. gokartͱ͸ • ΤϜεϦʔൃOSSͷpython༻ύΠϓϥΠϯϥΠϒϥϦ • ॲཧΛTaskͱݺ͹ΕΔΫϥε୯ҐͰґଘؔ܎ͱͱ΋ʹهड़͢Δ • ґଘؔ܎Λղܾ͠ͳ͕ΒॲཧΛ͢͢ΊΔ • ్தܦա͸Ωϟογϡ͞Ε͍ͯΔͨΊɺಉ͡ॲཧ͸̎ճ໨͸লུͰ͖Δ 39

    gokartͱ͍͏ύΠϓϥΠϯπʔϧΛ։ൃ͠
 ڞ௨ͨ͠ಛ௃ྔ͸࢖͍ճ͢ ॲཧ̍ ॲཧ̎ ॲཧ̏ σʔλ̍ σʔλ̎ Ϟσϧ
 ֶश̍ ߴ଎Խ ᶈ gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ ಛ௃ྔΛҊ݅͝ͱʹΠν͔Β࡞Γ௚͢ͷ͸ඇޮ཰
  40. 40 gokartͱ͍͏ύΠϓϥΠϯπʔϧΛ։ൃ͠
 ڞ௨ͨ͠ಛ௃ྔ͸࢖͍ճ͢ ߴ଎Խ ᶈ gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ ॲཧ̍ ॲཧ̎ ॲཧ̏ σʔλ̍

    σʔλ̎ Ϟσϧ
 ֶश̍ Ϟσϧ
 ֶश̎ ಛ௃ྔΛҊ݅͝ͱʹΠν͔Β࡞Γ௚͢ͷ͸ඇޮ཰ gokartͱ͸ • ΤϜεϦʔൃOSSͷpython༻ύΠϓϥΠϯϥΠϒϥϦ • ॲཧΛTaskͱݺ͹ΕΔΫϥε୯ҐͰґଘؔ܎ͱͱ΋ʹهड़͢Δ • ґଘؔ܎Λղܾ͠ͳ͕ΒॲཧΛ͢͢ΊΔ • ్தܦա͸Ωϟογϡ͞Ε͍ͯΔͨΊɺಉ͡ॲཧ͸̎ճ໨͸লུͰ͖Δ
  41. 41 • ಛ௃ྔͷੜ੒ϓϩηε͕ίʔυԽ͞Ε͍ͯΔ • ಛ௃ྔσʔλ͕Ωϟογϡ • ➔ Ҋ݅ʹΑΒͣ࢖͍ճͤΔ • ➔

    ઃఆΛม͑ͨ࠶࣮ݧͰ΋࠶ར༻ʹΑΔ࣌ؒ୹ॖ • ϓϩηε్͕தͰམͪͯ΋్தͷΩϟογϡ͔Β࠶։ • ➔ ҆৺ͯ͠GKEͷϓϦΤϯϓςΟϒϧϊʔυΛ࢖͑Δ • Ωϟογϡ࠶ར༻ʹΑ࣮ͬͯߦ࣌ؒΛ୹ॖͰ͖ͨ • ϓϦΤϯϓςΟϒϧͷ׆༻ͰGKEͷྉۚͷઅ໿͕Ͱ͖ͨ ߴ଎Խ ॲཧ̍ ॲཧ̎ ॲཧ̏ σʔλ̍ σʔλ̎ Ϟσϧ
 ֶश̍ Ϟσϧ
 ֶश̎ ᶈ gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ
  42. BigQuery Ϣʔβ
 σʔλ هࣄӾཡ
 σʔλ ΫϦοΫ
 σʔλ ᶉ νʔϜ಺ڞ௨ͷμ΢ϯϩʔυϥΠϒϥϦͰσʔλಡΈࠐΈ 42

    • ֤MLϓϩμΫτͰ΋࢖͍ͬͯΔσʔλ͸ࣅ͍ͯΔ • BQ͔Βσʔλऔಘ͢ΔͨΊʹͦΕͧΕSQLΛॻ͔ͳ͍ͱ͍͚ͳ͍ ඪ४Խ Ϟσϧ1 Ϟσϧ2 Ϟσϧ3 Ϟσϧ4 SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL
  43. BigQuery Ϣʔβ
 σʔλ هࣄӾཡ
 σʔλ ΫϦοΫ
 σʔλ ᶉ νʔϜ಺ڞ௨ͷμ΢ϯϩʔυϥΠϒϥϦͰσʔλಡΈࠐΈ 43

    • μ΢ϯϩʔυ༻ͷڞ௨ϥΠϒϥϦΛ࢖༻ • طଘͷμ΢ϯϩʔυϝιου͕࢖͍·ΘͤΔ ➔ SQLΛϓϩμΫτ͝ͱʹॻ͔ͳͯ͘ࡁΉ • gokartͰඪ४Խ͞Ε͓ͯΓಡΈॻ͖͠΍͍͢ • ➔ ୭Ͱ΋؆୯ʹ࢖͑Δ ඪ४Խ Ϟσϧ1 mushroom μ΢ϯϩʔυ༻
 ϥΠϒϥϦ SQL ϝιουΛར༻ Ϟσϧ2 Ϟσϧ3 Ϟσϧ4
  44. 44 ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ ߴ଎Խ ඪ४Խ ฒྻԽ σʔλ Πϯϑϥ ख๏ ᶃKubernetesΛ༻

    ͍ͯλεΫΛ෼ࢄ ॲཧ ᶆίʔυͰ
 Πϯϑϥͷ࠶ݱ ੑΛอͭ ᶅઃఆϑΝΠϧ Ͱֶशɾਪ࿦ͷ ڍಈΛ੍ޚ ᶄΑ͘࢖͏ػೳ ΛMLγεςϜࣗ ਎ʹ࣮૷ ᶋίʔσΟϯά ํ๏Λඪ४Խ ᶊ࣮ݧ΍෼ੳͷυ ΩϡϝϯτԽͰख ໭ΓΛݮΒ͢ ᶇGCS+WebDataset Ͱେن໛σʔλΛ औΓѻ͏ ᶈgokartΛ࢖ͬͯ தؒσʔλΛ Ωϟογϡ ᶉσʔλμ΢ϯϩʔυ ΛϥΠϒϥϦԽ
  45. ᶊ ࣮ݧ΍෼ੳͷυΩϡϝϯτԽͰख໭ΓΛͳ͘͢ 45 ϞσϧͷੑೳվળͰʮ݁Ռͷ෼ੳ -> ࣍ͷΞϓϩʔνΛཱҊʯͷϑΣʔζͰ ͸ɺݕ౼ͷൈ͚࿙Ε΍ޡͬͨ෼ੳʹΑΓख໭Γ͕ൃੜ͠΍͍͢ ෼ੳܭըΛσβΠϯυΩϡϝϯτԽͯ͠slackͰϨϏϡʔΛ΋Β͏ • લͷ࣮ݧͰͷ՝୊

    • ݪҼͷԾઆ • ԾઆΛݕূ͢Δ෼ੳํ๏Ҋ • Ծઆ͕ਖ਼͔ͬͨ͠৔߹ͷnext actionҊ • ݴޠԽ͢Δ͜ͱͰൈ͚࿙Εʹ΋ؾ͕͚ͭͨ • จষԽ͸ख͕͔͔ؒΔ͕ɺख໭Γ͕গͳ͘ɺ݁Ռతʹૣ͍ ߴ଎Խ
  46. 46 ඪ४Խ • ڞ௨෦෼͸ςϯϓϨʔτΛ࢖͑ΔͷͰ޻਺࡟ݮ • ϓϩμΫτ͝ͱͷࠩҟ͕খ͘͞ͳΓɺ୲౰ऀҎ֎Ͱ΋ϨϏϡʔ͠΍͍͢ ᶋ ίʔσΟϯάํ๏Λඪ४Խͯ͠࠶ݱੑΛอͭ ґଘϥΠϒϥϦͷόʔδϣϯ؅ཧ͕೉͍͠ poetryͰ؅ཧ͢Δ͜ͱͰόʔδϣϯΛݻఆͰ͖Δ

    ίʔυͷ඼࣭Λߴ͘ҡ͍࣋ͨ͠ ίʔυͷσΟϨΫτϦߏ଄Λڞ௨Խ͍ͨ͠ GitLab CI Λ࢖ͬͨlinterνΣοΫɾϢχοτςετࣗಈԽ ΧελϚΠζCookiecutterΛ࢖ͬͨϓϩδΣΫτͷඪ४Խ Ϛʔδ࣌ͷίʔυϨϏϡʔΛ௨ͯ͡ίʔυ඼࣭Λอͭ
  47. 47 ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ ߴ଎Խ ඪ४Խ ฒྻԽ σʔλ Πϯϑϥ ख๏ ᶃKubernetesΛ༻

    ͍ͯλεΫΛ෼ࢄ ॲཧ ᶆίʔυͰ
 Πϯϑϥͷ࠶ݱ ੑΛอͭ ᶅઃఆϑΝΠϧ Ͱֶशɾਪ࿦ͷ ڍಈΛ੍ޚ ᶄΑ͘࢖͏ػೳ ΛMLγεςϜࣗ ਎ʹ࣮૷ ᶋίʔσΟϯά ํ๏Λඪ४Խ ᶊ࣮ݧ΍෼ੳͷυ ΩϡϝϯτԽͰख ໭ΓΛݮΒ͢ ᶇGCS+WebDataset Ͱେن໛σʔλΛ औΓѻ͏ ᶈgokartΛ࢖ͬͯ தؒσʔλΛ Ωϟογϡ ᶉσʔλμ΢ϯϩʔυ ΛϥΠϒϥϦԽ
  48. 48 ΤϜεϦʔͰ͸MLγεςϜΛ։ൃɾվળͯ͘͠ΕΔਓΛืूதͰ͢ https://jobs.m3.com/engineer/ ̏՝୊Λղܾ͢Δ͜ͱͰεέʔϧ͢ΔγεςϜ͕Ͱ͖ͨ • ߴ଎ԽɿվળΠςϨʔγϣϯΛߴ଎ʹճͤͨ • ฒྻԽɿଟ਺ͷҊ݅Λಉ࣌ਐߦͰ͜ͳͤͨ • ඪ४Խɿ։ൃ/࣮ߦΛ෼཭ͨ͜͠ͱͰɺ৽نϝϯόʔͰ΋͙͢ʹ࣮ߦͰ͖ͨ

    ·ͱΊ: ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰