Save 37% off PRO during our Black Friday Sale! »

PyTorch Lightningのススメ

B00d69471ef4903e0353aa5476614b7f?s=47 Yongtae723
November 18, 2021

PyTorch Lightningのススメ

PyTorch Lightningのススメ
JX通信社ではPyTorch Lightningを用いてDeep Learningの開発を行っています。MLOpsの観点でPyTorch Lightningを利用するメリットについてご紹介します。

講演者のプロフィール
ファン ヨンテ / Yongtae Hwang
東京大学理学系研究科物理学専攻にて博士号を取得後、JX通信社でAIエンジニアをしています!PyTorch Lightningを初めて使った時に感動し、今ではPyTorch LightningのSlack コミュニティーにも参加しています。趣味はゴルフで超ハマり中。
https://twitter.com/Yoooongtae

ブログはこちらhttps://tech.jxpress.net/entry/2021/11/17/112214

B00d69471ef4903e0353aa5476614b7f?s=128

Yongtae723

November 18, 2021
Tweet

Transcript

  1. 1Z5PSDI-JHIUOJOHͷεεϝ )XBOH:POHUBF ୈճ.-0QTษڧձ 0OMJOF  dਝ଎ͳχϡʔε଎ใൃ৴Λࢧ͑Δ.-0QTd

  2. 2,ݱঢ়෼ੳͱ໰୊఺ Who I am ԫ༐ଠ ϑΝϯϤϯς  w ౦ژେֶɹཧֶത࢜ ෺ཧ

     w +9௨৴ࣾɹػցֶशΤϯδχΞ w 1Z5PSDI-JHIUOJOHͷϔϏʔϢʔβʔ w 4MBDLͷίϛϡχςΟʹೖͬͯ·͢ !:PPPPOHUBF
  3. 2,ݱঢ়෼ੳͱ໰୊఺ ຊൃදͷ໨త w 1Z5PSDI-JHIUOJOHΛ஌ͬͯ΋Β͍ɺར༻ͷ͖͔͚ͬʹͳͬͯ΄͍͠ w ຊ೔ͷ಺༰͸ɺϒϩάʹ·ͱΊ͍ͯ·͢ɻ w $PMBCͰಈ͘αϯϓϧίʔυ΋ϒϩά͔ΒΞΫηεͰ͖·͢ɻ

  4. Agenda 1Z5PSDI-JHIUOJOHΛར༻ͨ͠എܠ 1Z5PSDI-JHIUOJOHͱ͸ʁ 1, 2, ຊൃදͷ໨త 0,

  5. 2,ݱঢ়෼ੳͱ໰୊఺ MLΤϯδχΞʹٻΊΒΕΔۀ຿ αΠΤϯε ίʔσΟϯά ɾϞσϧਫ਼౓Λ্͛Δ ɾσʔλͷਫ਼ࠪ ɾ՝୊ղܾʹ௚݁͢Δํ๏Λ୳Δ ɾ࿦จௐࠪ ɾBOETPPO ɾֶश͢ΔσόΠεͷ੾Γସ͑

    ɾֶशه࿥ɾϞσϧͷอଘ ɾֶशͷߴ଎Խ ɾֶश࣌ͷਐḿͷදࣔ ɾBOETPPO Λ࢖͍ͬͯΔͱɻɻɻ
  6. 2,ݱঢ়෼ੳͱ໰୊఺ ΠϊϕʔςΟϒͳMLνʔϜʹͳΔͨΊʹ͸  Λ࢖͏ͱ

  7. 2,ݱঢ়෼ੳͱ໰୊఺ PyTorch LightningΛར༻ͨ͠എܠ +9௨৴ࣾͷ.-νʔϜͰେࣄʹͯ͠Δཧ೦ ྗΛ࢖͏΂͖ॴʹͷΈ஫ྗ͠Α͏ʂ ϒϩάॻ͍ͯ·͢ ଐਓԽ͕ͪ͠ͳR&DΛνʔϜ։ൃ͢ΔͨΊͷJX௨৴ࣾͰͷ޻෉ IUUQTUFDIKYQSFTTOFUFOUSZ +9௨৴ࣾͰ͸ Λ༻͍Δ͜ͱͰɺ

    ྗΛ࢖͏΂͖ॴʹͷΈ஫ྗ͠Α͏ʂ Ͱ͖ΔΑ͏ʹ͍ͯ͠·͢
  8. 1Z5PSDI-JHIUOJOHͱ͸ʁ 02

  9. 2,ݱঢ়෼ੳͱ໰୊఺ PyTorch Lightningͱ͸ 1ZUPSDI-*HIUOJOHͷ)1ΑΓҾ༻ IUUQTXXXQZUPSDIMJHIUOJOHBJ

  10. 2,ݱঢ়෼ੳͱ໰୊఺ PyTorch ͱԿ͕ҧ͏ͷʁ 1Z5PSDI-JHIUOJOH͸ ɾαΠΤϯεͷίʔυ͕ϝΠϯɺଞͷॲཧ͸਺ߦͷ௥ՃͰ׬݁ ɾίʔυͷॻ͖ํʹϑϨʔϜϫʔΫ͕͋ΓɺͦΕΛຒΊΔΑ͏ʹॻ͘ ɾ1Z5PSDI͕Ͱ͖Δ͜ͱ͸΄ͱΜͲͰ͖Δ

  11. 1Z5PSDI-JHIUOJOHͷॻ͖ํ dೖ໳d αΠΤϯεʹؔΘΔ෦෼ 02-1

  12. 2,ݱঢ়෼ੳͱ໰୊఺ σʔλͷॲཧ(LightningDataModule) 1Z5PSDIͷ%BUB-PBEFSΛ·ͱΊΔϞδϡʔϧ ؔ਺ͷ໊લΛউखʹฤूͯ͠͸ͳΒͳ͍

  13. 2,ݱঢ়෼ੳͱ໰୊఺ ֶशʹؔΘΔॲཧ(LightningModule) Ϟσϧͷ ΞʔΩςΫνϟΛ ఆٛ 1ZUPSDIͱಉ͡ ͜ͷMPTTΛجʹϞ σϧ͕ߋ৽͞ΕΔ UP EFWJDF

    ͸ඞཁͳ͠ʂ ֶश࣌ͷ֤εςοϓ Ͱͷಈ࡞Λهड़ ଞͷྫWBMJE@FQPDI@FOE PO@ fi U@TUBSU 0QUJNJ[FSͷఆٛ
  14. 2,ݱঢ়෼ੳͱ໰୊఺ Trainer ɾ5SBJOFSͰֶश͕։࢝ ਺ߦͷ௥ՃͰՄೳ

  15. 2,ݱঢ়෼ੳͱ໰୊఺ Trainer ɾ5SBJOFSͰֶश͕։࢝ ɾؔΘͬͨίʔυ͸ ⾣σʔλͷॲཧ๏ ⾣NPEFMͷΞʔΩςΫνϟ ⾣USBJO WBMJE UFTU MPPQ಺ͷॲཧ

    ɾ݁Ռͷݟ͔ͨɺอଘ͸ʁ ɾϞσϧͷอଘ͸ʁ ɾ(16516Ͱಈ͔ͨ͢Ίʹ͸ʁ ਺ߦͷ௥ՃͰՄೳ
  16. 1Z5PSDI-JHIUOJOHͷॻ͖ํ dԠ༻d ίʔσΟϯάʹؔΘΔ෦෼ 02-2

  17. ݁Ռͷݟ͔ͨɾอଘํ๏ 02-2

  18. 2,ݱঢ়෼ੳͱ໰୊఺ ݁Ռͷݟ͔ͨɾอଘํ๏ʹ͍ͭͯ TFMGMPHͰNFUSJDT͕ه࿥͞ΕΔ

  19. 2,ݱঢ়෼ੳͱ໰୊఺ ݁Ռͷݟ͔ͨɾอଘํ๏ʹ͍ͭͯ UPSDINFUSJDTͷϥΠϒϥϦͰ؆୯ʹ݁ՌΛ هड़Ͱ͖Δʂ

  20. 2,ݱঢ়෼ੳͱ໰୊఺ ݁Ռͷݟ͔ͨɾอଘํ๏ʹ͍ͭͯ

  21. 2,ݱঢ়෼ੳͱ໰୊఺ ݁Ռͷݟ͔ͨɾอଘํ๏ʹ͍ͭͯ ༷ʑͳ࣮ݧ؅ཧϥΠϒϥϦʹରԠʂ w 5FOTPS#PBSE w .-'MPX w $PNFU w

    8BOE# w /FQUVOF w BOETPPO
  22. ϞσϧͷอଘͱFBSMZ TUPQQJOH 02-2

  23. 2,ݱঢ়෼ੳͱ໰୊఺ Callbacks $BMMCBDLTˠֶशϧʔϓʹίʔυΛ௥ՃͰ͖Δ

  24. 2,ݱঢ়෼ੳͱ໰୊఺ Ϟσϧͷอଘͱearly stopping -JHIUOJOH͔Βఏڙ͞ΕΔDBMMCBDL w .PEFM$IFDLQPJOU w Ϟσϧͷอଘ w &BSMZ4UPQQJOH

    w ֶश͕ਐ·ͳ͍ͳΒࢭΊΔ
  25. (16516*16Ͱͷֶश 02-2

  26. 2,ݱঢ়෼ੳͱ໰୊఺ GPU/ TPU/ IPUͰͷֶश ֶश͢ΔσόΠεͰ଎౓͕มΘΔ IUUQTDMPVEHPPHMFDPNCMPHKBQSPEVDUTHDQBOJOEFQUIMPPLBUHPPHMFT fi STUUFOTPSQSPDFTTJOHVOJUUQVΑΓҾ༻ 1Z5PSDIͰ͸UP EFWJDF

    ΛࢸΔॴʹॻ͘ඞཁ͋Γ
  27. 2,ݱঢ়෼ੳͱ໰୊఺ GPU/ TPU/ IPUͰͷֶश 5SBJOFSͷҾ਺Λมߋ͢Δ͚ͩʂ .VMUJQMF(16ͷฒྻܭࢉʹ΋ରԠ

  28. 2,ݱঢ়෼ੳͱ໰୊఺ ·ͱΊ ྗΛ๋͛Δ΂͖৔ॴʹ஫ྗ͠Α͏ʂΛୡ੒͢ΔͨΊʹ+9௨৴ࣾͰ͸1Z5PSDI -JHIUOJOHΛར༻ 1Z5PSDI-JHIUOJOHͰ͸αΠΤϯεʹؔΘΔίʔυͷ஫ྗͰ͖ɺଞͷίʔσΟϯά͸ ਺ߦͰऴΘΕΔΑ͏ʹͳΔ

  29. ʲ"EEJUJPOBMʳ 1Z5PSDI-JHIUOJOH'MBTI ʹ͍ͭͯ 02-3

  30. 2,ݱঢ়෼ੳͱ໰୊఺ PyTorch Lightning Flashʹ͍ͭͯ -JHIUOJOHΑΓߴҐͷϥούʔ యܕతͳλεΫ͸਺ߦͰऴΘΔ ϕʔεϥΠϯͷϞσϧΛ࡞੒ʹద͍ͯ͠Δ͕ ॊೈੑʹ๡͘͠޻෉͕ࠔ೉ IUUQTMJHIUOJOH fl

    BTISFBEUIFEPDTJPFOTUBCMF CBEHFTUBCMFΑΓҾ༻
  31. 2,ݱঢ়෼ੳͱ໰୊఺ PyTorch Lightning Flashʹ͍ͭͯ  ࣮૷ͷָ͞ ॊೈੑ ݸਓతͳ࢖͍ํ ࠷ઌ୺Ϩϕϧͷ޻෉Λ͠ ͍ͨͱ͖

    λεΫ໨తʹ͋ͬͨ޻෉ Λ͍ͨ͠ͱ͖ ϕʔεϥΠϯ
  32. +9௨৴ࣾɹ࠾༻ɹ 2,ݱঢ়෼ੳͱ໰୊఺ WE ARE HIRING !!! զʑͱͱ΋ʹ νϟϨϯδ͍ͨ͠஥ؒΛ ืूதʂ ϒϩά΋ݟͯͶʂ

  33. Thank you!