開始使用免費開始

設定 8-bit Adam 最佳化器

你發現用 Adafactor 訓練即時語言翻譯的 Transformer 模型,學習效果不理想。作為替代方案,你決定嘗試 8-bit Adam 最佳化器,相較於 Adam 可將記憶體使用量大約降低 75%。

bitsandbytes 函式庫已匯入為 bnbTrainingArguments 已指定為 args,而 optimizer_grouped_parameters 已預先載入。練習會列印關於 libbitsandbytes_cpu.so 的警告訊息,但你可以忽略該警告並完成這個練習。

本練習屬於課程

使用 PyTorch 高效訓練 AI 模型

檢視課程

練習說明

  • 使用 bnb.optim 中的 Adam8bit 類別建立 8-bit Adam 最佳化器。
  • 將 beta1 與 beta2 參數傳入 8-bit Adam 最佳化器。
  • 將 epsilon 參數傳入 8-bit Adam 最佳化器。
  • 列印 8-bit Adam 最佳化器的輸入參數。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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}")
編輯並執行程式碼