paint-brush
ການສ້າງກອບແບບຍືດຫຍຸ່ນສໍາລັບການປ້ອນຂໍ້ມູນ Multimodal ໃນຮູບແບບພາສາຂະຫນາດໃຫຍ່ໂດຍ@ritabratamaiti
ປະຫວັດສາດໃຫມ່

ການສ້າງກອບແບບຍືດຫຍຸ່ນສໍາລັບການປ້ອນຂໍ້ມູນ Multimodal ໃນຮູບແບບພາສາຂະຫນາດໃຫຍ່

ໂດຍ ritabratamaiti5m2024/11/19
Read on Terminal Reader

ຍາວເກີນໄປ; ອ່ານ

AnyModal ເປັນກອບແຫຼ່ງເປີດທີ່ຖືກອອກແບບມາເພື່ອເຮັດໃຫ້ການຝຶກອົບຮົມ LLMs multimodal ງ່າຍຂຶ້ນໂດຍການຫຼຸດຜ່ອນ boilerplate ແລະເຮັດໃຫ້ການລວມຕົວຂອງປະເພດຂໍ້ມູນທີ່ຫຼາກຫຼາຍເຊັ່ນຂໍ້ຄວາມ, ຮູບພາບ, ແລະສຽງງ່າຍຂຶ້ນ. ມັນສະຫນອງອົງປະກອບ modular ສໍາລັບ tokenization, ການເຂົ້າລະຫັດຄຸນນະສົມບັດ, ແລະການຄາດຄະເນ, ໃຫ້ນັກພັດທະນາສຸມໃສ່ການກໍ່ສ້າງຄໍາຮ້ອງສະຫມັກໂດຍບໍ່ມີການຈັດການກັບຄວາມສັບສົນຂອງການເຊື່ອມໂຍງ multimodal. ການສາທິດລວມມີການຝຶກອົບຮົມ VLMs ສໍາລັບຄໍາບັນຍາຍຮູບພາບ, LaTeX OCR, ແລະການບັນຍາຍທາງ radiology.
featured image - ການສ້າງກອບແບບຍືດຫຍຸ່ນສໍາລັບການປ້ອນຂໍ້ມູນ Multimodal ໃນຮູບແບບພາສາຂະຫນາດໃຫຍ່
ritabratamaiti HackerNoon profile picture
0-item
1-item

ໂຄງການແຫຼ່ງເປີດຂອງຂ້ອຍ: ກອບຮູບແບບພາສາ Multimodal ທີ່ມີຄວາມຍືດຫຍຸ່ນສໍາລັບ PyTorch


ຄໍາສັນຍາຂອງ AI multimodal ແມ່ນຢູ່ທົ່ວທຸກແຫ່ງ, ຈາກການວິນິດໄສການດູແລສຸຂະພາບແບບພິເສດໄປສູ່ການສ້າງປະສົບການຂອງລູກຄ້າທີ່ອຸດົມສົມບູນ, ເຄື່ອນໄຫວຫຼາຍ. ແຕ່ສໍາລັບພວກເຮົາທີ່ຢູ່ໃນ trenches, ການກໍ່ສ້າງລະບົບ multimodal - ມີຄວາມສາມາດປະມວນຜົນຂໍ້ຄວາມ, ຮູບພາບ, ສຽງ, ແລະນອກ - ມັກຈະມີຄວາມຮູ້ສຶກຄືກັບ tangle ທີ່ບໍ່ມີທີ່ສິ້ນສຸດຂອງການເຊື່ອມໂຍງແບບກໍາຫນົດເອງ, ລະຫັດ boilerplate, ແລະບັນຫາຄວາມເຂົ້າກັນໄດ້. ນີ້ແມ່ນຄວາມອຸກອັ່ງຂອງຂ້ອຍ, ແລະໃນທີ່ສຸດມັນກໍ່ນໍາໄປສູ່ການສ້າງ AnyModal .


ເປັນຫຍັງ Multimodal AI?

