Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ペパボ研究所がOneLoveな理由/Why pepaken is one love
Search
monochromegane
July 06, 2017
Technology
3
910
ペパボ研究所がOneLoveな理由/Why pepaken is one love
ペパボ研究所 やさしい発表会 - ペパボ研究所で事業を差別化する -
monochromegane
July 06, 2017
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
150
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
530
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
280
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
640
Go言語でMac GPUプログラミング
monochromegane
1
390
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
840
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
1.9k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
720
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
660
Other Decks in Technology
See All in Technology
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
230
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
490
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
4
530
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
860
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
強いチームと開発生産性
onk
PRO
33
11k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
570
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
How to Ace a Technical Interview
jacobian
276
23k
Building Your Own Lightsaber
phodgson
103
6.1k
How GitHub (no longer) Works
holman
310
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
BBQ
matthewcrist
85
9.3k
Six Lessons from altMBA
skipperchong
27
3.5k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Transcript
- ϖύϘݚڀॴͰࣄۀΛࠩผԽ͢Δ - ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo,
Inc. 2017.07.06 ϖύϘݚڀॴ ༏͍͠ൃදձ ϖύϘݚڀॴ͕OneLoveͳཧ༝
ϓϦϯγύϧΤϯδχΞ ࡾ ༔հ / @monochromegane 2 http://blog.monochromegane.com Yusuke Miyake ϖύϘݚڀॴ
ݚڀһ
1. ϖύϘݚڀॴͷϛογϣϯ 2. ϖύݚͱαʔϏεͷؔ 3. ݚڀ։ൃࣄྫͷհ 3 ࣍
1. ϖύϘݚڀॴͷϛογϣϯ
5 ϖύϘݚڀॴ(ུশʮϖύݚʯ)ɺࣄۀΛࠩผԽ Ͱ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹʮͳΊΒ͔ͳγες Ϝʯͱ͍͏ίϯηϓτͷԼͰݚڀ։ൃʹऔΓΉ ৫Ͱ͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/
ͳͥݚڀ͔
• ݚڀɺࣄ࣮ཧΛ໌Β͔ʹ͢Δʹ͋ͨΓɺ৽نੑɺ༗ޮੑɺ৴པੑΛ٬؍ తʹࣔ͞ͳ͚ΕͳΒͳ͍ • طଘख๏ͷௐࠪ(వ)ɺ뱌(ઈ)ɺจԽ(࿅)Λܦͯɺख๏ͷঢ՚(ൃ)ʹࢸΔ • ݚڀతΞϓϩʔνͷ෮ʹΑͬͯɺཧख๏͕લਐ͢Δ(Ԡ༻ɺܥ౷) • ٕज़͕ҰൠԽ͢Δ࣌ͰɺݚڀΛ௨ͯ͋͠Δख๏ʹ͓͚Δ৽نੑΛݗҾͰ͖ ΔଘࡏͱͳΔ͜ͱ͕ɺࠩผԽͰ͖Δٕज़Λ࣋ͭ͜ͱʹͭͳ͕Δ
7 ͳͥݚڀ͔ ࠩผԽͰ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹɺݚڀతΞϓϩʔν͕༗ޮ
2. ϖύݚͱαʔϏεͷؔ
9 ΞΧσϛοΫͳਫ४ʹ͓͚Δ৽نੑɾ༗ޮੑɾ৴ པੑΛٻ͢ΔݚڀΛߦ͏ͱͱʹɺݚڀ։ൃ͠ ٕͨज़Λ࣮ࡍͷγεςϜͱ࣮ͯ͠ɾఏڙ͢Δ͜ ͱΛ௨ͯ͠ɺࣄۀͷʹߩݙ͠·͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/
10 ϖύݚͱαʔϏεͷؔ ࣄۀΛࠩผԽ͢ΔͨΊʹɺݚڀॴͱαʔϏεͷ࿈ܞ͕ඞਢ ݚڀ ։ൃ ӡ༻ ՝ͷڞ༗ ݚڀʹΑΔղܾ ಋೖ࣌ͷΤϯδχΞؒ࿈ܞ ݚڀ։ൃ݁ՌΛଈ࣌αʔϏεʹಋೖ͢ΔΈͱɺಋೖޙͷϑΟʔυόοΫʹΑΔαΠΫϧͷߴ
ԽʹΑͬͯɺݚڀ։ൃͷߴԽͱࣄۀͷࠩผԽʹͭͳ͛Δ
11
3. ݚڀ։ൃࣄྫͷհ
ಛநग़ثͷֶशͱߪങཤྺΛ ඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔ ؔ࿈ݕࡧγεςϜ
14 ՝ͷڞ༗ େ͖ͳ୯ҐͰͷ՝ʢઓུʣͷڞ༗ • minneʹ͓͍ͯɺ࡞ͱͷग़ձ͍ͷ֬Λ্͛Δ͜ͱ͕ઓུͷͻͱͭͱ্ͯ͠ ͛ΒΕ͍ͯΔɻݱࡏɺminneʹඦສͷ࡞͕ొ͞Ε͓ͯΓɺαʔϏε ར༻ऀͷ௨ৗͷߦಈͰશͯͷ࡞ΛݟͯճΔ͜ͱࠔͰ͋Δɻ • ඞવతʹαʔϏεར༻ऀ͕ߪೖ͍ͨ͠ͱࢥ͏࡞ͱग़ձ͏֬Լ͖ͯͯ͠ ͓Γɺ͜ͷ֬Λ্͛Δ͜ͱ͕ɺ͓ങ͍ମݧͷ࠷େԽͷͨΊʹٻΊΒΕ͍ͯ
Δɻ
• ճ༡ͷಋઢΛ૿͢ඞཁ͕͋ΔɻAmazonָఱͱ͍ͬͨECαΠτͰؔ࿈ ࡞Λఏࣔ͢Δ͜ͱͰͷݕ౼Λܧଓͤ͞Δճ༡͕͋ΓɺͦͷͨΊʹͳΜ Β͔ͷ؍Ͱؔ࿈͍ͯ͠Δ͜ͱΛγεςϜతʹѻ͑Δঢ়ଶʹ͢Δඞཁ͕͋Δ 15 ண؟ͱํࣜ • ௨ৗɺDB্ʹؚ·ΕΔใʢߏԽͨ͠ใʣʹΑͬͯಉҰࢹͰ͖Δͷ ʢminneͰݴ͑ಉ͡ΧςΰϦɺಉ͡৭ʣͳͲΛ༻͍Δ͕ɺ͜Ε·Ͱʹͳ͍ؔ ࿈࡞ͷಋઢΛ૿ͨ͢Ίɺ·ͩߏԽ͞Ε͍ͯͳ͍ใΛminneͰऔΓѻ
͑ΔΑ͏ʹ͍ͯ͘͠ɻ
• ߪങཤྺͷใ͕ෆཁͰྨ༻ͷՃใͱͯ͠Ͱͳ͘ɺৗʹઃఆ͞ΕΔ ը૾Λର • ಋೖઌͷECαΠτͷʹґଘ͠ͳֶ͍शෆཁͰ൚༻తͳֶशࡁΈωοτ ϫʔΫΛಛநग़ثͱͯ͠࠾༻ • ಛநग़ث͔ΒಘΒΕͨಛྔΛͱʹۙࣅۙ୳ࡧʹΑΓྨࣅը૾Λݕࡧ 16 ఏҊख๏
17
ಛྔม 18 Service Object Storage GCP image to data data
to feature vectorizer by Inception-v3 Annoy Workers • ͋Δ࣌·Ͱͷ࡞ը૾ҰཡΛಛྔʹม͢Δ • มͨ͠ಛྔҰཡΛۙࣅۙ୳ࡧσʔλϕʔεʹೖ͢Δ
• ۙࣅۙ୳ࡧσʔλϕʔεΛmruby-annoy + ngx_mrubyʹͯAPIԽ • ࡞ৄࡉʹྨࣅը૾Λ༻͍ͨؔ࿈࡞Λදࣔ͢Δ 19 ྨࣅը૾ݕࡧ Nyah mruby-annoy
on ngx_mruby products#show product_id nearest products CTR Analytics NNS ˞ۙࣅۙ୳ࡧ࣌ʹେ෦ͷΠϯσο ΫεͷΞΫηε͕ൃੜ͢ΔͨΊ࣮༻ తͳΛಘΔͨΊʹσʔλϕʔε ϑΝΠϧ͕શͯϖʔδΩϟογϡʹࡌ ΔαΠζͷϝϞϦ͕ඞཁ
ྨࣅը૾ʹΑΔؔ࿈࡞ݕࡧ 20
ྨࣅը૾ʹΑΔؔ࿈࡞ݕࡧ 21
ΫϦοΫͱίϯόʔδϣϯ 22 طଘ ఏҊ $53 $73
˞ఏҊख๏ʹΑΔબఆ͕ߦ͑ͳ͍߹ʹαʔϏεͷ ػձଛࣦΛආ͚ΔͨΊطଘख๏ʹΑΔબఆΛߦͬͯ ͍ΔͨΊݕূظؒதͷ֤ख๏ͷදׂࣔ߹طଘ ɺఏҊͰ͋ͬͨ ˞ίϯόʔδϣϯΫϦοΫʹର͢Δߪೖ͔ ΒٻΊͨ طଘ ఏҊ ૉࡐɾࡐྉγΣϧ ૉࡐɾࡐྉϦϘϯɾςʔϓ ૉࡐɾࡐྉϘλϯ ͵͍͙ΔΈɾਓܗ͋Έ͙ΔΈ χοτɾฤΈηʔλʔɾΧʔσΟΨϯ ఏҊख๏͕༗ޮͰ͋ͬͨΧςΰϦ
ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ 23 ࡾ ༔հ, দຊ ྄հ, ྗ ݈࣍, ܀ྛ ݈ଠ,
ಛநग़ثͷֶ शͱߪങཤྺΛඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔؔ࿈ݕࡧγ εςϜ, ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, Vol.2017-IOT-37(4), pp.1-8, May 2017 http://id.nii.ac.jp/1001/00178892/
ϑΟʔυόοΫ
Gannoy Approximate nearest neighbor search server and dynamic index written
in Golang. https://github.com/monochromegane/gannoy
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
ΞΫηεස༧ଌʹجͮ͘ ԾαʔόͷܭըతΦʔτεέʔϦϯά
28 ՝ͷڞ༗
• ैྔ՝ۚͷԾαʔόӡ༻ʹ͓͍ͯ࠷దͳϦιʔεधཁͷ༧ଌίετΧοτʹͭͳ͕Δ • WebαʔϏεͷϦιʔεधཁϦΫΤετॲཧ݅ɺͭ·ΓΞΫηεͱ૬͕ؔ͋Δͣ • Ϧιʔεͷ૿ݮʹ͋Δఔͷ͕͔͔࣌ؒΔͨΊɺϦΞϧλΠϜͰͳ͘ҰఆִؒͰͷΞ Ϋηε༧ଌͰेͱߟ͑Δ 29 ண؟ͱํࣜ ΞΫηεΛ༧ଌͰ͖ΔΑ͏ʹͳΕ
ɺϐʔΫλΠϜʹ͋Θͤͨݟੵ Γ͔Β࣌ؒ͝ͱͷ࠷దʢͱࢥΘΕ ΔʣݟੵΓ͕ՄೳʹͳΔ
• WebαʔϏεશମͰҰఆ࣌ؒʹॲཧͨ͠ΞΫηεසͰ͋ΔεϧʔϓοτΛ ࢦඪͱ͠ɺӡ༻্ɺܦݧతʹѲ͞Ε͍ͯΔ҆ఆͯ͠ӡ༻ՄೳͳΛࢦ͢ • աڈͷΞΫηεසͱෆఆظͳมಈཁҼ͔Β༧ଌϞσϧΛಋ͘ • ༧ଌతͳߏมߋΛ՝ۚ୯ҐͰ͋Δ1࣌ؒΛ୯Ґʹߦ͏ 30 ఏҊख๏
31 ఏҊख๏
32 ΞΫηεස༧ଌϞσϧ ΞΫηεස༧ଌϞσϧ ֶशσʔλΫϥυαʔϏεͷඪ४՝ ۚ୯ҐͰ͋Δ࣌ؒΛཻͱ͢Δ 8FCαʔϏεͷ࠷ఆৗੑΛ֬ೝͰ͖Δ࣌ؒͷσʔλ Λೖྗͱ͠ɺ࣍ͷ࣌ؒͷΞΫηεස༧ଌΛग़ྗͱ͢Δ ˞࣌ؒޙҎ߱༧ଌΛؚΊͨظΛೖྗͱ͢Δ
33 Ծαʔόࢉग़ • ༧ଌͨ͠ΞΫηεසΛجʹɺWebαʔϏεΛ҆ఆͯ͠ӡ༻ Ͱ͖Δ҆ͱͳΔεϧʔϓοτΛ֬อͰ͖ΔΛٻΊΔ ༧ଌΞΫηεසʹର͠εϧʔϓοτΛ ֬อͰ͖ΔΛࢉग़͢Δ 5<ΞΫηεස> 1<༧ଌΞΫηεස࣌> -αʔόԼݶ
• ࠓճͷධՁͰɺରͷ WebαʔϏεʹ͓͍ͯཌ ͕ฏͷ߹ɺؒʹΞΫ ηεස͕૿Ճ͢Δͱ͍͏ ܦݧଇΛཁҼͱͯ͠Ճ͑ͨ 34 ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼ͷධՁ
35 ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼ͷධՁ ؒʹීஈͱҟͳΔͱͳΔಛੑΛଊ ͑ͨ༧ଌ͕ߦΘΕ͍ͯΔɻ
36 ܭըతΦʔτεέʔϦϯάͷධՁ ԾαʔόͷਪҠ ͋ͨΓͷαʔό૯ىಈ࣌ؒ"܈ ը૾্ Ͱ͔࣌ؒΒ࣌ؒʹɺ#܈ ը૾Լ Ͱ ͔࣌ؒΒ࣌ؒʹݮ
˞"܈ͷ࣌ࢉग़͕ԼݶΛԼ ճͬͨͨΊɺͷมಈݟΒΕͳ͍
37 ܭըతΦʔτεέʔϦϯάͷධՁ ΞΫηεසͷਪҠ ͋ͨΓΞΫηεසͷඪ४ภࠩ"܈ ը ૾্ Ͱ͔Βʹɺ#܈ ը ૾Լ Ͱ͔ΒʹมԽɻ
ख๏ద༻ޙʹεϧʔϓοτ͕҆ఆ͍ͯ͠Δ ͜ͱ͕Θ͔Δɻ ˞"܈ͷ૿ՃԼݶӡ༻ͱͳͬͨ࣌ؒଳ ͷ͋ͨΓͷεϧʔϓοτ૿ՃʹΑΔ ͷͱߟ͑ΒΕΔ
ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ 38 ࡾ ༔հ, দຊ ྄հ, ྗ ݈࣍, ܀ྛ ݈ଠ,
ΞΫηεස༧ ଌʹجͮ͘ԾαʔόͷܭըతΦʔτεέʔϦϯά, ݚڀใࠂ Πϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, Vol.2017-IOT-38(13), pp.1-8, June 2017 http://id.nii.ac.jp/1001/00182375/
ݚڀ݁ՌͷαʔϏεಋೖ
1. ج൫ԽɺAPIԽʹΑΔݚڀڥͱαʔϏεͷγʔϜϨεͳ࿈ܞ 2. ίʔυཧɺόʔδϣϯཧʹΑΔݚڀͱӡ༻ͷฒߦ 40 ݚڀ݁ՌͷαʔϏεಋೖ ݚڀ݁ՌͷαʔϏεಋೖଈ͔࣌ͭશࣾల։Ͱ͖Δ͜ͱ͕·͍͠
1. ϩάDBͳͲͷαʔϏεࢿ࢈ͱ࿈ܞͰ͖Δ 2. ൺֱత༰қʹϞσϧͷߏஙͱࢼߦ͕ߦ͑Δ 3. ֶश݁ՌΛར༻͢ΔͨΊͷखஈͱͯ͠APIΛఏڙ͢Δ 1. ֶश݁ՌͷϩʔΧϧར༻͕Ͱ͖Δͱͳ͓Α͍ 4. ্هͷΈ͕εέʔϥϒϧͰ͋Δ͜ͱ
41 ػցֶशج൫ʹٻΊΒΕΔͷ
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/
StarChart StarChart is a tool to manage Google Cloud Machine
Learning training programs and model versions https://github.com/monochromegane/starchart
• όʔδϣϯཧͷସʹ͓͚Δஅج४ͱͳΔ܇࿅ϓϩάϥϜɺύϥϝλɺδϣ ϒใ·ͰؚΊͯίʔυͰཧ • ֶश࣌ͷδϣϒIDCloud Storageͷύεɺόʔδϣϯʹඥͮ͘ύϥϝλใ ͷऔಘʹ·ͭΘΔCloud MLͷࡉ͔ͳ͍উखվળ 44 StarChart
·ͱΊ
• ϖύݚͱαʔϏεͰେ͖ͳ୯ҐͰͷ՝ͷڞ༗Λܧଓ͢Δ • ݚڀ݁ՌͷಋೖͱϑΟʔυόοΫΛߴʹ͢Δ͜ͱ͕ࣄۀͷࠩผԽʹͭͳ͕Δ • ϖύݚݚڀ݁ՌΛଈ͔࣌ͭશࣾͰར༻Ͱ͖Δج൫Λ • αʔϏεಋೖɺӡ༻࣌ͷΤϯδχΞؒ࿈ܞΛ 46 ·ͱΊ
͍·ΑΓʮΈΜͳʯͷ෯Λ͛ɺͦͷʮΈΜͳʯʹରͯؔ͠৺Λ͍࣋ͬͯ͘ One Love ❝ http://blog.kentarok.org/entry/2016/12/21/002537
ݚڀһɺੵۃతʹืूதʂ http://rand.pepabo.com/
• ϖύϘݚڀॴ • 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 ࢀߟ