Slide 1

Slide 1 text

ػցֶशνʔϜʹ͓͚Δ ιϑτ΢ΣΞΤϯδχΞ ໾ׂɺΩϟϦΞ ҏ౻ܟ඙

Slide 2

Slide 2 text

ࣗݾ঺հ • ΫοΫύουגࣜձࣾͰಇ͍͍ͯΔι ϑτ΢ΣΞΤϯδχΞ • ത࢜ʢ޻ֶʣ • TwitterΞΧ΢ϯτ: takahi_i • Φʔϓϯιʔεɿ RedPen 2

Slide 3

Slide 3 text

ུྺ 3 ݚڀऀ KDD PKDD ιϑτ΢ΣΞΤϯδχΞ ෼ࢄϑϨʔϜϫʔΫɿHadoop ݕࡧΤϯδϯɿSolrɺESɺSedueɺFAST ESP ݚڀपΓɿػցֶशɺϨίϝϯυɺNLP ࠷ۙ ػցֶश άϧʔϓ 2007೥ 2017೥

Slide 4

Slide 4 text

ຊ೔ͷτϐοΫ • ػցֶशνʔϜʹ͓͚Διϑτ΢ΣΞΤϯδχΞͷ໾ׂ • Webاۀʹ͓͚Δػցֶश෼໺ͷΩϟϦΞܗ੒ 4

Slide 5

Slide 5 text

ຊ೔ͷτϐοΫ • ػցֶशνʔϜʹ͓͚Διϑτ΢ΣΞΤϯδχΞͷ໾ׂ • Webاۀʹ͓͚Δػցֶश෼໺ͷΩϟϦΞܗ੒ 5

Slide 6

Slide 6 text

४උɿػցֶशϓϩδΣΫτͷಛ௃ • ௨ৗͷιϑτ΢ΣΞ։ൃͱҧ͍ • ίʔυ͚ͩͰ׬݁͠ͳ͍ • ίʔυΛಡΜͰ΋ৼΔ෣͍͕෼͔Βͳ͍ʢϞσϧʹৼΔ෣͍͕Ӆṭ͞Ε͍ͯΔʣ • ೖྗσʔλʹґଘ͢Δʢ͞Βʹೖྗͷ܏޲͕มԽ͢Δ͜ͱ͕͋Δʣ • ஌ݟΛڞ༗ʢ࣮૷Λཧղ͢ΔϝϯόΛෳ਺ἧ͑Δʣͯ҆͠શੑΛ֬อ͢Δͷ͕೉͍͠ • ಛʹΞϧΰϦζϜࣗମ͕೉͍͠৔߹ ࣮͸έΞ͠ͳ͚Ε͹ͳΒͳ͍෦෼͕ଟ͍ϓϩδΣΫτͱ͍͑Δ 6

Slide 7

Slide 7 text

࠷ۙͷྲྀΕ • ػցֶशͷಋೖɺ؅ཧͷ೉͠͞ΛΤ ϯδχΞϦϯάͰରॲ • σʔλαΠΤϯςΟετΛαϙʔτ ͢ΔνʔϜฤ੒ • MLΤϯδχΞɺσʔλΤϯδχΞ etc… • AIɺػցֶश෼໺Ͱ׆༂͢Διϑτ ΢ΣΞΤϯδχΞ͕૿Ճ 7 • Ͱ͸ɺػցֶशνʔϜͰιϑτ΢Σ ΞΤϯδχΞ͸Ͳ͏͍ͬͨߩݙΛ ͢Δ΂͖ͳͷ͔ʁ • ϓϩδΣΫτͷϥΠϑαΠΫϧʹ ஫໨͢Δͱ໾ׂ͕ݟ͑ͯ͘Δ

Slide 8

Slide 8 text

४උɿػցֶशϓϩδΣΫτͷαΠΫϧ ̏ͭͷεςʔδ͔ΒͳΔ 1. ࣮ݧɿ Jupyter Notebook Λར༻ ͯ͠୳ࡧతͳࢼߦࡨޡ 2. ίʔυ੔ཧɿϦϑΝΫλϦϯάɺ ϥΠϒϥϦԽɺCI 3. σϓϩΠ: αʔϏεԽɺCDɺ؂ ࢹ 8

Slide 9

Slide 9 text

४උɿػցֶशϓϩδΣΫτͷαΠΫϧ 9 • ࣮ݧɺίʔυ੔ཧɺσϓϩΠ͕άϧά ϧճΔ • αΠΫϧΛճͭͭ͠ΑΓྑ͍γεςϜʹ ਫ਼౓޲্ɺγεςϜͷؤ݈Խ

Slide 10

Slide 10 text

ѱ͍ϓϩδΣΫτɿαΠΫϧ͕ճΒͣ Ϟσϧ͕ݻఆ αΠΫϧ͕ճΒͳ͍ͱ • ਫ਼౓͕޲্͠ͳ͍ • σϓϩΠίετ͕ େ͖͍ 10

