クックパッドの機械学習を支える基盤のつくりかた / Machine Learning ops at Cookpad

クックパッドの機械学習を支える基盤のつくりかた / Machine Learning ops at Cookpad

7dc8611c26c3ca62c551109c65d04270?s=128

Yuichiro Someya

June 01, 2017
Tweet

Transcript

  1. ؙحؙػحسך 堣 唒㷕 统׾  佄ִ׷㛇 湍ךא ֻ׶ַ ׋ 2017/06/01

    AWS Summit Tokyo ΫοΫύουגࣜձࣾ છ୩ ༔Ұ࿠ ੕ ๺ే
  2.  ࣗݾ ঺հ HJUIVCDPNBZFNPT UXJUUFSDPNBZFNPT@Z XXXBZFNPTNF  ‣ છ୩༔Ұ࿠<:VJDIJSP4PNFZB> ‣

    ΫοΫύουגࣜձࣾ
 ݚڀ։ൃ෦ΤϯδχΞ  ೥৽ଔೖࣾ
  3.  

  4.   Ϩγϐ਺ ສ඼Ҏ্ ݄࣍ར༻ऀ਺  ສਓҎ্ ೥݄຤࣌఺

  5.  

  6.   Χࠃʹల։ ݴޠʹରԠ ೥݄຤࣌఺

  7.  ΫοΫύουͱ"84  "NB[PO&$Πϯελϯε d ୆ఔ౓ "NB[PO4ΦϒδΣΫτ ԯҎ্ ‣ ೥ʹ%$͔Β׬શҠߦ

    ‣ BQOPSUIFBTU͓ΑͼVTFBTUΛओʹར༻  άϩʔόϧαʔϏε͸ओʹ64ͰՔಇ  SFRTҎ্ ϐʔΫ࣌ಉ࣌ϦΫΤετ਺
  8.  ར༻͍ͯ͠ΔαʔϏε ‣ ࠓճͷ͓࿩ʹؔ܎͢ΔαʔϏε  "NB[PO&$ "NB[PO71$ "84-BNCEB
 Ҏ߱&$ 71$

    -BNCEBͱදه   "NB[PO424 "NB[PO4/4 Ҏ߱424 4/4ͱදه   "NB[PO4 3FETIJGU Ҏ߱4 3FETIJGUͱදه   "84$POpH "NB[PO$MPVE8BUDI "84$MPVE5SBJM "84*".
 Ҏ߱$POpH $MPVE8BUDI $MPVE5SBJM *".ͱදه 
  9. ΫοΫύουͷػցֶशج൫  ςʔ Ϛ  

  10.  ΫοΫύουͷݚڀ։ൃ෦ʹ͍ͭͯ ‣ ೥݄ʹൃ଍  ݚڀ։ൃνʔϜ ೥݄d ɺݚڀ։ൃࣨ ೥݄d Λܦͯ


    ݱࡏ͸ਖ਼ࣾһ໊ ΞϧόΠτʗΠϯλʔϯ໊ͷ૊৫ʹ ‣ ػցֶशΛத৺ʹɺ৯จԽܥͷݚڀʹ͓͚Δ࣮੷΋  ΫοΫύουߐށ͝൧  ୈճਓ޻஌ೳֶձશࠃେձ ‣ ྉཧ͖Ζ͘ͷެ։ ೥݄ 
  11.  ྉཧ͖Ζ͘  ৞ΈࠐΈχϡʔϥϧωοτϫʔΫ ʹΑΔྉཧը૾ͷࣗಈೝࣝ εϚʔτϑΥϯͷࣸਅͷ಺ɺ ྉཧࣸਅΛࣗಈతʹऩूه࿥

  12.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ ը૾ͷΞοϓϩʔυɺ൑ఆॲཧʹ͸͕͔͔࣌ؒΔ d਺ඦNT   "1*αʔόʔͱ౷߹ͯ͠ಉظॲཧ͢Δͷ͸ඇݱ࣮త  ඇಉظͳྉཧʗඇྉཧͷ൑ఆॲཧ͕ඞཁ

    ‣ ඞཁͳܭࢉػ؀ڥ͕ΞϓϦέʔγϣϯαʔόʔͱେ͖͘ҟͳΔ  3VCZ˱1ZUIPO 3BJMT˱$IBJOFS $16˱(16  ൑ఆॲཧͱΞϓϦέʔγϣϯΛૄ݁߹ʹ͢Δͷ͕ϕλʔ 
  13.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ  4 424Λհͨ͠ඇಉظͰૄ݁߹ͳࣸਅ൑ఆϑϩʔͷ࣮૷ 424 4

  14.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ "1*αʔόʔͰ41SF4JHOFE63-Λੜ੒  ੜ੒͞Εͨ63-Λར༻ͯ͠ΫϥΠΞϯτ J04 "OEPJSE ͔Β൑ఆ༻ ʹॖখ͞ΕͨࣸਅΛ4ʹ௚઀Ξοϓϩʔυ

     1SF4JHOFE63-
 ͷൃߦ
  15.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ "1*αʔόʔͰ41SF4JHOFE63-Λੜ੒  ੜ੒͞Εͨ63-Λར༻ͯ͠ΫϥΠΞϯτ J04 "OEPJSE ͔Β൑ఆ༻ ʹॖখ͞ΕͨࣸਅΛ4ʹ௚઀Ξοϓϩʔυ

     ൑ఆ༻ը૾ͷ
 Ξοϓϩʔυ 1SF4JHOFE63-
 ͷൃߦ https://s3.amazonaws.com/thumbnails/123.jpg? expires=1495436210&Signature=XXXYYYZZZ
  16.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ 4&WFOU/PUJpDBUJPOͰࣸਅͷΞοϓϩʔυΠϕϯτΛ424ʹ &ORVFVF  &WFOUΛ424ʹ
 &ORVFVF ൑ఆ༻ը૾ͷ
 Ξοϓϩʔυ

    s3://thumbnails/123.jpg 1SF4JHOFE63-
 ͷൃߦ { bucket: thumbnails key: 123.jpg }
  17.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ ൑ఆॲཧXPSLFS͕424͔ΒϝοηʔδΛ%FRVFVFͯ͠ॲཧ  ϝοηʔδʹؚ·ΕΔࣸਅͷ4্ͷLFZ৘ใΛར༻ͯࣸ͠ਅΛμ΢ϯϩʔυ  LFZʹؚ·ΕΔࣸਅͷJEΛར༻ͯ͠"1*ӽ͠ʹ൑ఆ݁ՌΛ௨ୡ  &WFOUΛ424ʹ


    &ORVFVF s3://thumbnails/123.jpg { bucket: thumbnails key: 123.jpg } &$4$MVTUFS
  18.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ ൑ఆॲཧXPSLFS͕424͔ΒϝοηʔδΛ%FRVFVFͯ͠ॲཧ  ϝοηʔδʹؚ·ΕΔࣸਅͷ4্ͷLFZ৘ใΛར༻ͯࣸ͠ਅΛμ΢ϯϩʔυ  LFZʹؚ·ΕΔࣸਅͷJEΛར༻ͯ͠"1*ӽ͠ʹ൑ఆ݁ՌΛ఻͑Δ  &WFOUΛ424ʹ


    &ORVFVF s3://thumbnails/123.jpg 8PSLFS͕ϝοηʔδ
 Λ%FRVFVF { bucket: thumbnails key: 123.jpg }
  19.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ ൑ఆॲཧXPSLFS͕424͔ΒϝοηʔδΛ%FRVFVFͯ͠ॲཧ  ϝοηʔδʹؚ·ΕΔࣸਅͷ4্ͷLFZ৘ใΛར༻ͯࣸ͠ਅΛμ΢ϯϩʔυ  LFZʹؚ·ΕΔࣸਅͷJEΛར༻ͯ͠"1*ӽ͠ʹ൑ఆ݁ՌΛ఻͑Δ  4্ͷࣸਅΛ

    μ΢ϯϩʔυ 8PSLFS͕ϝοηʔδ
 Λ%FRVFVF &WFOUΛ424ʹ
 &ORVFVF { bucket: thumbnails key: 123.jpg }
  20.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ ‣ ൑ఆॲཧXPSLFS͕424͔ΒϝοηʔδΛ%FRVFVFͯ͠ॲཧ  ϝοηʔδʹؚ·ΕΔࣸਅͷ4্ͷLFZ৘ใΛར༻ͯࣸ͠ਅΛμ΢ϯϩʔυ  LFZʹؚ·ΕΔࣸਅͷJEΛར༻ͯ͠"1*ӽ͠ʹ൑ఆ݁ՌΛ఻͑Δ  4্ͷࣸਅΛ

    μ΢ϯϩʔυ ൑ఆ݁ՌΛ"1*ӽ͠ʹ ఻͑Δ &WFOUΛ424ʹ
 &ORVFVF 8PSLFS͕ϝοηʔδ
 Λ%FRVFVF
  21.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ  ‣ 424ͷ$MPVE8BUDIϝτϦΫεʹج͍ͮͨ"MBSNͰXPSLFSΛΦʔτεέʔϧ  ΞϓϦέʔγϣϯͷੑೳཁٻΛຬͨ͢Α͏ʹ
 ྫ͑͹ɺ৽͘͠Ξοϓϩʔυ͞Εͨࣸਅ͸࣌ؒҎ಺ʹ൑ఆ͞Εͯཉ͍͠  

    "QQSPYJNBUF"HF0G0MEFTU.FTTBHF͕ར༻Ͱ͖Δ &$4$MVTUFS
  22.  ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ  "QQSPYJNBUF"HF0G0MEFTU.FTTBHF &$4$MVTUFS εέʔϧΞ΢τ
 (desired_count++) ‣ 424ͷ$MPVE8BUDIϝτϦΫεʹج͍ͮͨ"MBSNͰXPSLFSΛΦʔτεέʔϧ 

    ΞϓϦέʔγϣϯͷੑೳཁٻΛຬͨ͢Α͏ʹ
 ྫ͑͹ɺ৽͘͠Ξοϓϩʔυ͞Εͨࣸਅ͸࣌ؒҎ಺ʹ൑ఆ͞Εͯཉ͍͠   "QQSPYJNBUF"HF0G0MEFTU.FTTBHF͕ར༻Ͱ͖Δ
  23.  &$4$MVTUFS ྉཧ͖Ζ͘ͷΞʔΩςΫνϟ  "QQSPYJNBUF"HF0G0MEFTU.FTTBHF εέʔϧΞ΢τ
 (desired_count++) ‣ 424ͷ$MPVE8BUDIϝτϦΫεʹج͍ͮͨ"MBSNͰXPSLFSΛΦʔτεέʔϧ 

    ΞϓϦέʔγϣϯͷੑೳཁٻΛຬͨ͢Α͏ʹ
 ྫ͑͹ɺ৽͘͠Ξοϓϩʔυ͞Εͨࣸਅ͸࣌ؒҎ಺ʹ൑ఆ͞Εͯཉ͍͠   "QQSPYJNBUF"HF0G0MEFTU.FTTBHF͕ར༻Ͱ͖Δ
  24.  &$4্Ͱͷࣸਅ൑ఆ  ‣ FBHMFUNUIBLP  Λར༻  ZBNMܗࣜͷϑΝΠϧͰ൑ఆॲཧXPSLFSΛఆٛɺ$-*ίϚϯυͰ্ཱͪ͛ 

    Φʔτεέʔϧͷઃఆ΋IBLPͰߦ͑Δ scheduler: cluster: hako-production-g2 desired_count: 1 autoscaling: min_capacity: 4 max_capacity: 10 policies: - alarms: [cookpadnet-worker-busy] cooldown: 300 adjustment_type: ChangeInCapacity scaling_adjustment: 1 app: image: cookpadnet-worker cpu: 128 memory: 1024 env: AWS_REGION: ap-northeast-1 COOKPADNET_ENV: production ... &$4$MVTUFS "QQSPYJNBUF"HF0G0MEFTU.FTTBHF IUUQTHJUIVCDPNFBHMFUNUIBLP
  25.  &$4্Ͱͷࣸਅ൑ఆ ‣ ࣸਅ൑ఆʹ(16Λ࢖༻͍ͯ͠Δ  ൑ఆॲཧʹ(16ΞΫηϥϨʔγϣϯ͕ར༻Ͱ͖Δ  ಉՁ֨ଳͷ$16Πϯελϯεͱൺ΂ͯdഒͷੑೳࠩ ‣ HΠϯελϯεͰࣸਅ൑ఆ༻ͷ&$4$MVTUFSΛߏ੒

    
  26.  &$4$MVTUFS H 5BTL $POUBJOFS &$4্Ͱͷࣸਅ൑ఆ ‣ $POUBJOFS͔Β(16Λૢ࡞͢Δҝʹඞཁͳઃఆ  /7*%*"%SJWFSͷΠϯετʔϧ


    $MVTUFSʹΠϯετʔϧ͠ɺ5BTL͔Β͸
 WPMVNFͰݟΔ  ద੾ͳ-JOVY$BQBCJMJUZͷ෇༩
 QSJWJMFHFEΦϓγϣϯΛར༻  (16 /7*%*"%SJWFS
 LFSOFMNPEVMFT /7*%*"%SJWFS
 VTFSMJCSBSJFT "QQ 8PSLFS
  27.  &$4$MVTUFS H &$4্Ͱͷࣸਅ൑ఆ ‣ QSJWJMFHFEͳ5BTL ͷSPPUϢʔβʔ ͸ɺ&$4Ϋϥελ ʹରͯ͠SPPUϢʔβʔͱಉ༷ͳݖݶΛ΋ͭ 

    ΫϥελʹӨڹΛ༩͑ΔΑ͏ͳૢ࡞͕Մೳ
 NMPDL LJMM VUJNF ʜ   &$4ͰAEFWJDFAΦϓγϣϯ͕࢖͑Δͱʜ ‣ 5BTLͰඇSPPUͳϢʔβʔΛར༻͢Δ
 %PDLFS'JMF಺ͰA64&3XPSLFSA౳   $MVTUFS্ͷ/7*%*"%SJWFS VTFSMJCSBSJFT ͕
 ݟ͑ͳ͘ͳΔ  5BTL $POUBJOFS (16 /7*%*"%SJWFS
 LFSOFMNPEVMFT /7*%*"%SJWFS
 VTFSMJCSBSJFT "QQ 8PSLFS
  28.  &$4$MVTUFS H 5BTL $POUBJOFS &$4্Ͱͷࣸਅ൑ఆ ‣ $MVTUFSͱಉ͡όʔδϣϯͷVTFSMJCSBSJFTΛ
 $POUBJOFSʹΠϯετʔϧ 

    $POUBJOFS͕$MVTUFSʹόʔδϣϯґଘ͢Δ
 ผͷ$MVTUFSͰ͸ಈ͔ͳ͍͔΋͠Εͳ͍  (16 /7*%*"%SJWFS
 LFSOFMNPEVMFT /7*%*"%SJWFS
 VTFSMJCSBSJFT "QQ 8PSLFS
  29.  ӡ༻࣮੷ ݱࡏ ‣ ը૾ೝࣝϞσϧΛҰ౓Ξοϓσʔτ ‣ Ξοϓσʔτ΋৐Γӽ͑ɺେ͖ͳ໰୊΋ͳ͘ӡ༻Ͱ͖͍ͯΔ   ਓҎ্

    ͷྉཧࣸਅ ͷϢʔβʔ͕ར༻   ຕҎ্
  30. ػցֶशج൫ʹ͍ͭͯ

  31.  ੕๺ే ΄͠΄͘ͱ !LBOJ@C ‣ ΫοΫύουגࣜձࣾ
 ΠϯϑϥετϥΫνϟʔ෦෦௕  ೥৽ଔೖࣾ ‣

    43& ηΩϡϦςΟΤϯδχΞ  ઃܭߏஙӡ༻ *%4 8"' ੬ऑੑ਍அ *4.4 FUD ‣ "84ೝఆ4" %FW0QTΤϯδχΞ 1SPGFTTJPOBM 
  32.  ػցֶशج൫ͱ͸ ‣ ݚڀ։ൃ෦ͷΤϯδχΞ͕ࣗ༝ʹखΛಈ͔ͤΔ৔ॴ  ຊ൪؀ڥͱ͸੾Γ཭͞Ε͍ͯΔ ‣ ࣗ༝౓͕ߴ͘ຊ൪ͷӡ༻ʹࠨӈ͞Εͳ͍ 

  33.  ݚڀ։ൃ෦ઃཱ౰ॳ ‣ ඞཁͳΠϯελϯεྨ͸શͯΠϯϑϥ෦͕४ຊ൪؀ڥʹ༻ҙ  ґཔΛड͚ɺͦΕΛ΋ͱʹඞཁͳϦιʔεΛ४උ͢Δ ‣ ຊ൪؀ڥͱಉ༷ͷӡ༻  ίʔυΛϕʔεʹͨ͠ϓϩϏδϣχϯάɺ؂ࢹɺFUD

    
  34.  ݚڀ։ൃ෦ઃཱ౰࣌ͷ"84؅ཧମ੍ ‣ Πϯϑϥ෦ͷӡ༻୲౰ऀͷΈ͕શݖݶΛ࣋ͭ  ৽͍͠Ϧιʔεͷ४උ͸جຊతʹ
 Πϯϑϥ෦͕ߦ͏  ίʔυԽ͞Ε͍ͯΔՕॴ΋l࣮ߦz͸
 Πϯϑϥ෦͕୲౰

    ‣ "84ʹؔ܎͢Δશͯͷ͜ͱΛΠϯϑϥ෦ʹू໿  ઃܭɺӡ༻ɺ໰͍߹ΘͤɺFUD  ֤ࣄۀ෦ Πϯϑϥ෦ ٕज़ج൫ܥ෦ॺ ݚڀ ։ൃ෦
  35.  ى͖ͨ໰୊ ‣ Ϧιʔεͷ༻ҙ͕௥͍͔ͭͳ͍  αʔϏεͷӡ༻΋ߦ͏ͨΊ༏ઌ౓͕Լ͕Γ΍͍͢  ඞཁͳϦιʔε͕ଟ͘ɺਓһ૿Ճͱͱ΋ʹՃ଎ ‣ ຊ൪؀ڥͰߦ͍ͬͯͨӡ༻ʹ߹Θͳ͍

     ஌ݟ͕͋·Γͳ͘ɺϛυϧ΢ΣΞઃఆͷஈ֊͔Β৭ʑखΛಈ͔͢  ҆ఆͨ͠ϓϩϏδϣχϯάΑΓࢼߦࡨޡʹΑΔ݁Ռ 
  36.  தԝ؅ཧͷݶք ‣ ن໛֦େʹ൐͍Πϯϑϥ෦ࣗ਎͕ϘτϧωοΫʹͳΔ͜ͱ͕૿͑ͨ  ৽Ϧιʔεͷ࡞੒ ઃܭͳͲͷ૬ஊ ໰͍߹ΘͤͳͲ ‣ զʑ͕ಘҙͱ͢ΔΑ͏ͳӡ༻ΛٻΊΒΕͳ͍΋ͷ͕ग़͖ͯͨ

    ݚڀ։ൃ  ‣ ʮͦ΋ͦ΋"84ͷར఺Λ׆͔͍ͤͯͳ͍ͷͰ͸ʯͱ͍͏ٙ໰  ηϧϑϚωʔδͰ͖Δ͜ͱ͕ྑ͞ͷҰͭͰ͋Δ͸ͣ ‣ ຊདྷ΍Δ΂͖͜ͱʹ࣌ؒΛ࢖͑ΔΑ͏ʹ͍ͨ͠  l"84ͷݕূ΍؅ཧzͰ͸ͳ͘lϢʔβʹαʔϏεΛಧ͚Δ͜ͱz͕࢓ࣄ 
  37.  ؅ཧํ਑ͷస׵ ‣ ݖݶͱ੹೚ΛΠϯϑϥ෦͔Β֤։ൃऀ΁Ҡৡ͢Δํ޲ʹγϑτ ‣ ͨͩ์Γ౤͛ΔͷͰͳ͘؅ཧ͢΂͖෦෼Λ͓͑ͯ͞Ҡৡ͍ͯ͘͠  ͦͷͨΊͷ࢓૊Έͷଟ͘Λ"84͕ఏڙ͍ͯ͘͠Ε͍ͯΔ ‣ ػցֶशج൫͸ͦͷॳظͷऔΓ૊Έ

     ج൫੔උ୲౰Λݚڀ։ൃ෦͔ΒΞαΠϯ 
  38.  ࣗ༝ͳ؀ڥͷͨΊʹඞཁͩͬͨ΋ͷ ‣ ෦ͷϝϯόʔ͕ࣗ༝ʹ৮ΕΒΕΔ"84؀ڥͷ༻ҙ ‣ "84؀ڥΛ҆શʹ࢖͑ΔηΩϡϦςΟ ‣ ༧ࢉ؅ཧ ‣ "84ʹؔ͢Δ૬ஊ΍ϊ΢ϋ΢ͳͲͷҠৡ

    
  39.  ΞΧ΢ϯτͷ෼཭ ‣ ͱʹ͔͘खΛಈ͔͢ϑΣʔζʹ͓͍ͯ͸ຊ൪؀ڥ΄Ͳ
 ؅ཧ͞Ε͍ͯΔඞཁ͕ͳ͍ ‣ ຊ൪؀ڥͱϦιʔε͕ࠞ͡Βͳ͍؀ڥ͕ཉ͍͠ ‣ ݚڀ։ൃ༻ͷ"84ΞΧ΢ϯτΛ࡞੒ͯͦͪ͠ΒΛ࢖͏Α͏ʹ ‣

    ࢧ෷͍͸ຊ൪؀ڥͷΞΧ΢ϯτʹ·ͱΊΔ $POTPMJEBUFE#JMMJOH 
  40.  ݖݶ؅ཧ ‣ ຊ൪؀ڥͰ࢖͏*".6TFS ݸਓ͝ͱൃߦ ͔Β"TTVNF3PMF  ඞཁͳαʔϏεͷ"ENJOݖݶΛ޿͘෇༩ ‣ $MPVE5SBJM΍$POpHΛ༗ޮʹ͠PVUQVUઌΛຊ൪ΞΧ΢ϯτͷ4΁

     ౉͢3PMF͔Β͸ݖݶΛൈ͍͓ͯ͘ ‣ ։ൃऀʹݖݶΛ౉ͭͭ͠վ᜵ෆೳͳܗͰτϨʔεͰ͖Δ؀ڥʹ 
  41.  

  42.  ‣ ෦ͷϝϯόʔ͕ࣗ༝ʹ৮ΕΒΕΔ"84؀ڥͷ༻ҙ✅ ‣ "84؀ڥΛ҆શʹ࢖͑ΔηΩϡϦςΟ ‣ ༧ࢉ؅ཧ ‣ "84ʹؔ͢Δ૬ஊ΍ϊ΢ϋ΢ͳͲͷҠৡ 

    ࣗ༝ͳ؀ڥͷͨΊʹඞཁͩͬͨ΋ͷ
  43.  ωοτϫʔΫͷߏ੒ ‣ ౿Έ୆44)αʔό͕͋Δ71$ ຊ൪ΞΧ΢ϯτ Πϯϑϥ෦؅ཧ 
 ͔Β71$1FFSJOHܦ༝Ͱ઀ଓͰ͖ΔΑ͏ʹ͢Δ  ౿Έ୆ΛΠϯϑϥ෦؅ཧԼͷαʔόʹू໿Ͱ͖Δ

    ‣ /BNFλάΛ࢖ͬͨਖ਼Ҿ͖ɺٯҾ͖Λఏڙͯ͠ΞΫηε͠΍͘͢ 
  44.  

  45.  ઃఆঢ়گͷ؂ࢹ ‣ "84$POpH3VMFTͰηΩϡϦςΟάϧʔϓͷΠϯλʔωοτղ์Λ νΣοΫ  ઃఆมߋΛτϦΨͱͯ͠MBNCEBGVODUJPOͰνΣοΫՄೳ  "84ఏڙͷGVODUJPOϨϙδτϦBXTMBCTBXTDPOpHSVMFT ‣

    ࡉ͔͍"1*ίʔϧ͸$MPVE5SBJM͔ΒνΣοΫ 
  46.  ‣ ෦ͷϝϯόʔ͕ࣗ༝ʹ৮ΕΒΕΔ"84؀ڥͷ༻ҙ✅ ‣ "84؀ڥΛ҆શʹ࢖͑ΔηΩϡϦςΟ✅ ‣ ༧ࢉ؅ཧ ‣ "84ʹؔ͢Δ૬ஊ΍ϊ΢ϋ΢ͳͲͷҠৡ 

    ࣗ༝ͳ؀ڥͷͨΊʹඞཁͩͬͨ΋ͷ
  47.  ༧ࢉ؅ཧ ‣ ࡉ͔͍؅ཧ͸ཁٻ͞Ε͍ͯͳ͍΋ͷͷɺ͋Δఔ౓͸೺Ѳ͢΂͖  མͱ͠๨Ε΍৵ೖͳͲͷΞϥʔτʹ΋ͳΓ͏Δ ‣ #JMMJOH$POTPMFͰఏڙ͞Ε͍ͯΔ#VEHFUTΛར༻ ‣ ʮࠓ݄͸༧ࢉΛ௒͑ͦ͏

    ༧ଌ ʯͳ৔߹΍ʮ༧ࢉͷOׂΛ࢖ͬͨ ࣮ࡍ ʯʹ
 4/4/PUJpDBUJPOΛड͚औΓඞཁ͕͋Ε͹ରԠ 
  48.  ‣ ෦ͷϝϯόʔ͕ࣗ༝ʹ৮ΕΒΕΔ"84؀ڥͷ༻ҙ✅ ‣ "84؀ڥΛ҆શʹ࢖͑ΔηΩϡϦςΟ✅ ‣ ༧ࢉ؅ཧ✅ ‣ "84ʹؔ͢Δ૬ஊ΍ϊ΢ϋ΢ͳͲͷҠৡ 

    ࣗ༝ͳ؀ڥͷͨΊʹඞཁͩͬͨ΋ͷ
  49.  "84૬ஊ ϊ΢ϋ΢ ‣ "84ʹؔ͢Δϊ΢ϋ΢͸جຊతʹΠϯϑϥ෦͕͍࣋ͬͯͨ  ૬ஊ΋΄΅Πϯϑϥ෦͕ड͚Δ ‣ αϙʔτϓϥϯ͸σϕϩούʔ ೥ͷҠߦҎདྷ

      έʔεͷԠ౴ʹ΋͕͔͔࣌ؒΔͨΊجຊతʹࣗ෼ͨͪͰௐࠪ  "84΁ͷ໰͍߹Θͤ୅ߦͷΑ͏ʹͳ͍ͬͯͨ͜ͱ΋͋ͬͨ ‣ ຊདྷࣗ෼͕ͨͪղ͔ͳͯ͘΋ྑ͍໰୊ʹ͕͔͔͍࣌ؒͬͯͨ 
  50.  ΤϯλʔϓϥΠζαϙʔτ΁ͷҠߦ ‣ ೥ͷҠߦ౰ॳ͔Βར༻͍ͯͨ͠σϕϩούʔ͔Β੾Γସ͑ ‣ ܖ໿Ͱ$POTPMJEBUFE#JMMJOH഑Լͷෳ਺ΞΧ΢ϯτʹద༻Մೳ ‣ Ձ֨͸ͦΕͳΓʹ͢Δ ౰࣌NP࠷௿ 

     ‣ 5".ΞαΠϯ έʔεରԠΛߟྀ͠ΤϯλʔϓϥΠζΛબ୒  ࣌ؒͱ஌ࣝΛങ͏͜ͱ͕ओͳ໨త 
  51.  αϙʔτέʔεରԠ͸Ͳ͏ͳ͔ͬͨ ‣ Ԡ౴ͷ඼্࣭͕͕Γɺղܾ·Ͱͷ࣌ؒ͸࣮֬ʹ୹͘ͳͬͨ  ʮαϙʔτʹฉ͍ͯΈΑ͏ʯͱͳΔ৺ཧίετ͕ͱͯ΋Լ͕ͬͨ  ඞཁͳΒαʔϏενʔϜʹΤεΧϨʔγϣϯ΋ͯ͘͠ΕΔ  "VSPSBͳͲ੎͍ͷ͋ΔϓϩμΫτΛ࢖͏࣌͸஍ຯʹޮ͍ͯ͘Δ

    ‣ ֤։ൃऀ͕উखʹέʔεΛ࡞੒ͯ͠ղܾͰ͖ΔΑ͏ʹͳͬͨ  ෆ۩߹͚ͩͰͳ͘ػೳ΁ͷ࣭໰ɺཁ๬ͳͲ΋ଟ্͕͘Δ 
  52.  ͦͷଞ ‣ 5".ΞαΠϯʹΑΓίϯςΩετڞ༗͕͠΍͘͢  έʔεͷऔΓ·ͱΊ΍ྉۚϨϙʔτͷ࡞੒΋͓ئ͍͍ͯ͠Δ ‣ -JNJU*ODSFBTFͷॲཧ͕ര଎ʹ  ίϯγΣϧδϡ͕ΞαΠϯ͞ΕͯରԠͯ͘͠ΕΔ

    ࠷୹ ෼  ‣ "84؅ཧӡ༻Ͱ஍ຯʹ͔͔͍ͬͯͨίετ͕͔ͳΓԼ͕ͬͨ  "84΁ͷґଘ౓͕ߴ͍૊৫ʹͱͬͯ͸ಛʹ༗༻ͩͱࢥ͏ 
  53.  ‣ ෦ͷϝϯόʔ͕ࣗ༝ʹ৮ΕΒΕΔ"84؀ڥͷ༻ҙ✅ ‣ "84؀ڥΛ҆શʹ࢖͑ΔηΩϡϦςΟ✅ ‣ ༧ࢉ؅ཧ✅ ‣ "84ʹؔ͢Δ૬ஊ΍ϊ΢ϋ΢ͳͲͷҠৡ✅ 

    ࣗ༝ͳ؀ڥͷͨΊʹඞཁͩͬͨ΋ͷ
  54.  ։ൃऀΞΧ΢ϯτ ‣ ݚڀ։ൃ༻ΞΧ΢ϯτͱಉ༷ͷ։ൃऀΞΧ΢ϯτ΋༻ҙ  શ։ൃऀ͕ࣗ༝ʹ৮Δ͜ͱͷͰ͖Δ"84ΞΧ΢ϯτ ‣ ωοτϫʔΫ΍؅ཧܥͷ࣮૷͸ݚڀ։ൃ༻ΞΧ΢ϯτͱ΄΅ಉ͡ ‣ ৭ʑͳαʔϏεΛࣗ༝ʹݕূͰ͖Δ

    ձࣾ࣋ͪͰʂ   ,JOFTJT -BNCEB "1*(BUFXBZ 93BZ -FY 1JOQPJOUͳͲͰ
 ར༻͞Ε͍ͯΔ 
  55.  ػցֶशج൫ͷݱঢ় ‣ ҙਤ௨Γ׆ൃʹར༻͞Ε͍ͯΔ ‣ ৽͍͠ػցֶशϞσϧͷςετɺϞσϧվળ ‣ ৽αʔϏε։ൃ ‣ ։ൃऀͷखͰੵۃతͳվળ͕ߦΘΕ͍ͯΔ

    ͜ͷ͋ͱ঺հ͠·͢   Πϯϑϥ෦͸ඞཁͳ࣌ʹڠྗ 
  56. (16 ܭࢉػ؀ڥ

  57.  (16Πϯελϯε H Q ͷར༻ ‣ ਂ૚ֶशܥͷλεΫͰ͸(16ΠϯελϯεΛར༻͍ͨ͠ 

  58.  (16Πϯελϯε H Q ͷར༻ ‣ ϓϩϏδϣχϯάπʔϧ *UBNBF౳ Ͱͷࣗಈ؀ڥߏஙΛݕ౼ 

    /7*%*"%SJWFS  $6%"  DV%//  ͳͲ͸Πϯετʔϧʹ ͕͔͔࣌ؒΔ ‣ 1BDLFS  Λར༻ͯ͠όʔδϣϯຖʹϓϩϏδϣχϯάࡁΈ".*Λ
 ࡞੒ʗ؅ཧ  Πϯελϯε্ཱ͕͕͙ͪͬͯ͢(16؀ڥ͕ར༻Ͱ͖Δ  VTFBTUͰ͸%FFQ-FBSOJOH".*΋ࢼ༻ʗݕ౼͍ͯ͠Δ  IUUQXXXOWJEJBDPN%PXOMPBEJOEFYBTQY MBOHFOVTIUUQXXXOWJEJBDPKQPCKFDUDVEBQBSBMMFMDPNQVUJOHQMBUGPSNKQIUNM IUUQTEFWFMPQFSOWJEJBDPNDVEOOIUUQTXXXQBDLFSJP
  59.  Πϯελϯεͷར༻ํ๏ ‣ (16λεΫ͸جຊతʹഉଞ  ଞͷ։ൃऀͱಉ࣌ʹ͸ར༻ͮ͠Β͍ ‣ རศੑΛॏࢹ͠ɺݸਓຖʹઐ༗ΠϯελϯεΛ༻ҙ  ӡ༻্ͷ՝୊ͷ༷ࢠݟΛ͍ͨ͠ͱ͍͏ͷ΋͋ͬͨ

     ݚڀ։ൃ໨తͰ͸ɺࡶʹTVEPग़དྷΔಠཱͨ͠؀ڥ͕ศར 
  60.  ΞΠυϧΠϯελϯεͷ؂ࢹ ‣ ࢖͍ͬͯͳ͍Πϯελϯεͷམͱ͠๨ΕͳͲ͕ൃੜ  අ༻໘Ͱେ͖ͳ໰୊Ͱ͸ͳ͍͕ɺ͍ۙকདྷ૊৫֦େͷোนʹ
 ͳΓ͔Ͷͳ͍ ‣ ར༻୯Ձͷߴ͍Πϯελϯεʹ͍ͭͯɺΞΠυϧঢ়ଶΛ؂ࢹ 

  61.  ΞΠυϧΠϯελϯεͷ؂ࢹ ‣ -BNCEBΛຖ࣌Ͱݺͼग़͠ɺΠϯελϯε Λ؂ࢹ  ࣌ؒΞΠυϧͳΠϯελϯεʹ͍ͭͯ ͸4MBDLʹܯࠂΛ౤͛Δ  ͞Βʹ࣌ؒΞΠυϧͩͬͨ৔߹͸


    ετοϓ 
  62.  $IBU#PUʹΑΔ
 Πϯελϯεͷૢ࡞ ‣ མͪͨΠϯελϯεΛ্ཱͪ͛Δͷ͕
 खؒʹͳΔ  4MBDL͔Βݚڀ༻Πϯελϯεͷݕࡧɺ
 4UBSU4UPQ͕ग़དྷΔ#PUΛ༻ҙ 

  63. ·ͱΊ

  64.   ͢͹΍͘खΛಈ͔͠αʔϏεΛͭ͘ΔͨΊʹ ηϧϑαʔϏεԽ શͯΛ؅ཧ͢ΔͷͰͳ͘
 τϨʔεͰ͖Δ࢓૊Έͮ͘Γ $MPVE5SBJM $POGJH ϊ΢ϋ΢΍૬ஊઌͷҠৡ ΤϯλʔϓϥΠζαϙʔτͷ׆༻

  65.   ඇಉظͰૄ݁߹ͳ
 ࣸਅ൑ఆϑϩʔ 424 4 ྉཧ͖Ζ͘ͷެ։ &$4(16Ϋϥελʔ )BLPʹΑΔσϓϩΠͱ
 Φʔτεέʔϧ

    &$4 (16ܭࢉػ؀ڥ 1BDLFSΛར༻ͨ͠
 (16".*ͷ࡞੒ͱӡ༻ ".* Πϯελϯεͷ
 མͱ͠๨Ε؂ࢹ Πϯελϯε؅ཧ$IBU#PU -BNCEB $MPVE8BUDI
  66. PR

  67.  We’re Hiring!  த్࠾༻ ৽ଔ࠾༻ ୈೋ৽ଔ࠾༻ ΞϧόΠτ࠾༻ https://info.cookpad.com/careers

  68. Thank you!