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

高速化・並列化・標準化で スケールするML予測システムの開発

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

高速化・並列化・標準化で スケールするML予測システムの開発

Avatar for Daiki Ikeshima

Daiki Ikeshima

July 08, 2021
Tweet

More Decks by Daiki Ikeshima

Other Decks in Technology

Transcript

  1. ̏՝୊ʹରԠ͢ΔͨΊʹ։ൃ͞ΕͨMLγεςϜ: Yule XXʹڵຯͷ͋Δਓʹ Ξϓϩʔν͍ͨ͠ YYΛങͬͯ͘Εͦ͏ ͳਓΛ஌Γ͍ͨ ୀձͦ͠͏ͳਓʹ
 ࢪࡦΛଧ͍ͪͨ ZZʹߠఆҙݟͷਓΛ ஌Γ͍ͨ

    ͜ͷલͱಉ͡ײ͡Ͱ ͳΔૣͰʂ ࠓिதʹʂ ଐਓԽ ฒߦͯ͠૸ΔҊ݅ λΠτͳక੾ Yule AutoMLͳ
 ਪଌγεςϜ ଐਓԽ λΠτͳక੾ ฒߦͯ͠૸ΔҊ݅ ඪ४Խ ฒྻԽ ߴ଎Խ
  2. ߴ଎ԽɾฒྻԽɾඪ४ԽͰMLҊ݅3՝୊Λࠀ෰ 13 ਪ࿦ σʔλऩू ಛ௃࡞੒ Ϟσϧ࡞੒ ֶश࣮ߦ ֶश؂ࢹ ֶशධՁ վળΠςϨʔγϣϯ


    Λߴ଎ʹճ͢ ։ൃऀҎ֎Ͱ΋
 ࣮ߦͰ͖ΔΑ͏ʹ ଟ਺ͷҊ݅Λ
 ฒߦͯ͠ରԠͰ͖Δ Ҋ݅̍ Ҋ݅̎ Ҋ݅̏ ඪ४Խ ฒྻԽ ߴ଎Խ
  3. 16 • ཁ݅ʹ߹ΘͤͯϊʔυϓʔϧΛ࢖͍෼͚Δ • GKEͷϓϦΤϯϓςΟϒϧϊʔυΛ࢖ͬͯྉۚΛઅ໿ —> ΨϯΨϯ෼ࢄͰ͖Δ • ෳ਺ͷֶश΍ਪ࿦Λಉ࣌ฒߦʹճͤΔ •

    ࣮ݧΠςϨʔγϣϯ͕ߴ଎Խ͠ɺੑೳվળʹूதͰ͖Δ ֶश ਪ࿦ CPU༏ઌϊʔυ ϝϞϦ༏ઌϊʔυ ฒྻԽ ߴ଎Խ ᶃ KubernetesΛ༻͍ͯ෼ࢄॲཧ
  4. 17 ᶄ ઃఆϑΝΠϧΛ࡞੒͢Δ͚ͩͰֶशɾਪ࿦Λ࣮ߦͰ͖Δ • ڭࢣσʔλͷύε • ಛ௃બ୒ํ๏ • Ϟσϧͷछྨɾύϥϝλ •

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

    Yule Kubernetes • ઃఆϑΝΠϧΛॻ͚ͩ͘ͰֶशΛ࣮ߦͰ͖ΔΑ͏ʹͳͬͨ • ։ൃͱ࣮ߦ͕෼཭͠ίʔυΛҙֶࣝͤͣशΛճͤΔ • ➔ίΞ։ൃऀҎ֎Ͱ΋࣮ߦՄೳʹ • ࣮ݧઃఆͱίʔυΛඥ෇͚ • ࠷৽͚ͩͰͳ͘աڈͷίʔυ΋ࢀরͰ͖Δ • ➔࠶ݱੑΛ୲อ ᶄ ઃఆϑΝΠϧΛ࡞੒͢Δ͚ͩͰֶशɾਪ࿦Λ࣮ߦͰ͖Δ ඪ४Խ
  6. gokartͱ͸ • python੡ύΠϓϥΠϯϥΠϒϥϦ • ॲཧΛTaskͱݺ͹ΕΔΫϥε୯ҐͰґଘؔ܎ͱͱ΋ʹهड़͢Δ • ґଘؔ܎Λղܾ͠ͳ͕ΒॲཧΛ͢͢ΊΔ • ్தܦա͸Ωϟογϡ͞Ε͍ͯΔͨΊɺಉ͡ॲཧ͸̎ճ໨͸লུͰ͖Δ ᶆ

    gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ 20 Ҋ݅ؒͰڞ௨ͯ͠࢖͏ಛ௃ྔσʔλ͸࢖͍·Θ͍ͨ͠ AIνʔϜͰ͸gokartΛ։ൃ͠׆༻ ॲཧ̍ ॲཧ̎ ॲཧ̏ σʔλ̍ σʔλ̎ Ϟσϧ
 ֶश̍ ߴ଎Խ
  7. gokartͱ͸ • python੡ύΠϓϥΠϯϥΠϒϥϦ • ॲཧΛTaskͱݺ͹ΕΔΫϥε୯ҐͰґଘؔ܎ͱͱ΋ʹهड़͢Δ • ґଘؔ܎Λղܾ͠ͳ͕ΒॲཧΛ͢͢ΊΔ • ్தܦա͸Ωϟογϡ͞Ε͍ͯΔͨΊɺಉ͡ॲཧ͸̎ճ໨͸লུͰ͖Δ ᶆ

    gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ 21 Ҋ݅ؒͰڞ௨ͯ͠࢖͏ಛ௃ྔσʔλ͸࢖͍·Θ͍ͨ͠ AIνʔϜͰ͸gokartΛ։ൃ͠׆༻ ॲཧ̍ ॲཧ̎ ॲཧ̏ σʔλ̍ σʔλ̎ Ϟσϧ
 ֶश̍ Ϟσϧ
 ֶश̎ ߴ଎Խ
  8. ᶆ gokartΛ࢖ͬͯதؒσʔλΛΩϟογϡ͢Δ 22 • ಛ௃ྔͷੜ੒ϓϩηε͕ίʔυԽ͞Ε͍ͯΔ • ಛ௃ྔσʔλ͕Ωϟογϡ • ➔ Ҋ݅ʹΑΒͣ࢖͍ճͤΔ

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

    • YuleҎ֎ͷMLϓϩμΫτͰ΋࢖͍ͬͯΔσʔλ͸ࣅ͍ͯΔ • BQ͔Βσʔλऔಘ͢ΔͨΊʹͦΕͧΕSQLΛॻ͔ͳ͍ͱ͍͚ͳ͍ ඪ४Խ Yule ML1 ML2 ML3 SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL
  10. BigQuery Ϣʔβ
 σʔλ هࣄӾཡ
 σʔλ ΫϦοΫ
 σʔλ ᶇ νʔϜ಺ڞ௨ͷμ΢ϯϩʔυϥΠϒϥϦͰσʔλಡΈࠐΈ 24

    • μ΢ϯϩʔυ༻ͷڞ௨ϥΠϒϥϦΛ࢖༻ • طଘͷμ΢ϯϩʔυϝιου͕࢖͍·ΘͤΔ ➔ SQLΛϓϩμΫτ͝ͱʹॻ͔ͳͯ͘ࡁΉ • gokartͰඪ४Խ͞Ε͓ͯΓಡΈॻ͖͠΍͍͢ • ➔ ୭Ͱ΋؆୯ʹ࢖͑Δ ඪ४Խ Yule ML1 ML2 ML3 mushroom μ΢ϯϩʔυ༻
 ϥΠϒϥϦ SQL ϝιουΛར༻