Sanny: 大規模ECサイトのための精度と速度を両立した分散可能な近似近傍探索エンジン/iot42_sanny
by
monochromegane
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2018.06.28 ୈ42ճ ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ Sanny: େنECαΠτͷͨΊͷ ਫ਼ͱΛཱ྆ͨ͠ ࢄՄೳͳۙࣅۙ୳ࡧΤϯδϯ
Slide 2
Slide 2 text
1. ECαΠτʹ͓͚ΔࣗಈఏҊͷഎܠͱຊݚڀͷత 2. ैདྷͷۙࣅۙ୳ࡧͷ՝ 3. େنECαΠτͷͨΊͷͱਫ਼Λཱ྆ͨ͠ࢄՄೳ ͳۙࣅۙ୳ࡧΤϯδϯ 4. ࣮ݧͱߟ 5. ·ͱΊ 2 ࣍
Slide 3
Slide 3 text
1. ECαΠτʹ͓͚ΔࣗಈఏҊͷഎܠͱ ຊݚڀͷత
Slide 4
Slide 4 text
• ECαΠτͷใաଟΛղܾ͢ΔͨΊɼͷࣗಈఏҊඞਢػೳ • ECαΠτͷࣗಈఏҊػೳͰɼରʹର͢Δ͍͔ͭ͘ͷީิΛఏࣔ͢Δ • ECαΠτͷࣗಈఏҊػೳʹɼൢചػձͷଛࣦΛ͙ͨΊɼఏҊ༰ͷత֬ ͞ͱॆͳԠͷཱ͕྆ٻΊΒΕΔ 4 എܠ - ECαΠτͷࣗಈఏҊػೳ
Slide 5
Slide 5 text
• ͷࣗಈఏҊಉ࢜ͷྨࣅੑΛݩʹߦ͏ • ྨࣅੑͷൺֱʹɼػցతʹऔΓѻ͏͜ͱ͕Ͱ͖Δईͱͯ͠ଟ࣍ݩͷ࣮ϕ ΫτϧΛ༻͍Δ (= ಛྔ) 5 എܠ - ECαΠτͷࣗಈఏҊػೳͱۙ୳ࡧ ECαΠτͷࣗಈఏҊػೳʹɼͷಛྔू߹Λରͱͨۙ͠୳ࡧ͕ ඞཁͱͳΔɽ͜ͷ࣌ɼରͷಛྔ͕ݕࡧ࣭σʔλʢΫΤϦʣͱͳΔɽ
Slide 6
Slide 6 text
• େن શମ͔ΒఏҊରΛ୳ࡧ͢ΔͨΊɼಛྔू߹ͷ݅औΓѻ͏ʹ ൺྫͯ͠૿Ճ͢ΔɽେنͳECαΠτͰेສʙඦສ݅ͷಛྔू߹ͱ ͳΔɽ • ߴ࣍ݩ ಛੑͷత֬ͳදݱͷͨΊɼߴ࣍ݩͷಛྔ͕༻͍ΒΕΔɽֶशࡁΈCNN Λಛநग़ثͱͯ͠ར༻ͯ͠ը૾͔ΒಘΒΕΔಛྔɼςΩετΛࢄදݱ ม͢ΔWord2vec͔ΒಘΒΕΔಛྔͷ࣍ݩඦʙઍ࣍ݩͱͳΔɽ 6 എܠ - ECαΠτͷͷಛྔू߹
Slide 7
Slide 7 text
• ࣄલʹۙू߹ΛٻΊ͓ͯ͘ ͷՃɼߋ৽ɼআ͕සൟʹൃੜ͢ΔECαΠτͰɼఏҊ༰ͷաෆ ʹΑΔൢചػձͷଛࣦΛආ͚ΔͨΊɼࢉग़ࡁΈۙू߹ͷߋ৽Λఆظతʹߦ͏ ඞཁ͕͋Δɽ ·ͨɼΫΤϦͱͳΔର͕ECαΠτͷ֎෦͔Β༩͑ΒΕΔΑ͏ͳ߹ɼ ༧Ίࢉग़ࡁΈͷۙू߹Λར༻͢Δ͜ͱͰ͖ͳ͍ɽ ˠ ߴͳۙ୳ࡧ͕ඞཁ 7 എܠ - େن͔ͭߴ࣍ݩͳू߹ʹର͢Δۙ୳ࡧ(1/2) େن͔ͭߴ࣍ݩͷಛྔू߹ʹର͢Δۙ୳ࡧܭࢉྔ͕૿Ճ͢Δ
Slide 8
Slide 8 text
• ਫ਼Λ٘ਜ਼ʹͯ͠ܭࢉྔΛ͑Δۙࣅۙ୳ࡧ ਫ਼ͱ͕τϨʔυΦϑͷؔʹ͋ΔͨΊɼख๏ͷఆ͢Δσʔλ࣍ݩ Λ͑ͨ߹ʹਫ਼ͱͷཱ͕྆ࠔʹͳΔɽ 8 എܠ - େن͔ͭߴ࣍ݩͳू߹ʹର͢Δۙ୳ࡧ(2/2) େن͔ͭߴ࣍ݩͷಛྔू߹ʹର͢Δۙ୳ࡧܭࢉྔ͕૿Ճ͢Δ
Slide 9
Slide 9 text
ECαΠτͰऔΓѻ͏͔ΒɼఏҊ༰ͷత֬͞ͱ୳ࡧΛཱ྆ͨ͠ͷ ࣗಈఏҊػೳΛ࣮ݱ͢ΔͨΊɼ େن͔ͭߴ࣍ݩϕΫτϧू߹Λରͱͨ͠ਫ਼ͱΛཱ྆ͨۙ͠ࣅۙ୳ ࡧͷΈΛݕ౼͢Δ 9 ຊݚڀͷత
Slide 10
Slide 10 text
2. ैདྷͷۙࣅۙ୳ࡧͷ՝
Slide 11
Slide 11 text
• େنͳECαΠτͰѻ͏ಛྔɼେن͔ͭߴ࣍ݩϕΫτϧͷू߹ͱͳΔ • ࣗಈఏҊػೳͰɼ͜ͷू߹͔Βݕࡧ࣭σʔλʹྨࣅ͢Δ͍͔ͭ͘ͷϕΫτ ϧΛҙͷڑؔΛͬͯ୳ࡧ͢Δɽۙ୳ࡧɽ • ۙ୳ࡧʹ͓͍ͯɼਖ਼֬Ͱ͋Δ͕ɼσʔλͱ࣍ݩʹൺྫͯ͠ܭࢉྔ͕૿ Ճ͢Δઢܗ୳ࡧݱ࣮తͰͳ͍ • ׂۭؒہॴੑӶහܕϋογϡͳͲͷํࣜʹΑͬͯܭࢉྔΛݮ • ಛʹେن͔ͭߴ࣍ݩϕΫτϧू߹ʹରͯ͠ɼਫ਼Λ٘ਜ਼ʹͯ͠ܭࢉྔΛ ͑Δۙࣅղ͕༻͍ΒΕΔɽۙࣅۙ୳ࡧɽ 11 ࣗಈఏҊػೳͱۙࣅۙ୳ࡧ
Slide 12
Slide 12 text
• ࣗಈఏҊػೳʹɼఏҊ༰ͷత֬͞ͱॆͳԠ͕ٻΊΒΕΔɽ • ਫ਼ͱΛཱ྆͢Δۙࣅۙ୳ࡧͷΈ͕ඞཁɽ • ଟछଟ༷ͳۙࣅۙ୳ࡧͷΞϧΰϦζϜͦΕΒΛ࣮ͨ͠ϥΠϒϥϦ͕ެ։ɼ ར༻͞Ε͍ͯΔɽ • ΞϧΰϦζϜ͝ͱʹॴॴ͕͋ΓɼݸʑͷΞϧΰϦζϜվળޮՌ͕ݶఆత 12 ۙࣅۙ୳ࡧͷվળͱ՝ • ҰํͰɼଟ͘ͷΞϧΰϦζϜɼॲཧରσʔλͱ࣍ݩʹੑೳ͕ґଘ͢Δ • ୳ࡧ͋ͨΓͷॲཧରͷॖখ͕ɼશͯͷΞϧΰϦζϜʹޮՌత
Slide 13
Slide 13 text
13 େن͔ͭߴ࣍ݩϕΫτϧू߹ͷղ͘͠ݮ ߦํͷղ ྻํͷղ ྻํͷݮ ۙ ۙ ۙީิ ΫΤϦR ۙ BSHNJOE R Y Y㱨ۙީิ ΫΤϦR R@ R@ R@ E` R@ Y Y㱨9@ X_1 X_2 X_3 E` R@ Y Y㱨9@ E` R@ Y Y㱨9@ BSHNJO\E` R@ Y E` R@ Y E` R@ Y ^ Y㱨9 ྻ͝ͱʹڑܭࢉͷҰ෦Λ࣮ࢪ ڑܭࢉ݁ՌΛूͯۙ͠୳ࡧ ࣍ݩݮ
Slide 14
Slide 14 text
14 େن͔ͭߴ࣍ݩϕΫτϧू߹ͷղ͘͠ݮ ߦํͷղ ྻํͷղ ྻํͷݮ .VKB .BSJVT BOE%BWJE(-PXF4DBMBCMFOFBSFTUOFJHICPSBMHPSJUINTGPSIJHIEJNFOTJPOBM EBUB*&&&USBOTBDUJPOTPOQBUUFSOBOBMZTJTBOENBDIJOFJOUFMMJHFODF Ұఆͷσʔλ͝ͱʹղɽ֤ू߹ʹ͓͚ΔۙީิͱڑΛ ूۙ͠୳ࡧ͢Δɽ࣍ݩͷґଘ͕Δɽ +FHPV )FSWF .BUUIJKT%PV[F BOE$PSEFMJB4DINJE1SPEVDURVBOUJ[BUJPOGPSOFBSFTU OFJHICPSTFBSDI*&&&USBOTBDUJPOTPOQBUUFSOBOBMZTJTBOENBDIJOFJOUFMMJHFODF Ұఆͷ࣍ݩ͝ͱʹղɽ֤ू߹ʹ͓͚ΔશσʔλͷڑΛू ͯۙ͠୳ࡧɽσʔλͷґଘ͕Δɽ ओੳ 1$" ͳͲʹΑͬͯ࣍ݩݮΛߦ͏ɽਫ਼Λ֬อ͠ ͨݮݶք͕͋Δɽ #BCFOLP "SUFN FUBMz/FVSBMDPEFTGPSJNBHFSFUSJFWBMz&VSPQFBODPOGFSFODFPODPNQVUFS WJTJPO4QSJOHFS $IBN
Slide 15
Slide 15 text
3. େنECαΠτͷͨΊͷ ͱਫ਼Λཱ྆ͨ͠ ࢄՄೳͳۙࣅۙ୳ࡧΤϯδϯ
Slide 16
Slide 16 text
• ΫΤϦͱߴ࣍ݩϕΫτϧू߹Λҙͷ࣍ݩͰͨ͠෦ϕΫτϧ୯ҐͰฒ ߦʹۙ୳ࡧͨ݁͠Ռͷू߹Ͱ͋Δۙީิ͔Βɼ࠶ۙ୳ࡧΛߦ͏ɽ 16 ఏҊख๏ (໘) R@ R@ R@ 9@ 9@ 9@ /SFDPSET // R@ Y@O Y㱨9@ // R@ Y@O Y㱨9@ // R@ Y@O Y㱨9@ \ ^ \ ^ \ ^ BSHNJOE R Y Y㱨\ ^ 㱮 㱮 ղલ ղޙ ᶃ࣍ݩۭؒͷฒߦͨۙ͠୳ࡧ ᶄݻఆͷۙީิͷू ᶅۙީิͷઢܗ୳ࡧ ᶃ ᶄ ᶅ վળ ᶃ ᶄ ᶅ 2VFSZ
Slide 17
Slide 17 text
• ಛੑΛΑ͘දݱ͓ͯ͠Γߴਫ਼ʹྨࣅ͕ൺֱՄೳͳߴ࣍ݩ͔ͭີͳϕΫ τϧͷू߹Λରͱͨۙ͠ࣅۙ୳ࡧ • ֶशࡁΈCNNΛಛநग़ثͱͯ͠ར༻ͯ͠ը૾͔ΒಘΒΕΔಛྔू߹ • ςΩετΛࢄදݱม͢ΔWord2vec͔ΒಘΒΕΔಛྔू߹ • ͜ΕΒ͕ɼݕࡧ࣭σʔλ(ΫΤϦ)ʹର͢Δߴ࣍ݩϕΫτϧू߹ͷۙ୳ࡧ݁ Ռͷ্Ґू߹͕ɼΫΤϦͱߴ࣍ݩϕΫτϧू߹Λҙͷ࣍ݩͰͨ͠෦ ϕΫτϧ୯ҐͰۙ୳ࡧͨ݁͠Ռͷ্Ґू߹ͱྨࣅ͍͢͜͠ͱʹண 17 ఏҊख๏ (ਫ਼໘) ෦͕ྨࣅ͢Εશମ͕ྨࣅ͢ΔՄೳੑ͕ߴ͍σʔλಛੑ
Slide 18
Slide 18 text
18 Sanny: ఏҊख๏ͷ࣮ 4BOOZ 4BOOZ 4BOOZ // // 㱮 // // ᶃ ᶄ ᶅ 2VFSZ "MHPSJTN "MHPSJTN "MHPSJTN • ΫΤϦฒͼʹ୳ࡧରσʔλͷҙ࣍ݩͷͱ݁ՌͷूΛ୲͢Δ • ෦ϕΫτϧͷۙ୳ࡧΞϧΰϦζϜΘͳ͍ • ෦ϕΫτϧ͝ͱͷ୳ࡧॲཧಠཱͷͨΊࢄߏ͕Մೳ
Slide 19
Slide 19 text
4. ࣮ݧͱߟ
Slide 20
Slide 20 text
• σʔλಛੑʹΑΔఏҊख๏ͷਫ਼໘ͰͷޮՌͷࠩΛධՁ • 6ສ݅ͷ֤σʔληοτΛ4ׂɼఏҊख๏ʹΑΔۙ10݅ͷద߹Λൺֱ • ཚΛ༻͍ͨσʔληοτͰఏҊख๏༗ޮʹಇ͔ͳ͍ • Inception-v3Word2vecͷΑ͏ͳใྔ͕ѹॖ͞ΕͨσʔληοτͰ༗ޮ 20 σʔλಛੑʹΑΔ༗ޮੑ
Slide 21
Slide 21 text
• ׂͱ෦ϕΫτϧ͝ͱͷۙͷΈ߹ΘͤʹΑΔਫ਼ͷมԽΛධՁ • ఏҊख๏ͷޮՌ͕֬ೝ͞Εͨಛੑͷσʔληοτ100ສ݅ͰධՁ • ׂ֤Ͱۙ20͔Β1000݅Λݕূ 21 σʔλಛੑʹΑΔ༗ޮੑ
Slide 22
Slide 22 text
• ׂΛ૿Ճ͢ΔͱಉҰۙʹ͓͍ͯਫ਼͕Լ • ׂޙͷ࣍ݩ͕100Ҏ্ͱͳΔׂͰ࠷దͳۙΛٻΊΔ͜ͱ͕ඞཁ 22 σʔλಛੑʹΑΔ༗ޮੑ
Slide 23
Slide 23 text
• ఏҊख๏ʹΑͬͯɼਫ਼ͱ୳ࡧ͕ͲͷΑ͏ʹվળ͢Δ͔ΛධՁ • ୳ࡧରɼఏҊख๏ͷޮՌ͕ݟࠐΊΔInception-v3͔ΒಘΒΕͨσʔληο τ2048࣍ݩ100ສ݅ • ۙ୳ࡧͷΞϧΰϦζϜͱͦΕΒͷύϥϝλΛมԽ͠ͳ͕ΒTop10ۙ୳ࡧʹ ͓͚Δਫ਼ͱͷτϨʔυΦϑΛൺֱ͢Δ 23 ਫ਼ͱ୳ࡧͷτϨʔυΦϑ
Slide 24
Slide 24 text
• ॎ࣠୳ࡧඵͷٯදࣔɼ্ʹߦ͘ ΄Ͳߴɽԣ࣠ద߹ɽ • ݩͷΞϧΰϦζϜʹରͯ͠ఏҊख๏Λ ద༻ͨ͜͠ͱͰਫ਼ɼͷվળ͕ݟ ΒΕͨ 24 ਫ਼ͱ୳ࡧͷτϨʔυΦϑ
Slide 25
Slide 25 text
5. ·ͱΊ
Slide 26
Slide 26 text
• େن͔ͭߴ࣍ݩͳಛྔू߹Λରͱͨ͠ͷࣗಈఏҊػೳͷͨΊʹਫ਼ ͱΛཱ྆͢Δۙ୳ࡧͷΈ͕ඞཁ • ߴਫ਼ʹྨࣅ͕ൺֱՄೳͳߴ࣍ݩ͔ͭີͳϕΫτϧͷू߹Ͱ෦͕ྨࣅ͢ Εશମͱͯ͠ྨࣅ͢ΔՄೳੑ͕ߴ͍ಛੑΛ࣋ͭ͜ͱʹண • ෦ϕΫτϧू߹ʹର͢ΔࢄՄೳͳ୳ࡧͱूΛߦ͏ํࣜʹΑͬͯैདྷख๏ ΑΓਫ਼ͱͷ྆໘Ͱվળ͢Δ͜ͱΛ֬ೝ • ࠓޙɼ୯७ͳͰͳ͘σʔλͷภΓΛߟྀͨ͠ޮՌతͳׂΛݕ౼ͨ͠ ͍ɽ ·ͨɼࢄՄೳͳಛੑΛ׆͔ͨ͠ߏͰͷධՁΛਐΊ͍ͯ͘ɽ 26 ·ͱΊ
Slide 27
Slide 27 text
No content