Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hydra, MLflow, Optunaの組み合わせで手軽に始めるハイパーパラメータ管理

Hydra, MLflow, Optunaの組み合わせで手軽に始めるハイパーパラメータ管理

Optuna meetup #1 で使用した資料です.

Taiki Nakamura

June 26, 2021
Tweet

More Decks by Taiki Nakamura

Other Decks in Programming

Transcript

  1. /27 ࣗݾ঺հ 2 ▪ ϓϩϑΟʔϧ • ౦େେֶӃ  ৘ใཧ޻ Ԑ౉ɾখࢁݚ

    . • Ի੠߹੒ ੠࣭ม׵ٕज़Λීஈݚڀ͍ͯ͠·͢ • 5XJUUFS!TVQJLJUJ ʢΞΠίϯɿӈਤʣ ▪ ొஃཧ༝ • Ҏલ NFEJVNDPNPQUVOB ʹͯຊൃදͱಉ͡୊໨ʹͯࣥච • &BTZ)ZQFSQBSBNFUFS.BOBHFNFOUXJUI)ZESB .-GMPX  BOE0QUVOB • )ZESB .-GMPX 0QUVOBͷ૊Έ߹ΘͤͰखܰʹ࢝ΊΔϋΠύʔ ύϥϝʔλ؅ཧ
  2. /27 ຊ೔ͷ಺༰ 3 ▪ ঺հ͢Δ͜ͱ • )ZESB .-GMPX 0QUVOB Λ༻͍ͨޮ཰తͳϋΠύϥ؅ཧ

    • ͦΕͧΕͷ୯ମͰͷ࢖͍ํ ૊Έ߹Θͤͨ۩ମతͳ࢖͍ํ ▪ ঺հ͠ͳ͍͜ͱ • ͦΕͧΕͷϥΠϒϥϦͷ࢓૊Έ ಺෦ಈ࡞౳ ◦ ૉਓͳͷͰʜ ▪ ຊ೔ͷڞ༗ࢿྉ͸ [PPNͷνϟοτཝʹܝࡌ ▪ αϯϓϧίʔυ͸ͪ͜Β
  3. /27 ϋΠύϥ؅ཧͷ໰୊఺ 6 ▪ BSHQBSTFʹΑΔϋΠύϥ؅ཧ • ԟʑʹͯ͠ઃఆ͢ΔϋΠύϥ਺͕๲େʹͳΓ͕ͪ • ͲͷϋΠύϥ͕ NPEFMQSFQSPDFTTͳͲʹରԠ͢Δ͔ݟͮΒ͍

    ▪ ઃఆϑΝΠϧΛ༻͍ͨϋΠύϥ؅ཧ • ϋΠύϥมߋͷͨͼʹઃఆϑΝΠϧΛฤू͋Δ͍͸࡞੒ ▪ )ZESB .-GMPX 0QUVOBʹΑΔϋΠύϥ؅ཧ • ઃఆύϥϝʔλΛίϚϯυϥΠϯ͔Β਺छྨมߋ ࣮ߦՄೳ • ϋΠύϥͷάϦουαʔν͕༰қʹՄೳ ਺छྨͷ؅ཧ͕༰қ • ڧྗͳϋΠύϥ୳ࡧΛίϚϯυϥΠϯ͔Βར༻Մೳ
  4. /27 8 ▪ ಛ௃ • 'BDFCPPL"*3FTFBSDI͕ެ։͍ͯ͠Δύϥϝʔλ؅ཧπʔϧ • ύϥϝʔλΛ֊૚ཱͯͯߏ଄తʹ :".-ϑΝΠϧʹهड़ •

    ίϚϯυϥΠϯ͔Βઃఆ஋Λ্ॻ͖ ࣮ߦ • ϋΠύϥͷ਺छྨͷάϦουαʔνΛ ߦͰ࣮ߦՄೳ IUUQTIZESBDD )ZESBʹ͍ͭͯ
  5. /27 .-GMPXͷجຊతͳ࢖͍ํ 15 ▪ .-GMPX ͱ͸ • ػցֶशϥΠϑαΠΫϧΛ࣮ݱ͢ΔΦʔϓϯιʔε • )ZESB

    ͱ૊Έ߹ΘͤϋΠύϥͷ؅ཧ อଘ ൺֱ͕༰қʹ • ຊൃදͰ͸ .-GMPX 5SBDLJOHΛ༻͍ͨϋΠύϥ؅ཧΛ঺հ ▪ .-GMPX 5SBDLJOH • ػցֶशͳͲͷϋΠύϥͷϩΪϯά MPTT΍BDDVSBDZͳͲͷ ϝτϦΫε ग़ྗϑΝΠϧͳͲͷ؅ཧΛิॿ͢Δ "1*Λఏڙ • QJQͰΠϯετʔϧՄೳ
  6. /27 جຊతͳ࢖͍ํ 16 ▪ ϋΠύϥͷ௥੻ͱه࿥ • .-GMPX ͕ఏڙ͢ΔϩΪϯάؔ਺Λ༻͍ͯϋΠύϥΛه࿥Մೳ start_run() runID

    の発行 log_param() ハイパラの登録 log_metric() メトリックの記録 log_artifact() 出力されたファイル等の記録 … mlflow ui localserver:5000でGUI
  7. /27 )ZESB .-GMPX ·ͱΊ 20 ▪ )ZESB • 'BDFCPPL"*3FTFBSDI͕ެ։͍ͯ͠Δύϥϝʔλ؅ཧπʔϧ •

    ίϚϯυϥΠϯ͔Βઃఆ஋Λෳ਺มߋ ࣮ߦՄೳ ▪ .-GMPX • ػցֶशͷ࣮ݧ؅ཧΛࣗಈͰߦ͏πʔϧ • (6*্Ͱύϥϝʔλͷҧ͍ʹΑΔ݁Ռͷൺֱ͕༰қʹՄೳ ▪ )ZESB .-GMPX 0QUVOB • )ZESBͷϓϥάΠϯΛར༻ͨ͠ 0QUVOB ͷಋೖํ๏Λղઆ
  8. /27 0QUVOB ͷಋೖ 22 ▪ 0QUVOB ͱ͸ • ΦʔϓϯιʔεͷϋΠύϥࣗಈ࠷దԽϑϨʔϜϫʔΫ •

    ϋΠύϥͷ஋ʹؔ͢ΔࢼߦࡨޡΛࣗಈԽ • ༏ΕͨੑೳΛൃش͢ΔϋΠύϥͷ஋Λࣗಈతʹൃݟ ▪ )ZESB .-GMPX 0QUVOB • )ZESBͷ 0QUVOB 4XFFQFSϓϥάΠϯΛ࢖༻͢Δ͜ͱͰ )ZESBͰઃఆͨ͠ม਺ͷ୳ࡧΛίϚϯυϥΠϯ͔Β࣮ࢪՄೳ • ࠷దԽ͞ΕΔม਺ͱ৚݅ΛίϚϯυϥΠϯ͔ΒมߋՄೳ
  9. /27 ઃఆϑΝΠϧ΁ͷ௥Ճ఺ 23 )ZESBͷઃఆϑΝΠϧ΁0QUVOB ʹؔ͢Δ ۩ମతͳઃఆ߲໨Λ௥ՃͰॻ͖͜Ή͚ͩ ࡉ͔ͳ 0QUVOB ͷઃఆ߲໨ΛมߋՄೳ l

    EJSFDUJPO ධՁؔ਺Λ࠷খԽ PS࠷େԽ l O@USJBMT୳ࡧճ਺ͷઃఆ l /@KPCTฒྻϫʔΧʔͷ਺ l ʜ
  10. /27 ୳ࡧൣғͷࢦఆ 25 • ίϚϯυϥΠϯ͔Β࠷దԽ͍ͨ͠ม਺͓ΑͼൣғΛ௚઀ࢦఆ • ҎԼͰ͸ PQUJNJ[FS ͷֶश཰ͱϞσϧͷϊʔυ਺Λ୳ࡧ ◦

    DIPJDF͸ΧςΰϦܕͷม਺΁ม׵͞ΕΔͨΊ PQUJNJ[FS ͷ ֶश཰͸ छྨ୳ࡧ͞ΕΔ ◦ SBOHF ͸੔਺ܕͷม਺΁ม׵͞ΕΔͨΊ NPEFMOPEF ͕ < >ͷൣғ͔ͭ੔਺ͷ৚݅Ͱ୳ࡧ͞ΕΔ ◦ ଞʹ΋༷ʑͳ෼෍ʹରԠ͍ͯ͠Δ͕͜͜Ͱ͸ׂѪ
  11. /27 ૯·ͱΊ 27 ▪ )ZESB .-GMPX 0QUVOB • ֶश࣌ʹ൥ࡶʹͳΓ͕ͪͳύϥϝʔλ؅ཧͷܾఆ൛ •

    )ZESBͱ 0QUVOB ͰύϥϝʔλΛ༰қʹมߋɾ୳ࡧ͠ .-GMPX ͰશύϥϝʔλΛҰݩ؅ཧ ▪ ͞Βʹֶͼ͍ͨํʹ͸ • ,FESP8PSLGMPXͷύΠϓϥΠϯ؅ཧπʔϧ ◦ )ZESB .-GMPX 0QUVOB ,FESP ◦ ΑΓ࠶ݱੑͷ͋Δ࢖͍ճ͠Λҙࣝͨ͠ίʔυʹ https://github.com/quantumblacklabs/kedro