Doctor AI

Dr. Savath Saypadith

240 ບົດຄວາມ

ຄູ່ມືສຳລັບນັກພັດທະນາ: ການທຳຄວາມເຂົ້າໃຈ License ຂອງ Open-Source LLM

ໂພສເມື່ອ # Software Development # Artificial Intelligence # Machine Learning # Tech Law

ຄູ່ມືສຳລັບນັກພັດທະນາ: ການທຳຄວາມເຂົ້າໃຈ License ຂອງ Open-Source LLM

ສະບາຍດີເພື່ອນໆນັກພັດທະນາ (Developers) ແລະ ວິສະວະກອນ AI ທຸກຄົນ! ໃນຍຸກທີ່ AI ພວມມາແຮງ, ຫຼາຍໆບໍລິສັດ, Tech Startup ໃນນະຄອນຫຼວງວຽງຈັນ ຫຼື ແມ້ກະທັ່ງ SME ໃນປາກເຊ ກໍາລັງເລັ່ງພັດທະນາແອັບພລິເຄຊັນທີ່ນໍາໃຊ້ Large Language Models (LLMs) ເຂົ້າໃນການແປພາສາລາວ, ການບໍລິການດູແລລູກຄ້າ (Chatbots), ຫຼື ລະບົບວິເຄາະຂໍ້ມູນອັດຕະໂນມັດ.

ແຕ່ກ່ອນທີ່ທ່ານຈະດາວໂຫຼດໂມເດລດັງໆຈາກ Hugging Face ມາໃຊ້ງານແບບບໍ່ລັງເລ, ມີໜຶ່ງກັບດັກທີ່ນັກພັດທະນາມັກຈະມອງຂ້າມສະເໝີ ນັ້ນກໍຄື “License ຫຼື ໃບອະນຸຍາດນຳໃຊ້”. ຄໍາວ່າ “Open-Source” ໃນວົງການ LLM ບາງຄັ້ງກໍບໍ່ໄດ້ແປວ່າສາມາດນຳໄປໃຊ້ໂກຍເງິນໄດ້ແບບຟຣີໆໂດຍບໍ່ມີເງື່ອນໄຂ. ມື້ນີ້ເຮົາຈະມາເຈາະເລິກຄວາມແຕກຕ່າງລະຫວ່າງ License ຍອດຮິດສຳລັບນັກພັດທະນາ: Apache 2.0 ທຽບກັບ ໃບອະນຸຍາດຂອງລະກຸນ Llama ຈາກ Meta ວ່າຈະມີຜົນກະທົບຕໍ່ແຜນທຸລະກິດ ແລະ ການຂຽນໂຄ້ດຂອງທ່ານແນວໃດ.

ຄວາມແຕກຕ່າງລະຫວ່າງ Open-Source ແທ້ ແລະ ເຄິ່ງ Open-Source

ໃນໂລກຂອງ Software Development ທົ່ວໄປ, ເຮົາຄຸ້ນເຄີຍກັບມາດຕະຖານຂອງ Open Source Initiative (OSI) ທີ່ມອບອິດສະຫຼະພາບໃຫ້ນັກພັດທະນາ. ແຕ່ສຳລັບໂມເດລ AI ຂະໜາດໃຫຍ່, ຄຳວ່າ “Open” ອາດໝາຍເຖິງພຽງແຕ່ການປ່ອຍນ້ຳໜັກຂອງໂມເດລ (Open Weights) ໃຫ້ດາວໂຫຼດ ແຕ່ມີຂໍ້ຈຳກັດທາງກົດໝາຍຊ້ອນຢູ່.

1. Apache License 2.0: ອິດສະຫຼະພາບທີ່ແທ້ຈິງສຳລັບການຄ້າ

Apache 2.0 ແມ່ນໜຶ່ງໃນ License ທີ່ເປັນມິດຕໍ່ການເຮັດທຸລະກິດທີ່ສຸດ ແລະ ເປັນທີ່ຍອມຮັບໃນມາດຕະຖານສາກົນ. ມັນອະນຸຍາດໃຫ້ທ່ານສາມາດ ນຳໃຊ້, ດັດແປງ (Fine-tune), ແຈກຢາຍ ແລະ ນຳໄປໃຊ້ໃນທາງການຄ້າ (Commercial Use) ໄດ້ຢ່າງເສລີ.

2. Llama Materials License (Meta): ເຄິ່ງ Open-Source ທີ່ມີເງື່ອນໄຂ (Open Weights)

ໂມເດລຕະກຸນ Llama (ເຊັ່ນ: Llama 2 ແລະ Llama 3) ມັກຖືກສື່ມວນຊົນເອີ້ນວ່າ “Open-Source”, ແຕ່ໃນທາງເຕັກນິກແລ້ວມັນເປັນໂມເດລແບບ “Open Weights” ທີ່ມາພ້ອມກັບ License ຂອງ Meta ເອງ (Custom License) ເຊິ່ງມີຂໍ້ຜູກມັດຮຽກຮ້ອງໃຫ້ຜູ້ພັດທະນາປະຕິບັດຕາມ:

ຕົວຢ່າງພາກປະຕິບັດ: ການເຂົ້າເຖິງ Gated Models ຜ່ານ Hugging Face

ຍ້ອນວ່າ Llama ມີ License ທີ່ນັກພັດທະນາຕ້ອງ “ກົດຍອມຮັບ” ກ່ອນ, ໂມເດລເຫຼົ່ານີ້ຈຶ່ງຖືກຈັດຢູ່ໃນກຸ່ມປ້ອງກັນ (Gated Models). ກົງກັນຂ້າມກັບໂມເດລ Apache 2.0 ທີ່ດາວໂຫຼດໄດ້ເລີຍ.

ໃນການຂຽນໂຄ້ດເພື່ອດຶງໂມເດລ Gated ມາໃຊ້, ທ່ານຈະຕ້ອງໄດ້ເຮັດການ Request Access ໃນເວັບໄຊ Hugging Face ກ່ອນ ແລະ ໃຊ້ Access Token ໃນ Python. ລຸ່ມນີ້ຄືວິທີການຂຽນໂຄ້ດດ້ວຍ transformers ຂອງ Python:

# ຕົວຢ່າງການດຶງ Gated Model (ເຊັ່ນ: Llama-3) ທີ່ຕ້ອງໃຊ້ Token ເພື່ອຢືນຢັນ License
import os
from huggingface_hub import login
from transformers import AutoTokenizer, AutoModelForCausalLM

# 1. ຢືນຢັນຕົວຕົນດ້ວຍ Token ທີ່ໄດ້ຈາກ Hugging Face (ຫຼັງຈາກກົດຍອມຮັບ License ຂອງ Meta ແລ້ວ)
# ແນະນຳໃຫ້ເກັບ Token ໄວ້ໃນ Environment Variable ເພື່ອຄວາມປອດໄພຂອງລະບົບ
hf_token = os.getenv("HF_TOKEN")
if hf_token is None:
    raise ValueError("ກະລຸນາໃສ່ Hugging Face Token ຂອງທ່ານ!")

login(token=hf_token)

# ກຳນົດຊື່ Model ID
model_id = "meta-llama/Meta-Llama-3-8B"

print(f"ກຳລັງໂຫຼດ Tokenizer ແລະ ໂມເດລ {model_id}...")

# 2. ໂຫຼດ Tokenizer ແລະ ກຽມໂມເດລລົງ VRAM ຂອງ GPU (ໃຊ້ device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

print("ໂຫຼດໂມເດລສຳເລັດ! ພ້ອມນຳໄປສາທິດ ຫຼື ພັດທະນາຕໍ່ແລ້ວ.")

# ໝາຍເຫດ: ຖ້າທ່ານປ່ຽນໄປໃຊ້ໂມເດລ Apache 2.0 ເຊັ່ນ "mistralai/Mistral-7B-v0.1", 
# ທ່ານສາມາດຂ້າມຂັ້ນຕອນການ login(token) ໄປໄດ້ເລີຍ ເຊິ່ງຊ່ວຍໃຫ້ຂະບວນການ Deploy ງ່າຍຂຶ້ນຫຼາຍ.

Key Takeaways (ສິ່ງສຳຄັນທີ່ຄວນຈື່)

ສະຫຼຸບ

ການເລືອກ LLM ມາໃຊ້ໃນໂປຣເຈັກ ຫຼື ອົງກອນ ບໍ່ໄດ້ມີພຽງແຕ່ການເບິ່ງຄ່າ Benchmark ຄວາມສະຫຼາດ ຫຼື ຄວາມໄວໃນການຕອບສະໜອງພຽງຢ່າງດຽວເທົ່ານັ້ນ. ສຳລັບນັກພັດທະນາ ແລະ ເຈົ້າຂອງທຸລະກິດໃນລາວ, ການເຂົ້າໃຈ License ຢ່າງຖີ່ຖ້ວນຈະຊ່ວຍໃຫ້ທ່ານວາງແຜນສະຖາປັດຕະຍະກຳຊອບແວ (Software Architecture) ໄດ້ຢ່າງໝັ້ນໃຈ, ປ້ອງກັນການຖືກຟ້ອງຮ້ອງໃນອະນາຄົດ, ແລະ ສາມາດຂະຫຍາຍ (Scale) ທຸລະກິດຈາກຕະຫຼາດທ້ອງຖິ່ນ ກ້າວໄປສູ່ລະດັບສາກົນໄດ້ຢ່າງປອດໄພ. ກ່ອນຈະພິມຄຳສັ່ງ pip install ແລະ from_pretrained ໃນຄັ້ງຕໍ່ໄປ, ຢ່າລືມໃຊ້ເວລາຈັກໜ້ອຍເພື່ອກວດສອບ License ກັນກ່ອນເດີ້!