Slide 11

Slide 11 text

ػցֶशνʔϜͷΤϯδχΞʹٻΊΒ ΕΔ͜ͱ • ϓϩδΣΫτͷαΠΫϧΛߴ଎ɺ ҆શʹճͤΔ؀ڥͷ੔උ • ֤εςʔδͷ໰୊ΛɺΤϯδχ ΞϦϯάͰղܾ 11 ҎԼɺ֤εςʔδʹ͓͚Δ໰୊ ͱղܾํ๏ʹ͍ͭͯղઆͯ͠Ώ͘

Slide 12

Slide 12 text

࣮ݧεςʔδʹ͓͚Δ໰୊ ೋͭଘࡏ͢Δ 1. σʔλͷऔಘ 2. ܭࢉػϦιʔε 12

Slide 13

Slide 13 text

࣮ݧεςʔδʹ͓͚Δ໰୊ ೋͭଘࡏ͢Δ 1. σʔλͷऔಘ 2. ܭࢉػϦιʔε

Slide 14

Slide 14 text

σʔλऔಘʹؔ࿈͢ΔΞϯνύλʔϯ σʔλΛ؆୯ʹऔಘͰ͖Δ؀ڥΛߏங͢ΔલʹϦαʔνϟʔɺσʔλ αΠΤϯςΟετΛେྔʹޏ͏ 14 ஫ҙ • σʔλαΠΤϯςΟετͷΞ΢τϓοτ͸σʔλͷऔಘίετʹґଘ͢Δ • σʔλऔಘίετ͕େ͖͘ർฐ͢Δ؀ڥͰ͸σʔλαΠΤϯςΟετ͸े෼ͳ ݁ՌΛ࢒ͤͳ͍

Slide 15

Slide 15 text

σʔλʹΞΫηεͰ͖ͳ͍σʔλαΠ ΤϯςΟετͱ͸Կऀ͔ʁ ͍Θ͹ʮٰαʔϑΝʔʯ 15 αʔϑΝʔʹਫΛಧ͚Δඞཁ͕͋Δʂ

Slide 16

Slide 16 text

σʔλऔಘ • σʔλͷछྨɿ 1.σʔλϕʔεͷςʔϒϧ܈ʢϢʔβʣ • େ͖͞ɿ਺ϝΨόΠτʙ਺ΪΨόΠτ 2. ϩά • େ͖͞ɿ਺ΪΨόΠτʙ਺ϖλόΠτ • σʔλαΠΤϯςΟετ͕྆ํͷσʔλʹࣗ෼ͰΞΫηεͰ͖Δඞཁ͕͋Δ 16

Slide 17

Slide 17 text

σʔλ෼ੳج൫ • ڊେͳσʔλΛอ࣋͠ɺ؆୯ʹநग़Ͱ͖Δ ϓϥοτϑΥʔϜ • બ୒ࢶ͸ͨ͘͞Μɿ • ࣗࣾӡ༻ɿHiveʢHadoopʣɺSparkɺ Presto • ϗεςΟϯάαʔϏεɿBigQueryɺ RedshiftɺTreasureData 17

Slide 18

Slide 18 text

ࣾ಺ͷ͋ΒΏΔσʔλΛ෼ੳج൫ʹࡌ ͤΔ • ෼ੳج൫ͷબఆɺ࡞੒͕ऴྃ͠ ͨΒσʔλΛ෼ੳج൫ʹࡌͤΔ • ϩάऩूπʔϧΛར༻ͯࣗ͠ಈ ͰσʔλΛ౤ೖ͢Δ࢓૊ΈΛ੔ ͑Δ • ਓखʹΑΔσʔλ౤ೖ͸ 18

Slide 19

Slide 19 text

ฐࣾࣄྫɿ෼ੳج൫ • DWHνʔϜ͕୲౰ʢػցֶशνʔϜͱ͸ผʹଘࡏʣ • ඞཁͳσʔλΛSQLͰ؆୯ʹऔಘͰ͖Δ؀ڥΛ੔උͯ͠΋Β͍ͬͯ Δ • ৄ͘͠͸ɿ https://www.slideshare.net/mineroaoki/cookpad- techconf-2016-dwh 19

Slide 20

Slide 20 text

࣮ݧεςʔδʹ͓͚Δ໰୊ ೋͭଘࡏ͢Δ 1. σʔλͷऔಘ 2. ܭࢉػϦιʔε 20

Slide 21

Slide 21 text

ܭࢉػϦιʔεͷރׇ • ෳ਺ਓͰ୯ҰαʔόʹϩάΠϯͯ͠࡞ۀ • Ϧιʔε͕଍Γͳ࣮ͯ͘ݧ͕ਐ·ͳ͍ɻɻɻ 21

Slide 22

Slide 22 text

