Thiết lập bộ tối ưu hóa Adam 8-bit
Bạn nhận thấy việc huấn luyện mô hình Transformer cho dịch ngôn ngữ thời gian thực không học hiệu quả với Adafactor. Là một lựa chọn khác, bạn quyết định thử bộ tối ưu hóa Adam 8-bit để giảm khoảng 75% bộ nhớ so với Adam.
Thư viện bitsandbytes đã được import dưới tên bnb, TrainingArguments đã được khai báo là args, và optimizer_grouped_parameters đã được nạp sẵn. Lưu ý bài tập sẽ in ra cảnh báo về libbitsandbytes_cpu.so, nhưng bạn có thể bỏ qua cảnh báo này để hoàn thành bài tập.
Bài tập này là một phần của khóa học
Huấn luyện Mô hình AI Hiệu quả với PyTorch
Hướng dẫn bài tập
- Khởi tạo bộ tối ưu hóa Adam 8-bit bằng lớp
Adam8bittừbnb.optim. - Truyền các tham số beta1 và beta2 vào bộ tối ưu hóa Adam 8-bit.
- Truyền tham số epsilon vào bộ tối ưu hóa Adam 8-bit.
- In ra các tham số đầu vào từ bộ tối ưu hóa Adam 8-bit.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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}")