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
990
ペパボ研究所がOneLoveな理由/Why pepaken is one love
ペパボ研究所 やさしい発表会 - ペパボ研究所で事業を差別化する -
monochromegane
July 06, 2017
Tweet
Share
More Decks by monochromegane
See All by monochromegane
ベクトル検索システムの気持ち
monochromegane
33
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
180
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
250
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
910
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
550
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
960
Go言語でMac GPUプログラミング
monochromegane
1
620
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
1.1k
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
2.2k
Other Decks in Technology
See All in Technology
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
120
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
Definition of Done
kawaguti
PRO
5
380
IIWレポートからみるID業界で話題のMCP
fujie
0
540
実践! AIエージェント導入記
1mono2prod
0
100
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
300
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
310
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
250
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
340
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.5k
Agentic DevOps時代の生存戦略
kkamegawa
0
590
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
110
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
For a Future-Friendly Web
brad_frost
179
9.8k
Unsuck your backbone
ammeep
671
58k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
How to Ace a Technical Interview
jacobian
276
23k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The World Runs on Bad Software
bkeepers
PRO
68
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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 ࢀߟ