ຂໍໃຫ້ປະເຊີນກັບມັນ: ປະຕິສໍາພັນຂອງມະນຸດກັບໂລກບໍ່ຈໍາກັດຂໍ້ມູນປະເພດດຽວ. ພວກ​ເຮົາ​ຕີ​ຄວາມ​ຫມາຍ​ຄໍາ​ສັບ​ຕ່າງໆ​, ການ​ເຫັນ​, ສຽງ​, ແລະ​ການ​ຮູ້​ສຶກ​ທາງ​ຮ່າງ​ກາຍ​ພ້ອມ​ກັນ​. ແນວຄວາມຄິດຂອງ AI multimodal ແມ່ນມາຈາກແນວຄວາມຄິດນີ້. ໂດຍການນໍາເອົາຂໍ້ມູນຫຼາຍປະເພດເຂົ້າໄປໃນທໍ່ປະມວນຜົນດຽວກັນ, multimodal AI ຊ່ວຍໃຫ້ຕົວແບບເພື່ອຮັບມືກັບວຽກງານທີ່ເຄີຍສັບສົນເກີນໄປສໍາລັບລະບົບແບບດຽວ. ຈິນຕະນາການຄໍາຮ້ອງສະຫມັກການດູແລສຸຂະພາບທີ່ວິເຄາະ X-rays ແລະບັນທຶກທາງການແພດຮ່ວມກັນ, ຫຼືລະບົບການບໍລິການລູກຄ້າທີ່ພິຈາລະນາທັງຂໍ້ຄວາມແລະສຽງເພື່ອວັດແທກຄວາມຮູ້ສຶກຂອງລູກຄ້າຢ່າງຖືກຕ້ອງ.


ແຕ່ນີ້ແມ່ນສິ່ງທ້າທາຍ: ໃນຂະນະທີ່ແບບຈໍາລອງແບບດຽວສໍາລັບຂໍ້ຄວາມ (ເຊັ່ນ GPT) ຫຼືຮູບພາບ (ເຊັ່ນ ViT) ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນຢ່າງດີ, ການສົມທົບພວກມັນເພື່ອໂຕ້ຕອບຢ່າງຄ່ອງແຄ້ວແມ່ນບໍ່ກົງໄປກົງມາ. ຄວາມສັບສົນທາງດ້ານເຕັກນິກໄດ້ຂັດຂວາງນັກຄົ້ນຄວ້າແລະນັກພັດທະນາຈໍານວນຫຼາຍຈາກການສໍາຫຼວດ AI multimodal ຢ່າງມີປະສິດທິຜົນ. ໃສ່ AnyModal .


ບັນຫາກັບການແກ້ໄຂ Multimodal ທີ່ມີຢູ່ແລ້ວ

ໃນການເຮັດວຽກຂອງຂ້ອຍເອງກັບການຮຽນຮູ້ເຄື່ອງຈັກ, ຂ້ອຍສັງເກດເຫັນວ່າໃນຂະນະທີ່ເຄື່ອງມືເຊັ່ນ GPT, ViT, ແລະໂປເຊດເຊີສຽງແມ່ນມີອໍານາດໃນການໂດດດ່ຽວ, ການສ້າງລະບົບ multimodal ໂດຍການລວມເອົາເຄື່ອງມືເຫຼົ່ານີ້ມັກຈະຫມາຍເຖິງການຕິດມັນເຂົ້າກັນດ້ວຍລະຫັດສະເພາະໂຄງການ. ວິທີການນີ້ບໍ່ໄດ້ຂະຫນາດ. ວິທີແກ້ໄຂໃນປະຈຸບັນສໍາລັບການລວມຕົວແບບແມ່ນມີຄວາມຊ່ຽວຊານສູງ, ອອກແບບສະເພາະສໍາລັບວຽກງານສະເພາະ (ເຊັ່ນ: ການບັນຍາຍຮູບພາບຫຼືການຕອບຄໍາຖາມທີ່ເບິ່ງເຫັນ), ຫຼືພວກເຂົາຕ້ອງການຈໍານວນລະຫັດ boilerplate ທີ່ຫນ້າເສົ້າໃຈພຽງແຕ່ເພື່ອໃຫ້ປະເພດຂໍ້ມູນເຮັດວຽກຮ່ວມກັນ.


