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

60a5ffda68d780b7e393d851bc2cec8e?s=47 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 に移行した過程と、その結果得られた知見について詳説を行いました。

60a5ffda68d780b7e393d851bc2cec8e?s=128

tatsushim

November 01, 2018
Tweet

Transcript

  1. $POOFIJUP*OD$50!UBUTVTIJN ϚϚͷҰาΛࢧ͑Δ %PDLFSͱ"NB[PO4BHF.BLFSͰ࣮ݱͨ͠ ػցֶशγεςϜͷϓϩμΫγϣϯҠߦ

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

    ޻ֶ  w Πϯϑϥ "84 ΍ػցֶशؔ࿈ͷۀ຿ʹैࣄ ౡాୡ࿕ !UBUTVTIJN
  3.   Ϣʔβʔͷ౤ߘʹ೤ྔߴ͘౴͑ΔϢʔβʔ͕ଟ͍ ίϝϯτ͕
 ͙͢ฦͬͯ͘Δ ໷Ͱ΋ ճ౴͕དྷΔ ಉ͡೰Έ
 ΛڞײͰ͖Δ

  4.   Ϣʔβʔͷ౤ߘʹ೤ྔߴ͘౴͑ΔϢʔβʔ͕ଟ͍ ఆੑ ίϝϯτ͕
 ͙͢ฦͬͯ͘Δ ໷Ͱ΋ ճ౴͕དྷΔ ಉ͡೰Έ
 ΛڞײͰ͖Δ

    ࣮͸ϚϚϦͷ͜ͷΑ͏ͳ ʮ͔͍͋ͨͨίϛϡχςΟʯ Λػցֶश͕ࢧ͍͑ͯ·͢
  5. ػցֶशͷ׆༻ࣄྫʹ͍ͭͯ࿦จΛॻ͖·ͨ͠ IUUQTXXXXBOUFEMZDPNDPNQBOJFTDPOOFIJUPQPTU@BSUJDMFT

  6. ͜ͷηογϣϯͰ͔࣋ͬͯ͑ͬͯ΋Β͍͍ͨ͜ͱ  

  7.   • ϚϚϦͷػցֶशͷ׆༻ࣄྫ • Docker × SageMakerͰͷػցֶशγεςϜҠߦ • SageMaker΁Ҡߦͯ͠Θ͔ͬͨ͜ͱ

    ͜ͷηογϣϯͰ͔࣋ͬͯ͑ͬͯ΋Β͍͍ͨ͜ͱ
  8.   • ࢿྉ͸͋ͱͰެ։͢ΔͷͰɺແཧʹϝϞΛऔΔඞ ཁ͸͋Γ·ͤΜ • ࣭໰΍ϑΟʔυόοΫ͸େ׻ܴͰ͢ʂ ͜ͷηογϣϯʹ͍ͭͯ

  9. ϚϚϦʹ͓͚Δػցֶशͷ׆༻  

  10. ϚϚϦʹ͓͚Δ՝୊  

  11.    

  12.     

  13.      

  14.       Ex.   

      
  15.       Ex.   

              
  16.   • ͜ͷࣄྫͷΑ͏ͳग़ձ͍ܥۀऀ͕େྔʹೖ͖ͬͯ ͨ࣌ظ΋͋ͬͨ • ϚϚϦͷΑ͏ͳQˍAίϛϡχςΟʹ͓͍ͯ͸ɺί ϛϡχςΟͷงғؾ͕ͱͯ΋େࣄ • গਓ਺ͷελʔτΞοϓʹ͸ɺ໨ࢹͰ͢΂ͯΛ֬

    ೝͰ͖Δ΄ͲͷϦιʔε΋ͳ͔ͬͨ ϚϚϦʹ͓͚Δ՝୊
  17. ՝୊ͷղܾํ๏  

  18.       Ex.   

      
  19.       Ex.   

            !   "
  20.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  21.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  22.   • ࣗવݴޠॲཧ(NLP) × ػցֶशΛ༻͍ͯ
 ίϛϡχςΟΛӡӦ͍ͯ͠Δ • ͦΕͧΕͷΞϓϦέʔγϣϯΛSQSΛ༻͍ͯૄʹ ͍ͯ͠Δ

    • ͜ͷγεςϜΛಋೖޙɺνΣοΫίετ͸1/10ʹ ͳͬͨ ϚϚϦʹ͓͚Δػցֶशͷ׆༻
  23. Ҡߦ͢Δલͷ՝୊  

  24.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  25.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  26.   1.ϩʔΧϧ؀ڥͰίʔυΛॻ͘ʢ։ൃʣ 2.σʔλ͔ΒֶशϞσϧΛ࡞੒ʢֶशʣ 3.ϞσϧΛݩʹೖྗσʔλ͔Β༧ଌΛߦ͏ APIͷ࡞੒ʢਪ࿦ʣ ҰൠతͳػցֶशγεςϜͷߏ੒

  27.   • ͦ΋ͦ΋γεςϜͷߏங͕2೥Ҏ্લͰݹ͍ • ։ൃ؀ڥ͕Πέͯͳ͍ • ֶशɾਪ࿦ͰػցֶशҎ֎ͷ΍Βͳ͖Ό͍͚ͳ͍ ͜ͱ͕ଟ͍ Ҡߦ͢Δલͷ՝୊

  28.   • খن໛σʔλͰಈ࡞֬ೝ • Vagrant + VirtualBoxΛ࢖༻ • ϓϩϏδϣχϯά͸Ansible

    ϚϚϦͷػցֶशγεςϜͷߏ੒:։ൃ
  29.  

  30.   ͭͬͨ͘7.͕ಥવյΕΔ

  31.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  32.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒ ෳ਺αʔϏε্ཱͪ͛Δͱॏ͍

  33.   ։ൃʹ͓͚Δ՝୊ • ͭͬͨ͘VM͕ಥવյΕΔ • VM͸࡞Γ௚͕͠ॏ͍ • ෳ਺αʔϏε্ཱͪ͛ΔͱCPUΛѹഭͯ͠ ϩʔΧϧ։ൃ؀ڥ͕ॏ͍

    • ຊ൪ͱඍົʹ؀ڥࠩҟ͕ൃੜ(ޙड़)
  34.   • େن໛σʔλͰֶशɺϞσϧ࡞੒ • ֶशɺਪ࿦ͱ΋ʹEC2Λ࢖༻ • ֶश༻ͷEC2͸ϚωδϝϯτίϯιʔϧͰ౎౓ඞཁ ͳϦιʔε(CPU, ϝϞϦ)Λݟͳ͕Βϙνϙν࡞੒

    ϚϚϦͷػցֶशγεςϜͷߏ੒:ֶशɾਪ࿦
  35.  

  36.   &$ͷ؅ཧ͕େม

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

    • Ճ͑ͯɺϞσϧͷߋ৽΍ධՁͷ࢓૊Έ͢΂ͯ ΛࣗલͰߏஙɾ؅ཧ͢Δඞཁ͕͋Δ
  38.   ֶशɾਪ࿦ʹ͓͚Δ՝୊ • EC2ࣗମͷ؅ཧΛ͢Δඞཁ͕͋Δ • ฒྻֶश͢Δ৔߹ʹ͸΋ͬͱ໘౗ʹ… • ػցֶशͷΤϯδχΞ͕Πϯϑϥͷ͜ͱΛ ҙࣝ͠ͳ͖Ό͍͚ͳ͍

    • Ճ͑ͯɺϞσϧͷߋ৽΍ධՁͷ࢓૊Έ͢΂ͯ ΛࣗલͰߏஙɾ؅ཧ͢Δඞཁ͕͋Δ ͜ΕΒΛ౿·͑ͯ
 ཧ૝ͷΧλνΛߟ͑Δ
  39. ػցֶशγεςϜͷཧ૝ͷΧλν  

  40.   • ։ൃऀ͸ίϚϯυҰͭ͘Β͍ͷϨϕϧͰɺͬ͞ͱ ϩʔΧϧ؀ڥΛ্ཱͪ͛Δࣄ͕ग़དྷΔ • ୭Ͱ΋ಉ͡؀ڥཱ͕ͯΒΕΔ • ػցֶशΤϯδχΞͰͳͯ͘΋ •

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

    ͔ͭܰྔͰ࡞Γ௚͠΍͍͢؀ڥ • ຊ൪΋ಉ͡ઃఆϑΝΠϧ͔Β࡞ΒΕͨΠϝʔδ͕ σϓϩΠ͞Εɺ։ൃ؀ڥͱຊ൪؀ڥʹશࠩ͘ҟͷ ͳ͍ঢ়ଶ ཧ૝ͷΧλνᶃ Docker
  42.   • ίϯςφͳΒ؀ڥͷͭ͘Γ௚͠΋ϥΫ • ෳ਺αʔϏε্ཱͪ͛ͯ΋VMͱൺ΂ͯCPU Λѹഭ͠ͳ͍ • ϩʔΧϧͷ؀ڥΛͦͷ··ຊ൪ʹ͍͚࣋ͬͯ ΔͷͰ؀ڥࠩҟ͕ͳ͍

    DockerͷಋೖͰ՝୊Λղܾ
  43.   • ֶशɾਪ࿦࣌ʹEC2ࣗମͷ؅ཧΛͨ͘͠ͳ ͍ • ػցֶशΛߦ͏؀ڥߏஙͷίετ͸Ͱ͖Δ ͚ͩখ͍ͨ͘͞͠ • Ϟσϧͷਫ਼౓վળҎ֎͸ϦιʔεΛׂ͔ͳ

    ͯ͘ࡁΉΑ͏ʹ͍ͨ͠ ཧ૝ͷΧλνᶄ
  44.   • ֶशɾਪ࿦࣌ʹEC2ࣗମͷ؅ཧΛͨ͘͠ͳ ͍ • ػցֶशΛߦ͏؀ڥߏஙͷίετ͸Ͱ͖Δ ͚ͩখ͍ͨ͘͞͠ • Ϟσϧͷਫ਼౓վળҎ֎͸ϦιʔεΛׂ͔ͳ

    ͯ͘ࡁΉΑ͏ʹ͍ͨ͠ ཧ૝ͷΧλνᶄ
  45.  

  46.   • AWS্Ͱఏڙ͞ΕΔػցֶशͷϚωʔδυ αʔϏε • ࠓ೥6݄ʹ౦ژϦʔδϣϯͰఏڙ͕։࢝͞ Εͨ • ͞Βʹ8݄ʹϝδϟʔͳσΟʔϓϥʔχϯά

    ؔ࿈ͷϥΠϒϥϦ͕αϙʔτ͞ΕΔͳͲɺ ଟ͘ͷΞοϓσʔτ͕͞Εͨ͹͔Γ Amazon SageMaker
  47.   • ๛෋ͳϏϧτΠϯΞϧΰϦζϜΛ࢖༻͢Δ ͜ͱ͕Մೳ • ·ͨɺࣗ෼ͷ࡞੒ͨ͠DockerΠϝʔδΛ࣮ ߦ͢Δ͜ͱ΋Ͱ͖Δ • ϚϚϦͷέʔεͰ͸طଘ؀ڥͷҠߦ͔Βε

    λʔτ͔ͨͬͨ͠ͷͰɺDockerΠϝʔδΛ ࢖༻͢Δܗʹͨ͠ Amazon SageMaker
  48.   • EC2ࣗମͷ؅ཧ͕ෆཁʹͳΔ • Docker ImageΛར༻Ͱ͖ΔͷͰɺϩʔΧϧ Ͱಈ࡞֬ೝͨ͠؀ڥΛͦͷ··SageMaker ΁͍͚࣋ͬͯΔ •

    APIΤϯυϙΠϯτͷ؅ཧ΋ෆཁͳͷͰɺϞ σϧͷਫ਼౓վળʹूதͰ͖Δ SageMakerͰ՝୊Λղܾ
  49.   ×

  50. ࣮ࡍʹҠߦ͢Δʹ͋ͨͬͯऔΓ૊Μͩ͜ͱ  

  51.   ϦϑτˍγϑτͰطଘ؀ڥΛͦͷ··Ҡߦ͢Δ͜ ͱ͔Β࢝ΊΔ Ҡߦํ਑

  52.   Ϧϑτˍγϑτͱ͸ • Ϧϑτˍγϑτͱ͸ɺγεςϜΛҠߦ͢Δ ʹ౰ͨͬͯɺैདྷγεςϜΛͰ͖ΔݶΓͦ ͷ··Ҡ͠ସ͑Δ(Lift)΍Γํ • ͦͯ͠Ҡߦޙʹɺਵ࣌มߋ͍ͯ͘͠(Shift) •

    ϚϚϦͰ͸ɺ·ͣैདྷγεςϜΛͦͷ·· Ҡߦ͢Δ͜ͱΛ1ϲ݄ͱ͍͏୹͍ظؒͰߦ ͏͜ͱΛ໨ඪʹऔΓ૊Μͩ
  53.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒

  54.   Q f( ) ࣭໰ϑΟϧλϦϯάʹ͓͚ΔΠϯϑϥߏ੒ ୹ظؒͰ͜͜ʹ ϑΥʔΧε͢Δ

  55. ϦϑτˍγϑτͰҠߦ͢ΔͭͷϝϦοτ  

  56.   ϦϑτˍγϑτͰҠߦ͢Δ3ͭͷϝϦοτ ᶃԿΛͲ͜·Ͱ΍Δ͔͕໌֬
 ࠷ॳ͸ʮطଘ؀ڥͷ࠶ݱʯ͕ΰʔϧ

  57.   ϦϑτˍγϑτͰҠߦ͢Δ3ͭͷϝϦοτ ᶄΠϯλʔϑΣʔεΛม͑Δඞཁ͕ͳ͍ͨΊɺ ଞͷؔ࿈γεςϜ͕ҠߦΛҙࣝ͢Δඞཁ͕ͳ͍ "1*ͷΠϯλʔϑΣʔε ͸Ҡߦલͱಉ͡

  58.   ϦϑτˍγϑτͰҠߦ͢Δ3ͭͷϝϦοτ ᶅॳΊͯͷٕज़Λখ࢝͘͞Ίͳ͕Β ׳ΕΔ͜ͱ͕Ͱ͖Δ

  59. %PDLFSͱ4BHF.BLFSͰطଘ؀ڥΛ࠶ݱ  

  60.  

  61.   ·ͣ͸%PDLFSԽ͔Β

  62.   DockerԽ • AnsibleͷίʔυΛͻͨ͢ΒDockerfileʹసه • ͏·͘ಈ͔ͳ͍΋ͷ͸ίϯςφʹೖͬͯݕূ • ͦ΋ͦ΋AnsibleͰॻ͍ͨϓϩϏδϣχϯά ίʔυ͕೥୯ҐͰલͷ΋ͷͩͱΤϥʔ͕…

  63.  

  64.  

  65.   ແࣄʹ΍Γ੾Γ·ͨ͠

  66.  

  67.   SageMakerԽ • طଘͷߏ੒͸scikit-learn + Flaskͷγϯϓϧ ͳߏ੒ • scikit-learn͸ϝδϟʔͳػցֶशͷϑϨʔϜ

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

    serveίϚϯυͷྫ͕͋ Δ • ΋ͪΖΜϩʔΧϧ؀ڥͰςετ΋Մೳ
  69.  

  70.   ϋϚͬͨϙΠϯτ

  71.   %PDLFS*NBHFΛར༻͠ͳ͍ͱ ΤϯυϙΠϯτͰ .F$BC͕࢖͑·ͤΜ

  72.   จࣈྻΛಛ௃ྔʹม׵͢ΔͨΊͷҰ࿈ͷॲཧ [0, 0, 1, 0, 0, 1, 0,

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

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

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

    Docker ImageΛར༻͢Δ͜ͱͰɺΠϯετʔϧ͠ ͨ؀ڥΛͦͷ··͍࣋ͬͯ͘͜ͱ͕Մೳ SageMakerͰ೔ຊޠΛѻ͏ࡍͷ՝୊
  76.  

  77.   ΤϯυϙΠϯτΞΫηεʹ ೝূ͕ඞཁ

  78.   Q f( )

  79.   Q f( ) ૝ఆ͍ͯͨ͠Ҡߦ

  80.   Q f( ) ૝ఆ͍ͯͨ͠Ҡߦ ॺ໊όʔδϣϯ ॺ໊ϓϩηε͕ඞཁ

  81.   Q f( ) ଞͷγεςϜʹ͸Өڹ Λ༩͑ͣʹҠߦ͍ͨ͠

  82.   Q f( ) API GatewayͱLambdaΛར༻ͯ͠Ҡߦ

  83.   Q f( ) "1*ͷΠϯλʔϑΣʔε ͸Ҡߦલͱಉ͡

  84.   Q f( ) ೝূ΍ࠩ෼Λٵऩ

  85.   Lambdaʹ෇༩͢ΔϙϦγʔ

  86.   Lambda͔ΒSDKΛ༻͍ͨΞΫηε

  87.   Q f( )

  88.   Q f( ) ແࣄγεςϜͷҠߦʹ੒ޭ

  89. 4BHF.BLFS΁ Ҡߦͯ͠ΈͯΘ͔ͬͨ͜ͱ  

  90.   • Ұ౓ߏஙͯ͠ɺSageMaker wayʹ৐Ε͹ɺϦιʔ εΛ༻ҙ͢Δ͜ͱ΍ΤϯυϙΠϯτͷ࡞੒ɺӡ༻ ͸ͳͲͷ͜ͱ͸AWSʹ೚ͤͯɺਫ਼౓վળʹूதͰ ͖Δ • πʔϧʹීஈͷϑϩʔΛ߹ΘͤΔ͜ͱͰੜ࢈ੑΛ

    ߴΊΔ͜ͱ͕Ͱ͖Δ • ڊਓͷݞͷ্ʹཱͭ SageMakerͷϝϦοτ
  91.   • ಛʹਪ࿦ʢAPIΤϯυϙΠϯτͷఏڙʣʹ෇ਵ͢Δػೳ͕ ศར • Ϟσϧͷ੾Γସ͑΋μ΢ϯλΠϜͳ͠ͰՄೳ • ৽چϞσϧͷABςετ΋Մೳ •

    ϨεϙϯεϔομʔʹৄࡉΛฦ͢ͷͰ͔ͦ͜ΒϩΪϯά ͢Δඞཁ͕͋Δ SageMakerͷϝϦοτ
  92.   • ػցֶशΤϯδχΞʹΑΔΦϨΦϨ؀ڥ໰୊ ͷղͷ1ͭ • SageMakerʹԊ͏ͱࣗવͱ࡞ۀ͕ૄʹͳΔ • ϑϩʔ͕ఆࣜԽ͞ΕΔ͜ͱͰ෼୲͠΍͘͢ͳ Γɺ࡞ۀ΋੔ཧ͞ΕΔ

    SageMakerͰ૑ΔϑϩʔͷఆࣜԽ
  93.   • Πϯϑϥ΍ΞϓϦέʔγϣϯͷཧղ͕͋Γɺ ػցֶशΛ׆༻Ͱ͖Δਓ͸ͱͯ΋وॏ • SageMaker͕ग़ͨ͜ͱͰɺ૒ํ޲ʹऔΓ૊ Έ΍͘͢ͳͬͨ • ػցֶशΛར༻͢Δͷ͕౰ͨΓલʹͳΔ

    ݸਓతʹࢥ͏͜ͱ
  94. ͜Ε͔Β  

  95.  

  96.   • ϚϚ޲͚No.1ͱͳΓɺߦ੓ͱͷऔΓ૊Έ΍ ࣾձ΁ͷൃ৴΋ߦ͍ͬͯΔ • ࣾձͷΠϯϑϥʹ͖ۙͮͭͭ͋ΔதͰ αʔϏεͷίΞςΫϊϩδʔͰ͋Δ
 ػցֶशͷΠϯύΫτ͸αʔϏεن໛ͱͱ ΋ʹେ͖͘ͳ͍ͬͯΔ

    ػցֶशͷΠϯύΫτ͕େ͖͘ͳΔ
  97.   • Ϟσϧͷਫ਼౓վળʹूத͠ɺΑΓྑ͘͢Δ ϑΣʔζ • ೔ຊͷ3ਓʹ1ਓ͕࢖͏αʔϏεͷσʔλ͸ݚ ڀͱͯ͠΋ڵຯਂ͘ɺ͞ΒʹػցֶशʹΑΔ ࣄۀΠϯύΫτΛ૑ΕΔ͜ͱ͸ͱͯ΋΍Γ͕ ͍͕͋Δ

    • ٕज़ͷྗͰ, ࠓΑΓ΋΋͏Ұஈ֊্ͷίϛϡχ ςΟΛ૑͍͖ͬͯ·͢ ඇ࿈ଓͳ੒௕ΛػցֶशͰ૑Δ
  98. ·ͱΊ  

  99.   • ϚϚ޲͚No.1ΞϓϦͷϚϚϦͷίϛϡχ ςΟ͸ػցֶशʹΑ࣮ͬͯݱ͞Ε͍ͯΔ • Docker × SageMakerͰػցֶशγεςϜ ҠߦΛߦͬͨ

    • Ո଒ͷೖΓޱͰ͋ΔϚϚͷ3ਓʹ1ਓ͕ੜ Έग़͢ɺՁ஋͋Δσʔλ͔Βɺඇ࿈ଓͳ ੒௕ΛػցֶशͰ૑͍ͬͯ͘ ·ͱΊ
  100. ΋͏ͪΐͬͱ࿩Λฉ͍ͯΈ͍ͨͱ
 ࢥͬͨํ͸ؾܰʹ͓੠͕͚͍ͩ͘͞ ΋͘͠͸!UBUTVTIJNʹ%.Ͱ΋  

  101. $POOFIJUP*OD$50!UBUTVTIJN ϚϚͷҰาΛࢧ͑Δ ͝ਗ਼ௌ༗೉͏͍͟͝·ͨ͠%