ຖ້າທ່ານເຄີຍເບິ່ງແບບຈໍາລອງການສາທິດ crush ການທົດສອບຂະຫນາດນ້ອຍແລະຫຼັງຈາກນັ້ນ freeze ເວລາທີ່ຜູ້ໃຊ້ທີ່ແທ້ຈິງສະແດງໃຫ້ເຫັນເຖິງ, ທ່ານໄດ້ພົບກັບຄົນຮ້າຍ: scaling. AI ແມ່ນຄວາມໂລບມາກສໍາລັບຂໍ້ມູນ, ຄອມພິວເຕີ້, ຫນ່ວຍຄວາມຈໍາ, ແບນວິດ - ແລະແປກ, ຄວາມສົນໃຈ. ດັ່ງນັ້ນ, AI Scalability ແມ່ນຫຍັງ, ແທ້ຈິງແລ້ວ, ແລະເຈົ້າຈະໄດ້ຮັບມັນໄດ້ແນວໃດໂດຍບໍ່ມີການຂຽນຄືນໃຫມ່ທຸກໆອາທິດ?
ບົດຄວາມທີ່ທ່ານອາດຈະຢາກອ່ານຫຼັງຈາກບົດຄວາມນີ້:
🔗 ອະຄະຕິຂອງ AI ແມ່ນຫຍັງ? ອະທິບາຍງ່າຍໆ
ຮຽນຮູ້ວ່າຄວາມລຳອຽງທີ່ເຊື່ອງໄວ້ເຮັດໃຫ້ການຕັດສິນໃຈຂອງ AI ແລະຜົນໄດ້ຮັບຂອງຕົວແບບແນວໃດ.
🔗 ຄູ່ມືເລີ່ມຕົ້ນ: ປັນຍາປະດິດແມ່ນຫຍັງ
ພາບລວມຂອງ AI, ແນວຄວາມຄິດຫຼັກ, ປະເພດ, ແລະຄໍາຮ້ອງສະຫມັກປະຈໍາວັນ.
🔗 AI ທີ່ສາມາດອະທິບາຍໄດ້ແມ່ນຫຍັງ ແລະເປັນຫຍັງມັນຈຶ່ງສຳຄັນ
ຄົ້ນພົບວິທີທີ່ AI ທີ່ສາມາດອະທິບາຍໄດ້ເພີ່ມຄວາມໂປ່ງໃສ, ຄວາມໄວ້ວາງໃຈ, ແລະການປະຕິບັດຕາມກົດລະບຽບ.
🔗 AI ຄາດຄະເນແມ່ນຫຍັງແລະວິທີການເຮັດວຽກ
ເຂົ້າໃຈ AI ຄາດຄະເນ, ກໍລະນີການນໍາໃຊ້ທົ່ວໄປ, ຜົນປະໂຫຍດ, ແລະຂໍ້ຈໍາກັດ.
AI Scalability ແມ່ນຫຍັງ? 📈
ໃນການຂະຫຍາຍ AI ແມ່ນຄວາມສາມາດຂອງລະບົບ AI ໃນການຈັດການຂໍ້ມູນ, ການຮ້ອງຂໍ, ຜູ້ໃຊ້ ແລະ ກໍລະນີການນຳໃຊ້ຫຼາຍຂຶ້ນ ໃນຂະນະທີ່ຮັກສາປະສິດທິພາບ, ຄວາມໜ້າເຊື່ອຖື ແລະ ຕົ້ນທຶນໃຫ້ຢູ່ໃນຂອບເຂດທີ່ຍອມຮັບໄດ້. ບໍ່ພຽງແຕ່ເຊີບເວີທີ່ໃຫຍ່ກວ່າເທົ່ານັ້ນ - ສະຖາປັດຕະຍະກຳທີ່ສະຫຼາດກວ່າທີ່ຮັກສາຄວາມໜ่วงເວລາໃຫ້ຕໍ່າ, ປະລິມານວຽກສູງ, ແລະ ຄຸນນະພາບທີ່ສອດຄ່ອງກັນເມື່ອເສັ້ນໂຄ້ງເພີ່ມຂຶ້ນ. ຄິດເຖິງໂຄງສ້າງພື້ນຖານທີ່ຍືດຫຍຸ່ນ, ຮູບແບບທີ່ໄດ້ຮັບການປັບປຸງໃຫ້ດີທີ່ສຸດ, ແລະ ຄວາມສາມາດໃນການສັງເກດການທີ່ບອກທ່ານວ່າມີຫຍັງເກີດຂຶ້ນ.

