开始使用免费开始使用

设置 8-bit Adam 优化器

您发现用于实时机器翻译的 Transformer 模型,使用 Adafactor 的训练效果不理想。作为替代方案,您决定尝试 8-bit Adam 优化器,在与 Adam 相比的情况下可将内存占用减少约 75%。

bitsandbytes 库已按 bnb 导入,TrainingArguments 已定义为 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}")
编辑并运行代码