ກອບທີ່ມີຢູ່ແລ້ວສຸມໃສ່ການລວມກັນສະເພາະຂອງ modalities, ເຮັດໃຫ້ມັນຍາກທີ່ຈະຂະຫຍາຍເຂົ້າໄປໃນປະເພດຂໍ້ມູນໃຫມ່ຫຼືປັບການຕັ້ງຄ່າດຽວກັນກັບວຽກງານທີ່ແຕກຕ່າງກັນ. ໂຄງສ້າງ "siloed" ຂອງຕົວແບບ AI ນີ້ຫມາຍຄວາມວ່າຂ້ອຍກໍາລັງປະດິດລໍ້ຢ່າງຕໍ່ເນື່ອງ. ນັ້ນແມ່ນເວລາທີ່ຂ້ອຍຕັດສິນໃຈສ້າງ AnyModal — ກອບແບບໂມດູນທີ່ມີຄວາມຍືດຫຍຸ່ນ, ເຊິ່ງເອົາຂໍ້ມູນທຸກປະເພດມາຮ່ວມກັນໂດຍບໍ່ມີຄວາມຫຍຸ້ງຍາກ.


AnyModal ແມ່ນຫຍັງ?

AnyModal ແມ່ນໂຄງຮ່າງການທີ່ອອກແບບມາເພື່ອງ່າຍ ແລະປັບປຸງການພັດທະນາ AI multimodal. ມັນຖືກສ້າງຂຶ້ນເພື່ອຫຼຸດຜ່ອນຄວາມສັບສົນຂອງການລວມເອົາປະເພດການປ້ອນຂໍ້ມູນທີ່ຫຼາກຫຼາຍໂດຍການຈັດການ tokenization, ການເຂົ້າລະຫັດ, ແລະການຜະລິດສໍາລັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ແມ່ນຂໍ້ຄວາມ, ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນໃນການເພີ່ມປະເພດຂໍ້ມູນໃຫມ່ໃຫ້ກັບຕົວແບບພາສາຂະຫນາດໃຫຍ່ (LLMs).


ແນວຄວາມຄິດແມ່ນໝູນວຽນກັບວິທີການແບບໂມດູລາຕໍ່ກັບທໍ່ສົ່ງຂໍ້ມູນ. ດ້ວຍ AnyModal, ທ່ານສາມາດແລກປ່ຽນຕົວເຂົ້າລະຫັດລັກສະນະ (ເຊັ່ນ: Vision Transformer ສໍາລັບຮູບພາບຫຼືໂປເຊດເຊີ spectrogram ສໍາລັບສຽງ) ແລະເຊື່ອມຕໍ່ພວກມັນກັບ LLM ຢ່າງຕໍ່ເນື່ອງ. ກອບເປັນບົດຄັດຫຍໍ້ຂອງຄວາມສັບສົນຫຼາຍ, ຊຶ່ງຫມາຍຄວາມວ່າທ່ານບໍ່ຈໍາເປັນຕ້ອງໃຊ້ເວລາຫຼາຍອາທິດໃນການຂຽນລະຫັດເພື່ອເຮັດໃຫ້ລະບົບເຫຼົ່ານີ້ເຂົ້າກັນໄດ້ກັບກັນແລະກັນ.

ພື້ນຖານຂອງ AnyModal: Input Tokenization