े෼ͳܭࢉػϦιʔεͷ֬อ • ػցֶशνʔϜͷϝϯόશһ͕ շదʹ࣮ݧͰ͖Δ؀ڥΛ੔͑Δ • GPU͕଍Γͳ͍ͱ͔͸ 22

Slide 23

Slide 23 text

ฐࣾࣄྫɿܭࢉػϦιʔε؅ཧ • ɹɹ @ayemos_y ࢯʹΑΔܭࢉػϦιʔε ͷ؅ཧ༻Slack΢ΣΞ • Slack্Ͱܭࢉثͷ֬อΛ͓ئ͍͢ΔͱEC2 ΠϯελϯεΛ࡞ͬͯ͘ΕΔɻ • ܭࢉػ͕࢖ΘΕͳ͘ͳΔͱࣗಈͰམͱͯ͠ ͘ΕΔʢ͓ۚͷઅ໿ʣ • ৄ͘͠͸ɿhttps://techlife.cookpad.com/ entry/2017/10/26/174345 23

Slide 24

Slide 24 text

ίʔυ੔ཧεςʔδʹ͓͚Δ໰୊ ̎ͭͷ໰୊͕͋Δ 1.ίʔυ͕ཧղͰ͖ͳ͍ 2.ϙʔλϏϦςΟ͕ແ͍ 24

Slide 25

Slide 25 text

ίʔυ੔ཧεςʔδʹ͓͚Δ໰୊ ̎ͭͷ໰୊͕͋Δ 1. ίʔυ͕ཧղͰ͖ͳ͍ 2. ϙʔλϏϦςΟ͕ແ͍ 25

Slide 26

Slide 26 text

࣮ݧεΫϦϓτ͕ཧղͰ͖ͳ͍ • ঢ়گɿͳΜ͔ಈ࡞͍ͯ͠ΔΑ͏͕ͩɺϞσϧΛੜ੒͍ͯ͠Δίʔυ͕ཧղͰ ͖ͳ͍ • ྫɿJupyter Notebook Λͦͷ··ίϐϖͨ͠εΫϦϓτ • ػցֶशΞϧΰϦζϜ͸೉͍͠㱺ίʔυ͕੔ཧ͞Ε͍ͳ͍ͱ΋ͬͱ೉͍͠ • ίʔυͷ੔ཧ͕ඞཁ 26 ·ͣ͸NotebookΛεΫϦϓτʹͯ͠Ώ͘

Slide 27

Slide 27 text

εΫϦϓτԽ • ࣮ݧεςʔδͰ࡞੒ͨ͠ Jupyter Notebook ʹهड़͞Ε͍ͯΔॲཧ Λ Python εΫϦϓτʹҠߦ • ࡞ۀɿ • ࣮ݧϑϩʔͷߏ଄Խɿ΂ͨॻ͖ͷॲཧ͔Βؔ਺ɺΫϥεͷநग़ • ͋Θͤͯؤ݈ੑͷ֬อɿϦϑΝΫλϦϯάɺςετ௥Ճ 27

Slide 28

Slide 28 text

ϦϑΝΫλϦϯά • ϓϩάϥϜͷ֎෦͔Βݟͨಈ࡞ Λม͑ͣʹιʔείʔυͷ಺෦ ߏ଄Λ੔ཧ͢ΔʢWikipedia Α Γʣ • ॴײɿGitHub ΍ Qiita Ͱެ։͞ Ε͍ͯΔػցֶशϓϩδΣΫτ ͸੔ཧ͞Ε͍ͯΔ΋ͷ͕গͳ͍ ʢଞ෼໺ͷίʔυͱൺֱʣɻ 28

Slide 29

Slide 29 text

ϦϑΝΫλϦϯά߲໨ ॳาతͳ੔ཧͰ΋ಡΈ΍͕͢͞޲্͢ΔʢCIɺCD΁ͷ෍ੴʣ • ؔ਺ͷ௕͞ • ม਺ͷείʔϓ • ؔ਺͕औΔҾ਺ͷ਺ • ϚδοΫφϯόʔͷఆ਺΁ͷஔ͖׵͑ • ಉ͡ॲཧΛҰՕॴʹ·ͱΊΔ • ਂ͍ωετ෦෼Λؔ਺ͱͯ͠நग़͢Δ 29

Slide 30

Slide 30 text

ࣗಈςετ • ςετɿೖྗʹରͯ͠ظ଴ͨ͠Ξ ΢τϓοτʹͳ͍ͬͯΔ͔Λݕূ ͢Δίʔυ • ࠷௿ݶɿલॲཧɺEnd-to-Endͷς ετ͸ॻ͘ 30

Slide 31

Slide 31 text

ςετͷԸܙ • ςετ=࢓༷ • υΩϡϝϯτΛॻ͍ͯ΋࣌ؒͱͱ΋ʹᴥᴪ͕ੜ·ΕΔ • CIͰಈ࡞͢Δςετʹ͸ᴥᴪ͕ͳ͍ • ॻ͍͓͍ͯͯ͋͛ΔͱɺϓϩδΣΫτΛҾ͖ܧ͙ਓͷཧղΛॿ͚Δ • ςετ͕ແ͍ػցֶशͷίʔυΛमਖ਼͢Δͷ͸ڪා 31

