ການກັ່ນຕອງຄວາມຮູ້ (Knowledge Distillation)

ການກັ່ນຕອງຄວາມຮູ້ (Knowledge Distillation)

ວິທີການຖ່າຍທອດຄວາມຮູ້ຈາກໂມເດລຄູ (teacher model) ຂະໜາດໃຫຍ່ໄປຍັງໂມເດລນັກຮຽນ (student model) ຂະໜາດນ້ອຍ ເພື່ອສ້າງໂມເດລທີ່ມີນ້ຳໜັກເບົາແຕ່ມີຄວາມຖືກຕ້ອງສູງ.

ການກັ່ນຕອງຄວາມຮູ້ (Knowledge Distillation) ແມ່ນຫຍັງ

ການກັ່ນຕອງຄວາມຮູ້ (Knowledge Distillation) ແມ່ນວິທີການຝຶກ "ໂມເດລນັກຮຽນ" ຂະໜາດນ້ອຍ ໂດຍໃຊ້ການແຈກຢາຍຜົນລັບຂອງ "ໂມເດລຄູ" ຂະໜາດໃຫຍ່ເປັນຂໍ້ມູນການຮຽນ. ໂມເດລນັກຮຽນຈະຮຽນຮູ້ການເລີຍນແບບຮູບແບບການອະນຸມານຂອງໂມເດລຄູ ຈຶ່ງສາມາດຮັກສາຄວາມຖືກຕ້ອງໃນລະດັບສູງໄວ້ໄດ້ ໃນຂະນະທີ່ຫຼຸດຈຳນວນ parameter ລົງຢ່າງຫຼວງຫຼາຍ.

ເປັນຫຍັງຈຶ່ງຕ້ອງການການກັ່ນຕອງ

ຫາກນຳ LLM ທີ່ມີຫຼາຍຮ້ອຍພັນລ້ານ parameter ໄປໃຊ້ງານໃນສະພາບແວດລ້ອມການຜະລິດໂດຍກົງ, ຄ່າໃຊ້ຈ່າຍ GPU ແລະ latency ຈະກາຍເປັນຂໍ້ຈຳກັດທາງທຸລະກິດ. ໃນທາງກົງກັນຂ້າມ, ຫາກຝຶກໂມເດລຂະໜາດນ້ອຍຈາກສູນ, ກໍຍາກທີ່ຈະໄດ້ຄວາມຖືກຕ້ອງທຽບເທົ່າໂມເດລຂະໜາດໃຫຍ່. ການກັ່ນຕອງແມ່ນວິທີການທີ່ໃຊ້ງານໄດ້ຈິງເພື່ອແກ້ໄຂຂໍ້ຂັດແຍ່ງນີ້.

ຕົວຢ່າງເຊັ່ນ: ຊຸດ Phi ຂອງ Microsoft ໄດ້ກັ່ນຕອງໂມເດລຂະໜາດນ້ອຍດ້ວຍຂໍ້ມູນສັງເຄາະທີ່ສ້າງໂດຍໂມເດລຂະໜາດໃຫຍ່ ແລະ ສາມາດບັນລຸປະສິດທິພາບທີ່ໃກ້ຄຽງກັບໂມເດລຂະໜາດໃຫຍ່ ທັງທີ່ເປັນ SLM (Small Language Model).

ຄວາມແຕກຕ່າງຈາກ Fine-tuning

Fine-tuning ແມ່ນວິທີການປັບນ້ຳໜັກຂອງໂມເດລທີ່ມີຢູ່ແລ້ວເພື່ອໃຫ້ເໝາະສົມກັບວຽກງານສະເພາະ, ໂດຍຂະໜາດຂອງໂມເດລຈະບໍ່ປ່ຽນແປງ. ການກັ່ນຕອງແຕກຕ່າງຕ່ງທີ່ມັນຫຼຸດຂະໜາດຂອງໂມເດລລົງໂດຍກົງ. ໃນທາງປະຕິບັດ, ກຳລັງກາຍເປັນເລື່ອງທົ່ວໄປທີ່ຈະໃຊ້ pipeline ທີ່ກັ່ນຕອງໃຫ້ໂມເດລນ້ອຍລົງກ່ອນ ແລ້ວຈຶ່ງປັບໃຫ້ເຂົ້າກັບ domain ທຸລະກິດດ້ວຍ LoRA ເປັນຕົ້ນ.

ຂໍ້ຈຳກັດຂອງການກັ່ນຕອງ

ວຽກງານທີ່ໂມເດລຄູຖ່ອຍ, ໂມເດລນັກຮຽນກໍຈະຖ່ອຍດ້ວຍເຊັ່ນກັນ. ນອກຈາກນີ້, ເນື່ອງຈາກຕ້ອງສ້າງຜົນລັບຈາກໂມເດລຄູໃນປະລິມານຫຼວງຫຼາຍ, ຄ່າໃຊ້ຈ່າຍດ້ານການຄຳນວນຂອງຂະບວນການກັ່ນຕອງເອງກໍບໍ່ສາມາດມອງຂ້າມໄດ້.