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
1k
ペパボ研究所がOneLoveな理由/Why pepaken is one love
ペパボ研究所 やさしい発表会 - ペパボ研究所で事業を差別化する -
monochromegane
July 06, 2017
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
120
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
170
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
2.9k
ベクトル検索システムの気持ち
monochromegane
37
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
210
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
290
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
1k
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
680
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
1k
Other Decks in Technology
See All in Technology
「Linux」という言葉が指すもの
sat
PRO
4
140
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
200
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
3
200
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
350
会社紹介資料 / Sansan Company Profile
sansan33
PRO
7
380k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Designing Experiences People Love
moore
142
24k
Balancing Empowerment & Direction
lara
3
620
What's in a price? How to price your products and services
michaelherold
246
12k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Git: the NoSQL Database
bkeepers
PRO
431
66k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
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 ࢀߟ