Slide 32

Slide 32 text

ͦͷଞͷίʔυ੔ཧεςʔδͰͷ࡞ۀ • ϫʔΫϑϩʔπʔϧͷಋೖ ʢmakeɺLuigi౳ʣ • ϩΨʔ௥Ճ • υΩϡϝϯτڧԽ • ܧଓతΠϯςάϨʔγϣϯͷ؀ڥ ੔උ 32

Slide 33

Slide 33 text

Ξϯνύλʔϯɿίʔυ੔ཧεςʔδʹ͓ ͚Δ෼ۀ ୳ࡧతͳ࣮ݧ ίʔυ੔ཧ Ϟσϧͷ σϓϩΠ • ةݥɿϦαʔνϟ͕ݕূ࣮ͨ͠ݧ಺༰ΛΤϯδχΞ͕੔ཧͯ͠σϓϩΠ • ػցֶशͷίʔυ͸௨ৗͷϓϩάϥϜΑΓ΋Ҿ͖ܧ͗ίετ͕େ͖͍ • ୭΋ϓϩδΣΫτΛཧղͰ͖ͳ͘ͳΔڪΕ͕͋Δ 33 33

Slide 34

Slide 34 text

ฐࣾࣄྫɿίʔυ੔ཧΛϖΞͰऔΓ૊ Ή • ίʔυ੔ཧ࣌ʹϦαʔνϟɺΤϯδχΞͷϖΞ Λ࡞Δ • ίʔυͷ஌ݟΛڞ༗ͭͭ͠࡞ۀ • νʔϜϝϯόͷίʔσΟϯάೳྗΛۉҰԽ ୳ࡧతͳ࣮ݧ ίʔυ੔ཧ Ϟσϧͷ σϓϩΠ 34

Slide 35

Slide 35 text

ίʔυ੔ཧͰͷ໰୊ ̎ͭͷ໰୊͕͋Δ 1. ίʔυ͕ཧղͰ͖ͳ͍ 2. ϙʔλϏϦςΟ͕ແ͍ 35

Slide 36

Slide 36 text

εΫϦϓτΛ࣮ߦ͢Δ؀ڥ͕࡞Εͳ͍ • ػցֶशΛѻ͏εΫϦϓτ͸ଟ਺ͷϥΠϒϥϦʹґଘ • PythonҎ֎ͷݴޠͰهड़͞Εͨπʔϧʹ΋ґଘʢMeCabͳͲʣ • ֤εςʔδʢ࣮ݧɺ੔ཧɺσϓϩΠʣ͝ͱʹҟͳΔ؀ڥʢܭࢉػʣ Ͱಈ࡞͢ΔͷͰ࣮ߦ؀ڥʹϙʔλϏϦςΟ͕ແ͍ͱਏ͍ɻɻɻ • ྫɿϩʔΧϧͰ͏·͘ಈ͍͍ͯͨεΫϦϓτ͕ຊ൪αʔόͰ͸ಈ ࡞͠ͳ͍ 36

Slide 37

Slide 37 text

ղܾํ๏ɿDocker Λಋೖ • ܰྔͳԾ૝Խ؀ڥ • PythonϥΠϒϥϦҎ֎ͷɺґଘ͢Δ؀ڥ΋Dockerfileʹهड़Ͱ͖Δ • ϓϩδΣΫτͷϙʔλϏϦςΟ͕޲্ 37

Slide 38

Slide 38 text

DockerͰ؀ڥΛԾ૝Խ 38 • ཧ૝ɿ࣮ݧஈ֊͔Β DockerͰ࡞ۀ • εςʔδ͕มΘͬͯ΋ ࣮֬ʹεΫϦϓτ͕ಈ ࡞͢Δ؀ڥ͕खʹೖΔ • ݁ՌɺϓϩδΣΫτͷ αΠΫϧ͕ճ͠΍͘͢

Slide 39

Slide 39 text

͔͠͠ɺɺDocker͸ɺɺগʑ൥ࡶ ίϚϯυ͕௕͍ɻɻɻɻ(TдT) 39 ϓϩδΣΫτຖʹϙʔτϑΥϫʔυɺ Πϝʔδɺίϯςφ໊Λ֮͑Δඞཁ͋Δ(TдT)

Slide 40

Slide 40 text

ྫɿDocker ίϚϯυ • Docker Πϝʔδͷ࡞੒ • docker build -t ml-image -f ./docker/Dockerfile . • Dockerίϯςφͷ࡞੒ • docker run -it -v `pwd`:/work -p 8888:8888 --name ml-image ml- container • ίϯςφͷ࡟আɺ࠶ੜ੒͢Δͨͼʹຖճಉ͡ίϚϯυΛଧͪࠐΉ… 40