ສິ່ງທີ່ເຮັດໃຫ້ AI Scalability ທີ່ດີ ✅
ເມື່ອ AI Scalability ເຮັດໄດ້ດີ, ທ່ານໄດ້ຮັບ:
-
ຄວາມຊັກຊ້າທີ່ຄາດເດົາໄດ້ ພາຍໃຕ້ການໂຫຼດທີ່ແຫຼມ ຫຼື ຍືນຍົງ 🙂
-
ຂໍ້ມູນຜ່ານທີ່ເຕີບໂຕ ປະມານອັດຕາສ່ວນຂອງຮາດແວ ຫຼືເຄື່ອງຈຳລອງທີ່ເພີ່ມເຂົ້າມາ
-
ປະສິດທິພາບດ້ານຕົ້ນທຶນ ທີ່ບໍ່ເພີ່ມຂຶ້ນຕາມການຮ້ອງຂໍ
-
ຄວາມໝັ້ນຄົງດ້ານຄຸນນະພາບ ເນື່ອງຈາກວັດສະດຸປ້ອນມີຄວາມຫຼາກຫຼາຍ ແລະປະລິມານເພີ່ມຂຶ້ນ
-
ການເຮັດວຽກສະຫງົບ ຍ້ອນການປັບຂະໜາດອັດຕະໂນມັດ, ການຕິດຕາມ, ແລະ SLOs ທີ່ປອດໄພ
ພາຍໃຕ້ຝາອັດປາກມົດລູກນີ້ປົກກະຕິແລ້ວຈະຜະສົມການປັບຂະຫນາດຕາມລວງນອນ, batching, caching, quantization, ການປະຕິບັດທີ່ເຂັ້ມແຂງ, ແລະນະໂຍບາຍການປ່ອຍຄວາມຄິດທີ່ກ່ຽວຂ້ອງກັບງົບປະມານຄວາມຜິດພາດ [5].
AI Scalability vs Performance vs ຄວາມອາດສາມາດ 🧠
-
ການປະຕິບັດ ແມ່ນໄວເທົ່າໃດການຮ້ອງຂໍດຽວສໍາເລັດໃນການໂດດດ່ຽວ.
-
ຄວາມອາດສາມາດ ແມ່ນຈໍານວນຄໍາຮ້ອງຂໍເຫຼົ່ານັ້ນທີ່ທ່ານສາມາດຈັດການໃນເວລາດຽວກັນ.
-
AI Scalability ແມ່ນການເພີ່ມຊັບພະຍາກອນ ຫຼືການໃຊ້ເທັກນິກທີ່ສະຫຼາດກວ່າຈະເພີ່ມຂີດຄວາມສາມາດ ແລະຮັກສາປະສິດທິພາບທີ່ສອດຄ່ອງ - ໂດຍບໍ່ເຮັດໃຫ້ໃບເກັບເງິນ ຫຼື pager ຂອງທ່ານອອກມາ.
ຄວາມແຕກຕ່າງເລັກນ້ອຍ, ຜົນສະທ້ອນອັນໃຫຍ່ຫຼວງ.
ເປັນຫຍັງຂະຫນາດຈຶ່ງເຮັດວຽກຢູ່ໃນ AI ທັງຫມົດ: ແນວຄວາມຄິດຂອງກົດຫມາຍຂະຫນາດ 📚
ຄວາມເຂົ້າໃຈທີ່ນຳໃຊ້ຢ່າງກວ້າງຂວາງໃນ ML ທີ່ທັນສະໄໝແມ່ນວ່າການສູນເສຍຈະດີຂຶ້ນໃນວິທີທີ່ຄາດເດົາໄດ້ເມື່ອທ່ານປັບຂະ ໜາດຂະໜາດຂອງຮູບແບບ, ຂໍ້ມູນ ແລະ ການຄຳນວນພາຍໃນເຫດຜົນ. ນອກຈາກນີ້ຍັງມີ ຄວາມສົມດຸນທີ່ດີທີ່ສຸດສຳລັບການຄິດໄລ່ ລະຫວ່າງຂະໜາດຂອງຮູບແບບ ແລະ ໂທເຄັນການຝຶກອົບຮົມ; ການຂະຫຍາຍທັງສອງຢ່າງຮ່ວມກັນຈະດີກວ່າການຂະຫຍາຍພຽງແຕ່ອັນດຽວ. ໃນທາງປະຕິບັດ, ແນວຄວາມຄິດເຫຼົ່ານີ້ໃຫ້ຂໍ້ມູນແກ່ງົບປະມານການຝຶກອົບຮົມ, ການວາງແຜນຊຸດຂໍ້ມູນ, ແລະ ການແລກປ່ຽນການບໍລິການ [4].
ການແປພາສາດ່ວນ: ໃຫຍ່ກວ່າສາມາດດີກວ່າ, ແຕ່ວ່າພຽງແຕ່ເມື່ອທ່ານຂະຫນາດວັດສະດຸປ້ອນແລະຄິດໄລ່ອັດຕາສ່ວນ - ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຄ້າຍຄືກັບການວາງຢາງລົດໄຖນາໃສ່ລົດຖີບ. ມັນເບິ່ງຄືວ່າເຂັ້ມແຂງ, ໄປ nowhere.
Horizontal vs vertical: ສອງ levers scaling 🔩
-
ການປັບຂະໜາດຕາມແນວຕັ້ງ: ກ່ອງໃຫຍ່ກວ່າ, GPUs ອ່ອນກວ່າ, ໜ່ວຍຄວາມຈຳຫຼາຍ. ງ່າຍດາຍ, ບາງຄັ້ງລາຄາ. ດີສໍາລັບການຝຶກອົບຮົມໂຫນດດຽວ, ການຊີ້ບອກເວລາ latency ຕ່ໍາ, ຫຼືໃນເວລາທີ່ຕົວແບບຂອງທ່ານປະຕິເສດທີ່ຈະ shard ງາມ.
-
ການຂະຫຍາຍອອກຕາມລວງນອນ: replicas ຫຼາຍ. ໃຊ້ໄດ້ດີທີ່ສຸດກັບ ຕົວປັບຂະໜາດອັດຕະໂນມັດ ທີ່ເພີ່ມ ຫຼືລຶບພອດໂດຍອີງໃສ່ CPU/GPU ຫຼືຕົວວັດແທກແອັບທີ່ກຳນົດເອງ. ໃນ Kubernetes, HorizontalPodAutoscaler scales pods ເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການ - ການຄວບຄຸມຝູງຊົນພື້ນຖານຂອງທ່ານສໍາລັບການຈະລາຈອນເພີ່ມຂຶ້ນ [1].
Anecdote (composite): ໃນລະຫວ່າງການເປີດຕົວທີ່ມີຄວາມລະອຽດສູງ, ພຽງແຕ່ເປີດການບີບອັດດ້ານເຊີຟເວີແລະປ່ອຍໃຫ້ຕົວຂະຫຍາຍອັດຕະໂນມັດປະຕິກິລິຍາກັບຄວາມເລິກຂອງແຖວທີ່ຄົງທີ່ p95 ໂດຍບໍ່ມີການປ່ຽນລູກຄ້າໃດໆ. ໄຊຊະນະທີ່ບໍ່ປ່ຽນແປງແມ່ນຍັງຊະນະ.
ການຈັດເຕັມຂອງ AI Scalability 🥞
-
ຊັ້ນຂໍ້ມູນ: ບ່ອນເກັບມ້ຽນວັດຖຸທີ່ໄວ, ດັດຊະນີເວັກເຕີ, ແລະ ການນຳເຂົ້າຂໍ້ມູນສະຕຣີມມິງທີ່ຈະບໍ່ເຮັດໃຫ້ເຄື່ອງຝຶກສອນຂອງທ່ານເຮັດວຽກຊ້າລົງ.
-
ຊັ້ນການຝຶກອົບຮົມ: ກອບການແຈກຢາຍແລະຕາຕະລາງຕາຕະລາງທີ່ຈັດການກັບຂໍ້ມູນ / ຕົວແບບຂະຫນານ, ການກວດສອບ, ພະຍາຍາມໃຫມ່.
-
ຊັ້ນຂໍ້ມູນການໃຫ້ບໍລິການ: ເວລາແລ່ນທີ່ປັບໃຫ້ເໝາະສົມ, ການຈັດກຸ່ມແບບໄດນາມິກ, ການຈັດໜ້າຄວາມສົນໃຈ ສຳລັບ LLMs, ການເກັບຂໍ້ມູນ, ການຖ່າຍທອດໂທເຄັນ. Triton ແລະ vLLM ແມ່ນ heroes ເລື້ອຍໆຢູ່ທີ່ນີ້ [2][3].
-
Orchestration: Kubernetes ສໍາລັບ elasticity ຜ່ານ HPA ຫຼື custom autoscalers [1].
-
ການສັງເກດການ: ຮ່ອງຮອຍ, ວັດແທກ ແລະບັນທຶກທີ່ຕິດຕາມການເດີນທາງຂອງຜູ້ໃຊ້ ແລະພຶດຕິກໍາຕົວແບບໃນການຜະລິດ; ອອກແບບໃຫ້ເຂົາເຈົ້າອ້ອມຮອບ SLOs ຂອງທ່ານ [5].
-
ການຄຸ້ມຄອງ ແລະ ຕົ້ນທຶນ: ເສດຖະສາດຕໍ່ການຮ້ອງຂໍ, ງົບປະມານ, ແລະ kill-switches ສຳລັບວຽກງານທີ່ບໍ່ສາມາດຄວບຄຸມໄດ້.
ຕາຕະລາງປຽບທຽບ: ເຄື່ອງມື & ຮູບແບບການປັບຂະ ໜາດ AI 🧰
ບໍ່ສະເຫມີພາບເລັກນ້ອຍກ່ຽວກັບຈຸດປະສົງ - ເພາະວ່າຊີວິດທີ່ແທ້ຈິງແມ່ນ.
| ເຄື່ອງມື / ຮູບແບບ | ຜູ້ຊົມ | ລາຄາປະມານ | ເປັນຫຍັງມັນຈຶ່ງໃຊ້ໄດ້ | ບັນທຶກ |
|---|---|---|---|---|
| Kubernetes + HPA | ທີມງານແພລດຟອມ | ແຫຼ່ງເປີດ + infra | ເກັດຝັກຕາມລວງນອນເປັນຮວງຕັ້ງແຈບ | ການວັດແທກແບບກຳນົດເອງແມ່ນຄຳ [1] |
| NVIDIA Triton | Inference SRE | ເຄື່ອງແມ່ຂ່າຍຟຣີ; GPU $ | batching ແບບໄດນາມິກ ຊ່ວຍເພີ່ມການຖ່າຍທອດ | ຕັ້ງຄ່າຜ່ານ config.pbtxt [2] |
| vLLM (PagedAttention) | ທີມງານ LLM | ໂອເພນຊອສ | ອັດຕາການສົ່ງຜ່ານສູງຜ່ານໜ້າ KV-cache ທີ່ມີປະສິດທິພາບ | ທີ່ຍິ່ງໃຫຍ່ສໍາລັບການເຕືອນຍາວ [3] |
| ONNX Runtime / TensorRT | Perf nerds | ເຄື່ອງມືຟຣີ / ຜູ້ຂາຍ | ການເພີ່ມປະສິດທິພາບລະດັບ Kernel ຫຼຸດຜ່ອນເວລາ latency | ເສັ້ນທາງການສົ່ງອອກສາມາດ fiddly |
| ຮູບແບບ RAG | ທີມງານ App | Infra + ດັດຊະນີ | Offloads ຄວາມຮູ້ເພື່ອດຶງ; ປັບຂະຫນາດດັດຊະນີ | ທີ່ດີເລີດສໍາລັບຄວາມສົດ |
Deep dive 1: ການຮັບໃຊ້ tricks ທີ່ຍ້າຍເຂັມ 🚀
-
Dynamic batching group call inference small in batches larger on the server, ເພີ່ມຂຶ້ນຢ່າງຫຼວງຫຼາຍການນໍາໃຊ້ GPU ໂດຍບໍ່ມີການປ່ຽນລູກຄ້າ [2].
-
Paged ເອົາໃຈໃສ່ ເຮັດໃຫ້ການສົນທະນາໄກຫຼາຍໃນຄວາມຊົງຈໍາໂດຍການຈັດຫນ້າ KV cache, ເຊິ່ງປັບປຸງການຜ່ານພາຍໃຕ້ການສອດຄ່ອງ [3].
-
ຮ້ອງຂໍການລວມເຂົ້າກັນ ແລະ ການເກັບຂໍ້ມູນໄວ້ໃນແຄສ ສຳລັບການກະຕຸ້ນເຕືອນ ຫຼື ການຝັງທີ່ຄືກັນ ຫຼີກລ່ຽງການເຮັດວຽກທີ່ຊໍ້າກັນ.
-
ການຖອດລະຫັດແບບຄາດເດົາ ແລະການຖ່າຍທອດໂທເຄັນຫຼຸດຜ່ອນຄວາມລ່າຊ້າທີ່ຮັບຮູ້ໄດ້, ເຖິງແມ່ນວ່າໂມງຕິດຝາຈະເກືອບບໍ່ໄຫວ.
Deep dive 2: ປະສິດທິພາບລະດັບຕົວແບບ - ປະລິມານ, ກັ່ນ, ຕັດ 🧪
-
Quantization ຫຼຸດຜ່ອນຄວາມແມ່ນຍໍາຂອງພາລາມິເຕີ (ຕົວຢ່າງ: 8-bit / 4-bit) ເພື່ອຫົດຫນ່ວຍຄວາມຈໍາແລະເລັ່ງການ inference; ສະເຫມີປະເມີນຄຸນນະພາບຂອງວຽກງານຫຼັງຈາກການປ່ຽນແປງ.
-
ການຕົ້ມກັ່ນ ໂອນຄວາມຮູ້ຈາກຄູສອນໃຫຍ່ໄປຫານັກຮຽນຂະຫນາດນ້ອຍກວ່າຮາດແວທີ່ເຈົ້າມັກ.
-
ການຕັດໄມ້ທີ່ມີໂຄງສ້າງ ຕັດນ້ຳໜັກ/ຫົວທີ່ປະກອບສ່ວນໜ້ອຍທີ່ສຸດ.
ໃຫ້ຄວາມຊື່ສັດ, ມັນຄ້າຍຄືກັບການຫຼຸດກະເປົ໋າຂອງເຈົ້າລົງເລັກນ້ອຍ, ແລ້ວຢືນຢັນວ່າເກີບຂອງເຈົ້າຍັງເຫມາະ. somehow ມັນເຮັດ, ສ່ວນຫຼາຍແມ່ນ.
Deep dive 3: ຂໍ້ມູນ ແລະ ການເຝິກຊ້ອມການປັບຂະໜາດໂດຍບໍ່ມີນໍ້າຕາ🧵
-
ໃຊ້ການຝຶກອົບຮົມແບບແຈກຢາຍທີ່ເຊື່ອງພາກສ່ວນຂອງຂະໜານຂະໜານເພື່ອໃຫ້ທ່ານສາມາດຈັດສົ່ງການທົດລອງໄດ້ໄວຂຶ້ນ.
-
ຈື່ຈໍາ ກົດຫມາຍການຂະຫຍາຍ: ຈັດສັນງົບປະມານໃນທົ່ວຂະຫນາດຂອງຕົວແບບແລະ tokens ຄວາມຄິດ; ການຂະຫຍາຍທັງສອງຮ່ວມກັນແມ່ນປະສິດທິພາບການຄິດໄລ່ [4].
-
ຄຸນນະພາບຂອງຫຼັກສູດ ແລະ ຂໍ້ມູນ ມັກຈະເຮັດໃຫ້ຜົນໄດ້ຮັບມີການປ່ຽນແປງຫຼາຍກວ່າທີ່ຄົນຍອມຮັບ. ບາງຄັ້ງຂໍ້ມູນທີ່ດີກວ່າຈະດີກ່ວາຂໍ້ມູນຫຼາຍກວ່າ - ເຖິງແມ່ນວ່າທ່ານໄດ້ສັ່ງຊື້ກຸ່ມທີ່ໃຫຍ່ກວ່າແລ້ວກໍຕາມ.
Deep dive 4: RAG ເປັນຍຸດທະສາດການຂະຫຍາຍຄວາມຮູ້ 🧭
ແທນທີ່ຈະ retraining ຮູບແບບເພື່ອໃຫ້ທັນກັບການປ່ຽນແປງຂໍ້ເທັດຈິງ, RAG ເພີ່ມຂັ້ນຕອນການດຶງຂໍ້ມູນໃນ inference. ທ່ານສາມາດຮັກສາຕົວແບບຄົງທີ່ແລະຂະຫນາດ ດັດຊະນີ ແລະ retrievers ຍ້ອນວ່າ corpus ຂອງທ່ານເຕີບໂຕ. Elegant- ແລະມັກຈະລາຄາຖືກກວ່າ retrains ເຕັມສໍາລັບກິດທີ່ມີຄວາມຮູ້.
ການສັງເກດທີ່ຈ່າຍໃຫ້ກັບຕົວມັນເອງ 🕵️♀️
ທ່ານບໍ່ສາມາດຂະຫຍາຍສິ່ງທີ່ເຈົ້າເບິ່ງບໍ່ເຫັນ. ສອງສິ່ງຈໍາເປັນ:
-
Metrics ສໍາລັບການວາງແຜນຄວາມອາດສາມາດແລະການປັບຂະຫນາດອັດຕະໂນມັດ: ເປີເຊັນການເລັ່ງເວລາ, ຄວາມເລິກແຖວ, ຫນ່ວຍຄວາມຈໍາ GPU, ຂະຫນາດ batch, token throughput, cache hit rates.
-
ຮ່ອງຮອຍ ທີ່ຕິດຕາມການຮ້ອງຂໍດຽວໃນທົ່ວເກດເວ → ການດຶງຂໍ້ມູນ → ຮູບແບບ → ການປະມວນຜົນຫຼັງການປະມວນຜົນ. ເຊື່ອມໂຍງສິ່ງທີ່ທ່ານວັດແທກກັບ SLO ຂອງທ່ານເພື່ອໃຫ້ແຜງຄວບຄຸມຕອບຄຳຖາມພາຍໃນໜຶ່ງນາທີ [5].
ເມື່ອ dashboards ຕອບຄໍາຖາມພາຍໃນຫນຶ່ງນາທີ, ປະຊາຊົນໃຊ້ພວກມັນ. ເມື່ອພວກເຂົາເຮັດບໍ່ໄດ້, ພວກເຂົາສົມມຸດວ່າພວກເຂົາເຮັດ.
ຮົ້ວປ້ອງກັນຄວາມຫນ້າເຊື່ອຖື: SLOs, ງົບປະມານຄວາມຜິດພາດ, ການເປີດຕົວຢ່າງມີສະຕິ 🧯
-
ກໍານົດ SLOs ສໍາລັບຄວາມລ່າຊ້າ, ຄວາມພ້ອມ, ແລະຄຸນນະພາບຜົນໄດ້ຮັບ, ແລະນໍາໃຊ້ ງົບປະມານຄວາມຜິດພາດ ເພື່ອດຸ່ນດ່ຽງຄວາມຫນ້າເຊື່ອຖືກັບຄວາມໄວການປ່ອຍ [5].
-
ນຳໃຊ້ຢູ່ເບື້ອງຫຼັງການແບ່ງການສັນຈອນ, ເຮັດສວນສັດ, ແລະ ດຳ ເນີນການທົດສອບເງົາກ່ອນການຕັດຜ່ານທົ່ວໂລກ. ອະນາຄົດຂອງເຈົ້າເອງຈະສົ່ງອາຫານຫວ່າງ.
ຄຸ້ມຄ່າບໍ່ແພງ 💸
ຂະຫນາດບໍ່ພຽງແຕ່ດ້ານວິຊາການ; ມັນເປັນທາງດ້ານການເງິນ. ປະຕິບັດຊົ່ວໂມງ GPU ແລະໂທເຄັນເປັນຊັບພະຍາກອນອັນດັບໜຶ່ງດ້ວຍຫົວໜ່ວຍເສດຖະກິດ (ຄ່າໃຊ້ຈ່າຍຕໍ່ 1k tokens, ຕໍ່ການຝັງ, ຕໍ່ການສອບຖາມ vector). ເພີ່ມງົບປະມານ ແລະການແຈ້ງເຕືອນ; ສະເຫຼີມສະຫຼອງການລຶບສິ່ງຕ່າງໆ.
ແຜນທີ່ເສັ້ນທາງທີ່ງ່າຍດາຍຕໍ່ກັບ AI Scalability 🗺️
-
ເລີ່ມຕົ້ນດ້ວຍ SLOs ສໍາລັບ p95 latency, ມີ, ແລະຄວາມຖືກຕ້ອງຂອງວຽກງານ; ການວັດແທກສາຍ/ຮອຍໃນມື້ໜຶ່ງ [5].
-
ເລືອກຊຸດການໃຫ້ບໍລິການ ທີ່ຮອງຮັບ batching ແລະ batching ຢ່າງຕໍ່ເນື່ອງ: Triton, vLLM, ຫຼືທຽບເທົ່າ [2][3].
-
ເພີ່ມປະສິດທິພາບຂອງຕົວແບບ: quantize ບ່ອນທີ່ມັນຊ່ວຍ, ເປີດໃຊ້ແກ່ນໄວ, ຫຼືກັ່ນສໍາລັບວຽກງານສະເພາະ; ກວດສອບຄຸນນະພາບດ້ວຍ evals ທີ່ແທ້ຈິງ.
-
ສະຖາປະນິກສໍາລັບຄວາມຍືດຫຍຸ່ນ: Kubernetes HPA ທີ່ມີສັນຍານທີ່ຖືກຕ້ອງ, ເສັ້ນທາງການອ່ານ / ຂຽນແຍກຕ່າງຫາກ, ແລະ replicas inferences stateless [1].
-
ຮັບຮອງເອົາການດຶງຂໍ້ມູນ ເມື່ອຄວາມສົດມີຄວາມສຳຄັນເພື່ອໃຫ້ເຈົ້າປັບຂະໜາດດັດຊະນີຂອງເຈົ້າແທນການຝຶກຄືນທຸກໆອາທິດ.
-
ປິດວົງດ້ວຍຄ່າໃຊ້ຈ່າຍ: ສ້າງຫົວໜ່ວຍເສດຖະກິດ ແລະ ການທົບທວນຄືນປະຈໍາອາທິດ.
ຮູບແບບຄວາມລົ້ມເຫລວທົ່ວໄປ & ການແກ້ໄຂດ່ວນ🧨
-
GPU ຢູ່ທີ່ 30% ການນໍາໃຊ້ໃນຂະນະທີ່ latency ບໍ່ດີ
-
ເປີດ batch dynamic, ຍົກ batch caps ລະມັດລະວັງ, ແລະ recheck server concurrency [2].
-
-
ຊ່ອງຫວ່າງຫຼຸດລົງດ້ວຍການກະຕຸ້ນເຕືອນທີ່ຍາວນານ
-
ໃຊ້ການຮັບໃຊ້ທີ່ສະຫນັບສະຫນູນ ຄວາມສົນໃຈໃນຫນ້າ ແລະປັບລໍາດັບສູງສຸດ concurrent [3].
-
-
ຕົວຂະຫຍາຍອັດຕະໂນມັດ
-
metrics ກ້ຽງກັບປ່ອງຢ້ຽມ; ຂະໜາດຄວາມເລິກຂອງແຖວ ຫຼືໂທເຄັນແບບກຳນົດເອງຕໍ່ວິນາທີແທນ CPU ບໍລິສຸດ [1].
-
-
ຄ່າໃຊ້ຈ່າຍຈະລະເບີດຫຼັງຈາກການເປີດຕົວ
-
ຕື່ມການວັດແທກຄ່າໃຊ້ຈ່າຍໃນລະດັບຄໍາຮ້ອງຂໍ, ເປີດໃຊ້ປະລິມານທີ່ປອດໄພ, cache top queries, ແລະອັດຕາຈໍາກັດຜູ້ກະທໍາຜິດທີ່ຮ້າຍແຮງທີ່ສຸດ.
-
AI Scalability playbook: ລາຍການກວດສອບດ່ວນ ✅
-
SLOs ແລະຄວາມຜິດພາດງົບປະມານມີຢູ່ແລະເຫັນໄດ້
-
Metrics: latency, tps, GPU mem, batch size, token/s, cache hit
-
ຕິດຕາມຈາກ ingress ໄປຫາຕົວແບບໄປຫາ post-proc
-
ການໃຫ້ບໍລິການ: batching on, concurrency tuned, cache ອົບອຸ່ນ
-
ຮູບແບບ: ປະລິມານຫຼືກັ່ນທີ່ມັນຊ່ວຍ
-
Infra: HPA ຕັ້ງຄ່າດ້ວຍສັນຍານທີ່ຖືກຕ້ອງ
-
ເສັ້ນທາງການດຶງຂໍ້ມູນເພື່ອຄວາມສົດຊື່ນດ້ານຄວາມຮູ້
-
ຫົວໜ່ວຍເສດຖະສາດທົບທວນເລື້ອຍໆ
ດົນເກີນໄປບໍ່ໄດ້ອ່ານມັນແລະຂໍ້ສັງເກດສຸດທ້າຍ 🧩
ຄວາມສາມາດໃນການຂະຫຍາຍ AI ບໍ່ແມ່ນຄຸນສົມບັດດຽວ ຫຼື ການປ່ຽນລັບ. ມັນເປັນພາສາຮູບແບບ: ການຂະຫຍາຍແນວນອນດ້ວຍຕົວປັບຂະໜາດອັດຕະໂນມັດ, ການແບ່ງກຸ່ມດ້ານເຊີບເວີເພື່ອການນຳໃຊ້, ປະສິດທິພາບລະດັບໂມເດວ, ການດຶງຂໍ້ມູນເພື່ອໂອນຄວາມຮູ້, ແລະ ຄວາມສາມາດໃນການສັງເກດການທີ່ເຮັດໃຫ້ການເປີດຕົວໜ້າເບື່ອ. ເພີ່ມ SLO ແລະ ສຸຂະອະນາໄມຄ່າໃຊ້ຈ່າຍເພື່ອເຮັດໃຫ້ທຸກຄົນສອດຄ່ອງກັນ. ທ່ານຈະບໍ່ເຮັດໃຫ້ມັນສົມບູນແບບໃນຄັ້ງທຳອິດ - ບໍ່ມີໃຜເຮັດ - ແຕ່ດ້ວຍວົງຈອນຄຳຕິຊົມທີ່ຖືກຕ້ອງ, ລະບົບຂອງທ່ານຈະເຕີບໂຕໂດຍບໍ່ມີຄວາມຮູ້ສຶກເຫື່ອອອກເຢັນໆໃນເວລາ 2 ໂມງເຊົ້າ 😅
ເອກະສານອ້າງອີງ
[1] Kubernetes Docs - Horizontal Pod Autoscaling - ອ່ານຕື່ມ
[2] NVIDIA Triton - Dynamic Batcher - ອ່ານຕື່ມ
[3] vLLM Docs - Paged Attention - ອ່ານຕື່ມ
[4] Hoffmann et al. (2022) - Training Compute-Optimal Large Language Models - ອ່ານຕື່ມ
[5] Google SRE Workbook - ການປະຕິບັດ SLOs - ອ່ານຕື່ມ