ອົງປະກອບທີ່ສໍາຄັນຂອງ AnyModal ແມ່ນ ເຄື່ອງໝາຍການປ້ອນຂໍ້ມູນ , ເຊິ່ງສ້າງຊ່ອງຫວ່າງລະຫວ່າງຂໍ້ມູນທີ່ບໍ່ແມ່ນຂໍ້ຄວາມ ແລະການປະມວນຜົນການປ້ອນຂໍ້ມູນຕາມຂໍ້ຄວາມຂອງ LLM. ນີ້ແມ່ນວິທີທີ່ມັນເຮັດວຽກ:

  • ການເຂົ້າລະຫັດຄຸນສົມບັດ : ສໍາລັບແຕ່ລະໂມດູນ (ເຊັ່ນ: ຮູບພາບ ຫຼືສຽງ), ຕົວເຂົ້າລະຫັດສະເພາະແມ່ນຖືກນໍາໃຊ້ເພື່ອສະກັດລັກສະນະທີ່ສໍາຄັນ. ຕົວຢ່າງເຊັ່ນ, ເມື່ອເຮັດວຽກກັບຮູບພາບ, AnyModal ສາມາດນໍາໃຊ້ Vision Transformer (ViT) ທີ່ປະມວນຜົນຮູບພາບແລະຜົນໄດ້ຮັບຊຸດຂອງ vectors ຄຸນນະສົມບັດ. vectors ເຫຼົ່ານີ້ເກັບກໍາລັກສະນະທີ່ສໍາຄັນ, ເຊັ່ນ: ວັດຖຸ, ການພົວພັນທາງກວ້າງຂອງພື້ນ, ແລະໂຄງສ້າງ, ທີ່ສໍາຄັນສໍາລັບຄໍາຮ້ອງສະຫມັກເຊັ່ນ: ການບັນຍາຍຮູບພາບຫຼືການຕອບຄໍາຖາມທີ່ເປັນຕາ.
  • Projection Layer : ຫຼັງຈາກເຂົ້າລະຫັດແລ້ວ, vectors ຄຸນສົມບັດມັກຈະບໍ່ກົງກັບ token space ຂອງ LLM. ເພື່ອຮັບປະກັນການເຊື່ອມໂຍງທີ່ລຽບງ່າຍ, AnyModal ໃຊ້ຊັ້ນການຄາດຄະເນທີ່ປ່ຽນ vectors ເຫຼົ່ານີ້ໃຫ້ສອດຄ່ອງກັບ tokens ຂອງ LLM. ຕົວຢ່າງເຊັ່ນ, vectors ທີ່ຖືກເຂົ້າລະຫັດຈາກ ViT ແມ່ນແຜນທີ່ເຂົ້າໄປໃນພື້ນທີ່ຝັງຕົວຂອງ LLM, ອະນຸຍາດໃຫ້ມີການໄຫຼເຂົ້າກັນຂອງຂໍ້ມູນ multimodal ພາຍໃນສະຖາປັດຕະຍະກໍາຂອງ LLM.

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


ມັນເຮັດວຽກແນວໃດ: ຕົວຢ່າງທີ່ມີການປ້ອນຮູບພາບ

ເພື່ອໃຫ້ເຈົ້າຮູ້ວ່າ AnyModal ເຮັດວຽກແນວໃດ, ໃຫ້ເບິ່ງຕົວຢ່າງຂອງການນໍາໃຊ້ຂໍ້ມູນຮູບພາບກັບ LLMs.

 from transformers import ViTImageProcessor, ViTForImageClassification from anymodal import MultiModalModel from vision import VisionEncoder, Projector # Step 1: Initialize Vision Components processor = ViTImageProcessor.from_pretrained('google/vit-base-patch16-224') vision_model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224') vision_encoder = VisionEncoder(vision_model) # Step 2: Define Projection Layer for Compatibility vision_tokenizer = Projector(in_features=vision_model.config.hidden_size, out_features=768) # Step 3: Initialize LLM and Tokenizer from transformers import AutoTokenizer, AutoModelForCausalLM llm_tokenizer = AutoTokenizer.from_pretrained("gpt2") llm_model = AutoModelForCausalLM.from_pretrained("gpt2") # Step 4: Build the AnyModal Multimodal Model multimodal_model = MultiModalModel( input_processor=None, input_encoder=vision_encoder, input_tokenizer=vision_tokenizer, language_tokenizer=llm_tokenizer, language_model=llm_model, input_start_token='<|imstart|>', input_end_token='<|imend|>', prompt_text="Describe this image: " )

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


ຄໍາຮ້ອງສະຫມັກໃນປະຈຸບັນຂອງ AnyModal

AnyModal ໄດ້ຖືກນໍາໃຊ້ແລ້ວກັບກໍລະນີການນໍາໃຊ້ຫຼາຍ, ດ້ວຍຜົນໄດ້ຮັບທີ່ຫນ້າຕື່ນເຕັ້ນ:

  • LaTeX OCR : ການແປສົມຜົນທາງຄະນິດສາດທີ່ຊັບຊ້ອນເປັນຂໍ້ຄວາມທີ່ສາມາດອ່ານໄດ້.
  • Chest X-Ray Captioning : ສ້າງຄໍາອະທິບາຍທາງການແພດສໍາລັບການສະຫນັບສະຫນູນການວິນິດໄສໃນການດູແລສຸຂະພາບ.
  • ການບັນຍາຍຮູບພາບ : ການສ້າງຄໍາບັນຍາຍອັດຕະໂນມັດສໍາລັບເນື້ອຫາພາບ, ເຊິ່ງເປັນປະໂຫຍດສໍາລັບການເຂົ້າເຖິງແລະຄໍາຮ້ອງສະຫມັກສື່.