Slide 41

Slide 41 text

ฐࣾࣄྫɿCookiecutter Docker Science • Docker؀ڥͰͷ࣮ݧʙσϓϩΠ·ͰΛαϙʔτ͢ΔCookiecutterςϯ ϓϨʔτΛ࡞੒ • ΦʔϓϯιʔεϓϩδΣΫτʢ࢖ͬͯΈͯ΋Β͑Δͱخ͍͠Ͱ͢ʣ • URL: https://docker-science.github.io/ • ιʔεɿhttps://github.com/docker-science/cookiecutter-docker-science • Cookiecutter: ϓϩδΣΫτͷςϯϓϨʔτੜ੒πʔϧ 41

Slide 42

Slide 42 text

ػೳɿCookicutter Docker Science • ΤϯδχΞϦϯάೳྗͷߴ͘ͳ͍ϝϯόͰ΋DockerΛѻ͍΍͘͢ • DockerͷίϚϯυΛ make λʔήοτͰӅṭ • Πϝʔδ໊ɺϙʔτɺϑΝΠϧϚ΢ϯτઃఆɺίϯςφ࡞Γ௚͠ etc … • ࣮ݧ͔Β੔ཧɺσϓϩΠ·ͰΛҙࣝͨ͠σΟϨΫτϦߏ੒Λग़ྗ • σΟϨΫτϦߏ੒ͷڞ௨ԽʹΑΓϓϩδΣΫτͷݟ௨͠ • Cookiecutter Data Science ͷߏ੒Λࢀߟʹͨ͠ 42

Slide 43

Slide 43 text

ϑΝΠϧɺσΟϨΫτϦߏ੒ͷ౷Ұ 43 make init Ͱ S3͔Βσʔ λΛμ΢ϯϩʔυ ֶशεΫϦϓτ͕ग़ྗ͢Δ ϞσϧΛอ࣋ ࣮ݧ༻ͷϊʔτϒο ΫΛอ࣋ ίʔυ੔ཧ࣌ʹ࡞ ΒΕΔϝιουɺΫϥε Λอ࣋ ϓϩδΣΫτͷϫʔ ΫϑϩʔΛ௥ه

Slide 44

Slide 44 text

Cookiecutter Docker Science ͷ࢖͍ํʢϓ ϩδΣΫτੜ੒ʣ $cookiecutter [email protected]:docker-science/cookiecutter-docker-science.git project_name [project_name]: image-classification project_slug [image_classification]: jupyter_host_port [8888]: description [Please Input a short description]: Classify images into several categories data_source [Please Input data source in S3]: s3://research-data/food-images 44

Slide 45

Slide 45 text

σϞ: Cookiecutter Docker Science • ϓϩδΣΫτͷੜ੒ • https://asciinema.org/a/ 6XV9dNixtzfUwWdoqLj7HG7A2 • Docker image / container ίϯςφ࡞੒ • https://asciinema.org/a/ 06CcXPubAj3RSiMSTy3CZDrfG • Jupyter Notebook Λ্ཱͪ͛Δ 45

Slide 46

Slide 46 text

σϓϩΠεςʔδʹ͓͚Δ໰୊ 46 • αʔόߏங΍όονεΫϦϓτ Ͱػցֶशͷ݁ՌΛσϓϩΠ͢ Δඞཁ͕͋Δɻ • ػցֶशͷ݁ՌΛεϜʔζʹσ ϓϩΠ͢Δʹ͸ɺΑ͍ج൫ʢΠ ϯϑϥʣ͕ඞཁ

Slide 47

Slide 47 text

ػցֶशͷ݁ՌΛσϓϩΠ͢Δίετ • ػցֶशνʔϜͷੜ࢈ੑ͸૊৫ͷΠϯϑϥٕ ज़ʹґଘ • ϓϩμΫγϣϯ؀ڥͰͷαʔόߏஙίετ ͕େ͖͍ͱɺػցֶशͷ੒ՌΛαʔϏεʹ ൓өͰ͖ͳ͍ • جຊɿػցֶशνʔϜͷϝϯόࣗ਎͕ GitHub ΍ GHE ʹϓϧϦΫΤετΛग़͢͜ͱ ͰɺϓϩμΫγϣϯ؀ڥʹαʔόΛߏஙͰ͖ Δ 47

Slide 48

Slide 48 text

