ตั้งค่า 8-bit Adam optimizer
คุณพบว่าการเทรนโมเดล Transformer สำหรับการแปลภาษาแบบเรียลไทม์ไม่ได้ผลดีเมื่อใช้ Adafactor จึงตัดสินใจลองใช้ 8-bit Adam optimizer แทน ซึ่งช่วยลดการใช้หน่วยความจำได้ประมาณ 75% เมื่อเทียบกับ Adam
ไลบรารี bitsandbytes ถูก import มาแล้วในชื่อ bnb, TrainingArguments ถูกกำหนดเป็น args และ optimizer_grouped_parameters ได้โหลดไว้ล่วงหน้าแล้ว โปรดทราบว่าแบบฝึกหัดนี้จะแสดงข้อความเตือนเกี่ยวกับ libbitsandbytes_cpu.so ซึ่งสามารถละเว้นได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเทรน AI Model อย่างมีประสิทธิภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- สร้าง 8-bit Adam optimizer โดยใช้คลาส
Adam8bitจากbnb.optim - ส่งพารามิเตอร์ beta1 และ beta2 เข้าไปใน 8-bit Adam optimizer
- ส่งพารามิเตอร์ epsilon เข้าไปใน 8-bit Adam optimizer
- พิมพ์พารามิเตอร์ input จาก 8-bit Adam optimizer
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate the 8-bit Adam optimizer
adam_bnb_optim = bnb.optim.____(optimizer_grouped_parameters,
# Pass in the beta1 and beta2 parameters
betas=(args.____, args.____),
# Pass in the epsilon parameter
eps=args.____,
lr=args.learning_rate)
# Print the input parameters
print(f"beta1 = {args.adam_beta1}")
print(f"beta2 = {args.____}")
print(f"epsilon = {args.____}")
print(f"learning_rate = {args.learning_rate}")