ໂດຍການສ້າງຕົວຕົນຂອງຄວາມສັບສົນຂອງການຈັດການປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນ, AnyModal ຊ່ວຍໃຫ້ນັກພັດທະນາສ້າງຕົວແບບຢ່າງໄວຫຼືປັບປຸງລະບົບຂັ້ນສູງໂດຍບໍ່ມີຂໍ້ບົກພ່ອງທີ່ປົກກະຕິແລ້ວມາພ້ອມກັບການປະສົມປະສານ multimodal.


ເປັນຫຍັງຕ້ອງໃຊ້ AnyModal?

ຖ້າທ່ານກໍາລັງພະຍາຍາມສ້າງລະບົບ multimodal, ທ່ານອາດຈະພົບກັບສິ່ງທ້າທາຍເຫຼົ່ານີ້:

  • ຄວາມສັບສົນສູງໃນການຈັດປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນກັບ LLMs.
  • ລະຫັດ boilerplate redundant ແລະ tedious ສໍາລັບແຕ່ລະ modality.
  • ຄວາມສາມາດຂະຫຍາຍໄດ້ຈຳກັດເມື່ອເພີ່ມປະເພດຂໍ້ມູນໃໝ່.

AnyModal ແກ້ໄຂຈຸດເຈັບປວດເຫຼົ່ານີ້ໂດຍການຫຼຸດຜ່ອນ boilerplate, ສະເຫນີໂມດູນທີ່ມີຄວາມຍືດຫຍຸ່ນ, ແລະອະນຸຍາດໃຫ້ປັບແຕ່ງໄດ້ໄວ. ແທນທີ່ຈະຕໍ່ສູ້ກັບບັນຫາຄວາມເຂົ້າກັນໄດ້, ນັກພັດທະນາສາມາດສຸມໃສ່ການສ້າງລະບົບອັດສະລິຍະໄດ້ໄວຂຶ້ນແລະມີປະສິດທິພາບຫຼາຍຂຶ້ນ.


ຕໍ່ໄປແມ່ນຫຍັງສໍາລັບ AnyModal?

ການເດີນທາງຂອງ AnyModal ແມ່ນພຽງແຕ່ເລີ່ມຕົ້ນ. ປະຈຸບັນຂ້ອຍກໍາລັງເຮັດວຽກກ່ຽວກັບການເພີ່ມການສະຫນັບສະຫນູນສໍາລັບຮູບແບບເພີ່ມເຕີມເຊັ່ນການບັນຍາຍສຽງແລະການຂະຫຍາຍກອບເພື່ອເຮັດໃຫ້ມັນສາມາດປັບຕົວໄດ້ຫຼາຍຂຶ້ນສໍາລັບກໍລະນີການນໍາໃຊ້ niche. ຄໍາຕິຊົມຂອງຊຸມຊົນແລະການປະກອບສ່ວນແມ່ນສໍາຄັນຕໍ່ການພັດທະນາຂອງມັນ—ຖ້າທ່ານສົນໃຈໃນ multimodal AI, ຂ້າພະເຈົ້າຢາກໄດ້ຍິນຄວາມຄິດຂອງທ່ານຫຼືຮ່ວມມື.


ບ່ອນທີ່ຊອກຫາ AnyModal




ຖ້າທ່ານຕື່ນເຕັ້ນກັບ multimodal AI ຫຼືຊອກຫາການປັບປຸງຂະບວນການພັດທະນາຂອງທ່ານ, ໃຫ້ AnyModal ລອງ. ມາຮ່ວມງານກັນເພື່ອປົດລ໋ອກຊາຍແດນຕໍ່ໄປຂອງນະວັດຕະກໍາ AI.