ฐࣾࣄྫɿσϓϩΠͷޮ཰Խ • αʔό؅ཧ • ECSͷར༻ʢKubernates΋։࢝ʣ • Πϯϑϥ෦ʹΑͬͯ੔උ͞Ε͍ͯΔ • ػցֶशνʔϜࣗ਎ͰϓϩμΫγϣϯ؀ڥʹ αʔόΛߏஙͰ͖Δ؀ڥ͕ఏڙ͞Ε͍ͯΔ • ඞཁͳ࡞ۀɿઃఆϑΝΠϧΛϨϙδτϦʹ௥ Ճ͢Δ͚ͩʢهड़಺༰ɿೝূɺαʔόͷੑೳ etcʣ 48 • chie8842 ࢯʹΑͬͯػցֶशϓϩδΣ ΫτͷઃఆΛڞ௨Խ͕ਐΜͰ͍Δ • খ͞ͳϓϩδΣΫτͰ͋Ε͹ڞ௨ͷઃఆΛ ࢖͏ • ೝূɺதؒσʔλஔ͖৔ etc • σϓϩΠϑϩʔͷ؆ૉԽ • هड़͕ඞཁͳઃఆ߲໨Λѹॖ

Slide 49

Slide 49 text

ฐࣾࣄྫɿKelner • @_lunardog_ ࢯ͕։ൃ͍ͯ͠ΔOSSϓϩδΣΫτ • ര଎Ͱਂ૚ֶशͷϞσϧΛσϓϩΠ͢Δπʔϧ • URL: https://github.com/lunardog/kelner 49

Slide 50

Slide 50 text

·ͱΊɿػցֶशνʔϜʹ͓͚ΔΤϯ δχΞͷ໾ׂ • ػցֶशΛαʔϏεͰར༻͢Δʹ͸έΞ͢Δ෦෼͕୔ࢁ • ΞϧΰϦζϜɺσʔλͷऔಘɺίʔυͷ඼࣭ɺσϓϩΠ etc • ࣮ݧεςʔδͰ͸ݚڀೳྗ͕ཁٻ͞Εɺίʔυ੔ཧҎ߱Ͱ͸Τϯ δχΞϦϯάೳྗ͕ཁٻ • ݫີʹ෼ۀମ੍Λங͘ͷ͸೉͍ͨ͠Ίɺ֤ࣗͷೳྗͷ overlap ෦෼ Λ૿΍͢ͷ͕ॏཁʢϨϏϡʔɺϖΞϓϩͰ஌ݟڞ༗ͳͲʣ 50

Slide 51

Slide 51 text

ຊ೔ͷτϐοΫ • ػցֶशνʔϜʹ͓͚Διϑτ΢ΣΞΤϯδχΞͷ໾ׂ • Webاۀʹ͓͚Δػցֶश෼໺ͷΩϟϦΞܗ੒ 51

Slide 52

Slide 52 text

νʔϜن໛ʹΑͬͯҟͳΔΩϟϦΞ • ಉ͡MLνʔϜͰ΋νʔϜن໛ʹΑͬͯΩϟϦΞܗ੒͸ҟͳΔ • ࣗ෼͕ͳΓ͍ͨΤϯδχΞ૾ʹϚον͢Δن໛Λબ୒͢Δͷ͕Α͍ 52

Slide 53

Slide 53 text

খ͞ͳMLνʔϜͷϝϯό • ҰਓͰଟ༷ͳλεΫʹରॲ • ػցֶशϓϩδΣΫτͷαΠΫϧ͢΂ͯʹߩݙ͢Δ • σʔλऩूɺίʔυ੔ཧɺαʔόߏஙɺϞχλϦϯά • ϚϧνελοΫԽ • ػցֶशࣗମͷΞϧΰϦζϜΛಥ͖٧ΊΔ࣌ؒ͋·ΓऔΕͳ͍ 53

Slide 54

Slide 54 text

େ͖ͳMLνʔϜͷϝϯό • ෼ۀମ੍ͷ੔උ • ઐ໳ʹಛԽͨ͠ܦݧΛੵΊΔ • ྫɿ • Ϧαʔνϟɿ৽͍͠ΞϧΰϦζϜͷఏҊɺ࿦จ • ΠϯϑϥΤϯδχΞɿΤϨΨϯτͳMLσϓϩΠϑϨʔϜϫʔΫͷ ಋೖɺ֦ு 54

Slide 55

Slide 55 text

ͨͩ͠ɺͲͪΒͷ৔߹Ͱ΋ Ͳͷϝϯό΋࠷௿ݶ͍࣋ͬͯΔ΂͖ٕज़ελοΫ͸͋Δ • Git ͷͪΐͬͱৄ͍͠࢖͍ํ • rebaseɺstashɺίϛοτ·ͱΊʢsquashʣɺbisect etc… • Ծ૝ԽɿDocker • ίʔυͷ඼࣭΁ͷέΞ: ςετۦಈ։ൃ • Issue؅ཧɿJiraɺRedmine ϝϯόશһ͕Ͱ͖ΔͱϓϩδΣΫτΛ؅ཧ͠΍͍͢ 55

Slide 56

Slide 56 text

