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

ペパボ研究所がOneLoveな理由/Why pepaken is one love

ペパボ研究所がOneLoveな理由/Why pepaken is one love

ペパボ研究所 やさしい発表会 - ペパボ研究所で事業を差別化する -

monochromegane

July 06, 2017
Tweet

More Decks by monochromegane

Other Decks in Technology

Transcript

  1. - ϖύϘݚڀॴͰࣄۀΛࠩผԽ͢Δ -
    ࡾ୐༔հ / Pepabo R&D Institute, GMO Pepabo, Inc.
    2017.07.06 ϖύϘݚڀॴ ༏͍͠ൃදձ
    ϖύϘݚڀॴ͕OneLoveͳཧ༝

    View Slide

  2. ϓϦϯγύϧΤϯδχΞ
    ࡾ୐ ༔հ / @monochromegane
    2
    http://blog.monochromegane.com
    Yusuke Miyake
    ϖύϘݚڀॴ ݚڀһ

    View Slide

  3. 1. ϖύϘݚڀॴͷϛογϣϯ
    2. ϖύݚͱαʔϏεͷؔ܎
    3. ݚڀ։ൃࣄྫͷ঺հ
    3
    ໨࣍

    View Slide

  4. 1.
    ϖύϘݚڀॴͷϛογϣϯ

    View Slide

  5. 5
    ϖύϘݚڀॴ(ུশʮϖύݚʯ)͸ɺࣄۀΛࠩผԽ
    Ͱ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹʮͳΊΒ͔ͳγες
    Ϝʯͱ͍͏ίϯηϓτͷԼͰݚڀ։ൃʹऔΓ૊Ή
    ૊৫Ͱ͢ɻ

    ϖύϘݚڀॴʹ͍ͭͯ
    http://rand.pepabo.com/

    View Slide

  6. ͳͥݚڀ͔

    View Slide

  7. • ݚڀ͸ɺࣄ࣮΍ཧ࿦Λ໌Β͔ʹ͢Δʹ͋ͨΓɺ৽نੑɺ༗ޮੑɺ৴པੑΛ٬؍
    తʹࣔ͞ͳ͚Ε͹ͳΒͳ͍
    • طଘख๏ͷௐࠪ(వ)ɺ뱌(ઈ)ɺ࿦จԽ(࿅)Λܦͯɺख๏΁ͷঢ՚(ൃ)ʹࢸΔ
    • ݚڀతΞϓϩʔνͷ൓෮ʹΑͬͯɺཧ࿦΍ख๏͕લਐ͢Δ(Ԡ༻ɺܥ౷)
    • ٕज़͕ҰൠԽ͢Δ࣌୅Ͱ͸ɺݚڀΛ௨ͯ͋͠Δख๏ʹ͓͚Δ৽نੑΛݗҾͰ͖
    ΔଘࡏͱͳΔ͜ͱ͕ɺࠩผԽͰ͖Δٕज़Λ࣋ͭ͜ͱʹͭͳ͕Δ
    7
    ͳͥݚڀ͔
    ࠩผԽͰ͖Δٕज़Λ࡞Γग़ͨ͢Ίʹ͸ɺݚڀతΞϓϩʔν͕༗ޮ

    View Slide

  8. 2.
    ϖύݚͱαʔϏεͷؔ܎

    View Slide

  9. 9
    ΞΧσϛοΫͳਫ४ʹ͓͚Δ৽نੑɾ༗ޮੑɾ৴
    པੑΛ௥ٻ͢ΔݚڀΛߦ͏ͱͱ΋ʹɺݚڀ։ൃ͠
    ٕͨज़Λ࣮ࡍͷγεςϜͱ࣮ͯ͠૷ɾఏڙ͢Δ͜
    ͱΛ௨ͯ͠ɺࣄۀͷ੒௕ʹߩݙ͠·͢ɻ

    ϖύϘݚڀॴʹ͍ͭͯ
    http://rand.pepabo.com/

    View Slide

  10. 10
    ϖύݚͱαʔϏεͷؔ܎
    ࣄۀΛࠩผԽ͢ΔͨΊʹ͸ɺݚڀॴͱαʔϏεͷ࿈ܞ͕ඞਢ
    ݚڀ ։ൃ
    ӡ༻
    ՝୊ͷڞ༗
    ݚڀʹΑΔղܾ
    ಋೖ࣌ͷΤϯδχΞؒ࿈ܞ
    ݚڀ։ൃ݁ՌΛଈ࣌αʔϏεʹಋೖ͢Δ࢓૊ΈͱɺಋೖޙͷϑΟʔυόοΫʹΑΔαΠΫϧͷߴ
    ଎ԽʹΑͬͯɺݚڀ։ൃͷߴ౓ԽͱࣄۀͷࠩผԽʹͭͳ͛Δ

    View Slide

  11. 11

    View Slide

  12. 3.
    ݚڀ։ൃࣄྫͷ঺հ

    View Slide

  13. ಛ௃நग़ثͷֶशͱߪങཤྺΛ
    ඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔ
    ؔ࿈঎඼ݕࡧγεςϜ

    View Slide

  14. 14
    ՝୊ͷڞ༗
    େ͖ͳ୯ҐͰͷ՝୊ʢઓུʣͷڞ༗
    • minneʹ͓͍ͯɺ࡞඼ͱͷग़ձ͍ͷ֬཰Λ্͛Δ͜ͱ͕ઓུͷͻͱͭͱ্ͯ͠
    ͛ΒΕ͍ͯΔɻݱࡏɺminneʹ͸਺ඦສ఺ͷ࡞඼͕ొ࿥͞Ε͓ͯΓɺαʔϏε
    ར༻ऀͷ௨ৗͷߦಈͰ͸શͯͷ࡞඼ΛݟͯճΔ͜ͱ͸ࠔ೉Ͱ͋Δɻ
    • ඞવతʹαʔϏεར༻ऀ͕ߪೖ͍ͨ͠ͱࢥ͏࡞඼ͱग़ձ͏֬཰͸௿Լ͖ͯͯ͠
    ͓Γɺ͜ͷ֬཰Λ্͛Δ͜ͱ͕ɺ͓ങ͍෺ମݧͷ࠷େԽͷͨΊʹٻΊΒΕ͍ͯ
    Δɻ

    View Slide

  15. • ճ༡ͷಋઢΛ૿΍͢ඞཁ͕͋ΔɻAmazon΍ָఱͱ͍ͬͨECαΠτͰ͸ؔ࿈
    ࡞඼Λఏࣔ͢Δ͜ͱͰ঎඼ͷݕ౼Λܧଓͤ͞Δճ༡͕͋ΓɺͦͷͨΊʹ͸ͳΜ
    Β͔ͷ؍఺Ͱؔ࿈͍ͯ͠Δ͜ͱΛγεςϜతʹѻ͑Δঢ়ଶʹ͢Δඞཁ͕͋Δ
    15
    ண؟఺ͱํࣜ
    • ௨ৗɺDB্ʹؚ·ΕΔ৘ใʢߏ଄Խͨ͠৘ใʣʹΑͬͯಉҰࢹͰ͖Δ΋ͷ
    ʢminneͰݴ͑͹ಉ͡ΧςΰϦɺಉ͡৭ʣͳͲΛ༻͍Δ͕ɺ͜Ε·Ͱʹͳ͍ؔ
    ࿈࡞඼ͷಋઢΛ૿΍ͨ͢Ίɺ·ͩߏ଄Խ͞Ε͍ͯͳ͍৘ใΛminne಺ͰऔΓѻ
    ͑ΔΑ͏ʹ͍ͯ͘͠ɻ

    View Slide

  16. • ߪങཤྺ౳ͷ৘ใ͕ෆཁͰ෼ྨ༻ͷ௥Ճ৘ใͱͯ͠Ͱ͸ͳ͘ɺৗʹઃఆ͞ΕΔ
    ঎඼ը૾Λର৅
    • ಋೖઌͷECαΠτͷ঎඼ʹґଘ͠ͳֶ͍शෆཁͰ൚༻తͳֶशࡁΈωοτ
    ϫʔΫΛಛ௃நग़ثͱͯ͠࠾༻
    • ಛ௃நग़ث͔ΒಘΒΕͨಛ௃ྔΛ΋ͱʹۙࣅۙ๣୳ࡧʹΑΓྨࣅը૾Λݕࡧ
    16
    ఏҊख๏

    View Slide

  17. 17

    View Slide

  18. ಛ௃ྔม׵
    18
    Service Object Storage
    GCP
    image to data
    data to feature
    vectorizer by
    Inception-v3
    Annoy
    Workers
    • ͋Δ࣌఺·Ͱͷ࡞඼ը૾ҰཡΛಛ௃ྔʹม׵͢Δ
    • ม׵ͨ͠ಛ௃ྔҰཡΛۙࣅۙ๣୳ࡧσʔλϕʔεʹ౤ೖ͢Δ

    View Slide

  19. • ۙࣅۙ๣୳ࡧσʔλϕʔεΛmruby-annoy + ngx_mrubyʹͯAPIԽ
    • ࡞඼ৄࡉʹྨࣅը૾Λ༻͍ͨؔ࿈࡞඼Λදࣔ͢Δ
    19
    ྨࣅը૾ݕࡧ
    Nyah
    mruby-annoy
    on ngx_mruby
    products#show
    product_id
    nearest products
    CTR
    Analytics
    NNS
    ˞ۙࣅۙ๣୳ࡧ࣌ʹେ෦෼ͷΠϯσο
    Ϋε΁ͷΞΫηε͕ൃੜ͢ΔͨΊ࣮༻
    తͳ଎౓ΛಘΔͨΊʹ͸σʔλϕʔε
    ϑΝΠϧ͕શͯϖʔδΩϟογϡʹࡌ
    ΔαΠζͷϝϞϦ͕ඞཁ

    View Slide

  20. ྨࣅը૾ʹΑΔؔ࿈࡞඼ݕࡧ
    20

    View Slide

  21. ྨࣅը૾ʹΑΔؔ࿈࡞඼ݕࡧ
    21

    View Slide

  22. ΫϦοΫ཰ͱίϯόʔδϣϯ཰
    22
    طଘ ఏҊ
    $53
    $73
    ˞ఏҊख๏ʹΑΔબఆ͕ߦ͑ͳ͍৔߹ʹαʔϏεͷ
    ػձଛࣦΛආ͚ΔͨΊطଘख๏ʹΑΔબఆΛߦͬͯ
    ͍ΔͨΊݕূظؒதͷ֤ख๏ͷදׂࣔ߹͸طଘ
    ɺఏҊͰ͋ͬͨ
    ˞ίϯόʔδϣϯ཰͸ΫϦοΫ਺ʹର͢Δߪೖ਺͔
    ΒٻΊͨ
    طଘ ఏҊ
    ૉࡐɾࡐྉγΣϧ
    ૉࡐɾࡐྉϦϘϯɾςʔϓ
    ૉࡐɾࡐྉϘλϯ
    ͵͍͙ΔΈɾਓܗ͋Έ͙ΔΈ
    χοτɾฤΈ෺ηʔλʔɾΧʔσΟΨϯ
    ఏҊख๏͕༗ޮͰ͋ͬͨΧςΰϦ

    View Slide

  23. ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ
    23
    ࡾ୐ ༔հ, দຊ ྄հ, ྗ෢ ݈࣍, ܀ྛ ݈ଠ࿠, ಛ௃நग़ثͷֶ
    शͱߪങཤྺΛඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔؔ࿈঎඼ݕࡧγ
    εςϜ, ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,
    Vol.2017-IOT-37(4), pp.1-8, May 2017
    http://id.nii.ac.jp/1001/00178892/

    View Slide

  24. ϑΟʔυόοΫ

    View Slide

  25. Gannoy
    Approximate nearest neighbor search server
    and dynamic index written in Golang.
    https://github.com/monochromegane/gannoy

    View Slide

  26. GannoyʹΑΔಈతΠϯσοΫεߋ৽+ྨࣅը૾ݕࡧ
    26
    Features Similar items
    Gannoy
    [2048]float64
    query
    by http
    find similar features
    mapping
    similar features
    to items
    response
    Deep CNN
    index
    Features
    [2048]float64
    Deep CNN
    register
    by http

    View Slide

  27. ΞΫηεස౓༧ଌʹجͮ͘
    Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά

    View Slide

  28. 28
    ՝୊ͷڞ༗

    View Slide

  29. • ैྔ՝ۚͷԾ૝αʔόӡ༻ʹ͓͍ͯ࠷దͳϦιʔεधཁͷ༧ଌ͸ίετΧοτʹͭͳ͕Δ
    • WebαʔϏεͷϦιʔεधཁ͸ϦΫΤετॲཧ݅਺ɺͭ·ΓΞΫηε਺ͱ૬͕ؔ͋Δ͸ͣ
    • Ϧιʔεͷ૿ݮʹ΋͋Δఔ౓ͷ͕͔͔࣌ؒΔͨΊɺϦΞϧλΠϜͰ͸ͳ͘ҰఆִؒͰͷΞ
    Ϋηε਺༧ଌͰे෼ͱߟ͑Δ
    29
    ண؟఺ͱํࣜ
    ΞΫηε਺Λ༧ଌͰ͖ΔΑ͏ʹͳΕ
    ͹ɺϐʔΫλΠϜʹ͋Θͤͨ୆਺ݟੵ
    ΋Γ͔Β࣌ؒ͝ͱͷ࠷దʢͱࢥΘΕ
    Δʣ୆਺ݟੵ΋Γ͕ՄೳʹͳΔ

    View Slide

  30. • WebαʔϏεશମͰҰఆ࣌ؒʹॲཧͨ͠ΞΫηεස౓Ͱ͋ΔεϧʔϓοτΛ
    ࢦඪͱ͠ɺӡ༻্ɺܦݧతʹ೺Ѳ͞Ε͍ͯΔ҆ఆͯ͠ӡ༻Մೳͳ஋Λ໨ࢦ͢
    • աڈͷΞΫηεස౓܏޲ͱෆఆظͳมಈཁҼ͔Β༧ଌϞσϧΛಋ͘
    • ༧ଌతͳߏ੒มߋΛ՝ۚ୯ҐͰ͋Δ1࣌ؒΛ୯Ґʹߦ͏
    30
    ఏҊख๏

    View Slide

  31. 31
    ఏҊख๏

    View Slide

  32. 32
    ΞΫηεස౓༧ଌϞσϧ
    ΞΫηεස౓༧ଌϞσϧ
    ֶशσʔλ͸Ϋϥ΢υαʔϏεͷඪ४՝
    ۚ୯ҐͰ͋Δ࣌ؒΛཻ౓ͱ͢Δ
    8FCαʔϏεͷ࠷୹ఆৗੑΛ֬ೝͰ͖Δ࣌ؒ෼ͷσʔλ
    Λೖྗͱ͠ɺ࣍ͷ࣌ؒ෼ͷΞΫηεස౓༧ଌΛग़ྗͱ͢Δ
    ˞࣌ؒޙҎ߱͸༧ଌ෼ΛؚΊͨظΛೖྗͱ͢Δ

    View Slide

  33. 33
    Ծ૝αʔό୆਺ࢉग़
    • ༧ଌͨ͠ΞΫηεස౓ΛجʹɺWebαʔϏεΛ҆ఆͯ͠ӡ༻
    Ͱ͖Δ໨҆ͱͳΔεϧʔϓοτ஋Λ֬อͰ͖Δ୆਺ΛٻΊΔ
    ༧ଌΞΫηεස౓ʹର͠εϧʔϓοτΛ
    ֬อͰ͖Δ୆਺Λࢉग़͢Δ
    5<ΞΫηεස౓෼>
    1<༧ଌΞΫηεස౓࣌>
    -αʔό୆਺Լݶ஋

    View Slide

  34. • ࠓճͷධՁͰ͸ɺର৅ͷ
    WebαʔϏεʹ͓͍ͯཌ೔
    ͕ฏ೔ͷ৔߹ɺ໷ؒʹΞΫ
    ηεස౓͕૿Ճ͢Δͱ͍͏
    ܦݧଇΛཁҼͱͯ͠Ճ͑ͨ
    34
    ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼౓ͷධՁ

    View Slide

  35. 35
    ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼౓ͷධՁ
    ໷ؒʹීஈͱҟͳΔ܏޲ͱͳΔಛੑΛଊ
    ͑ͨ༧ଌ͕ߦΘΕ͍ͯΔɻ

    View Slide

  36. 36
    ܭըతΦʔτεέʔϦϯάͷධՁ
    Ծ૝αʔό୆਺ͷਪҠ
    ೔͋ͨΓͷαʔό૯ىಈ࣌ؒ͸"܈ ը૾্

    Ͱ͔࣌ؒΒ࣌ؒʹɺ#܈ ը૾Լ
    Ͱ
    ͸ ͔࣌ؒΒ࣌ؒʹ࡟ݮ
    ˞"܈ͷ࣌͸ࢉग़୆਺͕୆਺Լݶ஋ΛԼ
    ճͬͨͨΊɺ୆਺ͷมಈ͸ݟΒΕͳ͍

    View Slide

  37. 37
    ܭըతΦʔτεέʔϦϯάͷධՁ
    ΞΫηεස౓ͷਪҠ
    ೔͋ͨΓΞΫηεස౓ͷඪ४ภࠩ͸"܈ ը
    ૾্
    Ͱ໿͔Β໿ʹɺ#܈ ը
    ૾Լ
    Ͱ͸໿͔Β໿ʹมԽɻ
    ख๏ద༻ޙʹεϧʔϓοτ͕҆ఆ͍ͯ͠Δ
    ͜ͱ͕Θ͔Δɻ
    ˞"܈ͷ૿Ճ͸Լݶ୆਺ӡ༻ͱͳͬͨ࣌ؒଳ
    ͷ୆͋ͨΓͷεϧʔϓοτ஋૿ՃʹΑΔ΋
    ͷͱߟ͑ΒΕΔ

    View Slide

  38. ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ
    38
    ࡾ୐ ༔հ, দຊ ྄հ, ྗ෢ ݈࣍, ܀ྛ ݈ଠ࿠, ΞΫηεස౓༧
    ଌʹجͮ͘Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά, ݚڀใࠂ
    Πϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, Vol.2017-IOT-38(13),
    pp.1-8, June 2017
    http://id.nii.ac.jp/1001/00182375/

    View Slide

  39. ݚڀ݁ՌͷαʔϏεಋೖ

    View Slide

  40. 1. ج൫ԽɺAPIԽʹΑΔݚڀ؀ڥͱαʔϏεͷγʔϜϨεͳ࿈ܞ
    2. ίʔυ؅ཧɺόʔδϣϯ؅ཧʹΑΔݚڀͱӡ༻ͷฒߦ
    40
    ݚڀ݁ՌͷαʔϏεಋೖ
    ݚڀ݁ՌͷαʔϏεಋೖ͸ଈ͔࣌ͭશࣾల։Ͱ͖Δ͜ͱ͕๬·͍͠

    View Slide

  41. 1. ϩά΍DBͳͲͷαʔϏεࢿ࢈ͱ࿈ܞͰ͖Δ
    2. ൺֱత༰қʹϞσϧͷߏஙͱࢼߦ͕ߦ͑Δ
    3. ֶश݁ՌΛར༻͢ΔͨΊͷखஈͱͯ͠APIΛఏڙ͢Δ
    1. ֶश݁ՌͷϩʔΧϧར༻͕Ͱ͖Δͱͳ͓Α͍
    4. ্هͷ࢓૊Έ͕εέʔϥϒϧͰ͋Δ͜ͱ
    41
    ػցֶशج൫ʹٻΊΒΕΔ΋ͷ

    View Slide

  42. 1. ೖग़ྗ͕Cloud Storageܦ༝
    2. ܇࿅ϓϩάϥϜͱͯ͠TensorFlowΛ࠾༻
    3. ΦϯϥΠϯ༧ଌαʔϏεʹΑΓϞσϧͷAPIԽ
    1. ֶश݁Ռ͸Cloud StorageʹอଘɺϩʔΧϧͰͷར༻΋
    4. ෼ࢄܕͷτϨʔχϯάΠϯϑϥͱෛՙ෼ࢄαʔϏεͱͷ࿈ܞ
    42
    Google Cloud ML EngineͰߟ͑Δ
    ※ ݕ౼ʹؔ͢Δৄࡉ: 

    http://rand.pepabo.com/article/2017/01/18/pepabo-ml-platform-and-workflow/

    View Slide

  43. StarChart
    StarChart is a tool to manage Google Cloud Machine
    Learning training programs and model versions
    https://github.com/monochromegane/starchart

    View Slide

  44. • όʔδϣϯ؅ཧͷ੾ସʹ͓͚Δ൑அج४ͱͳΔ܇࿅ϓϩάϥϜɺύϥϝλɺδϣ
    ϒ৘ใ·ͰؚΊͯίʔυͰ؅ཧ
    • ֶश࣌ͷδϣϒID΍Cloud Storageͷύεɺόʔδϣϯʹඥͮ͘ύϥϝλ৘ใ
    ͷऔಘʹ·ͭΘΔCloud MLͷࡉ͔ͳ࢖͍উख΋վળ
    44
    StarChart

    View Slide

  45. ·ͱΊ

    View Slide

  46. • ϖύݚͱαʔϏεͰେ͖ͳ୯ҐͰͷ՝୊ͷڞ༗Λܧଓ͢Δ
    • ݚڀ݁ՌͷಋೖͱϑΟʔυόοΫΛߴ଎ʹ͢Δ͜ͱ͕ࣄۀͷࠩผԽʹͭͳ͕Δ
    • ϖύݚ͸ݚڀ݁ՌΛଈ͔࣌ͭશࣾͰར༻Ͱ͖Δج൫Λ
    • αʔϏε͸ಋೖɺӡ༻࣌ͷΤϯδχΞؒ࿈ܞΛ
    46
    ·ͱΊ
    ͍·ΑΓ΋ʮΈΜͳʯͷ෯Λ޿͛ɺͦͷʮΈΜͳʯʹରͯؔ͠৺Λ͍࣋ͬͯ͘
    One Love

    http://blog.kentarok.org/entry/2016/12/21/002537

    View Slide

  47. ݚڀһɺੵۃతʹืूதʂ
    http://rand.pepabo.com/

    View Slide

  48. • ϖύϘݚڀॴ
    • http://rand.pepabo.com/
    • ಛ௃நग़ثͷֶशͱߪങཤྺΛඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔؔ࿈঎඼ݕࡧγεςϜ
    • http://rand.pepabo.com/article/2017/06/19/iot37-miyakey/
    • ΞΫηεස౓༧ଌʹجͮ͘Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά
    • http://rand.pepabo.com/article/2017/06/28/iot38-miyakey/
    • Google Cloud ML Λ༻͍ͨػցֶशج൫ͷߏஙͱӡ༻
    • https://speakerdeck.com/monochromegane/pepabo-ml-infrastructure-starchart
    • 2017೥ͷςʔϚ: One Love
    • http://blog.kentarok.org/entry/2016/12/21/002537
    48
    ࢀߟ

    View Slide