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

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

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

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 ϝιουΛར༻