ฐࣾࣄྫɿػցֶशνʔϜΛߏ੒͢Δ ϝϯό • த͙Β͍ͷن໛ʢ߹ܭ໊̔ʣ • େ͖͘෼͚ͯೋछྨͷ໾ׂ͕͋Δ 1. ػցֶशΤϯδχΞɿػցֶशʴαʔϏε΁ͷΠϯςάϨʔγϣϯ ஫ɿϦαʔνϟدΓɺΤϯδχΞدΓͱ֤ࣗͷಘҙ෼໺͸ҧ͏ 2. ΠϯϑϥΤϯδχΞɿػցֶशͷج൫Λ࡞੒ • ͜ͷଞɺνʔϜ֎ʹ෼ੳج൫ɺશࣾΠϯϑϥνʔϜ͕͋Γଟ͘ͷαϙʔτΛ΋ Β͍ͬͯΔ 56

Slide 57

Slide 57 text

ฐࣾࣄྫɿػցֶशνʔϜϝϯόͷ໾ ׂ • զʑͷن໛Ͱ֤͕ࣗ໾ׂʹϚον͢Δ࢓ࣄ͚ͩΛ͢Δͱ૊৫͕ඇ ޮ཰ • ͔ͳΓྲྀಈతͳ໾ׂ෼୲ɻओۀ຿ͷ໾ׂҎ֎΋ੵۃతʹ୲౰ • ྫɿΠϯϑϥΛओۀ຿ʹ͢Δϝϯό͕σʔλ෼ੳΛ୲౰ • ҙਤɿ૊৫಺Ͱ֤ϝϯό͕ߩݙͰ͖Δ෯Λ૿΍͢ 57

Slide 58

Slide 58 text

ػցֶशʢR&Dʣʹ͓͚ΔΩϟϦΞܗ੒ͷ ೉͠͞ • Πϯϑϥ΍αʔϏε։ൃͱͷҧ͍ • ػցֶशࣗମ͸ແͯ͘΋αʔϏε͸੒Γཱͭ • ػցֶश͸αʔϏεΛΑΓྑ͘͢Δٕज़ • ձ͕ࣾظ଴͢ΔχʔζͱϚον͢Δ੒ՌΛग़͢Α͏ҙࣝ͠ͳ͍ͱ͓ՙ ෺૊৫ʹͳΓ΍͍͢ → νʔϜղମ ʗ(^o^)ʘ • ؀ڥʹΑΔधཁͷมಈ͕େ͖͘ɺҰ؏ͨ͠ΩϟϦΞΛங͖ʹ͍͘ɻɻɻ 58

Slide 59

Slide 59 text

ػցֶशνʔϜϝϯόͷੜଘઓུ • ෆ҆ఆͳ૊৫ͳͷͰɺ͋Δఔ౓͸ੜଘઓུΛҙࣝͨ͠ํ͕Α͍ • ML/AIधཁ͕ʢҰ࣌తʹʣݮਰͯ͠΋Ձ஋ΛࣦΘͳ͍Α͏ʹඋ͑Δ • ํ޲ੑ͸̎ͭ͋ΔʢϚϧνελοΫԽɺҰ఺ಥഁʣ 59

Slide 60

Slide 60 text

ੜଘઓུ̍ɿؔ࿈ٕज़ͷशಘ • ػցֶशͷεϜʔζͳಋೖʹ͸ଟ༷ͳؔ࿈ٕज़͕ඞཁ • ػցֶशʹؔ࿈͢Δٕज़΋शಘͯ͠ϚϧνελοΫԽ • ػցֶशҎ֎ʹؔ࿈෼໺Ͱ΋ڧΈΛ͍࣋ͬͯΔͱΑ͍ • ྫɿtakahi-i ݕࡧΤϯδϯʢSolrɺElasticsearchʣ͕ŧŔŕŪũƄŝſ • ػցֶशҎ֎Ͱ΋ձࣾʹߩݙͰ͖ΔΑ͏ʹ 60

Slide 61

Slide 61 text

ػցֶशͷपลͰར༻͞ΕΔٕज़ͷҰ෦ 61 ػցֶश

Slide 62

Slide 62 text

ετϨʔδʹؔ͢Δٕज़ ػցֶश • ֶशث͕ग़ྗ͢Δ݁Ռ͸ετϨʔδʹอ࣋ ͞Ε্ͨͰαʔϏεͰར༻͞ΕΔ • ݕࡧΤϯδϯɿSolrɺElasticsearch • σʔλϕʔεɿMySQLɺPostgreSQL • ·ͣ͸εΩʔϚɺςʔϒϧઃܭΛͰ͖ΔΑ ͏ʹ 62

Slide 63

Slide 63 text

Πϯϑϥʹؔ͢Δٕज़ 63 ػցֶश • ػցֶशͷαʔϏεಋೖΛޮ཰Խ͢Δͷʹར༻Ͱ ͖Δଟ༷ͳΠϯϑϥٕज़͕ଘࡏ͢Δ • ϫʔΫϑϩʔ؅ཧɿAirflow • ߏ੒؅ཧɿAnsibleɺChef • αʔό؅ཧɿDockerɺKubernatesɺECS • Πϯϑϥ͕ίʔυԽ͞Εͨ؀ڥͩͱɺػցֶशΤ ϯδχΞࣗ਎Ͱ͜ͷ͋ͨΓͷ࡞ۀ͕Ͱ͖Δ

