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

DockerとAmazon SageMakerで実現した機械学習システムのプロダクション移行

tatsushim
November 01, 2018

DockerとAmazon SageMakerで実現した機械学習システムのプロダクション移行

AWS Dev Day Tokyo 2018 のMachine Learning トラックで登壇した際の発表資料です。
https://aws.amazon.com/jp/aws-devday-tokyo-2018/sessions/#ml05

昨年 TV CM を放映した、日本最大級のママ向けサービスである「ママリ」ではコミュニティサイトの治安を維持するために、自然言語処理と機械学習と用いて、コミュニティに投稿される不適切な投稿を検知するシステムが存在しています。本講演では元々Amazon EC2 環境で稼働していた機械学習基盤を、今年 6 月に東京リージョンで提供が開始された Amazon SageMaker に移行した過程と、その結果得られた知見について詳説を行いました。

tatsushim

November 01, 2018
Tweet

More Decks by tatsushim

Other Decks in Technology

Transcript

  1.   w 4BOTBOͰʮ&JHIUʯΛ্ཱͪ͛ w ͦͷޙɺίωώτגࣜձࣾΛ૑ۀ w औక໾$50 w ത࢜

    ޻ֶ  w Πϯϑϥ "84 ΍ػցֶशؔ࿈ͷۀ຿ʹैࣄ ౡాୡ࿕ !UBUTVTIJN
  2.       Ex.   

      
  3.       Ex.   

              
  4.       Ex.   

      
  5.       Ex.   

            !   "
  6.   ֶशɾਪ࿦ʹ͓͚Δ՝୊ • EC2ࣗମͷ؅ཧΛ͢Δඞཁ͕͋Δ • ฒྻֶश͢Δ৔߹ʹ͸΋ͬͱ໘౗ʹ… • ػցֶशͷΤϯδχΞ͕Πϯϑϥͷ͜ͱΛ ҙࣝ͠ͳ͖Ό͍͚ͳ͍

    • Ճ͑ͯɺϞσϧͷߋ৽΍ධՁͷ࢓૊Έ͢΂ͯ ΛࣗલͰߏஙɾ؅ཧ͢Δඞཁ͕͋Δ ͜ΕΒΛ౿·͑ͯ
 ཧ૝ͷΧλνΛߟ͑Δ
  7.   • ։ൃऀ͸ίϚϯυҰͭ͘Β͍ͷϨϕϧͰɺͬ͞ͱ ϩʔΧϧ؀ڥΛ্ཱͪ͛Δࣄ͕ग़དྷΔ • ୭Ͱ΋ಉ͡؀ڥཱ͕ͯΒΕΔ • ػցֶशΤϯδχΞͰͳͯ͘΋ •

    ͔ͭܰྔͰ࡞Γ௚͠΍͍͢؀ڥ • ຊ൪΋ಉ͡ઃఆϑΝΠϧ͔Β࡞ΒΕͨΠϝʔδ͕ σϓϩΠ͞Εɺ։ൃ؀ڥͱຊ൪؀ڥʹશࠩ͘ҟͷ ͳ͍ঢ়ଶ ཧ૝ͷΧλνᶃ
  8.   • ։ൃऀ͸ίϚϯυҰͭ͘Β͍ͷϨϕϧͰɺͬ͞ͱ ϩʔΧϧ؀ڥΛ্ཱͪ͛Δࣄ͕ग़དྷΔ • ୭Ͱ΋ಉ͡؀ڥཱ͕ͯΒΕΔ • ػցֶशΤϯδχΞͰͳͯ͘΋ •

    ͔ͭܰྔͰ࡞Γ௚͠΍͍͢؀ڥ • ຊ൪΋ಉ͡ઃఆϑΝΠϧ͔Β࡞ΒΕͨΠϝʔδ͕ σϓϩΠ͞Εɺ։ൃ؀ڥͱຊ൪؀ڥʹશࠩ͘ҟͷ ͳ͍ঢ়ଶ ཧ૝ͷΧλνᶃ Docker
  9.   • EC2ࣗମͷ؅ཧ͕ෆཁʹͳΔ • Docker ImageΛར༻Ͱ͖ΔͷͰɺϩʔΧϧ Ͱಈ࡞֬ೝͨ͠؀ڥΛͦͷ··SageMaker ΁͍͚࣋ͬͯΔ •

    APIΤϯυϙΠϯτͷ؅ཧ΋ෆཁͳͷͰɺϞ σϧͷਫ਼౓վળʹूதͰ͖Δ SageMakerͰ՝୊Λղܾ
  10.   SageMakerԽ • طଘͷߏ੒͸scikit-learn + Flaskͷγϯϓϧ ͳߏ੒ • scikit-learn͸ϝδϟʔͳػցֶशͷϑϨʔϜ

    ϫʔΫͷͨΊɺAWS΋ͦΕ༻ͷαϯϓϧ Docker ImageΛ༻ҙͯ͘͠Ε͍ͯΔ SFGIUUQTHJUIVCDPNBXTMBCTBNB[POTBHFNBLFSFYBNQMFT USFFNBTUFSBEWBODFE@GVODUJPOBMJUZTDJLJU@CSJOH@ZPVS@PXO
  11.   SageMakerԽ • train, serveίϚϯυΛ४උ • ࣮ଶ͸pythonϑΝΠϧ • αϯϓϧʹtrain,

    serveίϚϯυͷྫ͕͋ Δ • ΋ͪΖΜϩʔΧϧ؀ڥͰςετ΋Մೳ
  12.   จࣈྻΛಛ௃ྔʹม׵͢ΔͨΊͷҰ࿈ͷॲཧ [0, 0, 1, 0, 0, 1, 0,

    0……0, 0, 1, 0, 0, 0, 1, 0] #%"  #%  "    '     &  (MeCab  ) ! $
  13.          

        (MeCab  )   [0, 0, 1, 0, 0, 1, 0, 0……0, 0, 1, 0, 0, 0, 1, 0] จࣈྻΛಛ௃ྔʹม׵͢ΔͨΊͷҰ࿈ͷॲཧ
  14.          

        (MeCab  )   [0, 0, 1, 0, 0, 1, 0, 0……0, 0, 1, 0, 0, 0, 1, 0] จࣈྻΛಛ௃ྔʹม׵͢ΔͨΊͷҰ࿈ͷॲཧ G ࣭໰ ʹJOQVU
  15.   • จষΛ୯ޠʹ෼͚Δඞཁ͕͋Δ • ܗଶૉղੳͷϥΠϒϥϦ(MeCab)ͳͲ͕ඞཁ • ϏϧτΠϯΞϧΰϦζϜͩͱɺSageMakerʹΠϯ ετʔϧ͕Ͱ͖ͳ͍ •

    Docker ImageΛར༻͢Δ͜ͱͰɺΠϯετʔϧ͠ ͨ؀ڥΛͦͷ··͍࣋ͬͯ͘͜ͱ͕Մೳ SageMakerͰ೔ຊޠΛѻ͏ࡍͷ՝୊
  16.   • ϚϚ޲͚No.1ΞϓϦͷϚϚϦͷίϛϡχ ςΟ͸ػցֶशʹΑ࣮ͬͯݱ͞Ε͍ͯΔ • Docker × SageMakerͰػցֶशγεςϜ ҠߦΛߦͬͨ

    • Ո଒ͷೖΓޱͰ͋ΔϚϚͷ3ਓʹ1ਓ͕ੜ Έग़͢ɺՁ஋͋Δσʔλ͔Βɺඇ࿈ଓͳ ੒௕ΛػցֶशͰ૑͍ͬͯ͘ ·ͱΊ