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

ペパボにおける研究所の役割 - 研究と開発の相乗効果 - / Think about research and development

ペパボにおける研究所の役割 - 研究と開発の相乗効果 - / Think about research and development

2018.01.19 香川大学 SLP

monochromegane

January 18, 2018
Tweet

More Decks by monochromegane

Other Decks in Technology

Transcript

  1. ݚڀͱ։ൃͷ૬৐ޮՌ
    ࡾ୐ ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc.
    2018.01.19 ߳઒େֶ SLP
    ϖύϘʹ͓͚Δݚڀॴͷ໾ׂ

    View Slide

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

    View Slide

  3. • େֶଔۀޙɺ஍ݩ෱ԬͷSIerۈ຿Λܦͯɺ2012೥ΑΓגࣜձࣾ
    paperboy&co.(ݱGMOϖύϘגࣜձࣾ)ʹۈ຿ɻ
    • ϜʔϜʔυϝΠϯɺminneͱ͍ͬͨαʔϏεͷӡ༻։ൃͷ๣Βɺϩά׆༻ج൫
    BigfootͷߏஙʹऔΓ૊ΈɺαʔϏεΛಈతʹվળ͍ͯͨ͘͠Ίͷ࢓૊Έͮ͘
    ΓͱػցֶशʹڵຯΛ࣋ͭɻ
    • ·ͨɺOSS׆ಈͱͯ͠ओʹGoݴޠʹΑΔπʔϧ։ൃΛߦ͍ͬͯΔɻ୅දϓϩ
    μΫτͱͯ͠the_platinum_searcherͳͲ͕͋Δɻ
    3
    Career

    View Slide

  4. 4
    Activity

    3
    GitHub Awards
    Go ranking in Japan :)
    http://git-awards.com/users?country=japan&language=go

    View Slide

  5. 1. ϖύϘݚڀॴʹ͍ͭͯ
    2. ݚڀࣄྫͷ঺հ
    3. ։ൃऀࢹ఺͔Βݚڀऀࢹ఺΁ɻ͋Δ͍͸ͦͷཱ྆ɻ
    5
    ໨࣍

    View Slide

  6. 1.
    ϖύϘݚڀॴʹ͍ͭͯ

    View Slide

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

    View Slide

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

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

    View Slide

  9. ͳͥݚڀ͔

    View Slide

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

    View Slide

  11. ͳΊΒ͔ͳγεςϜ

    View Slide

  12. 12
    γεςϜͷ֤ཁૉ͕໌ࣔతͳૢ࡞Λܦͣʹಛ௃Λ
    ೝࣝ͠ɺͦͷಛ௃΍ؔ܎ੑʹج͖ͮɺͦͷ࣌ʑͷ
    ঢ়گʹԠͨ͡࠷దͳαʔϏεΛఏڙ͢Δ

    ͳΊΒ͔ͳγεςϜ
    http://rand.pepabo.com/

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

  16. 2.
    ݚڀ։ൃࣄྫͷ঺հ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. ಛ௃நग़ث

    View Slide

  22. • m࣍ݩͷϕΫτϧxΛn࣍ݩͷϕΫτϧy΁ࣸ૾͢Δؔ਺fΛਪఆ͢Δֶशख๏
    22
    χϡʔϥϧωοτϫʔΫ: Ϟσϧ
    x1
    x2
    xm
    b
    W
    y1
    y2
    yn
    1
    2
    o1
    = σ(
    m

    i=0
    w1i
    xi
    + b1
    )
    h
    3
    o = σ (Wx + b)
    w11
    w12
    . . w1m
    w21
    w22
    . . w2m
    . .
    wh1
    wh2
    . . whm
    x1
    x2
    . .
    xm
    +
    b1
    b2
    . .
    bh
    x
    f
    y
    h
    wh1
    wh2
    x1
    x2
    ೖྗ͝ͱʹॏΈXΛ৐ࢉόΠΞε
    ͨ͠΋ͷΛ׆ੑԽؔ਺ʹ௨͢
    શϊʔυʹର͢Δॲཧ͸ߦྻͱͯ͠ૢ࡞Ͱ͖Δ

    View Slide

  23. 23
    χϡʔϥϧωοτϫʔΫ: ֶश
    x1
    x2
    xm
    y1
    y2
    yn
    x
    f
    y
    • m࣍ݩͷϕΫτϧxΛn࣍ݩͷϕΫτϧy΁ࣸ૾͢Δؔ਺fΛਪఆ͢Δֶशख๏
    t
    tn
    t2
    t1
    W(1) W(2)
    b(1) b(2)
    ✓(i+1) = ✓(i) ↵rEk
    E =
    1
    2
    X
    n
    (yn tn)2 E =
    X
    n
    tn ln yn
    rEk = (
    @Ek
    @✓1
    , ..
    @Ek
    @✓V
    )
    ग़ྗͱਖ਼ղͷޡࠩΛද͢ଛࣦؔ਺Λఆٛ͢Δɻ
    ೋ৐࿨ޡࠩʢࠨʣɺަࠩΤϯτϩϐʔޡࠩʢӈʣ
    ଛࣦؔ਺ʹର͢Δ֤ύϥϝλͷภඍ෼ͷ஋ͷू·Γʢޯ഑ʣΛ༻
    ͍ͯଛࣦؔ਺ͷ஋͕খ͘͞ͳΔΑ͏ʹύϥϝλΛߋ৽͢Δ͜ͱΛ
    ޯ഑߱Լ๏ͱݺͿɻಛʹҰ෦ͷ݁ՌͷΈΛར༻͢Δ֬཰తޯ഑߱
    Լ๏͕Α͘༻͍ΒΕΔɻ
    Αͬͯޯ഑͕ফ͑ͳ͍Α͏ͳͳΊΒ͔ͳ׆ੑԽؔ਺͕޷·ΕΔɻ
    ·ͨɺ֤ύϥϝλͷภඍ෼ΛݸผʹٻΊΔͷͰ͸ͳ͘ɺχϡʔϥ
    ϧωοτϫʔΫΛදؔ͢਺GΛ߹੒ؔ਺ͱݟཱͯΔ͜ͱͰɺ্ྲྀ
    ͷޡࠩͱࣗ਎ͷೖྗ஋ͷΈΛ࢖ͬͯܭࢉྔΛ཈͑ͳ͕Βޮ཰తʹ
    ޯ഑ΛٻΊΔख๏Λޡࠩٯ఻೻๏ͱݺͿɻ

    View Slide

  24. χϡʔϥϧωοτϫʔΫ: ֶश
    24
    • ࢀߟ
    (PʹΑΔޯ഑߱Լ๏ཧ࿦ͱ࣮ફ
    IUUQTTQFBLFSEFDLDPNNPOPDISPNFHBOFHSBEJFOUEFTDFOUJOHPMBOH
    θϩ͔Β࡞Δ%FFQ-FBSOJOH

    View Slide

  25. ৞ΈࠐΈχϡʔϥϧωοτϫʔΫ
    25








    ੵ࿨ԋࢉ
    ৞ΈࠐΈ





    ࠷େ஋
    ೖྗσʔλʹରͯ͠ੵ࿨ԋࢉΛߦ͏ϑΟϧλΛద༻͠ɺ
    ಛ௃Ϛοϓͱͯ͠ग़ྗ͢Δɻۭؒ৘ใΛߟྀͰ͖Δɻ
    ࠷దͳϑΟϧλͷॏΈ͸ֶशʹΑͬͯ֫ಘ͢Δɻ
    • ۭؒత৘ใΛߟྀͨ͠χϡʔϥϧωοτϫʔΫ
    ϓʔϦϯά
    ೖྗσʔλʹରۭͯؒ͠ͷू໿Λߦ͏ϑΟϧλΛద༻
    ͢Δɻ࠷େ஋΍ฏۉ஋Λར༻͢ΔͷͰֶश͕ෆཁɻ
    ࡉ͔ͳҐஔมԽʹର͢Δؤڧੑʹߩݙ͢Δɻ
    ಛ௃நग़ث ࣝผث

    View Slide

  26. 26

    View Slide

  27. ಋೖ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  34. ϑΟʔυόοΫ

    View Slide

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

    View Slide

  36. GannoyʹΑΔಈతΠϯσοΫεߋ৽+ྨࣅը૾ݕࡧ
    36
    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

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

    View Slide

  38. 38
    ՝୊ͷڞ༗

    View Slide

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

    View Slide

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

    View Slide

  41. 41
    ఏҊख๏

    View Slide

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

    View Slide

  43. ࠶ؼܕχϡʔϥϧωοτϫʔΫ
    43
    • ܥྻ৘ใΛѻ͏χϡʔϥϧωοτϫʔΫ
    f
    W(1) W(2)
    W
    x1
    x2
    xt
    y1
    y2
    yt
    z
    z1
    z2
    zt
    x
    y
    zt 1
    zt
    xt
    ҎલͷೖྗʹӨڹΛड͚ΔΑ͏ͳॱংʹҙຯ͕͋Δܥྻσʔλ
    ΛऔΓѻ͏ͨΊɺதؒ૚ͷग़ྗΛࣗ਎ʹ໭͢ɻಈతʹ૚਺͕ม
    ΘΔωοτϫʔΫͱଊ͑ΒΕΔɻ
    ๨٫ήʔτ
    ग़ྗήʔτ
    ೖྗήʔτ
    ૚਺ͷਂ͍ωοτϫʔΫͱͯ͠ల։͞
    ΕΔܥྻσʔλΛѻ͏ͨΊɺ3//ͷ
    ϊʔυΛϝϞϦϢχοτʹஔ͖׵͑ͨ
    -45.͕ఏҊ͞Εͨɻ
    ೖग़ྗήʔτʹΑΓબ୒తʹσʔλΛ
    ௨աɺ๨٫ήʔτʹΑΓෆཁͳ৘ใΛ
    Ϧηοτ͢Δ͜ͱͰঢ়گมԽΛଊ͑ͳ
    ͕Β௕ظґଘͷܥྻσʔλΛѻ͑Δɻ

    View Slide

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

    View Slide

  45. ಋೖ

    View Slide

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

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

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

    View Slide

  51. ݚڀॴͱαʔϏεͷ࿈ܞ

    View Slide

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

    View Slide

  53. ػցֶशج൫

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

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

    View Slide

  58. ϩάج൫

    View Slide

  59. ϩάج൫
    59
    IDFA/GAID
    UID
    rack-bigfoot
    Service
    Request
    Activity
    log
    Services
    DB
    Attribute
    Big Cube
    Cube
    https://icons8.com
    BI
    Recommendation
    Bandit algorithm
    Re-marketing
    Feedback
    Name identification
    Cookie Sync

    View Slide

  60. SBDLCJHGPPU
    w3BJMTΞϓϦέʔγϣϯͱ'MVFOUEΛͭͳ͙3BDLϛυϧ΢ΣΞ
    w#JHGPPUʹඞཁͳڞ௨ύϥϝλΛϦΫΤετɾϨεϙϯεϔομ͔Βऔಘ
    wαʔϏεݻ༗ͷύϥϝλΛ෇༩͢Δ͜ͱ΋Մೳ
    Rails.application.config.app_middleware.insert_after ActionDispatch::Callbacks,
    Rack::Bigfoot do |config|
    config.service = 'minne'
    config.environment = Rails.env
    config.enable_fluent = Rails.env.production? || Rails.env.staging?
    config.ignore_path_patterns << %r(\A/healthcheck)
    config.headers << 'HTTP_X_CLIENT_VERSION'
    end

    View Slide

  61. 5SFBTVSF%BUB
    wΫϥ΢υܕσʔλϚωδϝϯταʔϏε
    wIUUQTXXXUSFBTVSFEBUBDPN
    wେ༰ྔͷϩάอଘɺ෼ࢄॲཧʹΑΔߴ଎ͳϩάૢ࡞
    log Plasma DB
    HiveQL
    export
    SQL
    aggregate
    Data Tanks

    View Slide

  62. ϫʔΫϑϩʔ
    w5SFBTVSF%BUBͷεέδϡʔϧΫΤϦΛར༻
    wΫΤϦͷίʔυ؅ཧ༻ʹ1FOEVMVNΛ։ൃ
    wIUUQTHJUIVCDPNNPOPDISPNFHBOFQFOEVMVN
    w%4-ʹΑͬͯεέδϡʔϧΫΤϦΛهड़͠ɺίʔυ؅ཧ
    Scheduled queries
    Queries on GitHub
    Apply
    Pendulum

    View Slide

  63. 3.
    ։ൃऀࢹ఺͔Βݚڀऀࢹ఺΁ɻ
    ͋Δ͍͸ͦͷཱ྆ɻ

    View Slide

  64. ݚڀͬͯͳΜͩ

    View Slide

  65. • ։ൃऀͱͯ͠ͷ೰Έ
    • ط஌ͷػցֶशख๏ΛαʔϏε՝୊ʹద༻͢ΔΞϓϩʔν
    • ৽نੑΛࣔ͠ʹ͍͘ͷͰ͸ͳ͍͔
    • ط஌ͷػցֶशख๏ͷධՁͱͳͬͯ͠·͏ͷͰ͸ͳ͍͔
    65
    ݚڀͬͯͳΜͩ

    View Slide

  66. • ݚڀͱ͸ɺ໨తͰ΋खஈͰ΋ͳ͘ʮաఔʯͰ͸ͳ͍͔
    66
    ݚڀͬͯͳΜͩ
    ͋Δ΂͖ੈքʹ޲͚ͯɺ٬؍తʹ࣮֬ʹҰาਐΜͩূ͕
    ݚڀใࠂͰ͋Γɺ࿦จͰ͋Γɺ੒ՌͰ͋Δ
    • ͋Δ΂͖ੈքͷఆٛ
    • ͋Δ΂͖ੈքΛఆٛ͢Δɺ·ͨ͸ͦ͜ʹࢸΔख๏Λ࣮֬ʹਐΊΔͨΊͷ

    ઌߦݚڀͷཧղ
    • ͨΏ·͵ࢥߟʹΑΔ஍ಓͳҰาͮͭͷલਐ

    View Slide

  67. ྨࣅը૾ݕࡧɺ࠶ߟ

    View Slide

  68. • ৘ใ୳ࡧϓϩηε͸γεςϜଆͷ
    ٕज़ৄࡉ͚ͩͰ͸ͳ͘ɺ͜ͷϓϩ
    ηεΛۦಈ͢ΔओମͰ͋Δར༻ऀ
    ͕ଘࡏ͢Δ
    • ར༻ऀαΠυΛத৺ͱͨ͠৘ใ୳
    ࡧϓϩηεϞσϧͷઌߦݚڀʹΑ
    Γɺ৘ใཁٻ͸ɺ༷ʑͳจ຺ʹΑ
    ΓมԽ͍ͯ͘͜͠ͱ͕Θ͔͍ͬͯ
    Δ
    68
    ͳΊΒ͔ͳϚονϯάʹ޲͚ͯ
    ৘ใཁٻΛऔΓרٕ͘ज़ͱϓϩηεϞσϧؔ࿈ਤ
    จ຺ʹΑΓ࠷దͳԠ౴͕มԽ͢ΔͷͰ͋Ε͹ɺ
    ٕज़ؒͰͷ༏ҐੑධՁͰ͸ͳ͘ɺ
    ঢ়گʹԠͨ͡બ୒͕ྑ͍ͷͰ͸ͳ͍͔

    View Slide

  69. • ར༻ऀͷऔΓ͏Δߦಈ͕จ຺ʹΑΓมԽ͢ΔͱԾఆ্ͨ͠Ͱɺਫ਼៛ͳจ຺ͷ೺
    Ѳฒͼʹ՝୊ઃఆͷ໌֬ԽࢧԉΛ௨ͯ͠ɺ௚ײతͳ໰͍߹ΘͤʹԠ౴Ͱ͖Δ࢓
    ૊Έ
    69
    ͳΊΒ͔ͳϚονϯάʹ޲͚ͯ
    1. จ຺ʹΑΓԠ౴ͷධՁ͕มΘΔ͜ͱͷ֬ೝ
    2. ར༻ऀͷจ຺ͷύλʔϯ෼ྨͱࣝผख๏ͷཱ֬
    3. ඞཁʹԠͯ͡௚ײతͳ໰͍߹ΘͤʹԠ౴Ͱ͖Δݕࡧ৘ใٕज़ͷಋೖ
    4. ՝୊ઃఆͷ໌֬Խࢧԉͷݕ౼

    View Slide

  70. ݚڀͱ։ൃͷཱ྆

    View Slide

  71. • ͋Δ΂͖ੈքʹ޲͚ͯ٬؍తɺ࣮֬ʹาΜͰ͍ͨ͘ΊͷݚڀऀεΩϧ
    • ՝୊Λղܾ͠ɺαʔϏεʹద༻͢ΔͨΊͷ։ൃऀεΩϧ
    • ͜ΕΒͷ૬৐ޮՌ͕ɺࣄۀΛࠩผԽ͢ΔͨΊͷٕज़Λ࡞Γग़͠ɺࣄۀͷ੒௕ʹ
    ߩݙ͢Δʂ
    71
    ݚڀͱ։ൃͷཱ྆

    View Slide

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

    View Slide

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

    View Slide