ທຸກຄົນທີ່ໄດ້ພະຍາຍາມພັດທະນາການຮຽນຮູ້ເຄື່ອງຈັກຈະເຂົ້າໃຈວ່າມັນມີຄວາມຫຍຸ້ງຍາກແນວໃດ. ນອກເຫນືອຈາກບັນຫາມາດຕະຖານໃນການພັດທະນາຊອບແວ, ການພັດທະນາການຮຽນຮູ້ເຄື່ອງຈັກ (ML) ແນະນໍາອຸປະສັກເພີ່ມເຕີມ.
ເຄື່ອງມືເປີດຫຼາຍຮ້ອຍອັນແມ່ນມີຢູ່ເພື່ອຊ່ວຍໃນທຸກຂັ້ນຕອນຂອງວົງຈອນຊີວິດ ML, ຈາກການກະກຽມຂໍ້ມູນຜ່ານການຝຶກອົບຮົມແບບຈໍາລອງ.
ບໍ່ເຫມືອນກັບການພັດທະນາຊອບແວແບບດັ້ງເດີມ, ເມື່ອທີມງານເລືອກເຄື່ອງມືຫນຶ່ງສໍາລັບແຕ່ລະຂັ້ນຕອນ, ດ້ວຍ ML ໂດຍທົ່ວໄປແລ້ວທ່ານຕ້ອງການຄົ້ນຫາທຸກເຄື່ອງມືທີ່ມີຢູ່ (ຕົວຢ່າງ, algorithm) ເພື່ອເບິ່ງວ່າມັນປັບປຸງຜົນໄດ້ຮັບ.
ດັ່ງນັ້ນ, ນັກພັດທະນາ ML ຕ້ອງໃຊ້ແລະຜະລິດຫ້ອງສະຫມຸດຫຼາຍຮ້ອຍຫ້ອງ.
ຂັ້ນຕອນການຮຽນຮູ້ຂອງເຄື່ອງຈັກປະກອບມີຕົວກໍານົດການປັບແຕ່ງຫຼາຍພັນຕົວ, ແລະມັນຍາກທີ່ຈະລະບຸຕົວກໍານົດການ, ລະຫັດ, ແລະຂໍ້ມູນເຂົ້າໄປໃນແຕ່ລະການທົດລອງເພື່ອສ້າງຕົວແບບ, ບໍ່ວ່າທ່ານຈະເຮັດວຽກຄົນດຽວຫຼືໃນທີມ.
ໂດຍບໍ່ມີການຕິດຕາມທີ່ເຫມາະສົມ, ທີມງານມັກຈະຕໍ່ສູ້ກັບລະຫັດດຽວກັນເພື່ອເຮັດວຽກອີກເທື່ອຫນຶ່ງ. ບໍ່ວ່າທ່ານຈະເປັນນັກວິທະຍາສາດຂໍ້ມູນທີ່ໂອນລະຫັດການຝຶກອົບຮົມຂອງທ່ານໄປຫາວິສະວະກອນສໍາລັບການນໍາໃຊ້ການຜະລິດ, ຫຼືທ່ານກໍາລັງກັບຄືນໄປຫາວຽກງານທີ່ຜ່ານມາຂອງທ່ານເພື່ອວິນິດໄສບັນຫາ, ການຖອນຄືນຂັ້ນຕອນຂອງຂະບວນການເຮັດວຽກ ML ແມ່ນສໍາຄັນ.
ການເຄື່ອນຍ້າຍແບບຈໍາລອງໄປສູ່ການຜະລິດອາດຈະມີຄວາມຫຍຸ້ງຍາກເນື່ອງຈາກວິທີການແລະສະພາບແວດລ້ອມຈໍານວນຫລາຍທີ່ຕ້ອງໃຊ້ (ເຊັ່ນ: ການບໍລິການ REST, ການສະຫຼຸບຊຸດ, ຫຼືແອັບຯມືຖື). ບໍ່ມີວິທີການທົ່ວໄປສໍາລັບການຍ້າຍຕົວແບບຈາກຫ້ອງສະຫມຸດໃດໆໄປຫາເຄື່ອງມືເຫຼົ່ານີ້, ແລະດັ່ງນັ້ນ, ແຕ່ລະການນໍາໃຊ້ໃຫມ່ແນະນໍາຄວາມສ່ຽງ.
ເນື່ອງຈາກບັນຫາເຫຼົ່ານີ້, ມັນເປັນທີ່ຊັດເຈນວ່າການພັດທະນາ ML ຕ້ອງປັບປຸງຢ່າງຫຼວງຫຼາຍເພື່ອໃຫ້ມີຄວາມຫມັ້ນຄົງ, ຄາດເດົາໄດ້, ແລະຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງເປັນການພັດທະນາຊອບແວແບບດັ້ງເດີມ.
ສິ່ງທ້າທາຍ ML
- ມີເຄື່ອງມືທີ່ແຕກຕ່າງກັນຫຼາຍ. ມີຫຼາຍຮ້ອຍວິທີແກ້ໄຂຊອບແວທີ່ມີຢູ່ເພື່ອຊ່ວຍໃນທຸກຂັ້ນຕອນຂອງວົງຈອນຊີວິດການຮຽນຮູ້ເຄື່ອງຈັກ, ຈາກການກະກຽມຂໍ້ມູນຈົນເຖິງການຝຶກອົບຮົມແບບຈໍາລອງ. ນອກຈາກນັ້ນ, ບໍ່ເຫມືອນກັບການພັດທະນາຊອບແວແບບດັ້ງເດີມ, ເມື່ອທີມງານເລືອກເຄື່ອງມືຫນຶ່ງສໍາລັບແຕ່ລະຂັ້ນຕອນ, ໃນການຮຽນຮູ້ເຄື່ອງຈັກ (ML), ທ່ານມັກຈະຕ້ອງການຄົ້ນຫາທຸກເຄື່ອງມືທີ່ມີຢູ່ (ຕົວຢ່າງ, algorithm) ເພື່ອເບິ່ງວ່າມັນປັບປຸງຜົນໄດ້ຮັບ. ດັ່ງນັ້ນ, ນັກພັດທະນາ ML ຕ້ອງໃຊ້ແລະຜະລິດຫ້ອງສະຫມຸດຫຼາຍຮ້ອຍຫ້ອງ.
- ມັນຍາກທີ່ຈະຕິດຕາມການທົດລອງ. ຂັ້ນຕອນການຮຽນຮູ້ຂອງເຄື່ອງຈັກປະກອບມີຕົວກໍານົດການປັບແຕ່ງຫຼາຍພັນຕົວ, ແລະມັນຍາກທີ່ຈະລະບຸຕົວກໍານົດການ, ລະຫັດ, ແລະຂໍ້ມູນເຂົ້າໄປໃນແຕ່ລະການທົດລອງເພື່ອສ້າງຕົວແບບ, ບໍ່ວ່າທ່ານຈະເຮັດວຽກຄົນດຽວຫຼືໃນທີມ.
- ມັນເປັນການຍາກທີ່ຈະປະຕິບັດການຮຽນຮູ້ເຄື່ອງຈັກ. ການເຄື່ອນຍ້າຍແບບຈໍາລອງໄປສູ່ການຜະລິດອາດຈະມີຄວາມຫຍຸ້ງຍາກເນື່ອງຈາກວິທີການແລະສະພາບແວດລ້ອມຈໍານວນຫລາຍທີ່ຕ້ອງໃຊ້ (ເຊັ່ນ: ການບໍລິການ REST, ການສະຫຼຸບຊຸດ, ຫຼືແອັບຯມືຖື). ບໍ່ມີວິທີການທົ່ວໄປສໍາລັບການຍ້າຍຕົວແບບຈາກຫ້ອງສະຫມຸດໃດໆໄປຫາເຄື່ອງມືເຫຼົ່ານີ້. ດັ່ງນັ້ນ, ແຕ່ລະການປະຕິບັດໃຫມ່ແນະນໍາຄວາມສ່ຽງ.
ແມ່ນຫຍັງ MLflow?
MLflow ເປັນແພລດຟອມ open-source ສໍາລັບວົງຈອນຊີວິດການຮຽນຮູ້ເຄື່ອງຈັກ. ມັນແມ່ນອີງໃສ່ແນວຄວາມຄິດຂອງການໂຕ້ຕອບແບບເປີດ, ສະເຫນີບົດຄັດຫຍໍ້ທີ່ສໍາຄັນຈໍານວນຫຼາຍທີ່ອະນຸຍາດໃຫ້ໂຄງສ້າງພື້ນຖານໃນປະຈຸບັນແລະລະບົບການຮຽນຮູ້ເຄື່ອງຈັກສາມາດປະສົມປະສານກັບລະບົບໄດ້.
ນີ້ຫມາຍຄວາມວ່າຖ້າທ່ານເປັນນັກພັດທະນາທີ່ຕ້ອງການໃຊ້ MLflow ແຕ່ກໍາລັງໃຊ້ກອບທີ່ບໍ່ສະຫນັບສະຫນູນ, ການອອກແບບການໂຕ້ຕອບແບບເປີດເຮັດໃຫ້ມັນຂ້ອນຂ້າງງ່າຍດາຍທີ່ຈະປະສົມປະສານກອບນັ້ນແລະເລີ່ມເຮັດວຽກກັບເວທີ. ໃນທາງປະຕິບັດ, ນີ້ຫມາຍຄວາມວ່າ MLflow ມີຈຸດປະສົງເພື່ອເຮັດວຽກກັບໃດໆ ການຮຽນຮູ້ເຄື່ອງຈັກ ຫ້ອງສະຫມຸດຫຼືພາສາ.
ນອກຈາກນັ້ນ, MLflow ສົ່ງເສີມການເຮັດຊ້ໍາອີກ, ຊຶ່ງຫມາຍຄວາມວ່າການຝຶກອົບຮົມດຽວກັນຫຼືລະຫັດການຮຽນຮູ້ເຄື່ອງຈັກການຜະລິດແມ່ນມີຈຸດປະສົງເພື່ອດໍາເນີນການກັບຜົນໄດ້ຮັບດຽວກັນໂດຍເອກະລາດຂອງສະພາບແວດລ້ອມ, ບໍ່ວ່າຈະຢູ່ໃນຄລາວ, ໃນບ່ອນເຮັດວຽກທ້ອງຖິ່ນ, ຫຼືໃນປື້ມບັນທຶກ.
ສຸດທ້າຍ, MLflow ຖືກສ້າງຂຶ້ນເພື່ອການຂະຫຍາຍຂະຫນາດ, ດັ່ງນັ້ນມັນສາມາດຖືກນໍາໃຊ້ໂດຍທີມງານຂະຫນາດນ້ອຍຂອງນັກວິທະຍາສາດຂໍ້ມູນເຊັ່ນດຽວກັນກັບບໍລິສັດໃຫຍ່ທີ່ມີນັກປະຕິບັດການຮຽນຮູ້ເຄື່ອງຈັກຫຼາຍຮ້ອຍຄົນ.
MLflow ແມ່ນເຂົ້າກັນໄດ້ກັບຫ້ອງສະໝຸດການຮຽນຮູ້ເຄື່ອງຈັກ, ສູດການຄິດໄລ່, ເຄື່ອງມືການນຳໃຊ້ ຫຼືພາສາຕ່າງໆ. ມັນຍັງມີຂໍ້ດີດັ່ງຕໍ່ໄປນີ້:
- ອອກແບບມາເພື່ອປະຕິບັດງານກັບການບໍລິການຄລາວໃດໆ.
- ຂະຫຍາຍຂໍ້ມູນຂະໜາດໃຫຍ່ດ້ວຍ Apache Spark.
- MLflow ແມ່ນເຂົ້າກັນໄດ້ກັບກອບການຮຽນຮູ້ເຄື່ອງຈັກທີ່ຫຼາກຫຼາຍແບບເປີດ, ລວມທັງ Apache Spark, TensorFlow, ແລະ SciKit-ຮຽນຮູ້.
ຖ້າທ່ານມີລະຫັດແລ້ວ, MLflow ສາມາດໃຊ້ກັບມັນໄດ້. ທ່ານອາດຈະແບ່ງປັນໂຄງຮ່າງການແລະຕົວແບບຂອງທ່ານລະຫວ່າງວິສາຫະກິດເພາະວ່າມັນແມ່ນ ເປີດເຜີຍແຫຼ່ງ.
ອົງປະກອບ MLflow: ພວກມັນເຮັດວຽກແນວໃດ?
MLflow ເປັນແພລດຟອມທີ່ບໍ່ເສຍຄ່າແລະເປີດແຫຼ່ງສໍາລັບການຄຸ້ມຄອງວົງຈອນຊີວິດ ML, ເຊິ່ງລວມມີການທົດລອງ, ການແຜ່ພັນ, ການໃຊ້ແລະການລົງທະບຽນແບບຈໍາລອງດຽວ. ໃນປັດຈຸບັນ, MLflow ມີສີ່ອົງປະກອບ:
1. ການຕິດຕາມ MLflow
ຂ້ອຍຈະເລີ່ມຕົ້ນດ້ວຍການຕິດຕາມ MLflow. MLflow ສະຫນັບສະຫນູນການລວບລວມແນວຄວາມຄິດທີ່ສໍາຄັນຕ່າງໆທີ່ກ່ຽວຂ້ອງກັບບ່ອນເກັບຂໍ້ມູນການຕິດຕາມ metadata ການຝຶກອົບຮົມສູນກາງ. ແນວຄິດທໍາອິດແມ່ນການລວບລວມຂອງ hyperparameters ທີ່ສໍາຄັນຫຼື knob ການຕັ້ງຄ່າທີ່ມີອິດທິພົນຕໍ່ການປະຕິບັດຕົວແບບ. ການໃຊ້ APIs ຂອງ MLflow ແລະບໍລິການຕິດຕາມທີ່ເປັນສູນກາງອາດຈະຮັກສາສິ່ງເຫຼົ່ານີ້ທັງຫມົດ.
ຜູ້ໃຊ້ຍັງອາດຈະບັນທຶກຂໍ້ມູນການປະຕິບັດເພື່ອໃຫ້ໄດ້ຮັບຄວາມເຂົ້າໃຈກ່ຽວກັບຜົນສໍາເລັດຂອງຮູບແບບການຮຽນຮູ້ເຄື່ອງຈັກຂອງເຂົາເຈົ້າ. ຍິ່ງໄປກວ່ານັ້ນ, ສໍາລັບການເຮັດເລື້ມຄືນ, MLflow ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດເຂົ້າລະຫັດແຫຼ່ງສະເພາະທີ່ຖືກນໍາໃຊ້ເພື່ອສ້າງແບບຈໍາລອງເຊັ່ນດຽວກັນກັບສະບັບຂອງມັນໂດຍການລວມເຂົ້າກັບ Git ຢ່າງແຫນ້ນຫນາເພື່ອຜູກມັດທຸກຕົວແບບກັບຄໍາຫມັ້ນສັນຍາສະເພາະ.
MLflow ສາມາດຖືກໃຊ້ເພື່ອບັນທຶກສິ່ງປະດິດ, ເຊິ່ງເປັນໄຟລ໌ທີ່ຕົນເອງມັກ, ລວມທັງການຝຶກອົບຮົມ, ຂໍ້ມູນການທົດສອບ, ແລະຕົວແບບຂອງຕົນເອງສໍາລັບການສືບພັນ.
ນີ້ຫມາຍຄວາມວ່າຖ້າຂ້ອຍເປັນນັກພັດທະນາທີ່ພຽງແຕ່ຝຶກອົບຮົມແບບຈໍາລອງ, ຂ້ອຍສາມາດສືບຕໍ່ໃຫ້ບໍລິການຕິດຕາມສູນກາງ, ແລະຫນຶ່ງໃນເພື່ອນຮ່ວມງານຂອງຂ້ອຍສາມາດໂຫລດມັນຕໍ່ມາແລະສືບຕໍ່ຝຶກອົບຮົມແລະທົດລອງຫຼືການຜະລິດແບບຈໍາລອງນັ້ນເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການສະເພາະ. .
ເມື່ອປະຕິບັດລະຫັດການຮຽນຮູ້ເຄື່ອງຈັກຂອງທ່ານແລະຫຼັງຈາກນັ້ນເບິ່ງຜົນໄດ້ຮັບ, ການຕິດຕາມແມ່ນ API ທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດບັນທຶກພາລາມິເຕີ, ສະບັບລະຫັດ, metrics, ແລະໄຟລ໌ຜົນຜະລິດ. ມັນຂຽນໃນ Python, R, ແລະ Java, ໃນບັນດາພາສາອື່ນໆ. ມັນຍັງສາມາດເຂົ້າເຖິງໄດ້ເປັນ REST API, ເຊິ່ງອາດຈະຖືກນໍາໃຊ້ເພື່ອສ້າງແອັບຯຢູ່ເທິງສຸດຂອງມັນ.
ຄຸນນະສົມບັດທີ່ສໍາຄັນ
- ຜູ້ພັດທະນາຫຼາຍຄົນໃຊ້ MLflow ໃນ PC ທ້ອງຖິ່ນຂອງພວກເຂົາ, ບ່ອນທີ່ backend ແລະ artifact storage ແບ່ງປັນໄດເລກະທໍລີໃນແຜ່ນ.
- ຜູ້ໃຊ້ຫຼາຍຄົນຍັງໃຊ້ SQLite, ຖານຂໍ້ມູນທີ່ເຂົ້າກັນໄດ້ກັບ SQLAlchemy, ເພື່ອດໍາເນີນການ MLflow ໃນເຄື່ອງຄອມພິວເຕີທ້ອງຖິ່ນຂອງພວກເຂົາ.
- MLflow ຍັງສະຫນັບສະຫນູນສະຖາປັດຕະຍະກໍາທີ່ແຈກຢາຍ. ເຊີບເວີຕິດຕາມ, ຮ້ານ backend, ແລະຮ້ານ artifact ແມ່ນໂຮດຢູ່ໃນເຄື່ອງແມ່ຂ່າຍທີ່ແຕກຕ່າງກັນໃນເຫຼົ່ານີ້.
- ຖ້າການແລ່ນຖືກລິເລີ່ມໂດຍໂຄງການ MLflow, git commit hash ຖືກນໍາໃຊ້. MLflow Python, R, Java, ແລະ REST API ອາດຈະຖືກໃຊ້ເພື່ອບັນທຶກຂໍ້ມູນເພື່ອແລ່ນ.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ທ່ານສາມາດກວດສອບການອອກຢ່າງເປັນທາງການ ເອກະສານ.
2. ໂຄງການ MLFlow
ຫຼັງຈາກທີ່ພວກເຮົາໄດ້ຜ່ານອົງປະກອບການຕິດຕາມ, ຂ້າພະເຈົ້າຢາກເວົ້າກ່ຽວກັບໂຄງການ MLflow, ເຊິ່ງເປັນໂຄງສ້າງການຫຸ້ມຫໍ່ທີ່ຊ້ໍາກັນສໍາລັບກອງປະຊຸມການຝຶກອົບຮົມແບບຈໍາລອງໂດຍບໍ່ຄໍານຶງເຖິງສະພາບການຂອງການປະຕິບັດ.
ທຸລະກິດນໍາໃຊ້ເຕັກໂນໂລຢີການຝຶກອົບຮົມການຮຽນຮູ້ເຄື່ອງຈັກຢ່າງກວ້າງຂວາງ, ແຕ່ພວກເຂົາຍັງໃຊ້ເຄື່ອງມືການຝຶກອົບຮົມເຫຼົ່ານີ້ຢູ່ໃນຂອບເຂດທີ່ຫຼາກຫຼາຍ. ຕົວຢ່າງ, ພວກເຂົາອາດຈະປະຕິບັດລະຫັດການຝຶກອົບຮົມຂອງເຂົາເຈົ້າຢູ່ໃນຄລາວ, ໃນ PC ທ້ອງຖິ່ນ, ຫຼືໃນປື້ມບັນທຶກ.
ນີ້ເຮັດໃຫ້ບັນຫາທີ່ຜົນໄດ້ຮັບການຮຽນຮູ້ເຄື່ອງຈັກແມ່ນຍາກທີ່ຈະເຮັດຊ້ໍາກັນ. ເລື້ອຍໆ, ລະຫັດການຝຶກອົບຮົມທີ່ຄືກັນບໍ່ປະຕິບັດຫຼືໃຫ້ຜົນໄດ້ຮັບດຽວກັນຢູ່ໃນສອງສະຖານທີ່ແຍກຕ່າງຫາກ.
ການແກ້ໄຂທີ່ສະຫນອງໃຫ້ໂດຍ MLflow ແມ່ນຄໍານິຍາມໂຄງການລະຫັດການຝຶກອົບຮົມດ້ວຍຕົນເອງເຊິ່ງປະກອບມີລະຫັດການຝຶກອົບຮົມການຮຽນຮູ້ເຄື່ອງຈັກທັງຫມົດ, ເຊັ່ນດຽວກັນກັບການຂຶ້ນກັບຫ້ອງສະຫມຸດສະບັບ, ການຕັ້ງຄ່າ, ແລະຂໍ້ມູນການຝຶກອົບຮົມແລະການທົດສອບ.
MLflow ຮັບປະກັນການແຜ່ພັນໃນຂອບເຂດການປະຕິບັດໂດຍການອະທິບາຍຢ່າງຈະແຈ້ງກ່ຽວກັບຊຸດຂອງຄວາມຕ້ອງການສໍາລັບຂະບວນການຝຶກອົບຮົມການຮຽນຮູ້ເຄື່ອງຈັກ. ມັນເຮັດສໍາເລັດນີ້ໂດຍການຕິດຕັ້ງຫ້ອງສະຫມຸດທັງຫມົດເຫຼົ່ານັ້ນແລະເຮັດສໍາເລັດລະບົບດຽວກັນລັດລະຫັດກໍາລັງແລ່ນຢູ່ໃນ.
ໂຄງການ MLflow ແມ່ນບໍ່ມີຫຍັງນອກ ເໜືອ ຈາກໄດເລກະທໍລີ. ມັນເປັນໄດເລກະທໍລີທີ່ປະກອບມີລະຫັດການຝຶກອົບຮົມ, ຄໍານິຍາມການຂຶ້ນກັບຫ້ອງສະຫມຸດ, ແລະຂໍ້ມູນອື່ນໆທີ່ຈໍາເປັນໂດຍກອງປະຊຸມການຝຶກອົບຮົມ, ເຊັ່ນດຽວກັນກັບໄຟລ໌ການຕັ້ງຄ່າທາງເລືອກນີ້.
ຄວາມຕ້ອງການຫ້ອງສະຫມຸດເຫຼົ່ານີ້ສາມາດຖືກກໍານົດໃນຫຼາຍວິທີ. ສໍາລັບຕົວຢ່າງ, ຜູ້ໃຊ້ສາມາດສະຫນອງຂໍ້ກໍານົດສະພາບແວດລ້ອມ anaconda ຮູບແບບ YAML ເພື່ອບອກຄວາມຕ້ອງການຫ້ອງສະຫມຸດລະຫັດການຝຶກອົບຮົມຂອງເຂົາເຈົ້າ. MLflow ຈະປະຕິບັດລະຫັດການຝຶກອົບຮົມພາຍໃນກ່ອງບັນຈຸ. ໃນກໍລະນີດັ່ງກ່າວ, ພວກເຂົາເຈົ້າຍັງສາມາດປະກອບມີບັນຈຸ Docker.
ສຸດທ້າຍ, MLflow ມີການໂຕ້ຕອບເສັ້ນຄໍາສັ່ງ (CLI) ສໍາລັບດໍາເນີນການໂຄງການເຫຼົ່ານີ້, ເຊັ່ນດຽວກັນກັບ Python, ແລະ Java APIs. ໂຄງການເຫຼົ່ານີ້ອາດຈະໄດ້ຮັບການດໍາເນີນການຢູ່ໃນລະບົບທ້ອງຖິ່ນຂອງຜູ້ໃຊ້ເຊັ່ນດຽວກັນກັບການຕັ້ງຄ່າຫ່າງໄກສອກຫຼີກທີ່ຫຼາກຫຼາຍເຊັ່ນ: Databricks ວຽກເຮັດງານທໍາແລະ Kubernetes. ໂຄງການ MLflow ຊ່ວຍໃຫ້ທ່ານສາມາດຫຸ້ມຫໍ່ລະຫັດວິທະຍາສາດຂໍ້ມູນໃນລັກສະນະທີ່ຊ້ໍາກັນແລະໃຊ້ຄືນໄດ້, ສ່ວນໃຫຍ່ແມ່ນອີງໃສ່ມາດຕະຖານ.
ອົງປະກອບຂອງໂຄງການປະກອບມີ API ເຊັ່ນດຽວກັນກັບເຄື່ອງໃຊ້ຄໍາສັ່ງສໍາລັບການຄຸ້ມຄອງໂຄງການ. ຄວາມສາມາດເຫຼົ່ານີ້ຮັບປະກັນວ່າໂຄງການອາດຈະຖືກຕ່ອງໂສ້ເຂົ້າກັນເພື່ອສ້າງຂະບວນການການຮຽນຮູ້ເຄື່ອງຈັກ.
ຄຸນນະສົມບັດທີ່ສໍາຄັນ
- MLflow ສະຫນັບສະຫນູນສະພາບແວດລ້ອມຂອງໂຄງການ, ລວມທັງສະພາບແວດລ້ອມບັນຈຸ Docker, ສະພາບແວດລ້ອມ Conda, ແລະສະພາບແວດລ້ອມລະບົບ.
- ທຸກໆບ່ອນເກັບມ້ຽນ Git ຫຼືໄດເລກະທໍລີທ້ອງຖິ່ນອາດຈະຖືກພິຈາລະນາເປັນໂຄງການ MLflow; ໂດຍຄ່າເລີ່ມຕົ້ນ; ທ່ານສາມາດນໍາໃຊ້ shell ໃດຫຼື ສະຄຣິບ Python ໃນໄດເລກະທໍລີເປັນຈຸດເຂົ້າໂຄງການ.
- ການອ້າງອີງທີ່ບໍ່ແມ່ນ Python, ເຊັ່ນ Java libraries, ສາມາດຖືກຈັບໂດຍໃຊ້ Docker containers.
- ທ່ານອາດຈະໄດ້ຮັບການຄວບຄຸມຫຼາຍກວ່າໂຄງການ MLflow ໂດຍການເພີ່ມໄຟລ໌ໂຄງການໃສ່ໄດເລກະທໍລີຮາກຂອງໂຄງການ, ເຊິ່ງເປັນໄຟລ໌ຂໍ້ຄວາມໃນ YAML syntax.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ທ່ານສາມາດກວດສອບການອອກຢ່າງເປັນທາງການ ເອກະສານ.
3. ຮູບແບບ MLflow
ຕອນນີ້, ຂ້າພະເຈົ້າຢາກຈະປຶກສາຫາລືກ່ຽວກັບແບບຈໍາລອງ MLflow, ຮູບແບບແບບຈໍາລອງແບບທົ່ວໄປທີ່ສະຫນັບສະຫນູນຂອບເຂດການຜະລິດຢ່າງກວ້າງຂວາງ. ເຫດຜົນສໍາລັບຮູບແບບ MLflow ໃນປັດຈຸບັນແມ່ນຂ້ອນຂ້າງຄ້າຍຄືກັນກັບໂຄງການ.
ອີກເທື່ອ ໜຶ່ງ, ພວກເຮົາເຫັນວ່າຕົວແບບອາດຈະຖືກສ້າງຂື້ນໂດຍໃຊ້ເຄື່ອງມືທີ່ຫລາກຫລາຍ, ແຕ່ພວກມັນຍັງສາມາດຜະລິດຫຼື ນຳ ໃຊ້ໃນຫຼາຍໆສະຖານະການ, ກົງກັນຂ້າມກັບສະພາບແວດລ້ອມການຝຶກອົບຮົມ.
ການຕັ້ງຄ່າເຫຼົ່ານີ້ປະກອບມີເຄື່ອງມືສໍາລັບການໃຫ້ບໍລິການໃນເວລາຈິງ, ເຊັ່ນ Kubernetes ຫຼື Amazon SageMaker, ເຊັ່ນດຽວກັນກັບການຖ່າຍທອດແລະການໃຫ້ຄະແນນ batch, ເຊັ່ນ Spark. ນອກຈາກນັ້ນ, ບາງທຸລະກິດອາດຈະເລືອກທີ່ຈະນໍາໃຊ້ແບບຈໍາລອງເປັນການບໍລິການເວັບ RESTful ທີ່ເຮັດວຽກຢູ່ໃນ cloud instance ທີ່ກໍານົດໄວ້ກ່ອນ.
ຮູບແບບ MLflow, ເຊັ່ນໂຄງການ, ແມ່ນໂຄງສ້າງໄດເລກະທໍລີ. ມັນປະກອບມີໄຟລ໌ການຕັ້ງຄ່າແລະ, ເວລານີ້, ປອມຕົວແບບ serialized ແທນທີ່ຈະເປັນລະຫັດການຝຶກອົບຮົມ. ມັນຍັງລວມເອົາຊຸດຂອງຄວາມເພິ່ງພາອາໄສນີ້ສໍາລັບການເຮັດເລື້ມຄືນເປັນໂຄງການ. ເວລານີ້, ພວກເຮົາຈະພິຈາລະນາຄວາມຂຶ້ນກັບການປະເມີນຜົນໃນສະພາບການຂອງສະພາບແວດລ້ອມ Conda.
ນອກຈາກນັ້ນ, MLflow ປະກອບມີເຄື່ອງມືການຜະລິດແບບຈໍາລອງສໍາລັບການຈັດລໍາດັບແບບຈໍາລອງໃນຮູບແບບ MLflow ຈາກຂອບເຂດຂອງກອບທີ່ນິຍົມ. ສຸດທ້າຍ, MLflow ເພີ່ມການນໍາໄປໃຊ້, APIs ສໍາລັບການຜະລິດແລະການເຊື່ອມຕໍ່ຮູບແບບ MLflow ໃດໆກັບການບໍລິການຕ່າງໆ, ແລະ APIs ເຫຼົ່ານີ້ແມ່ນສາມາດເຂົ້າເຖິງໃນຮູບແບບ Python, Java, R, ແລະ CLI.
ຕົວແບບແມ່ນອົງປະກອບທີ່ມີໂຄງສ້າງມາດຕະຖານສໍາລັບຮູບແບບການຫຸ້ມຫໍ່ທີ່ສາມາດນໍາໃຊ້ແລະເຂົ້າໃຈໄດ້ໂດຍເຄື່ອງມືລົງລຸ່ມເຊັ່ນເຊີບເວີ inferencing ຫຼື. ຖານຂໍ້ມູນ batch inferencing ເວທີ. ອົງປະກອບນີ້ຊ່ວຍປະຢັດລະຫັດ bespoke ຫຼາຍຊົ່ວໂມງໃນເວລາທີ່ການຫຸ້ມຫໍ່ຮູບແບບສໍາລັບການຜະລິດ.
ຮູບແບບ MLflow ແມ່ນມາດຕະຖານສໍາລັບການຫຸ້ມຫໍ່ການຮຽນຮູ້ເຄື່ອງຈັກໃນຫຼາຍຮູບແບບທີ່ເອີ້ນວ່າ "ລົດຊາດ." MLflow ສະໜອງເຄື່ອງມືຫຼາຍຢ່າງເພື່ອຊ່ວຍທ່ານໃນການນຳໃຊ້ຕົວແບບປະເພດຕ່າງໆ. ແຕ່ລະຕົວແບບ MLflow ຖືກເກັບໄວ້ເປັນໄດເລກະທໍລີທີ່ບັນຈຸໄຟລ໌ທີ່ຕົນເອງມັກເຊັ່ນດຽວກັນກັບໄຟລ໌ຕົວອະທິບາຍແບບຈໍາລອງ ML ທີ່ມີລາຍຊື່ຂອງລົດຊາດທີ່ມັນອາດຈະຖືກນໍາໃຊ້.
ຄຸນນະສົມບັດທີ່ສໍາຄັນ
- ທຸກໆເຄື່ອງມືໃນການຕິດຕັ້ງຂອງ MLflow ສະເຫນີລົດຊາດ "ມາດຕະຖານ" ຫຼາຍຢ່າງເຊັ່ນ: ລົດຊາດ "ຟັງຊັນ Python" ທີ່ອະທິບາຍວິທີການດໍາເນີນການແບບຈໍາລອງເປັນຟັງຊັນ Python.
- ແຕ່ລະຕົວແບບ MLflow ປະກອບດ້ວຍໄດເລກະທໍລີທີ່ມີໄຟລ໌ທີ່ມັກ, ເຊັ່ນດຽວກັນກັບໄຟລ໌ຕົວແບບ ML ຢູ່ຮາກຂອງໄດເລກະທໍລີທີ່ກໍານົດລົດຊາດຈໍານວນຫລາຍຂອງຕົວແບບ.
- ເມື່ອເກັບຮັກສາແບບຈໍາລອງ, MLflow ຊ່ວຍໃຫ້ທ່ານສາມາດກໍານົດພາລາມິເຕີສະພາບແວດລ້ອມ Conda ທີ່ປະກອບດ້ວຍການຂຶ້ນກັບຕົວແບບ. ຖ້າບໍ່ມີການລະບຸສະພາບແວດລ້ອມ Conda, ສະພາບແວດລ້ອມເລີ່ມຕົ້ນໂດຍອີງໃສ່ລົດຊາດຂອງຕົວແບບແມ່ນຖືກສ້າງຂຶ້ນ. ຫຼັງຈາກນັ້ນ, ສະພາບແວດລ້ອມ Conda ຖືກເກັບໄວ້ໃນ conda.yaml.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ທ່ານສາມາດກວດສອບການອອກຢ່າງເປັນທາງການ ເອກະສານ.
4. MLflow Model Registry
ການລົງທະບຽນແບບຈໍາລອງແມ່ນບ່ອນເກັບຂໍ້ມູນສໍາລັບແບບຈໍາລອງການຮຽນຮູ້ເຄື່ອງຈັກ (ML). Model Registry ແມ່ນປະກອບດ້ວຍ APIs ແລະຄໍາຮ້ອງສະຫມັກເວັບໄຊຕ໌ທີ່ຖືກນໍາໃຊ້ເພື່ອຮັກສາຕົວແບບໃນຂັ້ນຕອນຕ່າງໆເປັນທີມ. Lineage Model, Model Versioning, Easy Stage Transition, and Annotation ແມ່ນພຽງແຕ່ຄວາມສາມາດບາງຢ່າງທີ່ມີຢູ່ໃນ Model Registry.
ການລົງທະບຽນຕົວແບບ, ນອກເຫນືອໄປຈາກຕົວແບບຂອງຕົວມັນເອງ, ມີຂໍ້ມູນ (metadata) ກ່ຽວກັບຂໍ້ມູນແລະວຽກງານການຝຶກອົບຮົມທີ່ໃຊ້ໃນການກໍ່ສ້າງຕົວແບບ. ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະຕິດຕາມການປ້ອນຂໍ້ມູນທີ່ຕ້ອງການເຫຼົ່ານີ້ເພື່ອສ້າງສາຍພັນ ສຳ ລັບຕົວແບບ ML. ໃນເລື່ອງນີ້, ການລົງທະບຽນແບບຈໍາລອງເຮັດຫນ້າທີ່ຄ້າຍຄືກັນກັບຊອບແວທົ່ວໄປ ການຄວບຄຸມເວີຊັນ ລະບົບ (ຕົວຢ່າງ, Git, SVN) ແລະບ່ອນເກັບຂໍ້ມູນປອມ (ເຊັ່ນ, ປອມ, PyPI).
Model Registry ເປັນກອບທີ່ອະນຸຍາດໃຫ້ນັກວິທະຍາສາດຂໍ້ມູນແລະວິສະວະກອນການຮຽນຮູ້ເຄື່ອງຈັກເພື່ອເຜີຍແຜ່, ທົດສອບ, ຕິດຕາມ, ຈັດການ, ແລະແຈກຢາຍແບບຈໍາລອງຂອງພວກເຂົາສໍາລັບການຮ່ວມມືກັບທີມງານອື່ນໆ. ໂດຍພື້ນຖານແລ້ວ, ການລົງທະບຽນແບບຈໍາລອງໄດ້ຖືກຈ້າງງານເມື່ອທ່ານໄດ້ສໍາເລັດໄລຍະການທົດສອບຂອງທ່ານແລະພ້ອມທີ່ຈະແບ່ງປັນການຄົ້ນພົບຂອງທ່ານກັບທີມງານແລະຜູ້ມີສ່ວນຮ່ວມ.
MLflow Model Registry ສະຫນອງ API ແລະການໂຕ້ຕອບຜູ້ໃຊ້ສໍາລັບການຄຸ້ມຄອງແບບຈໍາລອງຂອງທ່ານແລະອາຍຸຂອງພວກເຂົາຈາກຈຸດສູນກາງ. ເຊື້ອສາຍຂອງຕົວແບບ, ການສ້າງແບບຈໍາລອງ, ຄໍາບັນຍາຍ, ແລະການຫັນປ່ຽນຂັ້ນຕອນແມ່ນມີຢູ່ທັງຫມົດໂດຍຜ່ານທະບຽນ.
ໃນ MLflow, ແບບຈໍາລອງທີ່ລົງທະບຽນແມ່ນຫນຶ່ງທີ່ມີຊື່ເປັນເອກະລັກແລະ metadata, ຮຸ່ນແບບຈໍາລອງ, ໄລຍະການປ່ຽນແປງ, ແລະສາຍພັນຂອງຕົວແບບ. ຮຸ່ນຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນສາມາດພົບໄດ້ໃນແບບລົງທະບຽນ. ຮູບແບບໃຫມ່ແມ່ນຖືວ່າເປັນຮຸ່ນ 1 ເມື່ອມັນຖືກລົງທະບຽນຢູ່ໃນທະບຽນ. ລຸ້ນຕໍ່ໄປນີ້ຖືກເພີ່ມໃສ່ທຸກລຸ້ນທີ່ມີຊື່ດຽວກັນ.
ທ່ານສາມາດມອບໝາຍຂັ້ນຕອນໜຶ່ງໃຫ້ກັບລຸ້ນຕົວແບບໄດ້ທຸກເວລາ. ຢ່າງໃດກໍ່ຕາມ, ຂັ້ນຕອນຕ້ອງໄດ້ຮັບການມອບຫມາຍພາຍໃຕ້ໄລຍະ MLflow ທີ່ໄດ້ກໍານົດຢ່າງເປັນທາງການ, ເຊັ່ນ: ຂັ້ນຕອນ, ການຜະລິດ, ແລະເກັບໄວ້. ຮຸ່ນຕົວແບບສາມາດປ່ຽນຈາກຂັ້ນຕອນຫນຶ່ງໄປຫາອີກ.
MLflow ອະນຸຍາດໃຫ້ທ່ານໃຊ້ markdown ເພື່ອອະທິບາຍທັງແບບຈໍາລອງລະດັບເທິງແລະແຕ່ລະຮຸ່ນສະເພາະ. ທ່ານສາມາດປະກອບມີຄໍາອະທິບາຍເຊັ່ນດຽວກັນກັບຂໍ້ມູນທີ່ກ່ຽວຂ້ອງອື່ນໆ, ເຊັ່ນ: ຄໍາອະທິບາຍສູດການຄິດໄລ່, ວິທີການ, ແລະຊຸດຂໍ້ມູນທີ່ໃຊ້.
ຄຸນນະສົມບັດທີ່ສໍາຄັນ
- ເພື່ອເຂົ້າເຖິງການລົງທະບຽນແບບຈໍາລອງຜ່ານ UI ຫຼື API ເມື່ອໂຮດເຊີບເວີ MLflow ຂອງທ່ານເອງ, ທ່ານຕ້ອງໃຊ້ຮ້ານ backend ທີ່ມີຖານຂໍ້ມູນ.
- Model Registry ອາດຈະຖືກເຂົ້າເຖິງໂດຍຜ່ານຮູບແບບ MLflow flavor ຫຼື MLflow Client Tracking API interface. ຕົວຢ່າງ, ທ່ານອາດຈະລົງທະບຽນຕົວແບບໃນລະຫວ່າງການດໍາເນີນການທົດລອງ MLflow ຫຼືຫຼັງຈາກການທົດລອງທັງຫມົດຂອງທ່ານດໍາເນີນການ.
- ບໍ່ແມ່ນທຸກຄົນຈະເລີ່ມການຝຶກອົບຮົມຕົວແບບຂອງເຂົາເຈົ້າໂດຍໃຊ້ MLflow. ດັ່ງນັ້ນ, ທ່ານອາດຈະມີບາງຕົວແບບທີ່ໄດ້ຮັບການຝຶກອົບຮົມກ່ອນທີ່ຈະໃຊ້ MLflow. ແທນທີ່ຈະຝຶກອົບຮົມແບບຈໍາລອງຄືນໃຫມ່, ທ່ານພຽງແຕ່ຕ້ອງການລົງທະບຽນແບບຈໍາລອງທີ່ເກັບໄວ້ຂອງທ່ານກັບ Model Registry.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ທ່ານສາມາດກວດສອບການອອກຢ່າງເປັນທາງການ ເອກະສານ.
ສະຫຼຸບ
MLflow ເປັນເຄື່ອງມືວົງຈອນຊີວິດ ML ທີ່ດີເລີດ ແລະຂະຫຍາຍຕົວຢ່າງຕໍ່ເນື່ອງ. ເຈົ້າອາດຈະໃຊ້ມັນຄຽງຄູ່ກັບເຄື່ອງມື ແລະເວທີປັດຈຸບັນຂອງເຈົ້າ.
ມັນສະຫນັບສະຫນູນພາສາການຂຽນໂປລແກລມຫຼາຍພາສາ, ລວມທັງ Python, Java, ແລະ R. ທ່ານຍັງສາມາດຕິດຕາມ, ບັນທຶກ, ແລະປຽບທຽບຮຸ່ນຕົວແບບຕ່າງໆໄດ້ໄວຍ້ອນການອອກແບບທີ່ເປັນມິດກັບຜູ້ໃຊ້ຂອງມັນ.
ລອງໃຊ້ MLflow ແລ້ວບອກໃຫ້ພວກເຮົາຮູ້ປະສົບການຂອງເຈົ້າ!
ອອກຈາກ Reply ເປັນ