Slide 64

Slide 64 text

αʔϏε։ൃͰར༻͢Δٕज़ 64 • σʔλϕʔεʹػցֶशͷΞϊςʔγϣϯ݁ՌΛอ࣋ͨ͠ޙɺ αʔϏεͰར༻͢ΔͨΊͷΠϯςάϨʔγϣϯ࡞ۀ͕ඞཁ • MVCϑϨʔϜϫʔΫʢRailsͳͲʣ • ·ͣ͸Ϟσϧɺίϯτϩʔϥ࡞੒Λࣗ෼Ͱ࡞Δ • ϑϩϯτͷௐ੔ɿJavaScriptɺCSS • ਐԽͷ଎౓͕ૣ͘ΩϟονΞοϓ͕େม͕ͩɺशಘ͢Δͱ αʔϏεʹಋೖ͠΍͘͢ͳΔ • ྫɿES̒ɺTypeScriptɺ ReactɺVueɺwebpack etc … ػցֶश

Slide 65

Slide 65 text

෼ੳج൫Ͱར༻͢Δٕज़ 65 • ॳาɿػցֶशͷσʔλΛ෼ੳج൫͔Βऔಘ͢ΔʢSQLʣ • தڃɿଟ༷ͳϏοΫσʔλϑϨʔϜϫʔΫΛ࢖͏ • PythonɺSQL͚ͩͰͳ͘ɺ෼ࢄϑϨʔϜϫʔΫ ʢHadoopɺSparkʣ্ͷίʔυ΋ॻ͘ܦݧΛੵΉ • ཧղΛਂΊΔͨΊʹझຯͰΞϧΰϦζϜΛ࣮૷ͯ͠ެ։ • ࣗ෼͕ੲ࡞ͬͨ΋ͷʢLSH ͷұ࣮૷ʣɿ https:// github.com/takahi-i/likelike • ཧ૝ɿ෼ੳج൫ͷվળʹ΋ߩݙ ػցֶश

Slide 66

Slide 66 text

஫ҙɿ਺ֶɺ෺ཧֶ෼໺ͷम࢜ɺത͔࢜Βσʔ λαΠΤϯςΟετʹస਎͕ਐΜͰ͍Δɻ த్൒୺ͳཧղɺΞ΢τϓοτͰੜ͖࢒Δͷ͸ ݫ͍͠ɻ ੜଘઓུ̎ɿػցֶशΛಥ͖٧ΊΔ • ෼໺ͱͯ͠ͷ೤͕ऩ·ͬͯ΋τοϓͷधཁ͸ ৗʹଘࡏ͠ଓ͚Δ • ػցֶश෼໺ʹ͓͍ͯɺ௒ҰྲྀͰ͋Δ͜ͱΛ ࣔ͢ • ఆظతʢԿ೥͔ʹҰճʣʹ Top ΧϯϑΝϨ ϯεʹ࠾࿥͞ΕΔ • NIPSɺICMLɺICCVɺCVPRɺCOLT etc… • Kaggle grand master 66

Slide 67

Slide 67 text

·ͱΊ • ػցֶशνʔϜʹ͓͚ΔΤϯδχΞͷ໾ׂʹ͍ͭͯղ આ • ϓϩδΣΫτͷ֤εςʔδʢ࣮ݧɺ੔ཧɺσϓϩΠʣ ͷ໰୊Λղܾ͢Δ • ؔ࿈͢ΔνʔϜɿ෼ੳج൫ɺΠϯϑϥ͕ॏཁͳ໾ׂ • ฐࣾͷࣄྫΛ͍͔ͭ͘঺հ • Webاۀʹ͓͚Δػցֶश෼໺ͷΩϟϦΞܗ੒ʹ͍ͭ ͯ঺հ 67

Slide 68

Slide 68 text

ืूɿݚڀ։ൃ෦໳ͷΞϓϦέʔγϣ ϯΤϯδχΞ • ืूதͰ͢ • ݚڀͷ੒ՌͱΫοΫύουͷ࣮αʔϏεΛڮ౉͠Λ͢ΔϙδγϣϯͰ͢ • PoCͰ͸ͳ࣮͘αʔϏεɺΞϓϦέʔγϣϯͷ։ൃ • ෼໺ɿػցֶशɺεϚʔτΩονϯ • ৄ͘͠͸ͪ͜ΒΛ͓ಡΈ͍ͩ͘͞ ɿhttps:// cookpad.wd3.myworkdayjobs.com/en-US/jobs/job/Tokyo--Japan/--_R-001087-31 68

Slide 69

Slide 69 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 69