$30 off During Our Annual Pro Sale. View Details »

[スナックミー] パーソナライズを追求するお菓子の製造需要予測を自動化させた話 / snaq.me dev day tokyo 2018

[スナックミー] パーソナライズを追求するお菓子の製造需要予測を自動化させた話 / snaq.me dev day tokyo 2018

DevDay Tokyo2018
https://aws.amazon.com/jp/aws-devday-tokyo-2018/sessions/#ml07

スナックミー
無添加おやつのパーソナライズ×サブスクリプションサービス
https://snaq.me

CLR BAR
自然由来の食材を使用した、美味しくて体にも優しい栄養バー、プロテインバー
https://clrbar.com

Twitter: https://twitter.com/miyoshihayato

hayato miyoshi

November 01, 2018
Tweet

More Decks by hayato miyoshi

Other Decks in Technology

Transcript

  1. ύʔιφϥΠζΛ௥ٻ͢Δ͓՛ࢠͷ
    ੡଄धཁ༧ଌΛࣗಈԽͤͨ͞࿩
    גࣜձࣾεφοΫϛʔ
    Dev Day T
    okyo2018 11.01
    Co-Founder & CTO
    ࡾ޷ ൏ਓ
    Data Scientist
    ླ໦ Ұ࢙

    View Slide

  2. ࣗݾ঺հ
    ࡾ޷ ൏ਓ
    גࣜձࣾεφοΫϛʔ (snaq.me)
    Co-Founder & CTO
    ޷͖ͳAWS
    Lambda / ECR

    View Slide

  3. εφοΫϛʔ (snaq.me)ͱ͸ ?
    ͓՛ࢠ(εφοΫ)ͷఆظߪೖαʔϏε
    อଘྉɺఴՃ෺ෆ࢖༻ͷ͓՛ࢠ
    150छྨҎ্ͷ͓՛ࢠ͔Β8छྨຖճ͓ಧ͚
    ஋ஈ 1,728ԁ (੫ࠐ) / ճ
    2िʹ1౓ or 4िʹ1౓ͷ͓ಧ͚Մೳ

    View Slide

  4. εφοΫϛʔ (snaq.me)ͱ͸ ?
    εφοΫϛʔΦϦδφϧͰ੡଄͞Εͨ
    φνϡϥϧϑΟφϯγΣ
    ߳઒ݝ࢈ͷ্࣭ͳখഴͱశࡊ౶Λ࢖༻͠
    ম্͖͛
    ೕԽࡎ΍ਓޱ߳ྉͳͲΛ࢖༻͍ͯ͠ͳ͍
    ͨΊɺ༏͍͠؁͞ͱɺඒຯ͠͞ͷ༨ӆ͕
    ௕͍ͷ͕ಛ௃
    ίίΞϑΟφϯγΣ

    View Slide

  5. εφοΫϛʔ (snaq.me)ͱ͸ ?
    ࠭౶ෆ࢖༻ͰύΠφοϓϧ͚ͩͷϦΞϧ
    υϥΠϑϧʔπ
    Ұޱ৯΂Δͱɺࠓ·Ͱ৯΂ͨυϥΠϑϧʔ
    πͱҧ͏ຯΘ͍/৯ײͳͲ
    υϥΠϑϧʔπͳͷʹɺδϡʔγʔײʂ
    ੜͷϑϧʔπ͕͞ΒʹࢫຯΛ͚ͭͯਐԽ
    ͨ͠ײ͡
    ϓϨϛΞϜυϥΠύΠϯ

    View Slide

  6. εφοΫϛʔ (snaq.me)ͱ͸ ?
    ϦΫΤετ/ ධՁΛߦ͏͜ͱͰɹɹɹɹɹ
    ύʔιφϥΠζ͕Մೳ
    1ਓ1ਓ͓ಧ͚͢Δ͕͓՛ࢠ͕ҟͳΔ

    View Slide

  7. ੡଄͔Βൃૹ·ͰͷྲྀΕ
    ੡଄ࢦࣔॻ
    ࡞੒
    ੡଄ ࡏݿొ࿥ ΞαΠϯ
    * ΞαΠϯ : ͓٬༷΁ಧ͚ΔεφοΫΛબͿ͜ͱ
    ϐοΩϯά ൃૹ

    View Slide

  8. ੡଄͔Βൃૹ·ͰͷྲྀΕ
    ੡଄ࢦࣔॻ
    ࡞੒
    ੡଄ ࡏݿొ࿥ ΞαΠϯ
    * ΞαΠϯ : ͓٬༷΁ಧ͚ΔεφοΫΛબͿ͜ͱ
    ϐοΩϯά ൃૹ
    γεςϜԽΛਐΊ͍ͯΔՕॴ

    View Slide

  9. ΞαΠϯͷߏ੒ਤ

    View Slide

  10. ੡଄͔Βൃૹ·ͰͷྲྀΕ before
    ੡଄ࢦࣔॻ
    ࡞੒
    ੡଄ ࡏݿొ࿥ ΞαΠϯ
    * ΞαΠϯ : ͓٬༷΁ಧ͚ΔεφοΫΛબͿ͜ͱ
    ϐοΩϯά ൃૹ

    View Slide

  11. ΞαΠϯͷ࢓૊Έ by Well Architecture of the year
    ͔͜͜Βࢿྉ֬ೝͰ͖·͢

    View Slide

  12. ΞαΠϯͷ࢓૊Έ by Well Architecture of the year
    ͔͜͜Βࢿྉ֬ೝͰ͖·͢
    ୲౰ऀ͕ϘλϯҰͭͰAWS Batch͔ΒjobΛىಈͤ͞
    Ϣʔβʔ΁ͷΞαΠϯΛҰؾ௨؏ͰՄೳ

    View Slide

  13. ࠓճ͸ ੡଄ࢦࣔॻ

    View Slide

  14. ੡଄͔Βൃૹ·ͰͷྲྀΕ before
    ੡଄ࢦࣔॻ
    ࡞੒
    ੡଄ ࡏݿొ࿥ ΞαΠϯ
    * ΞαΠϯ : ͓٬༷΁ಧ͚ΔεφοΫΛબͿ͜ͱ
    ϐοΩϯά ൃૹ

    View Slide

  15. ੡଄࣌ͷ՝୊
    ੡଄ࢦࣔॻͷ࡞੒ʹຖि1ʙ2೔͔͔Δ
    ੡଄ܭը͕όϥόϥ
    ഑ૹͨ͠εφοΫͷຬ଍౓ͷ൑ఆ͕೉͍͠
    ࠷খɺ࠷େՄೳ੡଄਺͕όϥόϥ
    ͳͲ

    View Slide

  16. SageMakerͰधཁ༧ଌ͠Α͏

    View Slide

  17. SageMakerͰ࣮ݱ͍ͤͨ͜͞ͱ
    खܰʹར༻͍ͨ͠
    ίετ͸࠷খݶ & ࣗಈԽ͍ͤͨ͞
    SageMakerͰػցֶशͷج൫Λ࡞Γ͍ͨ
    ͳͲ

    View Slide

  18. धཁ༧ଌߏ੒ਤ

    View Slide

  19. धཁ༧ଌߏ੒ਤ
    ༧ଌ͢ΔεφοΫΛ
    S3ʹupload
    ༧ଌ
    ݁Ռ

    View Slide

  20. धཁ༧ଌߏ੒ਤ

    View Slide

  21. धཁ༧ଌ෦෼ͷߟ͑ํ
    Ϣʔβʔ਺༧ଌ ഑ૹ͓՛ࢠͷຬ଍౓

    View Slide

  22. धཁ༧ଌߏ੒ਤ point - ᶃ

    View Slide

  23. धཁ༧ଌߏ੒ਤ point - ᶃ
    ɾStepFunctionsΛ༻͍Δ͜ͱͰ
    ඞཁͷͱ͖ʹSagemakerΛىಈ
    ༧ଌ͕ऴΘͬͨΒɺendpointΛ
    ࡟আ͢Δ͜ͱ͕Մೳ
    ɾΤϥʔ࣌ͷ࠶τϥΠ΋༰қʹ
    ઃఆՄೳ

    View Slide

  24. धཁ༧ଌߏ੒ਤ point - ᶄ

    View Slide

  25. धཁ༧ଌߏ੒ਤ point - ᶄ
    ɾCloudWatch EventsΛ༻͍Δ͜ͱͰɺ࠶ֶशΛఆظతʹߦ͏͜ͱ͕
    Մೳ

    View Slide

  26. धཁ༧ଌߏ੒ਤ point - ᶅ

    View Slide

  27. धཁ༧ଌߏ੒ਤ point - ᶅ
    ɾS3ͷόʔδϣχϯάΛ༻͍͜ͱͰɺສ͕Ұಈ͔ͳ͍Ϟσϧ͕࠷৽൛
    Ͱ΋ҰͭલͷόʔδϣϯͰϦΧόϦʔ͕Մೳ

    View Slide

  28. ͜ͷߏ੒ਤΛ։ൃͯ͠
    ޻෉ͨ͠఺ / ஫ҙ఺

    View Slide

  29. ࣗݾ঺հ
    ླ໦ Ұ࢙(@kz23szk)
    גࣜձࣾεφοΫϛʔ (snaq.me)
    Data Scientist
    ޷͖ͳAWS
    SageMaker

    View Slide

  30. sagemakerͱ͸
    ػցֶश༻ϑϧϚωʔδυαʔϏε
    ϊʔτϒοΫ্Ͱͷ࡞ۀ͕Ͱ͖Δ
    ̍ϝιουͰσϓϩΠ׬ྃ
    ໨త͝ͱͷνϡʔτϦΞϧ͕๛෋
    ελʔτΞοϓ΍ػցֶशΛ͜Ε͔Β
    ࢝ΊΔاۀʹ͓͢͢Ίʂ

    View Slide

  31. धཁ༧ଌ
    ൃ஫લʹϢʔβ਺Λਪఆ
    ਓखͰ༧૝ͯ͠ൃ஫
    ܽ඼΍ա৒ࡏݿͷϦεΫɺਓత
    ίετΛ࡟ݮ͍ͨ͠

    View Slide

  32. ՝୊ͱ޻෉఺
    ʲ՝୊̍ʳΤϯυϙΠϯτΛৗ࣌ىಈ͢Δͱίετ͕͔͞Ή
    →༧ଌͷ౓ʹLambdaͰΤϯυϙΠϯτͷىಈɺ༧ଌɺ࡟আ
    ʲ՝୊̎ʳόʔδϣϯΞοϓͰಈ͔ͳ͘ͳΔ
    →Step FunctionsͰ࠷৽̎ϞσϧͰτϥΠ
    ʲ՝୊̏ʳ௚ۙͷσʔλ΋ؚΊͯ࠶ֶश͍ͨ͠
    →࠶ֶश༻lambdaΛ༻ҙ (CloudWatch eventsͰ݄࣮࣌ߦʣ

    View Slide

  33. ʲ՝୊̍ʳΤϯυϙΠϯτΛৗ࣌ىಈ͢Δͱίετ͕͔͞Ή

    View Slide

  34. ޻෉̍ɹlambdaͰΤϯυϙΠϯτىಈͱ࡟আ
    boto3ʢSDKʣΛ࢖ͬͯ
    ΤϯυϙΠϯτΛࢦఆ͠
    ىಈɺ࡟আ

    View Slide

  35. ޻෉̍ɹlambdaͰ༧ଌ
    ΤϯυϙΠϯτͱσʔλΛ
    ࢦఆ࣮ͯ͠ߦ͢Δ͚ͩʂ
    ɾ༧ଌ͝ͱʹΤϯυϙΠϯτͷىಈɺ༧ଌɺ࡟আΛߦ͏͜ͱͰ
    ίετΛ݄਺υϧʹ཈͑Δ

    View Slide

  36. ʲ՝୊̎ʳόʔδϣϯΞοϓͰಈ͔ͳ͘ͳΔ

    View Slide

  37. StepFunctions
    jsonܗࣜͰαʔϏε࣮ߦΛ
    εςοϓͰ੍ޚͰ͖Δɻ

    View Slide

  38. ޻෉̎ StepFunctions
    ɾهड़͢Δͱϑϩʔ͕ՄࢹԽ͞ΕΔɻ
    ɾlambdaίʔυ͕୯ػೳʹͳΔɻ
    ɾ෼ذॲཧͰόʔδϣϯΞοϓ࣌ͷো֐Λ๷͙ɻ

    View Slide

  39. ʲ՝୊̏ʳ࠶ֶशΛࣗಈԽ͍ͨ͠
    ɾCloudWatch EventsΛ༻͍Δ͜ͱͰɺ࠶ֶशΛఆظతʹߦ͏

    View Slide

  40. ޻෉̏ɹ࠶ֶशΛࣗಈԽ
    Cloudwatch eventͰΫʔϩϯܗࣜͰ
    εέδϡʔϧ࣮ߦ
    LambdaଆͰલճ࣮ߦ
    ͨ͠δϣϒΛ࠶࣮ߦ

    View Slide

  41. Sagemaker͜͏ͳͬͨΒخ͍͠
    ɾલॲཧ༻ͷΤϯυϙΠϯτ࡞੒ػೳ͕ཉ͍͠
    →ϊʔτϒοΫ্ͷίʔυΛlambdaʹ΋͖ͬͯͯରԠத

    View Slide

  42. ɹ·ͱΊ
    ࡞ۀ࣌ؒͷ࡟ݮ ʢ3࣌ؒ/िʣ
    ୹࣌ؒɺि࣍ͷ༧ଌͰ΋ίετΛ཈͑ͯӡ༻
    sagemakerͷ࣮ߦɺ࠶ֶशͷࣗಈԽʹ੒ޭ
    ͪΐͬͱͨ͠༧ଌΛεϞʔϧελʔτͰ࢝ΊΒΕΔʂ

    View Slide

  43. ࠓޙ͍ͨ͜͠ͱ
    σΟεΧόϦʔཁૉͷڧԽ
    Ϣʔβʔݸʑͷػցֶश
    ৽঎඼ൃ۷δϟϯϧͷఏҊ
    ਓؾෆਓؾεφοΫͷࣗಈબผ

    View Slide

  44. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
    Let’s enjoy guilt free snacks !

    View Slide

  45. We’re hiring!
    ɾFront / Backend
    ɾData Scientist
    ɾSRE
    etc

    View Slide