ຄຳຕອບສັ້ນໆ: ການນຳໃຊ້ຮູບແບບ AI ໝາຍເຖິງການເລືອກຮູບແບບການໃຫ້ບໍລິການ (ເວລາຈິງ, ແບບ batch, ການຖ່າຍທອດສົດ, ຫຼື edge), ຈາກນັ້ນເຮັດໃຫ້ເສັ້ນທາງທັງໝົດສາມາດສຳເນົາໄດ້, ສາມາດສັງເກດໄດ້, ປອດໄພ, ແລະ ສາມາດປີ້ນກັບຄືນໄດ້. ເມື່ອທ່ານເວີຊັນທຸກຢ່າງ ແລະ ປຽບທຽບຄວາມໜ่วงເວລາ p95/p99 ໃນ payload ທີ່ຄ້າຍຄືກັບການຜະລິດ, ທ່ານຈະຫຼີກລ່ຽງຄວາມລົ້ມເຫຼວສ່ວນໃຫຍ່ທີ່ "ເຮັດວຽກຢູ່ໃນແລັບທັອບຂອງຂ້ອຍ" ໄດ້.
ບົດຮຽນຫຼັກ:
ຮູບແບບການນຳໃຊ້: ເລືອກແບບເວລາຈິງ, ແບບ batch, ແບບສະຕຣີມມິງ, ຫຼື edge ກ່ອນທີ່ທ່ານຈະໃຊ້ເຄື່ອງມືຕ່າງໆ.
ຄວາມສາມາດໃນການສຳເນົາ: ເວີຊັນຂອງໂມເດວ, ຄຸນສົມບັດ, ລະຫັດ ແລະ ສະພາບແວດລ້ອມເພື່ອປ້ອງກັນການເລື່ອນລອຍ.
ຄວາມສາມາດໃນການສັງເກດການ: ຕິດຕາມກວດກາຫາງຄວາມໜ່ວງຊ້າ, ຄວາມຜິດພາດ, ຄວາມອີ່ມຕົວ, ແລະ ການແຈກຢາຍຂໍ້ມູນ ຫຼື ຜົນຜະລິດຢ່າງຕໍ່ເນື່ອງ.
ການເປີດຕົວທີ່ປອດໄພ: ໃຊ້ການທົດສອບ canary, blue-green, ຫຼື shadow ດ້ວຍຂອບເຂດການມ້ວນກັບຄືນອັດຕະໂນມັດ.
ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວ: ນຳໃຊ້ການກວດສອບຄວາມຖືກຕ້ອງ, ຂໍ້ຈຳກັດອັດຕາ ແລະ ການຈັດການຄວາມລັບ, ແລະ ຫຼຸດຜ່ອນຂໍ້ມູນສ່ວນຕົວ (PII) ໃນບັນທຶກ.

