เตรียมพร้อมสำหรับการเทรนแบบ 8-bit
คุณต้องการเริ่ม fine-tuning ด้วย RLHF แต่พบข้อผิดพลาด out-of-memory ซ้ำแล้วซ้ำเล่า จึงตัดสินใจเปลี่ยนมาใช้ความแม่นยำแบบ 8-bit ซึ่งช่วยให้ fine-tuning มีประสิทธิภาพสูงขึ้น โดยอาศัยไลบรารี peft ของ Hugging Face
มีการ import สิ่งต่อไปนี้ไว้ล่วงหน้าแล้ว:
AutoModelForCausalLMจากtransformersprepare_model_for_int8_trainingจากpeftAutoModelForCausalLMWithValueHeadจากtrl
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Reinforcement Learning from Human Feedback (RLHF)
คำแนะนำการฝึกหัด
- โหลดโมเดล pre-trained และอย่าลืมระบุพารามิเตอร์สำหรับความแม่นยำแบบ 8-bit
- ใช้ฟังก์ชัน
prepare_model_for_int8_trainingเพื่อเตรียมโมเดลให้พร้อมสำหรับการ fine-tuning แบบ LoRA - โหลดโมเดลพร้อม value head สำหรับการเทรนด้วย
PPO
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
model_name = "gpt2"
# Load the model in 8-bit precision
pretrained_model = AutoModelForCausalLM.from_pretrained(
model_name,
____=True
)
# Prepare the model for fine-tuning
pretrained_model_8bit = ____(pretrained_model)
# Load the model with a value head
model = ____.from_pretrained(pretrained_model_8bit)