ບົດຄວາມທີ່ທ່ານອາດຈະຢາກອ່ານຫຼັງຈາກບົດຄວາມນີ້:
🔗 ວິທີການວັດແທກປະສິດທິພາບ AI
ຮຽນຮູ້ຕົວຊີ້ວັດ, ມາດຕະຖານ ແລະ ການກວດສອບໃນໂລກຕົວຈິງ ເພື່ອຜົນໄດ້ຮັບ AI ທີ່ໜ້າເຊື່ອຖື.
🔗 ວິທີການອັດຕະໂນມັດວຽກງານດ້ວຍ AI
ປ່ຽນວຽກງານທີ່ຊ້ຳໆໃຫ້ກາຍເປັນຂັ້ນຕອນການເຮັດວຽກໂດຍໃຊ້ການກະຕຸ້ນເຕືອນ, ເຄື່ອງມື ແລະ ການເຊື່ອມໂຍງ.
🔗 ວິທີການທົດສອບຮູບແບບ AI
ອອກແບບການປະເມີນຜົນ, ຊຸດຂໍ້ມູນ ແລະ ການໃຫ້ຄະແນນເພື່ອປຽບທຽບຮູບແບບຕ່າງໆຢ່າງເປັນກາງ.
🔗 ວິທີການສົນທະນາກັບ AI
ຖາມຄຳຖາມທີ່ດີກວ່າ, ກຳນົດສະພາບການ ແລະ ໄດ້ຮັບຄຳຕອບທີ່ຊັດເຈນຂຶ້ນໄດ້ໄວ.
1) “ການນຳໃຊ້” ໝາຍຄວາມວ່າແນວໃດແທ້ໆ (ແລະ ເປັນຫຍັງມັນຈຶ່ງບໍ່ແມ່ນພຽງແຕ່ API) 🧩
ເມື່ອຄົນເວົ້າວ່າ "ນຳໃຊ້ຮູບແບບ", ພວກເຂົາອາດຈະໝາຍເຖິງສິ່ງເຫຼົ່ານີ້:
-
ເປີດເຜີຍຈຸດສິ້ນສຸດ ເພື່ອໃຫ້ແອັບສາມາດເອີ້ນການອະນຸມານໄດ້ໃນເວລາຈິງ ( Vertex AI: ນຳໃຊ້ຮູບແບບໄປຍັງຈຸດສິ້ນສຸດ , Amazon SageMaker: ການອະນຸມານໃນເວລາຈິງ )
-
ດໍາເນີນການໃຫ້ຄະແນນແບບກຸ່ມ ທຸກໆຄືນເພື່ອອັບເດດການຄາດຄະເນໃນຖານຂໍ້ມູນ ( Amazon SageMaker Batch Transform )
-
ການອະນຸມານກະແສຂໍ້ມູນ (ເຫດການເຂົ້າມາຢູ່ຕະຫຼອດເວລາ, ການຄາດຄະເນອອກມາຢູ່ຕະຫຼອດເວລາ) ( Cloud Dataflow: ໜຶ່ງຄັ້ງແນ່ນອນ ທຽບກັບ ຢ່າງໜ້ອຍໜຶ່ງຄັ້ງ , ຮູບແບບການຖ່າຍທອດສົດ Cloud Dataflow )
-
ການນຳໃຊ້ Edge (ໂທລະສັບ, ບຣາວເຊີ, ອຸປະກອນທີ່ຝັງຢູ່, ຫຼື “ກ່ອງນ້ອຍໆໃນໂຮງງານ”) ( ການອະນຸມານໃນອຸປະກອນ LiteRT , ພາບລວມຂອງ LiteRT )
-
ການນຳໃຊ້ເຄື່ອງມືພາຍໃນ (UI ທີ່ຕ້ອງໃຊ້ກັບນັກວິເຄາະ, ປື້ມບັນທຶກ, ຫຼື ສະຄຣິບທີ່ກຳນົດເວລາໄວ້)
ສະນັ້ນການນຳໃຊ້ຈຶ່ງໜ້ອຍລົງ “ເຮັດໃຫ້ຮູບແບບສາມາດເຂົ້າເຖິງໄດ້” ແລະ ຄ້າຍຄືກັບ:
-
ການຫຸ້ມຫໍ່ + ການຮັບໃຊ້ + ການຂະຫຍາຍ + ການຕິດຕາມກວດກາ + ການຄຸ້ມຄອງ + ການຍົກເລີກ ( ການນຳໃຊ້ສີຟ້າ-ສີຂຽວ )
ມັນຄ້າຍຄືກັບການເປີດຮ້ານອາຫານ. ການປຸງແຕ່ງອາຫານທີ່ດີແມ່ນສຳຄັນ, ແນ່ນອນ. ແຕ່ທ່ານຍັງຕ້ອງການອາຄານ, ພະນັກງານ, ຕູ້ເຢັນ, ເມນູ, ລະບົບຕ່ອງໂສ້ການສະໜອງ, ແລະວິທີການຈັດການກັບຄວາມຮີບຮ້ອນຂອງອາຫານຄ່ຳໂດຍບໍ່ຕ້ອງຮ້ອງໄຫ້ໃນຕູ້ແຊ່ແຂງ. ບໍ່ແມ່ນຄຳປຽບທຽບທີ່ສົມບູນແບບ... ແຕ່ທ່ານເຂົ້າໃຈມັນ. 🍝
2) ສິ່ງທີ່ເຮັດໃຫ້ “ວິທີການນຳໃຊ້ຮູບແບບ AI” ເປັນຮຸ່ນທີ່ດີ ✅
"ການນຳໃຊ້ທີ່ດີ" ແມ່ນໜ້າເບື່ອໃນວິທີທີ່ດີທີ່ສຸດ. ມັນເຮັດວຽກໄດ້ຢ່າງຄາດເດົາໄດ້ພາຍໃຕ້ຄວາມກົດດັນ, ແລະເມື່ອມັນບໍ່ເຮັດວຽກ, ທ່ານສາມາດວິນິດໄສມັນໄດ້ໄວ.
ຄຳວ່າ "ດີ" ປົກກະຕິແລ້ວຈະເປັນແບບນີ້:
-
ການສ້າງແບບ Reproducible
ລະຫັດດຽວກັນ + ການເພິ່ງພາອາໄສດຽວກັນ = ພຶດຕິກຳດຽວກັນ. ບໍ່ມີຄວາມຕື່ນເຕັ້ນທີ່ "ເຮັດວຽກຢູ່ໃນແລັບທັອບຂອງຂ້ອຍ" 👻 ( Docker: ຕູ້ຄອນເທນເນີແມ່ນຫຍັງ? ) -
ສັນຍາການໂຕ້ຕອບທີ່ຊັດເຈນ
ມີການກຳນົດອິນພຸດ, ຜົນຜະລິດ, ຮູບແບບ ແລະ ກໍລະນີຂອບ. ບໍ່ມີປະເພດແປກໃຈໃນເວລາ 2 ໂມງເຊົ້າ. ( OpenAPI: OpenAPI ແມ່ນຫຍັງ? , JSON Schema ) -
ປະສິດທິພາບທີ່ກົງກັບຄວາມເປັນຈິງ
ຄວາມໜ່ວງເວລາ ແລະ ປະລິມານວຽກທີ່ວັດແທກໃນຮາດແວທີ່ຄ້າຍຄືກັບການຜະລິດ ແລະ payloads ທີ່ເປັນຈິງ. -
ການຕິດຕາມກວດກາດ້ວຍ
ເຄື່ອງມືວັດແທກ, ບັນທຶກ, ຮ່ອງຮອຍ, ແລະ ການກວດສອບການເລື່ອນທີ່ກະຕຸ້ນການກະທຳ (ບໍ່ພຽງແຕ່ແຜງຄວບຄຸມເທົ່ານັ້ນທີ່ບໍ່ມີໃຜເປີດ). ( ປຶ້ມ SRE: ການຕິດຕາມກວດກາລະບົບແບບກະຈາຍ ) -
ຍຸດທະສາດການເປີດຕົວທີ່ປອດໄພ
Canary ຫຼື ສີຟ້າ-ຂຽວ, ມ້ວນກັບຄືນໄດ້ງ່າຍ, ຮຸ່ນທີ່ບໍ່ຕ້ອງການການອະທິຖານ. ( Canary Release , Blue-Green Deployment ) -
ການຮັບຮູ້ຄ່າໃຊ້ຈ່າຍ
“ໄວ” ແມ່ນດີຫຼາຍຈົນກວ່າໃບບິນຈະເບິ່ງຄືກັບເບີໂທລະສັບ 📞💸 -
ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວທີ່ຝັງຢູ່ໃນ
ການຄຸ້ມຄອງຄວາມລັບ, ການຄວບຄຸມການເຂົ້າເຖິງ, ການຈັດການ PII, ແລະ ການກວດສອບ. ( Kubernetes Secrets , NIST SP 800-122 )
ຖ້າເຈົ້າສາມາດເຮັດສິ່ງເຫຼົ່ານັ້ນໄດ້ຢ່າງຕໍ່ເນື່ອງ, ເຈົ້າກໍ່ໄດ້ນຳໜ້າທີມສ່ວນໃຫຍ່ແລ້ວ. ເວົ້າຕາມຄວາມຈິງ.
3) ເລືອກຮູບແບບການນຳໃຊ້ທີ່ເໝາະສົມ (ກ່ອນທີ່ທ່ານຈະເລືອກເຄື່ອງມື) 🧠
ການອະນຸມານ API ໃນເວລາຈິງ ⚡
ດີທີ່ສຸດເມື່ອ:
-
ຜູ້ໃຊ້ຕ້ອງການຜົນໄດ້ຮັບທັນທີ (ຄໍາແນະນໍາ, ການກວດສອບການສໍ້ໂກງ, ການສົນທະນາ, ການປັບແຕ່ງສ່ວນບຸກຄົນ)
-
ການຕັດສິນໃຈຕ້ອງເກີດຂຶ້ນໃນລະຫວ່າງການຮ້ອງຂໍ
ຂໍ້ຄວນລະວັງ:
-
ຄວາມໜ່ວງຊ້າຂອງ p99 ມີຄວາມສຳຄັນຫຼາຍກວ່າລະດັບສະເລ່ຍ ( The Tail at Scale , SRE Book: Monitoring Distributed Systems )
-
ການຂະຫຍາຍຂະໜາດອັດຕະໂນມັດຕ້ອງການການປັບແຕ່ງຢ່າງລະມັດລະວັງ ( Kubernetes Horizontal Pod Autoscaling )
-
ການເລີ່ມຕົ້ນແບບ cold start ສາມາດເປັນການຫຼອກລວງໄດ້... ຄືກັບແມວທີ່ຍູ້ຈອກອອກຈາກໂຕະ ( ວົງຈອນຊີວິດຂອງສະພາບແວດລ້ອມການປະຕິບັດ AWS Lambda )
ການໃຫ້ຄະແນນເປັນຊຸດ 📦
ດີທີ່ສຸດເມື່ອ:
-
ການຄາດຄະເນສາມາດຖືກຊັກຊ້າໄດ້ (ການໃຫ້ຄະແນນຄວາມສ່ຽງໃນຄືນດຽວ, ການຄາດຄະເນການຍົກເລີກ, ການເສີມ ETL) ( Amazon SageMaker Batch Transform )
-
ທ່ານຕ້ອງການປະສິດທິພາບດ້ານຕົ້ນທຶນ ແລະ ການປະຕິບັດງານທີ່ງ່າຍດາຍກວ່າ
ຂໍ້ຄວນລະວັງ:
-
ຄວາມສົດໃໝ່ ແລະ ການຕື່ມຂໍ້ມູນທົດແທນຂໍ້ມູນ
-
ການຮັກສາເຫດຜົນຂອງຄຸນສົມບັດໃຫ້ສອດຄ່ອງກັບການຝຶກອົບຮົມ
ການອະນຸມານແບບສະຕຣີມມິງ 🌊
ດີທີ່ສຸດເມື່ອ:
-
ທ່ານປະມວນຜົນເຫດການຢ່າງຕໍ່ເນື່ອງ (IoT, ການຄລິກສະຕຣີມ, ລະບົບຕິດຕາມກວດກາ)
-
ທ່ານຕ້ອງການການຕັດສິນໃຈທີ່ເກືອບທັນທີໂດຍບໍ່ຕ້ອງຕອບສະໜອງຕໍ່ການຮ້ອງຂໍຢ່າງເຂັ້ມງວດ
ຂໍ້ຄວນລະວັງ:
-
ຄວາມໝາຍຂອງ exactly-once ທຽບກັບຢ່າງໜ້ອຍໜຶ່ງຄັ້ງ ( Cloud Dataflow: exactly-once ທຽບກັບຢ່າງໜ້ອຍໜຶ່ງຄັ້ງ )
-
ການຄຸ້ມຄອງລັດ, ການລອງໃໝ່, ຊໍ້າຊ້ອນທີ່ແປກປະຫຼາດ
ການນຳໃຊ້ Edge 📱
ດີທີ່ສຸດເມື່ອ:
-
ຄວາມໜ່ວງຊ້າຕ່ຳໂດຍບໍ່ມີການເພິ່ງພາອາໄສເຄືອຂ່າຍ ( ການອະນຸມານ LiteRT ໃນອຸປະກອນ )
-
ຂໍ້ຈຳກັດດ້ານຄວາມເປັນສ່ວນຕົວ
-
ສະພາບແວດລ້ອມອອບໄລນ໌
ຂໍ້ຄວນລະວັງ:
-
ຂະໜາດຂອງຮູບແບບ, ແບັດເຕີຣີ, ການວັດແທກປະລິມານ, ການແບ່ງສ່ວນຮາດແວ ( ການວັດແທກປະລິມານຫຼັງການຝຶກອົບຮົມ (ການເພີ່ມປະສິດທິພາບຂອງຮູບແບບ TensorFlow) )
-
ການອັບເດດແມ່ນຍາກກວ່າ (ທ່ານບໍ່ຕ້ອງການ 30 ເວີຊັນໃນທຳມະຊາດ…)
ເລືອກຮູບແບບກ່ອນ, ຈາກນັ້ນເລືອກການຊ້ອນກັນ. ຖ້າບໍ່ດັ່ງນັ້ນເຈົ້າຈະຕ້ອງບັງຄັບໃຫ້ຮູບແບບສີ່ຫຼ່ຽມມົນເຂົ້າກັບຮູບແບບວົງມົນ. ຫຼືບາງສິ່ງບາງຢ່າງແບບນັ້ນ. 😬
4) ການຫຸ້ມຫໍ່ຮູບແບບເພື່ອໃຫ້ມັນຢູ່ລອດຈາກການສຳຜັດກັບການຜະລິດ 📦🧯
ນີ້ແມ່ນບ່ອນທີ່ "ການນຳໃຊ້ງ່າຍໆ" ສ່ວນໃຫຍ່ຈະຕາຍໄປຢ່າງງຽບໆ.
ລຸ້ນທຸກຢ່າງ (ແມ່ນແລ້ວ, ທຸກຢ່າງ)
-
ສິ່ງປະດິດແບບຈຳລອງ (ນ້ຳໜັກ, ກຣາຟ, ໂຕເຄັນໄຊເຊີ, ແຜນທີ່ປ້າຍກຳກັບ)
-
ເຫດຜົນຂອງຄຸນສົມບັດ (ການຫັນປ່ຽນ, ການເຮັດໃຫ້ເປັນປົກກະຕິ, ຕົວເຂົ້າລະຫັດ)
-
ລະຫັດການອະນຸມານ (ກ່ອນ/ຫຼັງການປະມວນຜົນ)
-
ສະພາບແວດລ້ອມ (Python, CUDA, libs ລະບົບ)
ວິທີການງ່າຍໆທີ່ເຮັດວຽກໄດ້:
-
ປະຕິບັດຕໍ່ຮູບແບບຄືກັບສິ່ງປະດິດທີ່ປ່ອຍອອກມາ
-
ເກັບຮັກສາມັນດ້ວຍແທັກເວີຊັນ
-
ຕ້ອງການໄຟລ໌ metadata ແບບບັດຮູບແບບ: schema, metrics, ບັນທຶກພາບລວມຂໍ້ມູນການຝຶກອົບຮົມ, ຂໍ້ຈຳກັດທີ່ຮູ້ຈັກ ( ບັດຮູບແບບສຳລັບການລາຍງານຮູບແບບ )
ພາຊະນະຊ່ວຍໄດ້, ແຕ່ຢ່ານະມັດສະການພວກມັນ 🐳
ຕູ້ຄອນເທນເນີແມ່ນດີຫຼາຍເພາະວ່າມັນ:
-
ແຊ່ແຂງການເພິ່ງພາອາໄສ ( Docker: ຕູ້ຄອນເທນເນີແມ່ນຫຍັງ? )
-
ມາດຕະຖານການສ້າງ
-
ຫຼຸດຜ່ອນເປົ້າໝາຍການນຳໃຊ້
ແຕ່ທ່ານຍັງຈຳເປັນຕ້ອງຈັດການ:
-
ການອັບເດດຮູບພາບພື້ນຖານ
-
ຄວາມເຂົ້າກັນໄດ້ຂອງໄດຣເວີ GPU
-
ການສະແກນຄວາມປອດໄພ
-
ຂະໜາດຮູບພາບ (ບໍ່ມີໃຜມັກຄຳວ່າ "ສະບາຍດີໂລກ" ຂະໜາດ 9GB) ( ວິທີປະຕິບັດທີ່ດີທີ່ສຸດຂອງ Docker build )
ປັບອິນເຕີເຟດໃຫ້ເປັນມາດຕະຖານ
ຕັດສິນໃຈເລືອກຮູບແບບການປ້ອນຂໍ້ມູນ/ຜົນຜະລິດຂອງທ່ານລ່ວງໜ້າ:
-
JSON ເພື່ອຄວາມງ່າຍດາຍ (ຊ້າກວ່າ, ແຕ່ເປັນມິດ) ( JSON Schema )
-
Protobuf ສຳລັບປະສິດທິພາບ ( ພາບລວມຂອງ Protocol Buffers )
-
payloads ທີ່ອີງໃສ່ໄຟລ໌ສຳລັບຮູບພາບ/ສຽງ (ບວກກັບ metadata)
ແລະ ກະລຸນາກວດສອບຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນປ້ອນເຂົ້າ. ຂໍ້ມູນປ້ອນເຂົ້າທີ່ບໍ່ຖືກຕ້ອງແມ່ນສາເຫດຫຼັກຂອງ “ເປັນຫຍັງມັນຈຶ່ງສົ່ງຄືນປີ້ທີ່ບໍ່ມີປະໂຫຍດ”. ( OpenAPI: OpenAPI ແມ່ນຫຍັງ? , JSON Schema )
5) ທາງເລືອກໃນການໃຫ້ບໍລິການ - ຕັ້ງແຕ່ “API ງ່າຍໆ” ຈົນເຖິງເຊີບເວີແບບຈຳລອງເຕັມຮູບແບບ 🧰
ມີສອງເສັ້ນທາງທົ່ວໄປຄື:
ທາງເລືອກ A: ເຊີບເວີແອັບ + ລະຫັດອະນຸມານ (ວິທີການແບບ FastAPI) 🧪
ເຈົ້າຂຽນ API ທີ່ໂຫຼດຮູບແບບ ແລະ ສົ່ງຄືນການຄາດຄະເນ. ( FastAPI )
ຂໍ້ດີ:
-
ງ່າຍຕໍ່ການປັບແຕ່ງ
-
ດີເລີດສຳລັບຮູບແບບທີ່ງ່າຍດາຍກວ່າ ຫຼື ຜະລິດຕະພັນໃນໄລຍະຕົ້ນໆ
-
ການກວດສອບຄວາມຖືກຕ້ອງ, ການກຳນົດເສັ້ນທາງ ແລະ ການເຊື່ອມໂຍງແບບງ່າຍດາຍ
ຂໍ້ເສຍ:
-
ການປັບແຕ່ງປະສິດທິພາບຂອງທ່ານເອງ (ການແບ່ງກຸ່ມ, ການຈັດກຸ່ມ, ການນຳໃຊ້ GPU)
-
ເຈົ້າຈະປະດິດລໍ້ໃໝ່ບາງອັນ, ບາງທີອາດຈະບໍ່ດີໃນຕອນທຳອິດ
ທາງເລືອກ B: ເຊີບເວີຮູບແບບ (ວິທີການແບບ TorchServe / Triton) 🏎️
ເຊີບເວີພິເສດທີ່ຈັດການ:
-
ການ batching ( Triton: ການ batching ແບບໄດນາມິກ ແລະ ການປະຕິບັດແບບຈຳລອງພ້ອມໆກັນ )
-
ການກະທຳພ້ອມໆກັນ ( Triton: ການປະຕິບັດແບບຈຳລອງພ້ອມໆກັນ )
-
ຫຼາຍຮູບແບບ
-
ປະສິດທິພາບຂອງ GPU
-
ຈຸດສິ້ນສຸດມາດຕະຖານ ( ເອກະສານ TorchServe , ເອກະສານ Triton Inference Server )
ຂໍ້ດີ:
-
ຮູບແບບການປະຕິບັດທີ່ດີຂຶ້ນ ຕັ້ງແຕ່ເລີ່ມຕົ້ນ
-
ການແຍກທີ່ສະອາດກວ່າລະຫວ່າງການຮັບໃຊ້ ແລະ ເຫດຜົນທາງທຸລະກິດ
ຂໍ້ເສຍ:
-
ຄວາມສັບສົນໃນການດຳເນີນງານເພີ່ມເຕີມ
-
ການຕັ້ງຄ່າສາມາດຮູ້ສຶກ… ບໍ່ສະບາຍ, ຄືກັບການປັບອຸນຫະພູມອາບນ້ຳ
ຮູບແບບປະສົມແມ່ນພົບເລື້ອຍຫຼາຍ:
-
ເຊີບເວີແບບຈຳລອງສຳລັບການອະນຸມານ ( Triton: ການແບດຊ໌ແບບໄດນາມິກ )
-
ເກດເວ API ບາງໆ ສຳລັບການກວດສອບຄວາມຖືກຕ້ອງ, ການສ້າງຮູບແບບການຮ້ອງຂໍ, ກົດລະບຽບທາງທຸລະກິດ, ແລະ ການຈຳກັດອັດຕາ ( ການຄວບຄຸມເກດເວ API )
6) ຕາຕະລາງປຽບທຽບ - ວິທີທີ່ນິຍົມໃນການນຳໃຊ້ (ດ້ວຍຄວາມກະຕືລືລົ້ນທີ່ຊື່ສັດ) 📊😌
ຂ້າງລຸ່ມນີ້ແມ່ນພາບລວມຕົວຈິງຂອງຕົວເລືອກຕ່າງໆທີ່ຜູ້ຄົນໃຊ້ແທ້ໆເມື່ອຄິດໄລ່ ວິທີການນຳໃຊ້ຮູບແບບ AI .
| ເຄື່ອງມື / ວິທີການ | ຜູ້ຊົມ | ລາຄາ | ເປັນຫຍັງມັນຈຶ່ງໃຊ້ໄດ້ |
|---|---|---|---|
| Docker + FastAPI (ຫຼື ຄ້າຍຄືກັນ) | ທີມງານຂະໜາດນ້ອຍ, ບໍລິສັດເລີ່ມຕົ້ນ | ແບບອິດສະຫຼະ | ງ່າຍດາຍ, ມີຄວາມຍືດຫຍຸ່ນ, ໄວໃນການຂົນສົ່ງ - ທ່ານຈະ "ຮູ້ສຶກ" ທຸກໆບັນຫາກ່ຽວກັບການປັບຂະໜາດ ( Docker , FastAPI ) |
| Kubernetes (ເຮັດເອງ) | ທີມງານແພລດຟອມ | ຂຶ້ນກັບອິນຟາເຣດ | ການຄວບຄຸມ + ຄວາມສາມາດໃນການຂະຫຍາຍ... ນອກຈາກນີ້, ປຸ່ມຫຼາຍອັນ, ບາງອັນຖືກສາບແຊ່ງ ( Kubernetes HPA ) |
| ແພລດຟອມ ML ທີ່ມີການຈັດການ (ການບໍລິການ ML ຄລາວ) | ທີມທີ່ຕ້ອງການການປະຕິບັດງານໜ້ອຍລົງ | ຈ່າຍຕາມທີ່ທ່ານໃຊ້ | ຂັ້ນຕອນການເຮັດວຽກໃນຕົວ, ການຕິດຕາມ - ບາງຄັ້ງລາຄາແພງສຳລັບຈຸດສິ້ນສຸດທີ່ເປີດໃຊ້ງານຢູ່ສະເໝີ ( ການນຳໃຊ້ Vertex AI , ການອະນຸມານ SageMaker ແບບເວລາຈິງ ) |
| ຟັງຊັນທີ່ບໍ່ມີເຊີບເວີ (ສຳລັບການອະນຸມານເບົາບາງ) | ແອັບທີ່ຂັບເຄື່ອນດ້ວຍເຫດການ | ຈ່າຍຕໍ່ການນໍາໃຊ້ | ດີເລີດສຳລັບການຈະລາຈອນທີ່ໜາວເຢັນ - ແຕ່ການເລີ່ມຕົ້ນເຢັນ ແລະ ຂະໜາດຂອງຮຸ່ນສາມາດທຳລາຍມື້ຂອງເຈົ້າໄດ້ 😬 ( ການເລີ່ມຕົ້ນເຢັນຂອງ AWS Lambda ) |
| ເຊີບເວີການອະນຸມານ NVIDIA Triton | ທີມງານທີ່ເນັ້ນໃສ່ປະສິດທິພາບ | ຊອບແວຟຣີ, ຄ່າໃຊ້ຈ່າຍພື້ນຖານ | ການນໍາໃຊ້ GPU ທີ່ດີເລີດ, ການຈັດກຸ່ມ, ຫຼາຍຮູບແບບ - ການຕັ້ງຄ່າຕ້ອງໃຊ້ຄວາມອົດທົນ ( Triton: Dynamic batching ) |
| TorchServe | ທີມທີ່ໃຊ້ PyTorch ຫຼາຍ | ຊອບແວຟຣີ | ຮູບແບບການໃຫ້ບໍລິການເລີ່ມຕົ້ນທີ່ເໝາະສົມ - ສາມາດຕ້ອງການການປັບແຕ່ງສຳລັບຂະໜາດສູງ ( ເອກະສານ TorchServe ) |
| BentoML (ການຫຸ້ມຫໍ່ + ການຮັບໃຊ້) | ວິສະວະກອນ ML | ແກນຟຣີ, ສິ່ງພິເສດແຕກຕ່າງກັນ | ການຫຸ້ມຫໍ່ທີ່ລຽບງ່າຍ, ປະສົບການຂອງນັກພັດທະນາທີ່ດີ - ເຈົ້າຍັງຕ້ອງການຕົວເລືອກພື້ນຖານ ( ການຫຸ້ມຫໍ່ BentoML ສຳລັບການນຳໃຊ້ ) |
| ເຣ ເຊີບ | ຜູ້ໃຊ້ລະບົບແບບກະຈາຍ | ຂຶ້ນກັບອິນຟາເຣດ | ຂະໜາດຕາມແນວນອນ, ດີສຳລັບທໍ່ສົ່ງ - ຮູ້ສຶກວ່າ "ໃຫຍ່" ສຳລັບໂຄງການຂະໜາດນ້ອຍ ( ເອກະສານ Ray Serve ) |
ໝາຍເຫດ: “Free-ish” ເປັນຄຳສັບໃນຊີວິດຈິງ. ເພາະມັນບໍ່ເຄີຍຟຣີ. ມັນມີໃບບິນຢູ່ບ່ອນໃດບ່ອນໜຶ່ງສະເໝີ, ເຖິງແມ່ນວ່າມັນຈະເປັນເວລານອນຂອງເຈົ້າກໍຕາມ. 😴
7) ປະສິດທິພາບ ແລະ ການຂະຫຍາຍ - ຄວາມຊັກຊ້າ, ປະລິມານການຜະລິດ, ແລະ ຄວາມຈິງ 🏁
ການປັບແຕ່ງປະສິດທິພາບແມ່ນບ່ອນທີ່ການນຳໃຊ້ກາຍເປັນວຽກຫັດຖະກຳ. ເປົ້າໝາຍບໍ່ແມ່ນ "ໄວ". ເປົ້າໝາຍແມ່ນ ໄວພຽງພໍຢ່າງສະໝໍ່າສະເໝີ .
ຕົວຊີ້ວັດທີ່ສຳຄັນ
-
ຄວາມໜ່ວງຊ້າຂອງ p50 : ປະສົບການຂອງຜູ້ໃຊ້ທົ່ວໄປ
-
ຄວາມໜ่วงເວລາຂອງ p95 / p99 : ຫາງທີ່ກະຕຸ້ນຄວາມໂກດແຄ້ນ ( The Tail at Scale , SRE Book: Monitoring Distributed Systems )
-
throughput : ການຮ້ອງຂໍຕໍ່ວິນາທີ (ຫຼື ໂທເຄັນຕໍ່ວິນາທີສຳລັບຮູບແບບການສ້າງແບບຈຳລອງ)
-
ອັດຕາຄວາມຜິດພາດ : ຈະແຈ້ງ, ແຕ່ບາງຄັ້ງກໍຍັງຖືກລະເລີຍ
-
ການນຳໃຊ້ຊັບພະຍາກອນ : CPU, GPU, ໜ່ວຍຄວາມຈຳ, VRAM ( ປຶ້ມ SRE: ການຕິດຕາມກວດກາລະບົບແບບແຈກຢາຍ )
ຄານທົ່ວໄປທີ່ຈະດຶງ
-
ແບບ batching
ເພື່ອເພີ່ມປະໂຫຍດສູງສຸດໃນການໃຊ້ GPU. ດີເລີດສຳລັບ throughput, ສາມາດສົ່ງຜົນກະທົບຕໍ່ຄວາມໜ່ວງເວລາໄດ້ຖ້າທ່ານເຮັດຫຼາຍເກີນໄປ. ( Triton: Dynamic batching ) -
ການວັດປະລິມານ
ຄວາມແມ່ນຍຳຕ່ຳ (ເຊັ່ນ INT8) ສາມາດເລັ່ງການອະນຸມານ ແລະ ຫຼຸດຜ່ອນຄວາມຈຳ. ອາດຈະຫຼຸດຄວາມແມ່ນຍຳລົງເລັກນ້ອຍ. ບາງຄັ້ງກໍ່ບໍ່ແມ່ນ, ໜ້າແປກໃຈ. ( ການວັດປະລິມານຫຼັງການຝຶກອົບຮົມ ) -
ການລວບລວມ / ການເພີ່ມປະສິດທິພາບ
ການສົ່ງອອກ ONNX, ຕົວເພີ່ມປະສິດທິພາບກຣາຟ, ການໄຫຼຄ້າຍຄືກັບ TensorRT. ມີປະສິດທິພາບ, ແຕ່ການດີບັກສາມາດເຜັດໄດ້ 🌶️ ( ONNX , ONNX Runtime ) -
ການເກັບຂໍ້ມູນໄວ້ຊົ່ວຄາວ
ຖ້າຂໍ້ມູນປ້ອນຂໍ້ມູນຊ້ຳກັນ (ຫຼື ທ່ານສາມາດເກັບຂໍ້ມູນໄວ້ຊົ່ວຄາວ), ທ່ານສາມາດປະຫຍັດໄດ້ຫຼາຍ. -
ອັດຕະໂນມັດ
ຕາມການນຳໃຊ້ CPU/GPU, ຄວາມເລິກຂອງຄິວ, ຫຼື ອັດຕາການຮ້ອງຂໍ. ຄວາມເລິກຂອງຄິວຖືກປະເມີນຕໍ່າເກີນໄປ. ( Kubernetes HPA )
ຄຳແນະນຳທີ່ແປກແຕ່ເປັນຄວາມຈິງ: ວັດແທກດ້ວຍຂະໜາດຂອງອຸປະກອນທີ່ຄ້າຍຄືກັບການຜະລິດ. ອຸປະກອນທົດສອບຂະໜາດນ້ອຍໆຕົວະເຈົ້າ. ພວກມັນຍິ້ມຢ່າງສຸພາບ ແລະ ຫຼັງຈາກນັ້ນກໍ່ທໍລະຍົດເຈົ້າໃນພາຍຫຼັງ.
8) ການຕິດຕາມກວດກາ ແລະ ການສັງເກດການ - ຢ່າເຮັດແບບຕາບອດ 👀📈
ການຕິດຕາມກວດກາຮູບແບບບໍ່ພຽງແຕ່ເປັນການຕິດຕາມກວດກາເວລາເຮັດວຽກເທົ່ານັ້ນ. ທ່ານຕ້ອງການຮູ້ວ່າ:
-
ການບໍລິການແມ່ນດີຕໍ່ສຸຂະພາບ
-
ຮູບແບບກຳລັງປະພຶດຕົວ
-
ຂໍ້ມູນກຳລັງລອຍໄປມາ
-
ການຄາດຄະເນກຳລັງມີຄວາມໜ້າເຊື່ອຖືໜ້ອຍລົງ ( ພາບລວມຂອງ Vertex AI Model Monitoring , Amazon SageMaker Model Monitor )
ສິ່ງທີ່ຄວນຕິດຕາມ (ຊຸດທີ່ໃຊ້ໄດ້ຢ່າງໜ້ອຍ)
ສຸຂະພາບການບໍລິການ
-
ຈຳນວນຄຳຮ້ອງຂໍ, ອັດຕາຄວາມຜິດພາດ, ການແຈກຢາຍຄວາມຊັກຊ້າ ( ປຶ້ມ SRE: ການຕິດຕາມກວດກາລະບົບແຈກຢາຍ )
-
ຄວາມອີ່ມຕົວ (CPU/GPU/ໜ່ວຍຄວາມຈຳ)
-
ຄວາມຍາວຂອງຄິວ ແລະ ເວລາໃນຄິວ
ພຶດຕິກຳຂອງຕົວແບບ
-
ການແຈກຢາຍຄຸນສົມບັດການປ້ອນຂໍ້ມູນ (ສະຖິຕິພື້ນຖານ)
-
ມາດຕະຖານການຝັງ (ສຳລັບຮູບແບບການຝັງ)
-
ການແຈກຢາຍຜົນຜະລິດ (ຄວາມໝັ້ນໃຈ, ການປະສົມປະສານຂອງຊັ້ນຮຽນ, ຂອບເຂດຄະແນນ)
-
ການກວດຫາຄວາມຜິດປົກກະຕິໃນອິນພຸດ (ຂີ້ເຫຍື້ອເຂົ້າ, ຂີ້ເຫຍື້ອອອກ)
ການເລື່ອນລອຍຂອງຂໍ້ມູນ ແລະ ການເລື່ອນລອຍຂອງແນວຄວາມຄິດ
-
ການແຈ້ງເຕືອນການເລື່ອນລອຍຄວນຈະສາມາດນຳໃຊ້ໄດ້ ( Vertex AI: ຄຸນສົມບັດການຕິດຕາມກວດກາຄວາມໂຄ້ງ ແລະ ການເລື່ອນລອຍ , Amazon SageMaker Model Monitor )
-
ຫຼີກລ່ຽງຂໍ້ຄວາມເຕືອນໄພ - ມັນສອນໃຫ້ຄົນບໍ່ສົນໃຈທຸກຢ່າງ
ການບັນທຶກ, ແຕ່ບໍ່ແມ່ນວິທີການ "ບັນທຶກທຸກຢ່າງຕະຫຼອດໄປ" 🪵
ບັນທຶກ:
-
ລະຫັດການຮ້ອງຂໍ
-
ຮຸ່ນ
-
ຜົນການກວດສອບ schema ( OpenAPI: OpenAPI ແມ່ນຫຍັງ? )
-
ຂໍ້ມູນ metadata ຂອງ payload ທີ່ມີໂຄງສ້າງໜ້ອຍທີ່ສຸດ (ບໍ່ແມ່ນ PII ດິບ) ( NIST SP 800-122 )
ຈົ່ງລະມັດລະວັງກັບຄວາມເປັນສ່ວນຕົວ. ທ່ານບໍ່ຕ້ອງການໃຫ້ບັນທຶກຂອງທ່ານກາຍເປັນການຮົ່ວໄຫຼຂໍ້ມູນຂອງທ່ານ. ( NIST SP 800-122 )
9) CI/CD ແລະ ຍຸດທະສາດການເປີດຕົວ - ປະຕິບັດຕໍ່ຮູບແບບຄືກັບການປ່ອຍຕົວຈິງ 🧱🚦
ຖ້າທ່ານຕ້ອງການການນຳໃຊ້ທີ່ໜ້າເຊື່ອຖື, ໃຫ້ສ້າງ pipeline. ເຖິງແມ່ນວ່າຈະເປັນ pipeline ທີ່ງ່າຍດາຍກໍຕາມ.
ການໄຫຼທີ່ແຂງແກ່ນ
-
ການທົດສອບຫົວໜ່ວຍສຳລັບການປະມວນຜົນກ່ອນ ແລະ ຫຼັງການປະມວນຜົນ
-
ການທົດສອບການລວມເຂົ້າກັບ "ຊຸດທອງຄຳ" ທີ່ຮູ້ຈັກກັນດີໃນການປ້ອນຂໍ້ມູນ-ຜົນຜະລິດ
-
ການທົດສອບການໂຫຼດພື້ນຖານ (ເຖິງແມ່ນວ່າຈະມີນ້ຳໜັກເບົາກໍຕາມ)
-
ສ້າງສິ່ງປະດິດ (ຕູ້ຄອນເທນເນີ + ໂມເດວ) ( ວິທີປະຕິບັດທີ່ດີທີ່ສຸດຂອງ Docker build )
-
ນຳໃຊ້ເຂົ້າໃນການຈັດລຽງ
-
ການປ່ອຍ Canary ໃຫ້ກັບການຈະລາຈອນບາງສ່ວນ ( ການປ່ອຍ Canary )
-
ຄ່ອຍໆເພີ່ມຂຶ້ນ
-
ການມ້ວນກັບຄືນອັດຕະໂນມັດໃນຂອບເຂດທີ່ສຳຄັນ ( ການນຳໃຊ້ສີຟ້າ-ສີຂຽວ )
ຮູບແບບການເປີດຕົວທີ່ຊ່ວຍປະຢັດສະຕິຂອງທ່ານ
-
Canary : ປ່ອຍໃຫ້ມີການເຂົ້າຊົມ 1-5% ກ່ອນ ( Canary Release )
-
ສີຟ້າ-ຂຽວ : ເປີດໃຊ້ເວີຊັນໃໝ່ຄຽງຄູ່ກັບເວີຊັນເກົ່າ, ພິກເວີຊັນໃໝ່ເມື່ອພ້ອມແລ້ວ ( ການນຳໃຊ້ສີຟ້າ-ຂຽວ )
-
ການທົດສອບເງົາ : ສົ່ງການຈະລາຈອນຕົວຈິງໄປຫາຮູບແບບໃໝ່ ແຕ່ບໍ່ໃຊ້ຜົນໄດ້ຮັບ (ດີຫຼາຍສຳລັບການປະເມີນຜົນ) ( Microsoft: ການທົດສອບເງົາ )
ແລະ ເວີຊັນຈຸດສິ້ນສຸດ ຫຼື ເສັ້ນທາງຂອງທ່ານຕາມຮຸ່ນ. ໃນອະນາຄົດທ່ານຈະຂອບໃຈທ່ານ. ປະຈຸບັນທ່ານຍັງຈະຂອບໃຈທ່ານ, ແຕ່ຢ່າງງຽບໆ.
10) ຄວາມປອດໄພ, ຄວາມເປັນສ່ວນຕົວ, ແລະ “ກະລຸນາຢ່າເປີດເຜີຍຂໍ້ມູນ” 🔐🙃
ພະນັກງານຮັກສາຄວາມປອດໄພມັກຈະມາຮອດຊ້າ, ຄືກັບແຂກທີ່ບໍ່ໄດ້ຮັບເຊີນ. ດີກວ່າທີ່ຈະເຊີນມັນແຕ່ເຊົ້າ.
ບັນຊີກວດສອບການປະຕິບັດຕົວຈິງ
-
ການພິສູດຢືນຢັນຕົວຕົນ ແລະ ການອະນຸຍາດ (ໃຜສາມາດໂທຫາຮູບແບບໄດ້?)
-
ການຈຳກັດອັດຕາ (ປົກປ້ອງຈາກການລ່ວງລະເມີດ ແລະ ພາຍຸໂດຍບັງເອີນ) ( ການຄວບຄຸມ API Gateway )
-
ການຈັດການຄວາມລັບ (ບໍ່ມີກະແຈໃນລະຫັດ, ບໍ່ມີກະແຈໃນໄຟລ໌ config ເຊັ່ນກັນ…) ( AWS Secrets Manager , Kubernetes Secrets )
-
ການຄວບຄຸມເຄືອຂ່າຍ (ເຄືອຂ່າຍຍ່ອຍສ່ວນຕົວ, ນະໂຍບາຍການບໍລິການຕໍ່ການບໍລິການ)
-
ບັນທຶກການກວດສອບ (ໂດຍສະເພາະສຳລັບການຄາດຄະເນທີ່ລະອຽດອ່ອນ)
-
ການຫຼຸດຜ່ອນຂໍ້ມູນ (ເກັບຮັກສາສະເພາະສິ່ງທີ່ທ່ານຕ້ອງການ) ( NIST SP 800-122 )
ຖ້າຮູບແບບດັ່ງກ່າວແຕະຕ້ອງຂໍ້ມູນສ່ວນຕົວ:
-
ຕົວລະບຸ redact ຫຼື hash
-
ຫຼີກລ່ຽງການບັນທຶກຂໍ້ມູນດິບ ( NIST SP 800-122 )
-
ກຳນົດກົດລະບຽບການເກັບຮັກສາ
-
ການໄຫຼວຽນຂອງຂໍ້ມູນເອກະສານ (ໜ້າເບື່ອ, ແຕ່ປ້ອງກັນໄດ້)
ນອກຈາກນີ້, ການສີດແບບວ່ອງໄວ ແລະ ການໃຊ້ຜົນຜະລິດໃນທາງທີ່ຜິດສາມາດມີຄວາມສຳຄັນຕໍ່ຮູບແບບການສ້າງແບບຈຳລອງ. ເພີ່ມ: ( OWASP Top 10 ສຳລັບແອັບພລິເຄຊັນ LLM , OWASP: ການສີດແບບວ່ອງໄວ )
-
ກົດລະບຽບການອະນາໄມວັດສະດຸປ້ອນເຂົ້າ
-
ການກັ່ນຕອງຜົນຜະລິດຕາມຄວາມເໝາະສົມ
-
ຮົ້ວກັ້ນສຳລັບການເອີ້ນເຄື່ອງມື ຫຼື ການກະທຳຂອງຖານຂໍ້ມູນ
ບໍ່ມີລະບົບໃດສົມບູນແບບ, ແຕ່ທ່ານສາມາດເຮັດໃຫ້ມັນອ່ອນແອລົງໄດ້.
11) ອຸປະສັກທົ່ວໄປ (ຫຼື ດັກທົ່ວໄປ) 🪤
ນີ້ແມ່ນຄລາສສິກ:
-
ລ່ວງໜ້າ
ແຕກຕ່າງກັນລະຫວ່າງການຝຶກອົບຮົມ ແລະ ການຜະລິດ. ທັນໃດນັ້ນຄວາມແມ່ນຍຳກໍ່ຫຼຸດລົງ ແລະ ບໍ່ມີໃຜຮູ້ວ່າເປັນຫຍັງ. ( ການກວດສອບຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນ TensorFlow: ກວດຫາຄວາມອຽງຂອງການຮັບໃຊ້ການຝຶກອົບຮົມ ) -
ບໍ່ມີການກວດສອບ schema
ການປ່ຽນແປງ upstream ໜຶ່ງຄັ້ງເຮັດໃຫ້ທຸກຢ່າງເສຍຫາຍ. ບໍ່ແມ່ນສຽງດັງສະເໝີໄປ... ( JSON Schema , OpenAPI: OpenAPI ແມ່ນຫຍັງ? ) -
ການບໍ່ສົນໃຈຄວາມຊັກຊ້າຂອງຫາງ
p99 ແມ່ນບ່ອນທີ່ຜູ້ໃຊ້ອາໄສຢູ່ເມື່ອພວກເຂົາໃຈຮ້າຍ. ( ຫາງໃນລະດັບ ) -
ການລືມ
ຈຸດສິ້ນສຸດ GPU ທີ່ມີຄ່າໃຊ້ຈ່າຍ ແລະ ເຮັດວຽກບໍ່ໄດ້ເຮັດວຽກແມ່ນຄືກັບການປະໄຟທຸກດວງໄວ້ໃນເຮືອນຂອງເຈົ້າໄວ້, ແຕ່ຫລອດໄຟແມ່ນເຮັດມາຈາກເງິນ. -
ບໍ່ມີແຜນການຍ້ອນກັບ
“ພວກເຮົາພຽງແຕ່ຈະຍ້າຍທະຫານຄືນໃໝ່” ບໍ່ແມ່ນແຜນການ. ມັນແມ່ນຄວາມຫວັງທີ່ໃສ່ເສື້ອຄຸມຍາວ. ( ການຍ້າຍທະຫານສີຟ້າ-ຂຽວ ) -
ຕິດຕາມກວດກາເວລາເຮັດວຽກເທົ່ານັ້ນ
ການບໍລິການສາມາດເຮັດວຽກໄດ້ໃນຂະນະທີ່ຮູບແບບບໍ່ຖືກຕ້ອງ. ນັ້ນອາດຈະຮ້າຍແຮງກວ່ານັ້ນ. ( Vertex AI: ຄຸນສົມບັດຕິດຕາມກວດກາ skew and drift , Amazon SageMaker Model Monitor )
ຖ້າທ່ານກຳລັງອ່ານເລື່ອງນີ້ ແລະ ຄິດວ່າ "ແມ່ນແລ້ວ ພວກເຮົາເຮັດສອງຢ່າງນັ້ນ," ຍິນດີຕ້ອນຮັບສູ່ສະໂມສອນ. ສະໂມສອນມີອາຫານວ່າງ ແລະ ອາຫານວ່າງບັນເທົາອາການຄຽດເລັກນ້ອຍ. 🍪
12) ສະຫຼຸບ - ວິທີການນຳໃຊ້ຮູບແບບ AI ໂດຍບໍ່ສູນເສຍສະຕິ 😄✅
ການນຳໃຊ້ AI ແມ່ນບ່ອນທີ່ AI ກາຍເປັນຜະລິດຕະພັນທີ່ແທ້ຈິງ. ມັນບໍ່ແມ່ນເລື່ອງທີ່ໜ້າສົນໃຈ, ແຕ່ມັນແມ່ນບ່ອນທີ່ໄດ້ຮັບຄວາມໄວ້ວາງໃຈ.
ສະຫຼຸບໂດຍຫຍໍ້
-
ຕັດສິນໃຈຮູບແບບການນຳໃຊ້ຂອງທ່ານກ່ອນ (ເວລາຈິງ, ແບບ batch, ການຖ່າຍທອດສົດ, edge) 🧭 ( Amazon SageMaker Batch Transform , ໂໝດການຖ່າຍທອດສົດ Cloud Dataflow , ການອະນຸມານ LiteRT ໃນອຸປະກອນ )
-
ຊຸດສຳລັບການຜະລິດຊ້ຳໄດ້ (ເວີຊັນທຸກຢ່າງ, ບັນຈຸໃນຕູ້ຄອນເທນເນີຢ່າງມີຄວາມຮັບຜິດຊອບ) 📦 ( ຕູ້ຄອນເທນເນີ Docker )
-
ເລືອກຍຸດທະສາດການໃຫ້ບໍລິການໂດຍອີງໃສ່ຄວາມຕ້ອງການດ້ານປະສິດທິພາບ (API ງ່າຍໆ ທຽບກັບ ເຊີບເວີຮູບແບບ) 🧰 ( FastAPI , Triton: ການ batching ແບບໄດນາມິກ )
-
ວັດແທກຄວາມໜ่วงເວລາຂອງ p95/p99, ບໍ່ພຽງແຕ່ຄ່າສະເລ່ຍເທົ່ານັ້ນ 🏁 ( ຫາງຕາມຂະໜາດ )
-
ເພີ່ມການຕິດຕາມກວດກາສຸຂະພາບຂອງການບໍລິການ ແລະ ພຶດຕິກຳຂອງແບບຈຳລອງ 👀 ( ປຶ້ມ SRE: ການຕິດຕາມກວດກາລະບົບແຈກຢາຍ , ການຕິດຕາມກວດກາແບບຈຳລອງ Vertex AI )
-
ເປີດຕົວຢ່າງປອດໄພດ້ວຍ canary ຫຼື blue-green, ແລະ ເຮັດໃຫ້ການກັບຄືນງ່າຍຂຶ້ນ 🚦 ( Canary Release , Blue-Green Deployment )
-
ຮັກສາຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວຕັ້ງແຕ່ມື້ທຳອິດ 🔐 ( ຜູ້ຈັດການຄວາມລັບ AWS , NIST SP 800-122 )
-
ເຮັດໃຫ້ມັນໜ້າເບື່ອ, ຄາດເດົາໄດ້, ແລະ ບັນທຶກໄວ້ - ໜ້າເບື່ອແມ່ນສິ່ງທີ່ສວຍງາມ 😌
ແລະແມ່ນແລ້ວ, ວິທີການນຳໃຊ້ຮູບແບບ AI ສາມາດຮູ້ສຶກຄືກັບການຫຼິ້ນກັບລູກໂບລິ່ງທີ່ກຳລັງລຸກໄໝ້ໃນຕອນທຳອິດ. ແຕ່ເມື່ອທໍ່ສົ່ງຂອງເຈົ້າໝັ້ນຄົງແລ້ວ, ມັນຈະເປັນທີ່ພໍໃຈຢ່າງແປກປະຫຼາດ. ຄືກັບການຈັດລະບຽບລິ້ນຊັກທີ່ວຸ້ນວາຍ… ມີພຽງລິ້ນຊັກເທົ່ານັ້ນທີ່ເປັນການຈະລາຈອນການຜະລິດ. 🔥🎳
ຄຳຖາມທີ່ຖືກຖາມເລື້ອຍໆ
ມັນໝາຍຄວາມວ່າແນວໃດທີ່ຈະນຳໃຊ້ຮູບແບບ AI ໃນການຜະລິດ
ການນຳໃຊ້ຮູບແບບ AI ໂດຍປົກກະຕິແລ້ວຈະກ່ຽວຂ້ອງກັບຫຼາຍກວ່າການເປີດເຜີຍ API ການຄາດຄະເນ. ໃນທາງປະຕິບັດ, ມັນປະກອບມີການຫຸ້ມຫໍ່ຮູບແບບ ແລະ ການເພິ່ງພາອາໄສຂອງມັນ, ການເລືອກຮູບແບບການໃຫ້ບໍລິການ (ເວລາຈິງ, ເປັນກຸ່ມ, ການຖ່າຍທອດສົດ, ຫຼື edge), ການຂະຫຍາຍດ້ວຍຄວາມໜ້າເຊື່ອຖື, ການຕິດຕາມສຸຂະພາບ ແລະ ການເລື່ອນໄປມາ, ແລະ ການຕັ້ງຄ່າເສັ້ນທາງການເປີດຕົວ ແລະ ການໂອນກັບຄືນທີ່ປອດໄພ. ການນຳໃຊ້ທີ່ໝັ້ນຄົງຈະຄົງທີ່ພາຍໃຕ້ການໂຫຼດ ແລະ ຍັງສາມາດວິນິດໄສໄດ້ເມື່ອມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ.
ວິທີການເລືອກລະຫວ່າງການນຳໃຊ້ແບບເວລາຈິງ, ແບບ batch, ແບບສະຕຣີມມິງ, ຫຼື ການນຳໃຊ້ແບບ edge
ເລືອກຮູບແບບການນຳໃຊ້ໂດຍອີງໃສ່ເວລາທີ່ຕ້ອງການການຄາດຄະເນ ແລະ ຂໍ້ຈຳກັດທີ່ທ່ານດຳເນີນການ. API ແບບເວລາຈິງເໝາະສົມກັບປະສົບການແບບໂຕ້ຕອບທີ່ຄວາມຊັກຊ້າມີຄວາມສຳຄັນ. ການໃຫ້ຄະແນນແບບກຸ່ມເຮັດວຽກໄດ້ດີທີ່ສຸດເມື່ອຄວາມຊັກຊ້າເປັນທີ່ຍອມຮັບໄດ້ ແລະ ປະສິດທິພາບດ້ານຕົ້ນທຶນ. ການຖ່າຍທອດສົດເໝາະສົມກັບການປະມວນຜົນເຫດການຢ່າງຕໍ່ເນື່ອງ, ໂດຍສະເພາະເມື່ອຄວາມໝາຍຂອງການຈັດສົ່ງມີບັນຫາ. ການນຳໃຊ້ Edge ແມ່ນເໝາະສົມສຳລັບການດຳເນີນງານແບບອອບໄລນ໌, ຄວາມເປັນສ່ວນຕົວ, ຫຼື ຄວາມຕ້ອງການຄວາມຊັກຊ້າຕ່ຳຫຼາຍ, ເຖິງແມ່ນວ່າການອັບເດດ ແລະ ການປ່ຽນແປງຮາດແວຈະກາຍເປັນເລື່ອງຍາກທີ່ຈະຈັດການ.
ເວີຊັນໃດແດ່ເພື່ອຫຼີກລ່ຽງຄວາມລົ້ມເຫຼວໃນການນຳໃຊ້ "ເຮັດວຽກໃນແລັບທັອບຂອງຂ້ອຍ"
ເວີຊັນຫຼາຍກວ່ານ້ຳໜັກຂອງຮູບແບບ. ໂດຍປົກກະຕິແລ້ວ, ທ່ານຈະຕ້ອງການສິ່ງປະດິດຂອງຮູບແບບທີ່ມີເວີຊັນ (ລວມທັງໂທເຄັນໄນເຊີ ຫຼື ແຜນທີ່ປ້າຍຊື່), ການປະມວນຜົນກ່ອນ ແລະ ເຫດຜົນຂອງຄຸນສົມບັດ, ລະຫັດອະນຸມານ, ແລະ ສະພາບແວດລ້ອມການແລ່ນເຕັມຮູບແບບ (ຫ້ອງສະໝຸດ Python/CUDA/ລະບົບ). ປະຕິບັດຕໍ່ຮູບແບບຄືກັບສິ່ງປະດິດຂອງການປ່ອຍທີ່ມີເວີຊັນທີ່ມີແທັກ ແລະ ຂໍ້ມູນເມຕານ້ຳໜັກເບົາທີ່ອະທິບາຍເຖິງຄວາມຄາດຫວັງຂອງໂຄງຮ່າງ, ບັນທຶກການປະເມີນຜົນ, ແລະ ຂໍ້ຈຳກັດທີ່ຮູ້ຈັກ.
ບໍ່ວ່າຈະນຳໃຊ້ກັບການບໍລິການແບບ FastAPI ແບບງ່າຍໆ ຫຼື ເຊີບເວີແບບສະເພາະ
ເຊີບເວີແອັບງ່າຍໆ (ວິທີການແບບ FastAPI) ເຮັດວຽກໄດ້ດີສຳລັບຜະລິດຕະພັນລຸ້ນຕົ້ນໆ ຫຼື ຮູບແບບທີ່ງ່າຍດາຍ ເພາະວ່າທ່ານຍັງຄົງຄວບຄຸມການກຳນົດເສັ້ນທາງ, ການກວດສອບຄວາມຖືກຕ້ອງ ແລະ ການເຊື່ອມໂຍງ. ເຊີບເວີຮູບແບບ (ແບບ TorchServe ຫຼື NVIDIA Triton) ສາມາດໃຫ້ປະສິດທິພາບການ batching, ການພ້ອມກັນ ແລະ GPU ທີ່ເຂັ້ມແຂງກວ່າ. ຫຼາຍທີມໄດ້ເຂົ້າສູ່ລະບົບປະສົມ: ເຊີບເວີຮູບແບບສຳລັບການອະນຸມານ ບວກກັບຊັ້ນ API ບາງໆສຳລັບການພິສູດຢືນຢັນຕົວຕົນ, ການສ້າງຮູບຮ່າງການຮ້ອງຂໍ ແລະ ຂີດຈຳກັດອັດຕາ.
ວິທີການປັບປຸງຄວາມໜ่วงເວລາ ແລະ ປະລິມານວຽກໂດຍບໍ່ທຳລາຍຄວາມຖືກຕ້ອງ
ເລີ່ມຕົ້ນດ້ວຍການວັດແທກຄວາມໜ่วงເວລາຂອງ p95/p99 ໃນຮາດແວທີ່ຄ້າຍຄືກັບການຜະລິດດ້ວຍ payload ທີ່ເປັນຈິງ, ເນື່ອງຈາກການທົດສອບຂະໜາດນ້ອຍສາມາດເຮັດໃຫ້ເຂົ້າໃຈຜິດໄດ້. ກົນໄກທົ່ວໄປປະກອບມີການ batching (ປະລິມານທີ່ດີກວ່າ, ຄວາມໜ່ວງເວລາອາດຈະຮ້າຍແຮງກວ່າເກົ່າ), quantization (ຂະໜາດນ້ອຍກວ່າ ແລະ ໄວກວ່າ, ບາງຄັ້ງມີການແລກປ່ຽນຄວາມຖືກຕ້ອງທີ່ພໍດີ), ການລວບລວມ ແລະ ການເພີ່ມປະສິດທິພາບຂອງ flow (ຄ້າຍຄື ONNX/TensorRT), ແລະ ການເກັບຂໍ້ມູນ ຫຼື ການຝັງທີ່ຊ້ຳກັນໃນ cache. ການຂະຫຍາຍອັດຕະໂນມັດໂດຍອີງໃສ່ຄວາມເລິກຂອງຄິວຍັງສາມາດຮັກສາຄວາມໜ່ວງເວລາຂອງ tail ຈາກການຄ່ອຍໆເພີ່ມຂຶ້ນ.
ການຕິດຕາມກວດກາໃດທີ່ຈຳເປັນນອກເໜືອໄປຈາກ “ຈຸດສຸດທ້າຍແມ່ນຢູ່ຂ້າງເທິງ”
ເວລາເຮັດວຽກບໍ່ພຽງພໍ, ເພາະວ່າການບໍລິການສາມາດເບິ່ງຄືມີສຸຂະພາບດີໃນຂະນະທີ່ຄຸນນະພາບຂອງການຄາດຄະເນຫຼຸດລົງ. ຢ່າງໜ້ອຍ, ໃຫ້ຕິດຕາມກວດກາປະລິມານການຮ້ອງຂໍ, ອັດຕາຄວາມຜິດພາດ, ແລະ ການແຈກຢາຍຄວາມຊັກຊ້າ, ບວກກັບສັນຍານຄວາມອີ່ມຕົວເຊັ່ນ CPU/GPU/ໜ່ວຍຄວາມຈຳ ແລະ ເວລາຄິວ. ສຳລັບພຶດຕິກຳຂອງຮູບແບບ, ໃຫ້ຕິດຕາມການແຈກຢາຍອິນພຸດ ແລະ ຜົນຜະລິດພ້ອມກັບສັນຍານຄວາມຜິດປົກກະຕິພື້ນຖານ. ເພີ່ມການກວດສອບການເລື່ອນທີ່ກະຕຸ້ນການກະທຳແທນທີ່ຈະເປັນການແຈ້ງເຕືອນທີ່ມີສຽງດັງ, ແລະ ID ການຮ້ອງຂໍບັນທຶກ, ລຸ້ນຮູບແບບ, ແລະ ຜົນໄດ້ຮັບການກວດສອບໂຄງຮ່າງ.
ວິທີການເປີດຕົວຮຸ່ນໃໝ່ຢ່າງປອດໄພ ແລະ ກູ້ຄືນໄດ້ໄວ
ປະຕິບັດຕໍ່ຮູບແບບຄືກັບການປ່ອຍເຕັມຮູບແບບ, ດ້ວຍທໍ່ສົ່ງ CI/CD ທີ່ທົດສອບການປະມວນຜົນກ່ອນ ແລະ ຫຼັງການປະມວນຜົນ, ດຳເນີນການກວດສອບການເຊື່ອມໂຍງທຽບກັບ "ຊຸດທອງຄຳ," ແລະ ສ້າງພື້ນຖານການໂຫຼດ. ສຳລັບການເປີດຕົວ, canary ຈະປ່ອຍ ramp traffic ຄ່ອຍໆ, ໃນຂະນະທີ່ສີຟ້າ-ຂຽວຮັກສາລຸ້ນເກົ່າໃຫ້ໃຊ້ງານໄດ້ທັນທີເພື່ອການສຳຮອງຂໍ້ມູນທັນທີ. ການທົດສອບເງົາຊ່ວຍປະເມີນຮູບແບບໃໝ່ໃນການຈະລາຈອນຕົວຈິງໂດຍບໍ່ມີຜົນກະທົບຕໍ່ຜູ້ໃຊ້. ການສຳຮອງຂໍ້ມູນຄວນເປັນກົນໄກຊັ້ນໜຶ່ງ, ບໍ່ແມ່ນຄວາມຄິດທີ່ຄິດພາຍຫຼັງ.
ຂໍ້ບົກຜ່ອງທົ່ວໄປທີ່ສຸດເມື່ອຮຽນຮູ້ວິທີການນຳໃຊ້ຮູບແບບ AI
ຄວາມອຽງຂອງການຝຶກອົບຮົມ-ການບໍລິການແມ່ນກໍລະນີຄລາສສິກ: ການປະມວນຜົນກ່ອນການເຮັດວຽກແຕກຕ່າງກັນລະຫວ່າງການຝຶກອົບຮົມ ແລະ ການຜະລິດ, ແລະ ປະສິດທິພາບຫຼຸດລົງຢ່າງງຽບໆ. ບັນຫາອີກອັນໜຶ່ງທີ່ພົບເລື້ອຍແມ່ນການຂາດການກວດສອບໂຄງຮ່າງ, ບ່ອນທີ່ການປ່ຽນແປງທາງເທິງທຳລາຍການປ້ອນຂໍ້ມູນໃນລັກສະນະທີ່ລະອຽດອ່ອນ. ທີມງານຍັງປະເມີນຄວາມຊັກຊ້າຂອງຫາງຕໍ່າເກີນໄປ ແລະ ສຸມໃສ່ຄ່າສະເລ່ຍຫຼາຍເກີນໄປ, ມອງຂ້າມຄ່າໃຊ້ຈ່າຍ (GPU ທີ່ບໍ່ໄດ້ໃຊ້ງານເພີ່ມຂຶ້ນໄວ), ແລະ ຂ້າມການວາງແຜນການຍ້ອນກັບ. ການຕິດຕາມພຽງແຕ່ເວລາເຮັດວຽກມີຄວາມສ່ຽງໂດຍສະເພາະ, ເພາະວ່າ "ຂຶ້ນແຕ່ຜິດ" ສາມາດຮ້າຍແຮງກວ່າລົງ.
ເອກະສານອ້າງອີງ
-
Amazon Web Services (AWS) - Amazon SageMaker: ການອະນຸມານແບບເວລາຈິງ - docs.aws.amazon.com
-
Amazon Web Services (AWS) - ການຫັນປ່ຽນແບບ Batch ຂອງ Amazon SageMaker - docs.aws.amazon.com
-
Amazon Web Services (AWS) - ຕົວຕິດຕາມຮູບແບບ Amazon SageMaker - docs.aws.amazon.com
-
Amazon Web Services (AWS) - ການຄວບຄຸມຄຳຮ້ອງຂໍ API Gateway - docs.aws.amazon.com
-
Amazon Web Services (AWS) - AWS Secrets Manager: ບົດນຳ - docs.aws.amazon.com
-
Amazon Web Services (AWS) - ວົງຈອນຊີວິດຂອງສະພາບແວດລ້ອມການປະຕິບັດ AWS Lambda - docs.aws.amazon.com
-
Google Cloud - Vertex AI: ນຳໃຊ້ຮູບແບບໄປຍັງຈຸດສິ້ນສຸດ - docs.cloud.google.com
-
ພາບລວມຂອງການຕິດຕາມແບບຈຳລອງ AI ຂອງ Google Cloud - - docs.cloud.google.com
-
Google Cloud - Vertex AI: ຄຸນສົມບັດຂອງຈໍສະແດງຜົນທີ່ມີຄວາມອຽງ ແລະ ເລື່ອນໄປ - docs.cloud.google.com
-
ບລັອກ Google Cloud - ການໄຫຼວຽນຂໍ້ມູນ: ຮູບແບບການຖ່າຍທອດສົດພຽງຄັ້ງດຽວ ທຽບກັບ ຢ່າງໜ້ອຍໜຶ່ງຄັ້ງ - cloud.google.com
-
Google Cloud - ຮູບແບບການຖ່າຍທອດຂໍ້ມູນ Cloud Dataflow - docs.cloud.google.com
-
ປຶ້ມ Google SRE - ການຕິດຕາມກວດກາລະບົບແບບກະຈາຍ - sre.google
-
ການຄົ້ນຄວ້າຂອງ Google - ຫາງໃນຂອບເຂດ - research.google
-
LiteRT (Google AI) - ພາບລວມ LiteRT - ai.google.dev
-
LiteRT (Google AI) - LiteRT on-device inference - ai.google.dev
-
Docker - ຕູ້ຄອນເທນເນີແມ່ນຫຍັງ? - docs.docker.com
-
Docker - ວິທີປະຕິບັດທີ່ດີທີ່ສຸດໃນການສ້າງ Docker - docs.docker.com
-
Kubernetes - Kubernetes Secrets - kubernetes.io
-
Kubernetes - ການຂະຫຍາຍຂະໜາດອັດຕະໂນມັດຂອງ Pod ແບບນອນ - kubernetes.io
-
Martin Fowler - Canary Release - martinfowler.com
-
ມາຕິນ ຟາວເລີ - ການນຳໃຊ້ສີຟ້າ-ສີຂຽວ - martinfowler.com
-
ໂຄງການ OpenAPI - OpenAPI ແມ່ນຫຍັງ? - openapis.org
-
JSON Schema - (ອ້າງອີງເຖິງເວັບໄຊທ໌) - json-schema.org
-
ບັຟເຟີໂປຣໂຕຄອນ - ພາບລວມຂອງບັຟເຟີໂປຣໂຕຄອນ - protobuf.dev
-
FastAPI - (ອ້າງອີງເວັບໄຊທ໌) - fastapi.tiangolo.com
-
NVIDIA - Triton: ການປະສົມແບບໄດນາມິກ ແລະ ການປະຕິບັດແບບຈຳລອງພ້ອມໆກັນ - docs.nvidia.com
-
NVIDIA - Triton: ການປະຕິບັດຮູບແບບພ້ອມໆກັນ - docs.nvidia.com
-
NVIDIA - ເອກະສານເຊີບເວີ Triton Inference Server - docs.nvidia.com
-
PyTorch - ເອກະສານ TorchServe - docs.pytorch.org
-
BentoML - ການຫຸ້ມຫໍ່ສຳລັບການນຳໃຊ້ - docs.bentoml.com
-
Ray - Ray Serve - docs.ray.io
-
TensorFlow - ການວັດແທກປະລິມານຫຼັງການຝຶກອົບຮົມ (ການເພີ່ມປະສິດທິພາບຮູບແບບ TensorFlow) - tensorflow.org
-
TensorFlow - ການກວດສອບຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນ TensorFlow: ກວດຫາຄວາມອຽງຂອງການຝຶກອົບຮົມ - tensorflow.org
-
ONNX - (ອ້າງອີງເວັບໄຊທ໌) - onnx.ai
-
ONNX Runtime - ການເພີ່ມປະສິດທິພາບຂອງຕົວແບບ - onnxruntime.ai
-
NIST (ສະຖາບັນມາດຕະຖານ ແລະ ເຕັກໂນໂລຊີແຫ່ງຊາດ) - NIST SP 800-122 - csrc.nist.gov
-
arXiv - ບັດຮູບແບບຈຳລອງສຳລັບການລາຍງານຮູບແບບຈຳລອງ - arxiv.org
-
Microsoft - ການທົດສອບເງົາ - microsoft.github.io
-
OWASP - 10 ອັນດັບຕົ້ນໆຂອງ OWASP ສຳລັບໃບສະໝັກ LLM - owasp.org
-
ໂຄງການຄວາມປອດໄພ OWASP GenAI - OWASP: ການສີດແບບວ່ອງໄວ - genai.owasp.org